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

254 AppendixB
BASIC/V Intrinsics
BKREWRITE
2640 REM
2650 REM F IS THE FILE NUMBER OF A KSAM FILE OPENED BY A CALL TO BKOPEN
2660 REM NOTE THAT FOR BKREWRITE,BKOPEN ACCESS MODE MUST=4 FOR UPDATE.
2670 REM
2680 REM AN ASSUMPTION HAS BEEN MADE THAT THE RECORD TO BE READ
2690 REM CONTAINS THE SAME INFORMATION THAT WAS WRITTEN TO THE
2700 REM KSAM FILE IN THE BKWRITE EXAMPLE,,
|------------------
parameterlist
2710 REM /------------------------\
2720 CALL BKREAD(F,S$,B1$,B2$,A5[*],A3[*],A2[*])
2730 REM
2740 REM NOW DETERMINE WHETHER THE CALL HAS SUCCEEDED.
2750 REM
2760 IF S$[1;1]<>"0" THEN DO
2770 REM N$ CONTAINS THE NAME OF THE KSAM FILE
2780 REM S$ CONTAINS THE STATUS CALL SET BY THE PRECEDING CALL
2790 PRINT "UNABLE TO READ ";N$;" ERROR ";S$[1;1]" DETAIL ";S$[2]
2800 CALL BKERROR(S$,M$)
2810 PRINT M$
2820 GOTO 3620
2830 DOEND
2900 REM THE CONTENTS OF B1=1", OF B2$="23"
2910 REM THE CONTENTS OF A5(1) THROUGH A5(5) ARE 1 THROUGH 5
2920 REM THE CONTENTS OF A3 AND A2 ARE UNKNOWN
2930 REM
2940 REM STORE VALUES 1 THROUGH 3 INTO A3(1) THROUGH A3(3)
2950 REM STORE VALUES 1 AND 2 INTO A2(1) AND A2(2).
2960 REM
2970 FOR I=1 TO 2
2980 A2[I]=I
2990 A3[I]=I
3000 NEXT I
parameterlist
3010 A3[3]=3 |
3020 REM /------------------------\
3030 CALL BKREWRITE(F,S$,B1$,B2$,A5[*],A3[*],A2[*])
3040 REM
3050 REM NOW DETERMINE WHETHER THE CALL HAS SUCCEEDED
3060 REM
3070 IF S$[1;1]<>"0 THEN DO
3080 REM N$ CONTAINS THE NAME OF THE KSAM FILE
3090 REM S$ CONTAINS THE STATUS CODE SET BY THE PRECEDING CALL
3100 PRINT "UNABLE TO REWRITE ";N$;" ERROR ";S$[1;1];" DETAIL ";S$[2]
3110 CALL BKERROR(S$,M$)
3120 PRINT M$
3130 GOTO 3620
3140 DOEND
3150 REM
3160 REM ECHO WHAT WAS UPDATED
3170 REM
3180 PRINT "REWRITTEN RECORD = ";B1;B2
3190 MAT PRINT A5,A3,A2
3200 REM
3210 REM THE PROGRAM CONTINUES