BTRIEVE Example


Example:

 

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.

 

This example program opens, reads, and writes to a Btrieve file.

 



PL/B Language Reference BREAK Examples BUMP Examples