Using KSAM/XL and KSAM 64 (32650-90886)

220 AppendixA
COBOL Intrinsics
Examples of KSAM File Access
002500 01 DATA-REC.
002600 05 FILLER PIC XX VALUE SPACES.
002700 05 REAL-DATA PIC X(72).
002800 01 FILETABLE.
002900 02 FILENUMBER PIC S9(4) COMP VALUE 0.
003000 02 FILENAME PIC X(8) VALUE "KSAMFILE".
003100 02 I-O-TYPE PIC S9(4) COMP VALUE 1.
003200 02 A-MODE PIC S9(4) COMP VALUE 0.
003300 02 PREV-OP PIC S9(4) COMP VALUE 0.
003400 01 STATUSKEY.
003500 02 STATUS-KEY-1 PIC X.
003600 02 STATUS.KEY-2 PIC X.
003700
003800 PROCEDURE DIVISION.
003900 START.
004000 OPEN INPUT SEQ-DATA
004100 CALL "CKOPEN" USING FILETABLE, STATUSKEY.
004200 IF STATUS-KEY-1="9" THEN
004300 CALL "CKERROR" USING STATUSKEY, RESULT
004400 DISPLAY "CKOPEN ERROR NO.", RESULT.
004500 IF STATUS-KEY-1 NOT = "0" THEN
004600 DISPLAY "CKOPEN FAILED"
004700 STOP RUN.
004800 LOOP.
004900 READ SEQ-DATA
005000 AT END GO TO FINISH.
005100 MOVE CORP INPUT-REC TO DATA-REC.
005200 CALL "CKWRITE" USING FILETABLE, STATUSKEY, DATA-REC,
005300 RECSIZE.
005400 IF STATUSKEY = "02" THEN
005500 DISPLAY "DUPLICATE KEY".
005600 IF STATUS-KEY-1 = "0" THEN
005700 DISPLAY DATA-REC
005800 GO TO LOOP.
005900 IF STATUS-KEY-1 = "9" THEN
006000 CALL "CKERROR" USING STATUSKEY, RESULT
006100 DISPLAY "CKWRITE ERROR NO.", RESULT
006200 DISPLAY DATA-REC
006300 GO TO LOOP.
006400 FINISH.
006500 CLOSE SEQ-DATA.
006600 CALL "CKCLOSE" USING FILETABLE, STATUSKEY.
006700 IF STATUS-KEY-1 = "9" THEN
006800 CALL "CKERROR" USING STATUSKEY, RESULT
006900 DISPLAY "CKCLOSE ERROR NO. ". RESULT.
007000 STOP RUN.