         MACRO                                                          00050002
         SGIEF015  &TYP=,&N=,&G=,&R=NO                                  00100002
.*A000000-999999                                                 Y02670 00120002
         COPY  SGIEF020                                                 00150002
         GBLA  &GG                                                      00200002
         GBLA  &NSAV                                                    00250002
         LCLA  &J                                                       00300002
         LCLB  &W                                                       00350002
         LCLA  &I                                                       00400002
.********************************************************************** 00450002
.*       EDTTAB  SUPPORT  MACRO                                         00500002
.*                                                                      00550002
.*  (THIS MACRO DOES NO GENERATION , MERELY STORES GLOBAL DATA)         00600002
.*                                                                      00650002
.*  PROCESSES SPECIAL NAME/GROUP ASSOCIATIONS.  (MULTI-GENERIC TYPE     00700002
.*  ELIGIBILITIES,GENERATED ESOTERIC NAMES,ETC.).  GENERATES ALT        00750002
.*  AND MLT VARIABLES, WHICH BECOME FLAG SETTINGS IN EDTTAB.            00800002
.*                                                                      00850002
.*  THE 'G' PARAMETER SPECIFIES A GENERIC TYPE CODE FOR A GENERIC ALL   00900002
.*  OF WHOSE GROUPS ARE TO BE ASSOCIATED WITH THE NAME IDENTIFIED BY    00950002
.*  THE 'N' PARAMETER.  IF 'TYP=L',THE N PARAMETER IS IN CHARACTER      01000002
.*  FORM.  IN ALL OTHER CASES N IS THE CODE FOR THE NAME.               01050002
.*                                                                      01100002
.*  FOR ALL BUT TYP=L:                                                  01150002
.*       GENERIC G IS LOOKED UP IN GGXREF.  SGIEF018 CALL IS            01200002
.*       GENERATED FOR EACH OCCURRENCE PROVIDING PARAMETERS             01250002
.*       TYP=TYP,GROUPID,N.                                             01300002
.*  FOR TYP=L:                                                          01350002
.*       THE NAME SPECIFIED BY N IS LOOKED UP IN 'ENAME'.  IF ALREADY   01400002
.*.*       PRESENT AND R=YES, INSTALLATION HAS DEFINED AN IBM RESERVED  01450002
.*       NAME, THEREFORE THE EXISTING ASSOCIATIONS OF THE NAME ARE      01500002
.*       EXPUNGED.  IF ALREADY PRESENT AND R=NO,EXIT IS TAKEN BECAUSE   01550002
.*       IBM SPECIFICATION IS TO BE OVERRIDDEN BY CUSTOMER DEFN.  IF    01600002
.*       NAME IS NOT PRESENT,AN ENTRY IS CREATED FOR IT.  THE 'ENAME'   01650002
.*       INDEX OF EACH NAME PASSING THE TESTS IS STORED IN 'NSAV'.      01700002
.*       SUBSEQUENT CONSECUTIVE CALLS SPECIFYING THE SAME NAME ARE      01750002
.*       MERELY PROCESSED FOR ASSOCIATIONS, NOT TESTED.  FOR EACH       01800002
.*  TYP=L PASSING THE TESTS, SGIEF015 CALL IS GENERATED WITH            01850002
.*  TYP=E,N=NSAV,G=G.     (RECURSIVE CALL)                              01900002
.*                                                                      01950002
.*  IN ADDITION TO ABOVE, IF TYP=GG,MLT FLAG IS SET FOR THE NAME        02000002
.*  (OR) IF TYP=X, MLT AND ALT FLAGS ARE SET FOR THE NAME IF AN         02050002
.*  SGIEF018 CALL WAS GENERATED.                                        02100002
.********************************************************************** 02150002
         AIF   ('&TYP' EQ 'L').L1                                       02200002
