For what it's worth, here is the MXG logic to determine the
Type of Task and JESNR for both JES2 and JES3:
/* COPYRIGHT (C) 2002,2013 MERRILL CONSULTANTS, DALLAS, TEXAS, USA */
/* LAST UPDATED: JUN 4, 2013. CHANGE 31.106. */
/* THIS ROUTINE EXPECTS JCTJOBID AND JOB AS 8-BYTE CHARACTERS, */
/* AND SUBSYS AS A 4-BYTE CHARACTER AS INPUT. */
/* IT CREATES THE 4-BYTE CHARACTER TYPETASK AND NUMERIC JESNR */
TYPETASK=' ';
JESNR=.;
IF SUBSYS=' ' THEN SUBSYS=' '; /*EARLY ASIDS,TMNT */
IF JCTJOBID=JOB OR (JCTJOBID LE ' ' AND SUBSYS='STC') 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);
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 ' THEN TYPETASK='TCP ';
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=:'S' THEN TYPETASK='STC ';
ELSE IF TYPETASK=:'A' THEN TYPETASK=SUBSYS;
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;
END;
/* END OF MEMBER VGETJESN - GET JESNR AND TYPETASK FROM JCTJOBID */
Herbert W. “Barry” Merrill, PhD
President-Programmer
MXG Software
Merrill Consultants
10717 Cromwell Drive
Dallas, TX 75229
[email protected]
http://www.mxg.com - FAQ has Most Answers
[email protected] – invoices/PO/Payment
[email protected] – technical
tel: 214 351 1966 - expect slow reply, use email
fax: 214 350 3694 – prefer email, still works
-----Original Message-----
From: IBM Mainframe Discussion List [mailto:[email protected]] On Behalf
Of Klaus Stanislawiak
Sent: Friday, July 25, 2014 12:50 AM
To: [email protected]
Subject: Re: JES3 job ids
Now back with access to JES3-L, I found an old entry by Ed Jaffe that might
explain why you have seen "S0xxxxxx and J0xxxxxx" job IDs in that presentation.
I hope Ed does not mind if I quote him from there:
On Thu, 12 Sep 2002 16:46:06 -0700 Edward E. Jaffe said:
> In JES3, you can't rely on the job ID to tell you the job type. All
> job IDs always appear as JOBxxxxx (or Jxxxxxxx in z/OS V1R2), whether
> a job, started task, or TSO user. (E)JES provides a feature to "merge"
> the job type and job ID into a single displayable job ID column.
Regards, Klaus
----------------------------------------------------------------------
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