(Contents)(Previous)(Next)

Address of a COBOL Variable

In COBOL, there is no standard possibility of processing addresses of variables.

To enter an address, the subroutine "sqbaddr" is used. The call is:

CALL "sqbaddr" USING SQLCA, <program variable name>,

HOSTVARADDR OF SQLVAR [OF <descriptorname>](<index>).

Program variable name is a data name. The address of the program variable is entered into the variable HOSTVARADDR of SQLVAR (<index>).

The subroutine for "sqbaddr" is placed in the precompiler runtime system (also written in uppercase characters).

SQLDA Declaration

01 SQLDA.

02 SQLDAID PIC X(8).

02 SQLMAX PIC S9(9) BINARY SYNC.

02 SQLN PIC S9(4) BINARY SYNC.

02 SQLD PIC S9(4) BINARY SYNC.

02 SQLFILL1 PIC S9(9) BINARY SYNC OCCURS 2 TIMES.

02 SQLFILL2 PIC S9(4) BINARY SYNC OCCURS 6 TIMES.

02 SQLVAR OCCURS 300 TIMES.

05 COLNAME PIC X(18).

05 COLIO PIC S9(4) BINARY SYNC.

05 COLMODE PIC S9(4) BINARY SYNC.

05 COLTYPE PIC S9(4) BINARY SYNC.

05 COLLENGTH PIC S9(9) BINARY SYNC.

05 COLFRAC PIC S9(4) BINARY SYNC.

05 COLFILLER PIC S9(4) BINARY SYNC.

05 HOSTVARTYPE PIC S9(4) BINARY SYNC.

05 HOSTCOLSIZE PIC S9(4) BINARY SYNC.

05 HOSTINDICATOR PIC S9(9) BINARY SYNC.

05 HOSTVARADDR PIC S9(9) BINARY SYNC.

05 HOSTINDADDR PIC S9(9) BINARY SYNC.

05 COLINFO PIC X(40).


(Contents)(Previous)(Next)