test: add HINA type-specific COBOL test data suite (10 programs, 8/10 pass)
This commit is contained in:
@@ -0,0 +1,42 @@
|
||||
* 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.
|
||||
Reference in New Issue
Block a user