tinycobol/test.code/t32/test32.cob

39 lines
994 B
COBOL

IDENTIFICATION DIVISION.
PROGRAM-ID. TEST32.
ENVIRONMENT DIVISION.
CONFIGURATION SECTION.
* INPUT-OUTPUT SECTION.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 VARIABLE-TBL.
05 TABLE-1.
10 LEN PIC 99.
10 VAR-SIZE-PART.
15 TAB-ITEM PIC X OCCURS 1 TO 20 DEPENDING ON LEN.
* 05 OTHER-VAR PIC X.
77 W-TMP PIC X(20).
PROCEDURE DIVISION.
MOVE "5" TO LEN.
MOVE "ABCDEFGHIJKLMNOPQRSTUVWXYZ" TO VAR-SIZE-PART.
PERFORM 100-SHOW-VARS
MOVE "20" TO LEN.
MOVE "ABCDEFGHIJKLMNOPQRSTUVWXYZ" TO VAR-SIZE-PART.
PERFORM 100-SHOW-VARS
MOVE "21" TO LEN.
* this should give a warning (out of bounds)
MOVE "ABCDEFGHIJKLMNOPQRSTUVWXYZ" TO VAR-SIZE-PART.
PERFORM 100-SHOW-VARS
STOP RUN.
100-SHOW-VARS.
DISPLAY "LEN = " LEN ", TAB-ITEM (1) = " TAB-ITEM (1)
DISPLAY "TAB-ITEM(LEN) = " TAB-ITEM(LEN)
* DISPLAY "OTHER-VAR = " OTHER-VAR
DISPLAY "VARIABLE-TBL = """ VARIABLE-TBL """".
MOVE VARIABLE-TBL TO W-TMP
DISPLAY "W-TMP = """ W-TMP """".