gtpi1m63System Installation Support Reference

Examples of I-Stream Shared and Unique Globals

The following is STC input for the GOA chain for I-stream 1:

*        I-STREAM 1 PRIME GOA RECORD
GO1GO    GSTAR 1.
BSTA06   ENT   (#GLOBL)1.              #GLOBL ORDINAL NUMBER 1
*                                 STANDARD HEADER
GO1BID   ENT   GO.
GO1FCH   ENT   X'00000002'.            FORWARD CHAIN AT ORDINAL # 2
*                                 TABLE HEADER
GO1ENT   ENTIT 1-1-X'0002'.            2 ENTRIES THIS TABLE
GO1NUM   ENTIT 1-1-X'07'.              LOAD MODE 07
GO1CHN   ENTIT 1-1-X'80'.              THERE IS A FORWARD CHAIN
*                                 TABLE OF ENTRIES
*                           RECORD 1
GO1CON   ENTIT 1-2-X'84000000'.        LOAD 84D RECORD TO GL1
GO1EIX   ENTIT 1-2-X'0009'.            SLOT # 9
GO1EID   ENTIT 1-2-GL.                 RECORD ID GL
GO1EON   ENTIT 1-2-X'00000002'.        FROM ORDINAL # 2
*                           RECORD 2
GO1CON   ENTIT 1-3-X'84240000'.        LOAD 84D KEYPOINTABLE REC TO I-S shared GL1
GO1EIX   ENTIT 1-3-X'000A'.            SLOT # 10
GO1EID   ENTIT 1-3-GL.                 RECORD ID GL
GO1EON   ENTIT 1-3-X'00000003'.        FROM ORDINAL # 3
         GEND
*        I-STREAM 1 FORWARD CHAIN GOA
GO1GO    GSTAR 1.
BSTA06   ENT   (#GLOBL)2.              #GLOBL ORDINAL NUMBER 2
*                                 STANDARD HEADER
GO1BID   ENT   GO.                     RECORD ID
GO1FCH   ENT   X'00000000'.            NO FORWARD CHAIN
*                                 TABLE HEADER
GO1ENT   ENTIT 1-1-X'0002'.            2 ENTRIES IN THIS TABLE
GO1NUM   ENTIT 1-1-X'07'.              LOAD MODE 07
GO1CHN   ENTIT 1-1-X'00'.              NO FORWARD CHAIN
*                                 TABLE ENTRIES
*                           RECORD 3
GO1CON   ENTIT 1-2-X'58020100'.        LOAD 58D SSU COMMON REC TO GL2
GO1EIX   ENTIT 1-2-X'0079'.            GL3 SLOT # 65
GO1EID   ENTIT 1-2-GL.                 RECORD ID GL
GO1EON   ENTIT 1-2-X'0000003E'.        FROM ORDINAL # 62
*                           RECORD 4
GO1CON   ENTIT 1-3-X'64060200'.        64D KYPTBL SSU COMMON REC TO GL3
GO1EIX   ENTIT 1-3-X'0049'.            SLOT # 17
GO1EID   ENTIT 1-3-GL.                 RECORD ID GL
GO1EON   ENTIT 1-3-X'0000003F'.        FROM ORDINAL # 63
         GEND
 

The following is STC input for the GOA chain for I-stream 2:

*        I-STREAM 2 PRIME GOA RECORD
GO1GO    GSTAR 1.
BSTA06   ENT   (#GLOBL)18.             #GLOBL ORDINAL NUMBER 18
*                                 STANDARD HEADER
GO1BID   ENT   GO.                     RECORD ID GO
GO1FCH   ENT   X'00000011'.            FORWARD CHAIN AT ORDINAL # 17
*                                 TABLE HEADER
GO1ENT   ENTIT 1-1-X'0002'.            2 ENTRIES THIS TABLE
GO1NUM   ENTIT 1-1-X'07'.              LOAD MODE 07
GO1CHN   ENTIT 1-1-X'80'.              THERE IS A FORWARD CHAIN
*                                 TABLE OF ENTRIES
*                           RECORD 1
GO1CON   ENTIT 1-2-X'84000000'.        LOAD 84D RECORD TO GL1
GO1EIX   ENTIT 1-2-X'0009'.            SLOT # 9
GO1EID   ENTIT 1-2-GL.                 RECORD ID GL
GO1EON   ENTIT 1-2-X'00000002'.        FROM ORDINAL # 2
*                           RECORD 2  I-STREAM SHARED
*
*        (Note that no record is defined here.
*        The corresponding record for I-stream 1
*        will appear in the directory slot for
*        for this I-stream.)
*
         GEND
*        I-STREAM 2 FORWARD CHAIN GOA
GO1GO    GSTAR 1.
BSTA06   ENT   (#GLOBL)17.             #GLOBL ORDINAL NUMBER 17
*                                 STANDARD HEADER
GO1BID   ENT   GO.                     RECORD ID
GO1FCH   ENT   X'00000000'.            NO FORWARD CHAIN
*                                 TABLE HEADER
GO1ENT   ENTIT 1-1-X'0002'.            2 ENTRIES IN THIS TABLE
GO1NUM   ENTIT 1-1-X'07'.              LOAD MODE 07
GO1CHN   ENTIT 1-1-X'00'.              NO FORWARD CHAIN
*                                 TABLE ENTRIES
*                           RECORD 3
GO1CON   ENTIT 1-2-X'58020100'.        LOAD 58D SSU COMMON REC TO GL2
GO1EIX   ENTIT 1-2-X'0079'.            GL3 SLOT # 65
GO1EID   ENTIT 1-2-GL.                 RECORD ID GL
GO1EON   ENTIT 1-2-X'0000003E'.        FROM ORDINAL # 62
*                           RECORD 4
GO1CON   ENTIT 1-3-X'64060200'.        64D KYPTBL SSU COMMON REC TO GL3
GO1EIX   ENTIT 1-3-X'0049'.            SLOT # 17
GO1EID   ENTIT 1-3-GL.                 RECORD ID GL
GO1EON   ENTIT 1-3-X'00000040'.        FROM ORDINAL # 64
         GEND
 

The previous code produces a pilot tape that initializes the #GLOBL records so that 4 globals records are loaded.

Records 1 and 3 are both I-stream unique since there is an item in each I-stream's GOA chain for both records. Each I-stream has its own main storage copy of both record 1 and record 3, but the file address for each global is shared. This is because the global is loaded to each I-stream from the same #GLOBL ordinal number.

Record 2 is an example of an I-stream shared global. Since there is an entry for record 2 only in I-stream 1's GOA chain, I-Stream 2's slot for record 2 (GL1 slot #10) contains the same values as I-stream 1's slot for record 2. Each I-stream points to the same main storage address and file address for record 2. This is what is meant by I-stream shared.

Note:
If the I-stream shared indicator is on in a GOA entry for an I-stream other than the main I-stream, global load generates a system error, and restart processing ends.

Record 4, like records 1 and 3, is I-stream unique, but record 4 is loaded from a different #GLOBL ordinal number on each I-stream. Record 4 has not only a unique main storage copy for each I-stream but also a unique DASD copy for each I-stream.

The following diagram shows this relationship:

Main Storage Super GOA Copy

The following is an example of a main storage copy of a super GOA.

Figure 11. Example of the Super GOA

+000  G O0000  A C P F      +008 00000000 00300000      +010 00000000 00000000      +018 00000008 00100018
+020 00200028 00000000      +028 00000000 00000000      +030 00000000 00000001      +038 00000001 00000000
+040 00000002 00000010      +048 00000000 00000003      +050 00000010 00000000      +058 00000004 00000010
+060 00000000 00000005      +068 00000010 00000000      +070 00000006 00000010      +078 00000000 00000007
+080 00000010 00000000      +088 00000008 00000010      +090 00000001 00000001      +ABS 00000001 00000001
+0A0 00000002 00000010      +0A8 00000001 00000003      +0B0 00000010 00000001      +0B8 00000004 00000010
+0C0 00000001 00000005      +0C8 00000010 00000001      +0D0 00000006 00000010      +0D8 00000001 00000007
+0E0 00000010 00000001      +0E8 00000008 00000010      +0F0 00000002 00000001      +0F8 00000001 00000002
+100 00000002 00000010      +108 00000002 00000003      +110 00000010 00000002      +118 00000004 00000010
+120 00000002 00000005      +128 00000010 00000002      +130 00000006 00000010      +138 00000002 00000007
+140 00000010 00000002      +148 00000008 00000010      +150 00000003 00000001      +158 00000001 00000003
+160 00000002 00000010      +168 00000003 00000003      +170 00000010 00000003      +178 00000004 00000010
+180 00000003 00000005      +188 00000010 00000003      +190 00000006 00000010      +198 00000003 00000007
+1A0 00000010 00000003      +1A8 00000008 00000010      +1B0 00000004 00000001      +1B8 00000001 00000004
+1C0 00000002 00000010      +1C8 00000004 00000003      +1D0 00000010 00000004      +1D8 00000004 00000010
+1E0 00000004 00000005      +1E8 00000010 00000004      +1F0 00000006 00000010      +1F8 00000004 00000007
+200 00000010 00000004      +208 00000008 00000010      +210 00000005 00000001      +218 00000001 00000005
+220 00000002 00000010      +228 00000005 00000003      +230 00000010 00000005      +238 00000004 00000010
+240 00000005 00000005      +248 00000010 00000005      +250 00000006 00000010      +258 00000005 00000007
+260 00000010 00000005      +268 00000008 00000010      +270 00000000 00000000      +278 00000000 00000000
+280 00000000 00000000      +288 00000000 00000000      +290 00000000 00000000      +298 00000000 00000000
+2A0 00000000 00000000      +2A8 00000000 00000000      +2B0 00000000 00000000      +2B8 00000000 00000000
+2C0 00000000 00000000      +2C8 00000000 00000000      +2D0 00000000 00000000      +2D8 00000000 00000000
+2E0 00000000 00000000      +2E8 00000000 00000000      +2F0 00000000 00000000      +2F8 00000000 00000000
+300 00000000 00000000      +308 00000000 00000000      +310 00000000 00000000      +318 00000000 00000000
+320 00000000 00000000      +328 00000000 00000000      +330 00000000 00000000      +338 00000000 00000000
+340 00000000 00000000      +348 00000000 00000000      +350 00000000 00000000      +358 00000000 00000000
+360 00000000 00000000      +368 00000000 00000000      +370 00000000 00000000      +378 00000000 00000000
+380 00000000 00000000      +388 00000000 00000000      +390 00000000 00000000      +398 00000000 00000000
+3A0 00000000 00000000      +3A8 00000000 00000000      +3B0 00000000 00000000      +3B8 00000000 00000000
+3C0 00000000 00000000      +3C8 00000000 00000000      +3D0 00000000 00000000      +3D8 00000000 00000000
+3E0 00000000 00000000      +3E8 00000000 00000000      +3F0 00000000 00000000      +3F8 00000000 00000000
+400 00000000 00000000      +408 00000000 00000000      +410 00000000 00000000      +418 00000000 00000013
 

Main Storage Prime GOA Copy

The following is an example of a main storage copy of a prime GOA.

Figure 12. Example of a Prime GOA

+000  G O0004  A C P F      +008 00000002 001A0700      +010 ABS00000 00000000      +018 84000000 0009 G L
+020 00000003 84040000      +028 000A G L 00000004      +030 09000000 0022 G L      +038 00000023 08040000
+040 0023 G L 00000024      +048 11000000 0024 G L      +050 00000025 03040000      +058 0025 G L 00000026
+060 64040000 0001 M E      +068 00000043 32040000      +070 0002 R T 00000044      +078 10040000 0003 P M
+080 00000041 10040000      +088 0004 G C 00000042      +090 84040000 002E Q X      +ABS 0000004B 64040000
+0A0 0005 T R 00000046      +0A8 64060000 0007 T R      +0B0 00000048 64040000      +0B8 002B T R 00000027
+0C0 64060000 002D T R      +0C8 0000002B 81000100      +0D0 0013 X U 0000001F      +0D8 09000100 0014 X U
+0E0 00000020 12000100      +0E8 0016 X C 00000018      +0F0 64040100 0006 T R      +0F8 00000047 64060100
+100 0008 T R 00000049      +108 64040100 002C T R      +110 00000028 64060100      +118 002F T R 0000002C
+120 64060100 0056 T R      +128 00000035 64040100      +130 0058 T R 0000002A      +138 64040100 0054 T R
+140 00000033 64060100      +148 005A T R 0000002E      +150 00000000 00000000      +158 00000000 00000000
+160 00000000 00000000      +168 00000000 00000000      +170 00000000 00000000      +178 00000000 00000000
+180 00000000 00000000      +188 00000000 00000000      +190 00000000 00000000      +198 00000000 00000000
+1A0 00000000 00000000      +1A8 00000000 00000000      +1B0 00000000 00000000      +1B8 00000000 00000000
+1C0 00000000 00000000      +1C8 00000000 00000000      +1D0 00000000 00000000      +1D8 00000000 00000000
+1E0 00000000 00000000      +1E8 00000000 00000000      +1F0 00000000 00000000      +1F8 00000000 00000000
+200 00000000 00000000      +208 00000000 00000000      +210 00000000 00000000      +218 00000000 00000000
+220 00000000 00000000      +228 00000000 00000000      +230 00000000 00000000      +238 00000000 00000000
+240 00000000 00000000      +248 00000000 00000000      +250 00000000 00000000      +258 00000000 00000000
+260 00000000 00000000      +268 00000000 00000000      +270 00000000 00000000      +278 00000000 00000000
+280 00000000 00000000      +288 00000000 00000000      +290 00000000 00000000      +298 00000000 00000000
+2A0 00000000 00000000      +2A8 00000000 00000000      +2B0 00000000 00000000      +2B8 00000000 00000000
+2C0 00000000 00000000      +2C8 00000000 00000000      +2D0 00000000 00000000      +2D8 00000000 00000000
+2E0 00000000 00000000      +2E8 00000000 00000000      +2F0 00000000 00000000      +2F8 00000000 00000000
+300 00000000 00000000      +308 00000000 00000000      +310 00000000 00000000      +318 00000000 00000000
+320 00000000 00000000      +328 00000000 00000000      +330 00000000 00000000      +338 00000000 00000000
+340 00000000 00000000      +348 00000000 00000000      +350 00000000 00000000      +358 00000000 00000000
+360 00000000 00000000      +368 00000000 00000000      +370 00000000 00000000      +378 00000000 00000000
+380 00000000 00000000      +388 00000000 00000000      +390 00000000 00000000      +398 00000000 00000000
+3A0 00000000 00000000      +3A8 00000000 00000000      +3B0 00000000 00000000      +3B8 00000000 00000000
+3C0 00000000 00000000      +3C8 00000000 00000000      +3D0 00000000 00000000      +3D8 00000000 00000000
+3E0 00000000 00000000      +3E8 00000000 00000000      +3F0 00000000 00000000      +3F8 00000000 00000000
+400 00000000 00000000      +408 00000000 00000000      +410 00000000 00000000      +418 00000000 00000013
 

Sample STC Card Images for Global Block Creation

 SDMU    ENTER GL0BBLAB0001                                             00010000
GL0BB    GSTAR CREATE,1.                                                00020000
BSTA06   ENT   (#GL0BL)3.                                               00030000
0        ENT   X@C7D30020@.                                             00040000
@TRTAL   ENT   X'0000000000000000000000000000000000000000000000000000' ;00050000
               X'0000000000000000000000000000000000000000000000000000' ;00060000
               X'0000000000000000000000000000000000000000000000000000' ;00070000
               X'0000000000000000000000000000000000000000000000000000' ;00080000
               X'0000000000000000000000000000000000000000000000000000' ;00090000
               X'0000000000000000000000000000000000000000000000000000' ;00100000
               X'0000000000000000000000000000000000000000000000000000' ;00110000
               X'0000000000000000000000010101020202020303000000000000' ;00120000
               X'0003030304040404050500000000000000000506060606060606' ;00130000
               X'00000000000000000000000000000000000000000000'.         00140000
@TRTNO   ENT   X'FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF' ;00150000
               X'FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF' ;00160000
               X'FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF' ;00170000
               X'FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF' ;00180000
               X'FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF' ;00190000
               X'FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF' ;00200000
               X'FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF' ;00210000
               X'FFFFFFFFFFFFFFFFFFFFFF000000000000000000FFFFFFFFFFFF' ;00220000
               X'FF000000000000000000FFFFFFFFFFFFFFFF0000000000000000' ;00230000
               X'FFFFFFFFFFFF01010101010101010101FFFFFFFFFFFF'.         00240000
@ESRLC   ENT   (#MISCL)1.                                               00250000
@FCTAD   ENT   (#MISCS)6.                                               00260000
@NC1NC   ENT   (#MISCS)7.                                               00270000
@NS1NS   ENT   (#MISCS)8.                                               00280000
@P9ADR   ENT   (#MISCS)10.                                              00290000
@P9PDC   ENT   X'00000021'.         33                                  00300000
@Q6PI1   ENT   (#MISCS)0.                                               00310000
@Q6PI2   ENT   (#MISCS)1.                                               00320000
@Q6PI3   ENT   (#MISCS)2.                                               00330000
@ROTTY   ENT   (#MISCL)7.                                               00340000
@STTSF   ENT   (#MISCS)5.                                               00350000
@TTTEM   ENT   (#MISCL)0.                                               00360000
@U1TFT   ENT   (#MISCS)9.                                               00370000
@U7CRC   ENT   (#QCRRI)1.                                               00380000
@ALPHA   ENT   X@0006@.              6                                  00390000
@CRCOD   ENT   RC.                                                      00400000
@HAALC   ENT   CO.                                                      00410000
@LSTCH   ENT   X'0000'.                                                 00420000
@MAXBK   ENT   X'0156'.            342                                  00430000
@MAXCL   ENT   X'0040'.             64                                  00440000
@MAXHL   ENT   X'0045'.             69                                  00450000
@MINBK   ENT   X'0105'.            261                                  00460000
@NBADY   ENT   X@0007@.                                                 00470000
@NOCUR   ENT   X@0008@.              8                                  00480000
@NOREM   ENT   X@014D@.            333                                  00490000
@NRDET   ENT   X@000A@.             10                                  00500000
@NRGRO   ENT   X@016E@.            366                                  00510000
@NRRDI   ENT   X@003D@.                                                 00520000
@OADET   ENT   X@0005@.              5                                  00530000
@OAGRO   ENT   X@014F@.            335                                  00540000
@OMSGI   ENT   X'0005'.              5                                  00550000
@P9PDO   ENT   X'000B'.                                                 00560000
@P9PNL   ENT   X'0004'.              4                                  00570000
@XIPCT   ENT   X@0004@.       TON'S 0-3 NOT ASSIGNED XILD               00580000
@XLSLC   ENT   X@0010@.       # LOW SPEED LINES,16 LOW SPEE LINES 00-0F 00590000
@XLSLQ   ENT   X@000A@.       # LS ENTRIES(XTQC)                        00600000
@XLSTC   ENT   X@000E@.       # OF L/S TERMINALS                        00610000
@XMXML   ENT   X@000A@.       MAX MESSAGE LENGTH IN SEGMENTS            00620000
@XMXRC   ENT   X@0005@.       MAX RETRIEVAL COUNT
@XMXRT   ENT   X@000F@.       MAX RETRIEVAL TIME LIMIT -15 MIN          00640000
@XNHST   ENT   X'0016'.            # H/S M/S TERMINALS                  00650000
@XSATS   ENT   X'0007'.       # ENTRIES PER XSAT RECORD                 00660000
@XSYLC   ENT   X@0013@.       # ENTRIES IN XOCT                         00670000
@XSYTC   ENT   X'0028'.            # ENTRIES IN XTRT                    00680000
@XTATS   ENT   X@000A@.       # ENTRIES PER XTAT RECORD                 00690000
@X1SDL   ENT   X'0048'.       72 SDL'S PER XDSL                         00700000
@TTHAM   ENT   TSTAL.                                                   00710000
@CRAS    ENT   X'010000'.                                               00720000
@CRCCC   ENT   LAX.                                                     00730000
@FCOCC   ENT   LAX.                                                     00740000
@PARSC   ENT   LAX.                                                     00750000
@CRCORD  ENT   X'01'.                                                   00760000
@PQ5NR   ENT   X@01@.                                                   00770000
@XIPLG   ENT   X'FF'.              INPUT LOGGING ON                     00780000
@XSYST   ENT   X@03@.         RES EOM/S- H/S AND L/S                    00790000
         GEND                                                           00800000
 SDMU    ENTER GL0BCLAB0001                                             00810000
GL0BC    GSTAR CREATE,1.                                                00820000
BSTA06   ENT   (#GL0BL)4.                                               00830000
0        ENT   X@C7D30020@.                                             00840000
@U1CAL   ENT   X@1EE2C5D700F1@.              SEP                       ;00850000
               X@1FD6C3E3010F@.              OCT                       ;00860000
               X@1ED5D6E5012E@.              NOV                       ;00870000
               X@1FC4C5C3014C@.              DEC                       ;00880000
               X@1FD1C1D5016B@.              JAN                       ;00890000
               X@1CC6C5C2018A@.              FEB                       ;00900000
               X@1FD4C1D901A6@.              MAR                       ;00910000
               X@1EC1D7D901C5@.              APR                       ;00920000
               X@1FD4C1E801E3@.              MAY                       ;00930000
               X@1ED1E4D50202@.              JUN                       ;00940000
               X@1FD1E4D30220@.              JUL                       ;00950000
               X@1FC1E4C7023F@.              AUG                       ;00960000
               X'1EE2C5D7025E'.              SEP                       ;00970000
               X'1FD6C3E3027C'.              OCT                        0ABS0000
@U1GMT   ENT   2000.                                                    00990000
@U1TYM   ENT   1200.                                                    01000000
@U1MID   ENT   X@000001E0@.        480                                  01010000
@C0CLO   ENT   X@000004B0@.       1200                                  01020000
@U1ZID   ENT   X'00000000'.                                             01030000
@IFLTN   ENT   X@00000000000000@.                                       01040000
@CFLTN   ENT   0000.                                                    01050000
@DFLTN   ENT   0000.                                                    01060000
@PFLTN   ENT   0000.                                                    01070000
@GMTDA   ENT   X'0120'.            288                                  01080000
@NARAV   ENT   X'0000'.                                                 01090000
@NRDDP   ENT   X@0007@.                                                 01100000
@NRFMA   ENT   X@0000@.                                                 01110000
@NRGDP   ENT   X'011F'.            287                                  01120000
@N9ARS   ENT   X'011F'.            287                                  01130000
@C0DEF   ENT   X'00'.                                                   01140000
@U1DAY   ENT   X'0120'.            288                                  01150000
@U1DMO   ENT   X'011F'.            287                                  01160000
@NBADT   ENT   X@0000C9@.                                               01170000
@TTHDM   ENT   120017OCT.                                               01180000
@GMTDY   ENT   17OCT.                                                   01190000
@C0TOL   ENT   X'00'.                                                   01200000
@U1DMT   ENT   17OCT.                                                   01210000
@VCHEK   ENT   X'00'.                                                   01220000
@VSTAT   ENT   I.                                                       01230000
         GEND                                                           01240000
 SDMU    ENTER GL0BD0000001,TPF DEV,70131                               01250000
GL0BD    GSTAR 1.                                                       01260000
BSTA06   ENT   (#GL0BL)35.                                              01270000
0        ENT   X@C7D303@.                                               01280000
@FQMIN   ENT   X'03E8'.                                                 01290000
@FTADR   ENT   X'0000000000000000'.                                     01300000
@FQADJ   ENT   X'0000'.                                                 01310000
@FQNCS   ENT   X'0096'.                                                 01320000
@TMSLR   ENT   X'00000101'.                                             01330000
@FQCTX   ENT   X'0008'.                                                 01340000
@ISNAM   ENT   TPF AIR.                                                 01350000
         GEND                                                           01360000
 SDMU    ENTER GL0BE0000001,TPF DEV,70131                               01370000
GL0BE    GSTAR 1.                                                       01380000
BSTA06   ENT   (#GL0BL)36.                                              01390000
0        ENT   X@C7D30304@.                                             01400000
@F1KEY   ENT   X'0000'.                                                 01410000
@TMACT   ENT   X'00'.                                                   01420000
@HIORD   ENT   X'0000'.                                                 01430000
@TKTNO   ENT   X'00000000'.                                             01440000
@COIBM   ENT                                                            01450000
         GEND                                                           01460000
 SDMU    ENTER GL0BF0000001,TPF DEV,70131                               01470000
GL0BF    GSTAR 1.                                                       01480000
BSTA06   ENT   (#GL0BL)37.                                              01490000
0        ENT   X@C7D303@.                                               01500000
         GEND                                                           01510000
 SDMU    ENTER GL0BG0000001,TPF DEV,70131                               01520000
GL0BG    GSTAR 1.                                                       01530000
BSTA06   ENT   (#GL0BL)38.                                              01540000
0        ENT   X@C7D30304@.                                             01550000
         GEND                                                           01560000
 SDMU    ENTER GL0BP0000001                                             01570000
GL0BP    GSTAR 1.                                                       01580000
BSTA06   ENT   (#GL0BL)62.                                              01590000
0        ENT   X'C7D3'.                                                 01600000
         GEND                                                           01610000
 SDMU    ENTER GL0BQ0000001                                             01620000
GL0BQ    GSTAR 1.                                                       01630000
BSTA06   ENT   (#GL0BL)63.                                              01640000
0        ENT   X@C7D3@.                                                 01650000
 

Examples of Coding the SYNCC Macro

The following coding examples are illustrations, not the definitive method for using the SYNCC macro; they should be consulted only as examples. TPF General Macros contains a detailed explanation of the SYNCC macro.

Updating a Single Synchronized Field

Updating a single synchronizable field requires the insertion of the SYNCC macro at 2 points in the logic. The synchronization macro usually replaces the GLMOD and FILKW macros.

In the following example, the field @AFIELD is locked (statement 7), and the main storage copy is refreshed from the file copy. The protection key is set to the value appropriate for the field, and control is returned to the problem program at the next sequential instruction. A hold is maintained on the file copy of the record for the field by the processor. The request to synchronize the field between all processors is issued in statement 14. The protection key is returned appropriately for the problem program. The synchronization process for the other active processors is initiated by filing the synchronization copy of the field, sending messages to the other active processors, and releasing the hold on the synchronization record.

     |...+....1....+....2....+....3....+....4....+....5....+....6....+....7...
1)   .
2)   .
3)   LABEL    GLOBZ REGR=R1
4)   .
5)   .
6)   .
7)   LABEL1   SYNCC LOCK,@AFIELD
8)   .     **                                         **
9)   .     **  Logic may not modify working storage   **
10)  .     **  without the proper use of GLMOD and    **
11)  .     **  FILKW macros.                          **
12)  .     **                                         **
13)           ST    RG5,@AFIELD        Update the single field
14)  LABEL2   SYNCC SYNC,@AFIELD
15)  .
16)  .
 

Updating Multiple Synchronized Fields

Requests to update multiple synchronizable fields must be done serially. Inserting a SYNCC macro before and after each field update request will substantially increase the size of a program. To avoid issuing many SYNCC macros, the database design should be reevaluated in an LC system. GLMOD and FILKW macros may have to remain in the program to properly update nonsynchronizable fields or records. Two synchronized fields cannot be updated with a single SYNCC macro call.

In the following example, the field @AFIELD is locked (statement 6), and the main storage copy is refreshed from the file copy. The protection key is set to the value appropriate for the field, and control is returned to the problem program at the next sequential instruction. A hold is maintained on the file copy of the record for the field by the processor. The request to synchronize the field between all processors is issued in statement 14. The protection key is returned appropriately for the problem program. The synchronization process for the other active processors is initiated by filing the synchronization copy of the field, sending messages to the other active processors and releasing the hold on the synchronization record. The entire process is repeated for @BFIELD.

      |...+....1....+....2....+....3....+....4....+....5....+....6....+....7...
1)    .
2)    .
3)    LABEL    GLOBZ REGR=R1
4)    .
5)    .
6)    LABEL1   SYNCC LOCK,@AFIELD
7)    .
8)    .    **                                      **
9)    .    ** Logic may not modify working storage **
10)   .    ** without the proper use of GLMOD and  **
11)   .    ** FILKW macros.                        **
12)   .    **                                      **
13)            ST    RG5,@AFIELD      Update single field
14)   LABEL2   SYNCC SYNC,@AFIELD
15)   .
16)   .    **  Additional logic                    **
17)   .
18)   LABEL3   SYNCC LOCK,@BFIELD
19)   .    **                                      **
20)   .    ** Logic may not modify working storage **
21)   .    ** without the proper use of GLMOD and  **
22)   .    ** FILKW macros.                        **
23)   .    **                                      **
24)            ST    RG5,@BFIELD      Update single field
25)   LABEL4   SYNCC SYNC,@BFIELD
26)   .
27)   .

