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

258 AppendixB
BASIC/V Intrinsics
BKSTART
The example in Figure B-11. positions the record pointer to a record containing a speciļ¬c
key value. The value is 23; it is located starting in the second character of each record. The
value for
relation
is zero indicating that the key must contain exactly the value 23, not a
value larger than 23.
Figure B-11. Positioning Pointer to Particular Record with BKSTART
1920 REM
1930 REM ***************************************
1940 REM * POSITION A KSAM FILE *
1950 REM ***************************************
1960 REM
1970 REM F IS THE FILE NUMBER OF A KSAM FILE
1989 REM OPENED BY A CALL TO BKOPEN
1990 REM
2000 REM AN ASSUMPTION HAS BEEN MADE THAT THE POSITIONING TO BE
2010 REM DONE IS TO THE RECORD WRITTEN IN THE WRITE EXAMPLE,
2020 REM AND THAT THE DESIRED KEY STARTS AT CHARACTER 2.
2060 REM
2070 CALL BKSTART(F,S$,"23",2,0)
2080 REM
2090 REM NOW DETERMINE WHETHER THIS CALL HAS SUCCEEDED
2100 REM
2110 IF S$[1;1]<>"0" THEN DO
2120 REM N$ CONTAINS THE NAME OF THE KSAM FILE
2130 REM S$ CONTAINS THE STATUS CODE RETURNED BY THE PRECEDING CALL
2140 PRINT "UNABLE TO START ";N$;" ERROR ";S$[1;1];" DETAIL ";S$[2]
2150 CALL BKERROR(S$,M$)
2160 PRINT M$
2170 GOTO 3620
2180 DOEND
2190 REM
2200 REM THE PROGRAM CONTINUES
2210 REM