gtps4m2v | System Generation |
The GLSYNC macro is used to specify the synchronized globals, both fields and records, needed by the various system users.
One GLSYNC macro is required each time a subsystem user seeks to synchronize a particular global field or record.
This macro will generate the System Interprocessor Global Table (SIGT) program and the equate list, SYNLST. SIGT requires that space be reserved on DASD for the #SGFRI record type. For each subsystem user, one #SGFRI-type record is required for each global field that is to be synchronized. When no GLSYNC macros are coded, at least two #SGFRI records are still needed. The #SGFRI record type is defined by coding the SIP RAMFIL macro. (See RAMFIL for additional information.)
The first time the macro is coded for a global, all parameters must be specified. Thereafter any invocation of the macro for that particular global may be coded with only the global name, the user and the common value. If the other parameters are coded, they must not differ from the original invocation.
This macro is not required.
Format
|
When TYP=FLD and BASE=Y, COMMON must equal YES. When TYP=FLD and BASE=A, COMMON must equal NO.
Only global areas 1 and 3 are protected.
If any subsystem user has a global with COMMON=YES specified, then the primary subsystem user (first argument of SSUID of SSDEF) must have COMMON=YES specified for the same global.
If COMMON is not specified, it is set to NO unless TYPE=FLD and BASE=Y, then it is set to YES.
When a SIGT created from a GLSYNC macro is loaded from the loader general file to an online system for each field with LOAD=YES, the data used by that system for the synchronized field is taken from the global record. If LOAD=NO, then the current value of the field remains.
This option gives the user the ability to alter the SIGT without altering the value of some or all of the synchronized global fields. By use of pilot tapes and coding LOAD=YES, the user can selectively alter synchronized global fields by loading new data to the global record holding the field. Fields that will not be altered should be coded LOAD=NO.
Examples
The following example is presumed to take place in a loosely coupled environment, in which SSU1, SSU2, and SSU3 are defined as subsystem users in SSDEF.
The global record, MYGLOB, which is a member of GLOBA and GLOBAL1 will occur twice, once for SSU1 and once for SSU2.
The global field, MYFLD, which is a member of GLOBY and GLOBAL3 will occur only once, shared by SSU1 and SSU3.
cc10 cc17 cc72 GLSYNC GLOBAL=MYGLOB,TYPE=RCD,PROTECT=1,BASE=A,COMMON=NO, X USER=SSU1,ISTREAM=SHARED GLSYNC GLOBAL=MYGLOB,COMMON=NO,USER=SSU2 GLSYNC GLOBAL=MYFLD,TYPE=FLD,PROTECT=3,BASE=Y,COMMON=YES, X USER=SSU1,ISTREAM=UNIQUE GLSYNC GLOBAL=MYFLD,COMMON=YES,USER=SSU3,ISTREAM=UNIQUE
References
SYNCC in TPF General Macros.