         MACRO                                                          00050002
         SGIEF019   &NM                                                 00100002
.*C013000                                                      @YM08650 00105002
.*                                                             @YM04048 00110002
.*A000000-999999                                                 Y02670 00120002
         COPY    SGIEF020                                               00150002
         LCLA  &I,&J,&K                                                 00200002
         LCLC  &A                                                       00250002
         ACTR 100000                                           @YM04048 00270002
.********************************************************************** 00300002
.*                                                                      00350002
.*  (THIS MACRO DOES NO GENERATION, STORES GBL DATA ONLY)               00400002
.*                                                                      00450002
.*  PROCESSES VAM ASSOCIATIONS OF NAMES.  PARAM IS A NAME WHICH USER    00500002
.*  HAS SPECIFIED AS VAM-ELIGIBLE.  A SEARCH FOR THE NAME IS MADE IN    00550002
.*  'NAME' AND 'ENAME' GBL VARS.  IF NAME IS NOT FOUND IN EITHER        00600002
.*  VARIABLE, NO PROCESSING IS DONE.  IF NAME FOUND IN NAME, TYPE IS    00650002
.*  GENERIC. IF NAME IS FOUND IN ENAME , NAME IS ESOTERIC.  IN EITHER   00700002
.*  CASE, THE VAM INDICATOR IS SET IF THE NAME IS  ASSOCIATED           00750002
.*  CORRECTLY WITH A DA DEVICE TYPE.  IF NOT, AN APPROPRIATE MESSAGE    00800002
.*  IS GENERATED AND THE VAM SPECIFICATION IS IGNORED.                  00850002
.********************************************************************** 00900002
&A       SETC  '&NM'                                                    00950002
.*                                                                      01000002
.*  SEARCH FOR NM IN NAME, THEN ENAME,  THEN GNAME.                     01050002
.*                                                                      01100002
&I       SETA  0                                                        01150002
.A101    ANOP                                                           01200002
&I       SETA  &I+1                                                     01250002
         AIF   (&I  GT 188).B100                               @YM08650 01300002
         AIF   ('&NAME(&I)' NE '&A').A101                 NOT THIS ONE  01350002
.*   CHECK FOR VALIDITY, ISSUING MSG IF NOT DA TYPE.                    01400002
&K       SETA  &HLFLIST(&I)/X'2000'                                     01450002
         AIF   (1 EQ &K-&K/2*2).D100                                    01500002
 MNOTE 4,'UNITNAME &A WAS SPECIFIED AS VAM ELIGIBLE. THE SPECIFICATION X01550002
               IS IGNORED BECAUSE &A IS NON-DIRECT ACCESS GENERIC '     01600002
   MEXIT                                                                01650002
         AGO   .D100                    *  FOUND IN NAME  *             01700002
.B100    ANOP                                                           01750002
&I       SETA  0                                                        01800002
.B101    ANOP                                                           01850002
&I       SETA  &I+1                                                     01900002
         AIF   ('&ENAME(&I)' EQ '').C100                END OF 'ENAME'  01950002
         AIF  ('&ENAME(&I)' NE '&A').B101               NOT THIS ONE    02000002
&I       SETA  &I+256                   *  FOUND  IN  ENAME   *         02050002
.*  FIND HIGHEST PRECEDENCE GENERIC ELIGIBLE TO NM                      02100002
&J       SETA  0                                                        02150002
.Q100    ANOP                                                           02200002
&J       SETA  &J+1                                                     02250002
         AIF   (&GPFXT(&J) GT 256).Q900                                 02300002
&K       SETA  0                                                        02350002
.Q200    ANOP                                                           02400002
&K       SETA  &K+1                                                     02450002
         AIF   (&VY(&K) EQ 0).Q100                                      02500002
         AIF   (&VY(&K) NE &I).Q200                                     02550002
         AIF   (&GGXREF(&VX(&K)) NE &GPFXT(&J)).Q200                    02600002
.*  FIRST GENERIC PERTINENT TO THIS ESOTERIC FOUND, ALLOW VAM ONLY IF   02650002
.*  THE TYPE IS DIRECT ACCESS.                                          02700002
&K       SETA  &HLFLIST(&GPFXT(&J))/X'2000'                             02750002
         AIF   (1 EQ &K-&K/2*2).D100                                    02800002
         AGO   .Q100                                                    02850002
.Q900    ANOP                                                           03050002
  MNOTE 4,'NAME &A WAS SPECIFIED AS VAM ELIGIBLE. THE SPECIFICATION IS I03100002
               IGNORED BECAUSE &A IS NOT ELIGIBLE TO ANY IBM SUPPORTED X03150002
               DIRECT ACCESS GENERIC TYPE.  '                           03200002
   MEXIT                                                                03250002
         AGO   .D100                                                    03300002
.C100    ANOP                                                           03350002
   MEXIT                                                                03400002
.* GENERATED NAMES NOT CURRENTLY PERMITTED VAM ELEGIBILITY. REMOVE      03450002
.*  ABOVE MEXIT IF AND WHEN SUPPORT IS EXTENDED.                        03500002
&I       SETA  0                                                        03550002
.C101    ANOP                                                           03600002
&I       SETA  &I+1                                                     03650002
         AIF   ('&GNAME(&I)' EQ '').E100                END OF 'GNAME'  03700002
         AIF   ('&GNAME(&I)' NE '&A').C101              NOT THIS ONE    03750002
&I       SETA  &I+1024                  *  FOUND  IN  GNAME  *          03800002
.D100    ANOP                                                           03850002
.*                                                                      03900002
.*   NAME WAS FOUND IN ONE OF ARRAYS AND ITS CODE IS NOW IN I.          03950002
.*                                                                      04000002
.*              FIND  CODE IN GPFXT, SET CORRESPONDING SW IN VAM.       04050002
.*                                                                      04100002
.*                                                                      04150002
&J       SETA  0                                                        04200002
.D101    ANOP                                                           04250002
&J       SETA  &J+1                                                     04300002
         AIF   (&GPFXT(&J) NE &I).D101                                  04350002
&VAM(&J) SETB  1                                                        04400002
.E100    MEXIT                                                          04450002
         MEND                                                           04500002
