* HINA024 - 内部テーブル検索(SEARCH ALL) >>SOURCE FORMAT IS FREE * OCCURS + SEARCH ALL によるテーブル検索 * 期待: SEARCH ALL, OCCURS, 2 IF, 5 段落 IDENTIFICATION DIVISION. PROGRAM-ID. HINA024. DATA DIVISION. WORKING-STORAGE SECTION. 01 WS-TABLE. 05 WS-ENTRY OCCURS 10 TIMES ASCENDING KEY IS WS-ENTRY-ID INDEXED BY WS-IDX. 10 WS-ENTRY-ID PIC 9(03). 10 WS-ENTRY-NAME PIC X(10). 01 WS-SEARCH-ID PIC 9(03). 01 WS-FOUND PIC X VALUE 'N'. 88 FOUND-YES VALUE 'Y'. 01 WS-RESULT PIC X(30). PROCEDURE DIVISION. 0000-MAIN. PERFORM 1000-INIT. MOVE 7 TO WS-SEARCH-ID. PERFORM 2000-SEARCH. DISPLAY WS-RESULT. MOVE 99 TO WS-SEARCH-ID. PERFORM 2000-SEARCH. DISPLAY WS-RESULT. STOP RUN. 1000-INIT. MOVE 1 TO WS-ENTRY-ID(1) MOVE "ALPHA" TO WS-ENTRY-NAME(1). MOVE 3 TO WS-ENTRY-ID(2) MOVE "BETA" TO WS-ENTRY-NAME(2). MOVE 5 TO WS-ENTRY-ID(3) MOVE "GAMMA" TO WS-ENTRY-NAME(3). MOVE 7 TO WS-ENTRY-ID(4) MOVE "DELTA" TO WS-ENTRY-NAME(4). MOVE 9 TO WS-ENTRY-ID(5) MOVE "EPSLN" TO WS-ENTRY-NAME(5). 2000-SEARCH. SET WS-IDX TO 1. SEARCH ALL WS-ENTRY AT END MOVE "NOT FOUND" TO WS-RESULT WHEN WS-ENTRY-ID(WS-IDX) = WS-SEARCH-ID STRING "FOUND=" WS-ENTRY-NAME(WS-IDX) DELIMITED BY SIZE INTO WS-RESULT.