Updating Nonsynchronized and Synchronized Fields

In this example, the field @AFIELD is locked (statement 6) and the main storage copy is refreshed from the file copy. The protection key is set to the value appropriate for the field and control is returned to the problem program at the next sequential instruction. A hold is maintained on the file copy of the record for the field by the processor. In following code (statements 7 through 12), the program properly addresses the field, modifies the data, and in this example, uses a store register to update the field (statement 13). The request to synchronize the field across all processors is then issued (statement 14) and the program continues. As a result of the request for synchronization (statement 14), the protection key is returned appropriately for the problem program and the synchronization process for the other active processors is initiated by filing the synchronization copy of the field, sending messages to the other active processors, and releasing the hold on the synchronization record. The update to @BFIELD is by conventional use of the GLMOD and FILKW macros.

      |...+....1....+....2....+....3....+....4....+....5....+....6....+....7...
1)    .
2)    .
3)    LABEL    GLOBZ REGR=R1
4)    .
5)    .
6)    LABEL1   SYNCC LOCK,@AFIELD
7)    .
8)    .    **                                      **
9)    .    ** Logic may not modify working storage **
10)   .    ** without the proper use of GLMOD and  **
11)   .    ** FILKW macros.                        **
12)   .    **                                      **
13)            ST    RG5,@AFIELD      Update single field
14)   LABEL2   SYNCC SYNC,@AFIELD
15)   .
16)   .    **  Additional logic                    **
17)   .
18)   LABEL3   GLMOD
19)   .
20)   .    **                                      **
21)   .    ** Logic may not modify working storage **
22)   .    ** without the proper use of GLMOD and  **
23)   .    ** FILKW macros.                        **
24)   .    **                                      **
25)   .        ST    RG5,@BFIELD      Update single field
26)   LABEL4   FILKW R,@GBLCC
27)   .
28)   .