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

Appendix A 225
COBOL Intrinsics
Examples of KSAM File Access
006100 DISPLAY DATA-REC
006200 GO TO LOOP.
006300 CALL "CKREADBYKEY" USING FILETABLE, STATUSKEY, MASTER-REC,
006400 NAME OF DATA-REC, KEY-LOC, RECSIZE.
006500 IF STATUS-KEY-1 NOT = "0" THEN
006600 DISPLAY "CKREADBYKEY ERROR, STATUS =", STATUSKEY,
006700 "; KEY =", NAME OF DATA-REC
006800 IF STATUS-KEY-1 = "9" THEN
006900 CALL "CKERROR" USING STATUSKEY, RESULT
007000 DISPLAY "ERROR NO.", RESULT
007100 GO TO LOOP
007200 ELSE
007300 GO TO LOOP.
007400 IF TRANSACTION-CODE = "D" THEN GO TO DELETE-REC.
007500 MOVE CORR DATA-REC TO MASTER-REC.
007600 CALL "CKREWRITE" USING FILETABLE, STATUSKEY, MASTER-REC,
007700 RECSIZE.
007800 IF STATUS-KEY-1 = "0" THEN
007900 DISPLAY MASTER-REC, "UPDATED"
008000 GO TO LOOP.
008100 DISPLAY "CKREWRITE ERROR, STATUS =", STATUSKEY, "; KEY ="
008200 NAME OF MASTER-REC.
008300 IF STATUS KEY-1= "9" THEN
008400 CALL "CKERROR" USING STATUSKEY, RESULT
008500 DISPLAY "ERROR NO.", RESULT
008600 GO TO LOOP.
008700 DELETE-REC.
008800 CALL "CKDELETE" USING FILETABLE, STATUSKEY.
008900 IF STATUS-KEY-1 = "0" THEN
009000 DISPLAY MASTER-REC, "DELETED"
009100 GO TO LOOP.
009200 DISPLAY "CKDELETE ERROR, STATUS =" STATUSKEY.
009300 IF STATUS-KEY-1 = "9" THEN
009400 CALL "CKERROR", USING STATUSKEY, RESULT
009500 DISPLAY "ERROR NO.", RESULT.
009600 GO TO LOOP.
009700 ADD-REC.
009800 MOVE CORR DATA-REC TO MASTER-REC.
009900 CALL "CKWRITE" USING FILETABLE, STATUSKEY, MASTER-REC.
010000 RECSIZE.
010100 IF STATUSKEY = "02" THEN
010200 DISPLAY "DUPLICATE KEY",
010300 IF STATUS-KEY-1 = "0" THEN
010400 DISPLAY MASTER-REC, "ADDED"
010500 GO TO LOOP.
010600 DISPLAY "CKWRITE ERROR, STATUS = ", STATUSKEY.
010700 IF STATUS-KEY-1 = "9" THEN
010800 CALL "CKERROR" USING STATUSKEY, RESULT
010900 DISPLAY "ERROR NO. ", RESULT.
011000 DISPLAY MASTER-REC,
011100 GO TO LOOP.
011200 FINISH.
011300 CLOSE NEW-DATA.
011400 CALL "CKCLOSE" USING FILETABLE, STATUSKEY,
011500 IF STATUS-KEY-1 = "9" THEN
011600 CALL "CKERROR" USING STATUSKEY, RESULT
011700 DISPLAY "CKCLOSE ERROR NO.", RESULT
011800 STOP RUN.