&I       SETA  0                                                        02250002
.M1      ANOP                                                           02300002
&I       SETA  &I+1                                                     02350002
 AIF     (&GGXREF(&I) EQ 0).M2                                          02400002
         AIF   (&GGXREF(&I) NE &G).M1                                   02450002
 SGIEF018  TYP=&TYP,&I,&N                                               02500002
&W       SETB  1              (SET FLAG ALTERNATE GENERIC PRESENT)      02550002
         AGO   .M1                                                      02600002
.M2      AIF   ('&TYP' EQ 'E').M6    NO FLAGS SET ON E-TYPE             02650002
         AIF   ('&TYP' EQ 'GG').M4   MULT FLAG ONLY ON GG-TYPE          02700002
         AIF   ('&TYP' NE 'X').M6    POSSIBLY BOTH ON X-TYPE            02750002
         AIF   (NOT &W).M4    (TEST IF ALTERNATE GENERIC PRESENT)       02800002
&J       SETA  0                                                        02850002
.M3      ANOP                                                           02900002
&J       SETA  &J+1                                                     02950002
         AIF   (&GPFXT(&J) EQ 0).M4         (SCAN LOOP FOR THIS NAME'S  03000002
         AIF   (&GPFXT(&J) NE &N).M3     ENTRY IN GPFXT)                03050002
&ALT(&J) SETB  1      (SET ALT FLAG IF X TYPE HAD ALTERNATE GENERIC)    03100002
.M4      ANOP                                                           03150002
&W       SETB  ('&TYP' EQ 'GG')                                         03200002
&I       SETA  (&W*(&GG+1024))+(1-&W)*&N                                03250002
&J       SETA  0                                                        03300002
.M5      ANOP                                                           03350002
&J       SETA  &J+1                                                     03400002
         AIF   (&GPFXT(&J) EQ 0).M6                                     03450002
         AIF   (&GPFXT(&J) NE &I).M5                                    03500002
&MLT(&J) SETB  1      (SET MULT FLAG IF GG OR X TYPE)                   03550002
.M6      MEXIT                                                          03600002
.*                                                                      03650002
.*                                                                      03700002
.*                                                                      03750002
.L1      AIF   (&NSAV EQ 0).L2A                                         03800002
         AIF   ('&ENAME(&NSAV)'  EQ  '&N').L51                          03850002
.L2A     ANOP                                                           03900002
&I       SETA  0                                                        03950002
.L2      ANOP                                                           04000002
&I       SETA  &I+1                                                     04050002
         AIF   ('&ENAME(&I)' EQ '&N').L3                                04100002
         AIF   ('&ENAME(&I)' NE '').L2                                  04150002
      SGIEF014   TYP=E,&N                                               04200002
         AGO   .L5                                                      04250002
.L3      ANOP                                                           04300002
         AIF   ('&R' NE 'YES').M6   EXIT IF NO OVERRIDE                 04350002
&J       SETA  0                                                        04400002
.L4      ANOP                                                           04450002
&J       SETA  &J+1                                                     04500002
         AIF   (&VY(&J) EQ 0).L4A            EXPUNGE USER SPECIFICATION 04550002
         AIF   (&VY(&J) NE &I+256).L4        FOR I'TH NAME              04600002
&VX(&J)  SETA  1                                                        04650002
&VY(&J)  SETA  &GGXREF(1)                                               04700002
         AGO   .L4                                                      04750002
.L4A     ANOP                                                           04800002
    MNOTE *,'  *** WARNING ***  NAME ''&N'' IS RESERVED BY IBM.  '      04850002
    MNOTE *,'                   USER DEFINITION ON UNITNAME MACRO    '  04900002
    MNOTE *,'                   HAS BEEN IGNORED AND REPLACED BY IBM '  04950002
    MNOTE *,'                   DEFINITION OF THE NAME.              '  05000002
.L5      ANOP                                                           05050002
&NSAV    SETA  &I                                                       05100002
.L51     ANOP                                                           05150002
 SGIEF015   TYP=E,N=&NSAV,G=&G                                          05200002
         MEXIT                                                          05250002
         MEND                                                           05300002
