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

222 AppendixA
COBOL Intrinsics
Examples of KSAM File Access
003100 02 FILENAME PIC X(8) VALUE "KSAMFILE".
003200 02 I-O-TYPE PIC S9(4) COMP VALUE o.
003300 02 A-MODE PIC S9(4) COMP VALUE o.
003400 02 PREV-OP PIC S9(4) COMP VALUE o.
003500 01 STATUSKEY.
003600 02 STATUS-KEY-l PIC X.
003700 02 STATUS-KEY-2 PIC X.
003800
003900 PROCEDURE DIVISION.
004000 START.
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 DISPLAY "ALPHABETICAL ORDER"
004900 DISPLAY " ".
005000 L00P1.
005100 CALL "CKREAD" USING FILETABLE, STATUSKEY, DATA-REC,
005200 RESIZED.
005300 IF STATUS-KEY-1= "1" THEN GO TO PART2.
005400 IF STATUS-KEY-1 = "0" THEN
005500 DISPLAY DATA-REC
005600 ELSE
005700 DISPLAY "CKREAD ERROR, STATUS = ", STATUSKEY
005800 IF STATUS-KEY-1 = "9" THEN
005900 CALL "CKERROR" USING STATUSKEY, RESULT
006000 DISPLAY "ERROR NO.", RESULT.
006100 GO TO LOOP.
006200 PART2.
006300 DISPLAY " ".
006400 DISPLAY "PHONE NO. ORDER:"
006500 DISPLAY " ".
006600 CALL "CKSTART" USING FILETABLE, STATUSKEY, RELOP,
006700 KEY-VALUE, KEY-LOC, KEYLENGTH.
006800 IF STATUSKEY = "23" THEN GO TO FINISH.
006900 IF STATUS-KEY-1 = "0" THEN GO TO LOOP2.
007000 DISPLAY "CKSTART ERROR, STATUS = ", STATUSKEY.
007100 IF STATUS-KEY-1 = "9" THEN
007200 CALL "CKERROR" USING STATUSKEY, RESULT
007300 DISPLAY "ERROR NO.", RESULT.
007400 GO TO FINISH.
007500 LOOP2.
007600 CALL "CKREAD" USING FILETABLE, STATUSKEY, DATA-REC,
007700 RECSIZE.
007800 IF STATUS-KEY-1 = "1" THEN GO TO FINISH.
007900 IF STATUS-KEY-1 = "0" THEN
008000 DISPLAY DATA-REC
008100 ELSE
008200 DISPLAY "CKREAD ERROR, STATUS =", STATUSKEY
008400 IF STATUS-KEY-1 ="9" THEN
008400 CALL "CKERROR" USING STATUSKEY, RESULT
008500 DISPLAY "ERROR NO. ", RESULT.
008600 GO TO LOOP2.
008700 FINISH.