For what it might be worth, considering free advice may only be worth the price,
the below code is used in MXG Software to decode JCTJOBID into TYPETASK and 
JESNR, and
it tests for all SUBSYS names I have ever seen in any SMF record, which are 
used only
to prevent warning messages about known records that don't have a valid 
JCTJOBID value
to decode. 

Barry  


/* COPYRIGHT (C) 2002,2017 MERRILL CONSULTANTS, DALLAS, TEXAS, USA */
 /* LAST UPDATED: NOV  4, 2017.  CHANGE 35.252.                 */
 /* THIS ROUTINE EXPECTS JCTJOBID AND JOB AS 8-BYTE CHARACTERS, */
 /* AND SUBSYS AS A 4-BYTE CHARACTER AS INPUT.                  */

 /* JCTJOBID OF ONE LETTER AND 7 DIGITS EXIST, BUT THE MAXIMUM  */
 /* JESNR IS 999999 BECAUSE THE 1ST WHEN SEVEN IS ALWAYS ZERO.  */

 /* IT CREATES THE 4-BYTE CHARACTER TYPETASK AND NUMERIC JESNR  */
 /* VARIABLES TYPETASK AND JESNR NEED TO BE LABELED IN INVOKER. */

 /* IT IS %INCLUDE-D AFTER JCTJOBID AND SUBSYS EXIST.           */

 TYPETASK='    ';
 JESNR=.;
 IF SUBSYS='    '      THEN SUBSYS='    '; /*EARLY ASIDS,TMNT */
 IF JCTJOBID=JOB OR (JCTJOBID LE ' ' AND SUBSYS='STC')
   OR (JCTJOBID EQ '0000000000000000'X AND SUBSYS='SMS')
   OR (JCTJOBID EQ 'MSTR' AND SUBSYS='SMS')
   OR (JCTJOBID EQ 'INIT' AND SUBSYS='SMS') THEN DO;
   JESNR=.;
   TYPETASK='STC';
 END;
 ELSE DO;
   IF INPUT(SUBSTR(JCTJOBID,2,7),?? 7.) GT . THEN DO;
     JESNR=INPUT(SUBSTR(JCTJOBID,2,7),?? 7.);
     TYPETASK=SUBSTR(JCTJOBID,1,1);
   END;
   ELSE IF INPUT(SUBSTR(JCTJOBID,3,6),?? 6.) GT . THEN DO;
     JESNR=INPUT(SUBSTR(JCTJOBID,3,6),?? 6.);
     TYPETASK=SUBSTR(JCTJOBID,1,2);
     /* THE PRINTWAY SMF 6 RECORDS HAVE PSNNNNNN */
   END;
   ELSE IF INPUT(SUBSTR(JCTJOBID,4,5),?? 5.) GT . THEN DO;
     JESNR=INPUT(SUBSTR(JCTJOBID,4,5),?? 5.);
     TYPETASK=SUBSTR(JCTJOBID,1,3);
   END;
   ELSE IF INPUT(SUBSTR(JCTJOBID,5,4),?? 4.) GT . THEN DO;
     JESNR=INPUT(SUBSTR(JCTJOBID,5,4),?? 4.);
     TYPETASK=SUBSTR(JCTJOBID,1,4);
   END;
   IF SUBSYS='TCP ' OR TYPETASK='PS ' THEN TYPETASK='TCP ';
   ELSE IF SUBSYS='TCPE' THEN TYPETASK='TCPE';
   ELSE IF SUBSYS='PSF ' THEN TYPETASK='PSF ';
   ELSE IF SUBSYS='VPS ' THEN TYPETASK='VPS ';
   ELSE IF TYPETASK=:'J' THEN DO;
     IF      SUBSYS='TSO ' THEN TYPETASK='TSU ';
     ELSE IF SUBSYS='JES2' THEN TYPETASK='JOB ';
     ELSE IF SUBSYS='JES3' THEN TYPETASK='JOB ';
     ELSE IF SUBSYS='STC ' THEN TYPETASK='STC ';
     ELSE IF SUBSYS='OMVS' THEN TYPETASK='OMVS';
     ELSE                       TYPETASK='JOB ';
   END;
   ELSE IF TYPETASK=:'O' OR SUBSYS='OMVS' THEN TYPETASK='OMVS';
   ELSE IF TYPETASK=:'G' THEN TYPETASK='JOBG';
   ELSE IF TYPETASK=:'S' THEN TYPETASK='STC ';
   ELSE IF TYPETASK=:'A' THEN DO;
     IF SUBSYS GT '    ' THEN TYPETASK=SUBSYS;
     ELSE                     TYPETASK='APPC';
   END;
   ELSE IF TYPETASK=:'T' THEN TYPETASK='TSU ';
   ELSE IF TYPETASK=:'I' AND SUBSYS='STC' THEN TYPETASK='STC  ';
   ELSE DO;
     IF      SUBSYS='STC ' THEN TYPETASK='STC ';
     ELSE IF SUBSYS='TSO ' THEN TYPETASK='TSU ';
     ELSE IF SUBSYS='JES2' THEN TYPETASK='JOB ';
     ELSE IF SUBSYS='JES3' THEN TYPETASK='JOB ';
     ELSE IF SUBSYS='STC ' THEN TYPETASK='STC ';
     ELSE IF SUBSYS='OMVS' THEN TYPETASK='OMVS';
     ELSE DO;
       IF PRODUCT='        ' THEN PRODUCT='    ';;
       IF SUBTYPE=.          THEN SUBTYPE=.;
       IF PRODUCT='PERFMON ' AND SUBTYPE=3 THEN DO;
         TYPETASK='STC';
         SUBSYS='PERFMON';
       END;
     END;
   END;
   IF TYPETASK=' ' THEN DO;
     BADVJESN+1;
     IF BADVJESN LE 2 THEN
       PUT '*** WARNING - TYPETASK NOT DECODED: ' /  +10
           _N_= SYSTEM= ID= SUBTYPE= JOB=
           JCTJOBID= SUBSYS= TYPETASK= JESNR= ;
   END;
   &MACJESN;
 END;
  /* END OF MEMBER VGETJESN - GET JESNR AND TYPETASK FROM JCTJOBID */



