RECORD Examples


Example 1:

 

REC1

RECORD

 

NAME

  DIM

20

ADDR

  DIM

30

CITY

  DIM

15

STATE

  DIM

2

ZIP

  DIM

9

  

RECORDEND

 

 

The above example defines a record that is 76 bytes in length. It may be referenced as a group in any statement where a list is valid.

 

Example 2:

 

  

MOVE

NEWADDR,REC1.ADDR

 

The above statement changes the value of the ADDR field in the REC1 record.

 

Example 3:

 

REC2

RECORD

(5) LIKE REC1

 

The above statement generates an array of records, each formatted like REC1.

 

Example 4:

 

REC

RECORD

DEFINITION

NAME

DIM

20

ADDR

DIM

30

CITY

DIM

15

STATE

DIM

2

ZIP

DIM

9

  

RECORDEND

 

 

The above statement would define a record prototype exactly like REC1 butit would not define any data. It could only generate additional RECORD statements.

 

Example 5:

 

DATE

RECORD

 

YEAR

DIM

2

MONTH

DIM

2

DAY

DIM

2

  

RECORDEND

 

  

...

 

PROD

RECORD

 

NUM

DIM

10

PURDT

RECORD

LIKE DATE

ENDDT

RECORD

LIKE DATE

COST

FORM

7.2

  

RECORDEND

 

.

 

 

PURDT2

RECORD

LIKE PROD.PURDT

.

 

 

  

MOVE

“572-449347" to PROD.NUM

  

MOVE

“94",PROD.PURDT.YEAR

  

MOVE

“04",PROD.PURDT.MONTH

  

MOVE

“12",PROD.PURDT.DAY

  

MOVE

“96",PROD.ENDDT.YEAR

  

MOVE

“02",PROD.ENDDT.MONTH

  

MOVE

"22",PROD.ENDDT.DAY

  

MOVE

PRICE,PROD.COST

 

The above example shows nested records and how various fields would be accessed.

 

Example 6:

 

ORG

RECORD

 

A

DIM

5

B

DIM

5

  

RECORDEND

 

  

...

 

ORGPTR

RECORD

LIKEPTR ORG

 

...

 

ORGARR

RECORD

(3) LIKEPTR ORG

 

The above examples shows the use of the LIKEPTR clause. The sixth line defines ORGPTR that is a record of all pointer variables based on the ORG record template. The eighth line creates an array of three such records.



PL/B Language Reference READKS Example REMOVE Examples