Load mode
In the header of each GOA record are 2 fields that determine whether the records listed in the GOA record should be loaded. These fields are GO1NUM and GO1CHN. The number of entries in the GOA list of records is in the GO1ENT field.
GO1NUM is a 1-byte field. The number in this byte is called a load mode. When GOGO retrieves this GOA, it compares the contents of GO1NUM to a byte in the subsystem user table entry for this subsystem user. If the values are equal, the records in the list are loaded. How the field in the subsystem user table is initialized is in SIP for format-1 globals.
Once GOGO is finished loading the list of records defined in a GOA, it checks the contents of the GO1CHN field. If the first bit of the GO1CHN byte is 0, this shows to GOGO that there are no more GOA records to retrieve for this load mode. If the first bit of GO1CHN is 1, GOGO will continues to retrieve the next GOA record, the ordinal number of which is found in GO1FCH.
* PRIME GOA RECORD
GO1GO GSTAR 1.
BSTA06 ENT (#GLOBL)1. #GLOBL ORDINAL NUMBER 1
* STANDARD HEADER
GO1BID ENT GO. RECORD ID C'GO'
GO1FCH ENT X'00000002'. FORWARD CHAIN TO ORDINAL # 2
* TABLE HEADER
GO1ENT ENTIT 1-1-X'0022'. 34 ENTRIES IN THIS TABLE
GO1NUM ENTIT 1-1-X'07'. LOAD MODE X'07'
GO1CHN ENTIT 1-1-X'80'. THERE IS A FORWARD CHAIN FOR X'07'
* TABLE ENTRIES
.
.
.
GEND
* OVERFLOW GOA RECORD
GO1GO GSTAR 1.
BSTA06 ENT (#GLOBL)2. #GLOBL ORDINAL NUMBER 2
* STANDARD HEADER
GO1BID ENT GO. RECORD ID C'GO'
GO1FCH ENT X'00000004'. FORWARD CHAIN TO ORDINAL # 4
* TABLE HEADER
GO1ENT ENTIT 1-1-X'0010'. 16 ENTRIES IN THIS TABLE
GO1NUM ENTIT 1-1-X'07'. LOAD MODE X'07'
GO1CHN ENTIT 1-1-X'00'. THERE IS NO FORWARD CHAIN FOR X'07'
* TABLE ENTRIES
.
.
.
GEND
* PRIME GOA RECORD
GO1GO GSTAR 1.
BSTA06 ENT (#GLOBL)4. #GLOBL ORDINAL NUMBER 4
* STANDARD HEADER
GO1BID ENT GO. RECORD ID C'GO'
GO1FCH ENT X'00000000'. LAST GOA IN CHAIN
* TABLE HEADER
GO1ENT ENTIT 1-1-X'0019'. 25 ENTRIES IN THIS TABLE
GO1NUM ENTIT 1-1-X'23'. LOAD MODE X'23'
GO1CHN ENTIT 1-1-X'00'. THERE IS NO FORWARD CHAIN FOR X'23'
* TABLE ENTRIES
.
.
.
GEND
In Figure 1, if load mode X'07' is loaded, GOGO loads the records listed in #GLOBL 1 and #GLOBL 2, because their GO1NUM fields contain a X'07'. However, GOGO does not continue chasing the forward chain after #GLOBL 2, because the GO1CHN field contains 0.
When loading load mode X'23', GOGO retrieves #GLOBL1 and 2 but does not load any of the records listed because GO1NUM shows the wrong load mode. The GO1CHN field in #GLOBL 2 is ignored by GOGO because it shows the end of the GOA chain for load mode X'07'. GOGO continues to retrieve #GLOBL 4 and loads the records listed, because GO1NUM in that record contains a X'23'.