-----Original Message-----
From: IBM Mainframe Discussion List [mailto:[email protected]] On Behalf 
Of Jesse 1 Robinson
Sent: Monday, November 6, 2017 10:50 AM
To: [email protected]
Subject: Re: SUBSYS= ?

Throughout this thread, I've been haunted by a dim memory of some SUBSYS action 
in the distant past. We have not had any in-house SUBSYS dependencies for 
decades, so I did not pay very much attention. 

Did IBM announce long ago that SUBSYS was being deprecated? If so, that might 
explain the dearth of doc. If not, then never mind. 

.
.
J.O.Skip Robinson
Southern California Edison Company
Electric Dragon Team Paddler
SHARE MVS Program Co-Manager
323-715-0595 Mobile
626-543-6132 Office ⇐=== NEW
[email protected]

-----Original Message-----
From: IBM Mainframe Discussion List [mailto:[email protected]] On Behalf 
Of Charles Mills
Sent: Monday, November 06, 2017 8:28 AM
To: [email protected]
Subject: (External):Re: SUBSYS= ?

I have back to OS/390 V2R8, 1999, on nine CDs. Way pre-PDF. Not there. (Not 
disagreeing with you, just sayin'.)

Perhaps Bitsavers. I don't see it there, but I am not an expert on searching 
Bitsavers.

Perhaps a reader here has an MVS manual they would share.

Charles


-----Original Message-----
From: IBM Mainframe Discussion List [mailto:[email protected]] On Behalf 
Of Steve Smith
Sent: Monday, November 6, 2017 8:02 AM
To: [email protected]
Subject: Re: SUBSYS= ?

The functions needed are 6, 7, 16-19, 38, 39, & 81.  It has been a very long 
time since they were documented -- pre-PDF, afaik.

sas


----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions, send email to 
[email protected] with the message: INFO IBM-MAIN

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN

Reply via email to