gtps4m2vSystem Generation

GLSYNC

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




GLOBAL=globname
A 1-8-character name to be assigned to the global. The name must be unique among the globals of either type.
Note:
@SYNCD and @RCOUP are reserved for IBM.

TYPE
Specify one of the following:

RCD
The global is a synchronized global record

FLD
The global is a synchronized global field

When TYP=FLD and BASE=Y, COMMON must equal YES. When TYP=FLD and BASE=A, COMMON must equal NO.

BASE
Specify one of the following:

A
The global directory item is in GLOBA.

Y
The global directory item is in GLOBY.

PROTECT
Specify one of the following:

1
The global resides in GLOBAL1

2
The global resides in GLOBAL2

3
The global resides in GLOBAL3

Only global areas 1 and 3 are protected.

COMMON
Specify one of the following:

YES
The global is common among subsystem users.

NO
The global is unique to each user.

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.

ISTREAM
Specify one of the following:

UNIQUE
The global is unique to each I-stream.

SHARED
The global is shared by all I-streams. (Applications must serialize access for shared globals.)

USER=username
The 1-4-character name of the subsystem user. This name must be present within the SSUID parameters of SSDEF. If SSDEF is not coded, allow USER to default. If USER is not coded, it will default to the first SSUID1 defined in the SSDEF macro.

LOAD
This parameter is only to be coded when TYPE=FLD. It will be ignored otherwise.

YES
Specifies that the global field is to loaded.

NO
Specifies that the global field is not to be loaded.

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.