MACRO &NAME JOBNAME &A *---------------------------------------------------------------------* * J O B N A M E * *---------------------------------------------------------------------* * * * Description : Place the current jobname into the passed storage * * area. If no area is passed ASLJOBNM is used. * * * * Created on : 15 April 1999 * * Created by : Kevin Ferguson * * : Userid(MIT001) * * * * Used by : Many programs. * * * * Change Activity : * * * * Change By Date Reason * * -------------------------------------------------------------- * * VAR01 KF 10/19/2022 Added logic to support indirect * * storage using brackets( ) * * * *---------------------------------------------------------------------* * ©Copyright of Abbydale Systems LLC. * *---------------------------------------------------------------------* LCLC &LAB &KK SETC '' VAR01 AIF (K'&A NE 0).LABOK &LAB SETC 'ASLJOBNM' MNOTE 0,'**** No area name specified, ASLJOBNM used ****' AGO .LABCNT .LABOK ANOP AIF ('&A'(1,1) NE '(').SKIP VAR01 &END SETA K'&A VAR01 AIF ('&A'(&END,1) NE ')').SKIPME VAR01 &KK SETC '&A' VAR01 &LAB SETC '&A'(2,K'&A-2) VAR01 MNOTE 0,'**** Using &LAB as storage area ****' VAR01 AGO .LABCNT VAR01 .SKIP ANOP &LAB SETC '&A' .LABCNT ANOP &NAME DS 0H VAR01* L 1,16 CVT ADDRESS VAR01* L 1,0(0,1) TCB WORDS ADDRESS * L 1,4(0,1) OUR TCB ADDRESS * L 1,12(0,1) TIOT ADDRESS * MVC &LAB,0(1) MOVE IN JOBNAME * B $JOBEXIT AND EXIT * AIF ('&LAB' EQ 'ASLJOBNM').SKIPA AIF ('&A'(1,1) EQ '(').SKIPA VAR01 &LAB DS CL8 * .SKIPA ANOP $JOBEXIT DS 0H * MEXIT * * *---------------------------------------------------------------------* .SKIPME ANOP MNOTE 8,'**** Invalid area specification ****' VAR01 MEXIT MEND *---------------------------------------------------------------------* * E N D O F J O B N A M E * * K.E.F * *---------------------------------------------------------------------*