         MACRO                                                          00050002
         SGIEF014  &TYP=,&PREF,&CODE                                    00100002
.*C003000,029000                                               @YM08650 00110002
.*A000000-999999                                                 Y02670 00120002
         COPY  SGIEF020                                                 00150002
         GBLA  &PENT                                                    00200002
         GBLA  &Z,&E,&GG                                                00250002
         GBLB  &DONE(188)                                      @YM08650 00300002
         GBLB  &FTSW                                                    00350002
         LCLA  &J                                                       00400002
.********************************************************************** 00450002
.*       EDTTAB  SUPPORT  MACRO                                         00500002
.*   PARAMETERS ARE :                                                   00550002
.*          TYP   (G=GENERIC,E=ESOTERIC,GG=GENERATED GENERIC)           00600002
.*          PREF  (UNITNAME)                                            00650002
.*          CODE  (TYP=GG ONLY - - - INTERNAL CODE FOR TABLES)          00700002
.*   CALL WITHOUT PARAMETERS SIGNALS END OF PREFTAB.                    00750002
.*                                                                      00800002
.*  THIS MACRO GENERATES AN ENTRY IN PREFTAB FOR EACH TYP=G IF NAME     00850002
.*  CAN BE FOUND IN GBL VAR 'NAME'.                                     00900002
.*                                                                      00950002
.*  THE MACRO GENERATES A UNIQUE CODE FOR EACH NAME AND SRORES THE      01000002
.*  CODES IN SEQUENCE IN GBL VAR 'GPFXT'.ORDER OF CODES IN GPFXT        01050002
.*  (HENCE ORDER OF CALLS) IS PRECEDENCE SEQUENCE FOR UNITNAMES.        01100002
.********************************************************************** 01150002
         AIF   (&FTSW EQ 0).B100                                        01200002
.A1      ANOP                                                           01250002
         AIF   ('&TYP' EQ 'G').C100                                     01300002
         AIF   ('&TYP' EQ 'E').D100                                     01350002
         AIF   ('&TYP' EQ 'GG').E100                                    01400002
         AGO   .N100                                                    01450002
.*          IF Z=0;                                                     01500002
.*        (GENERATE PREFTAB HEADER                                      01550002
.*          Z=Z+1;                                                      01600002
.*          IF TYP=G;                                                   01650002
.*             DO J=1 BY 1 WHILE NAME(J) NE NULL AND NAME(J) NE PREF;   01700002
.*             END;                                                     01750002
.*             IF(NAME(J) = PREF) AND(DONE(J) = FALSE)                  01800002
.*                GPFXT(Z) = J                                          01850002
.*                DONE(J)  = TRUE                                       01900002
.*                (GENERATE  AN   ENTRY IN PREFTAB)                     01950002
.*          ELSE;                                                       02000002
.*             IF TYP=E;                                                02050002
.*                E=E+1;                                                02100002
.*                ENAME(E) = PREF;                                      02150002
.*                GPFXT(Z) = E+256;                                     02200002
.*             ELSE;                                                    02250002
.*                IF TYP=GG;                                            02300002
.*                   GG=GG+1                                            02350002
.*                   GNAME(GG) = PREF                                   02400002
.*                   GPFXT(Z)  = GG+1024                                02450002
.*          END;                                                        02500002
.*          MEXIT;                                                      02550002
.*                                                                      02600002
.*                                                                      02650002
.C100    ANOP                                                           02700002
&J       SETA  0                                                        02750002
.C101    ANOP                                                           02800002
&J       SETA  &J+1                                                     02850002
         AIF   (&J  GT 188).Z                                  @YM08650 02900002
         AIF   ('&NAME(&J)' NE '&PREF').C101                            02950002
         AIF   (&DONE(&J)).Z                                            03000002
         DC CL8'&PREF'                                                  03050002
&Z       SETA  &Z+1                                                     03100002
&GPFXT(&Z)  SETA  &J                                                    03150002
&DONE(&J)   SETB  1                                                     03200002
&PENT    SETA  &PENT+1                                                  03250002
.Z       MEXIT                                                          03300002
.*                                                                      03350002
.*                                                                      03400002
.*                                                                      03450002
.D100    ANOP                                                           03500002
&E       SETA  &E+1                                                     03550002
&ENAME(&E)  SETC  '&PREF'                                               03600002
&Z       SETA  &Z+1                                                     03650002
&GPFXT(&Z)  SETA  &E+256                                                03700002
         MEXIT                                                          03750002
.*                                                                      03800002
.*                                                                      03850002
.*                                                                      03900002
.E100    ANOP                                                           03950002
&GG      SETA  &GG+1                                                    04000002
&GKLIST(&GG)  SETA  &CODE                                               04050002
&GNAME(&GG)  SETC  '&PREF'                                              04100002
&Z       SETA  &Z+1                                                     04150002
&GPFXT(&Z)   SETA  &GG+1024                                             04200002
         MEXIT                                                          04250002
.*                                                                      04300002
.*                                                                      04350002
.*                                                                      04400002
.B100    ANOP                                                           04450002
&FTSW    SETB  1                                                        04500002
         TITLE 'PREFTAB  -  INSTALLATION GENERIC PRECEDENCE TABLE'      04550002
PREFTAB  CSECT                                                          04600002
         DC    A(NRENTS)          HEADER                                04650002
         DC    A(ENTLEN)            SECTION                             04700002
PTSTRT   DS    0F                                                       04750002
*                                                                       04800002
****************************  BEGIN TABLE BODY  *********************** 04850002
         AGO   .A1                                                      04900002
.*                                                                      04950002
.*                                                                      05000002
.*                                                                      05050002
.N100    ANOP                                                           05100002
NRENTS   EQU   &PENT                                                    05150002
ENTLEN   EQU   (*-PTSTRT)/NRENTS                                        05200002
         MEND                                                           05250002
