|
OPCODE |
INTEGER |
1 |
|
STATUS |
INTEGER |
1 |
|
BFILE |
BFILE |
|
|
BUFFER |
DIM |
250 |
|
BUFFLEN |
INTEGER |
2 |
|
KEY |
DIM |
10 |
|
KNUMBER |
FORM |
2 |
|
NULL |
DIM |
1 Clear and blank BUFFER |
|
ACCTNO |
DIM |
10 Input field that contains lookup KEY |
|
* |
|
|
|
. To open an existing BFILE: |
|
. |
|
|
|
|
MOVE |
"0",OPCODE |
|
|
MOVE |
"R:MYFILE ",KEY |
|
* |
|
|
|
. Set the owner name if desired by |
|
. moving owner name to 'BUFFER' and length |
|
. of owner name to 'BUFFLEN' & Move open |
|
. mode value to 'KNUMBER' |
|
. |
|
|
|
|
MOVE |
"-1",KNUMBER |
|
|
BTRIEVE |
OPCODE,STATUS,BFILE,BUFFER: |
|
|
|
BUFFLEN,KEY,KNUMBER |
|
|
COMPARE |
"0",STATUS |
|
|
IF NOT EQUAL |
|
|
|
DISPLAY |
*N,"OPEN ERROR..."; |
|
|
ENDIF |
|
|
|
|
|
|
.If a successful open is executed, a value |
|
.of '0' is returned in STATUS. Any other |
|
.value indicates an error occurred. The |
|
.valid open codes are: |
|
. |
|
|
|
. |
-1 |
Accelerated mode |
|
. |
-2 |
Read only mode |
|
. |
-3 |
Verify mode |
|
. |
-4 |
Exclusive mode |
|
. |
Other |
Normal mode |
|
* |
|
|
|
.To read an existing record from our open BFILE: |
|
. |
|
|
|
|
MOVE |
"5",OPCODE |
|
|
UNPACK |
NULL,BUFFER |
|
|
MOVE |
"250",BUFFLEN |
|
|
MOVE |
ACCTNO,KEY |
|
|
MOVE |
"0",KNUMBER |
|
|
BTRIEVE |
OPCODE,STATUS,BFILE,BUFFER: |
|
|
|
BUFFLEN,KEY,KNUMBER |
|
|
COMPARE |
"0",STATUS |
|
|
IF |
NOT EQUAL |
|
|
DISPLAY |
*N,"RECORD NOT FOUND..."; |
|
|
ELSE |
|
|
|
SETLPTR |
BUFFER,BUFFLEN |
|
|
RESET |
BUFFER |
|
|
UNPACK |
BUFFER,ACCTNO,NAME,ADDRESS,CITY,STATE,ZIP |
|
|
ENDIF |
|
|
. |
|
|
|
.If the read was successful, a value of '0' |
|
.is returned in STATUS and the data retrieved |
|
.is returned in BUFFER with BUFFLEN set equal |
|
.to the total number of characters returned. |
|
.To write (INSERT) a record into our open BFILE: |
|
. |
|
|
|
|
MOVE |
"2",OPCODE |
|
|
PACK |
BUFFER,ACCTNO,NAME,ADDRESS,CITY,STATE,ZIP |
|
|
COUNT |
BUFFLEN,BUFFER |
|
|
MOVE |
ACCTNO,KEY |
|
|
MOVE |
"0",KNUMBER |
|
|
BTRIEVE |
OPCODE,STATUS,BFILE,BUFFER: |
|
|
|
BUFFLEN,KEY,KNUMBER |
|
|
COMPARE |
"0",STATUS |
|
|
IF |
NOT EQUAL |
|
|
DISPLAY |
*N,"ERROR DURING INSERT OPERATION..."; |
|
|
ENDIF |
|
|
|
|
|
|
.As in prior operations, a value of '0' |
|
.in STATUS indicates successful completion |
|
.of the BTRIEVE function. |