1

After submitting this job I am unable to find SYSOUT in spool.

The JCL follows:

//IBMUSERP JOB NOTIFY=&SYSUID
//STEP2 EXEC PGM=PERFORM1
//STEPLIB DD DSN=IBMUSER.RKSH.LOAD,DISP=SHR 
//SYSPRINT DD SYSOUT=*              
//SYSOUT DD SYSOUT=*                        
//SYSIN DD *
/*                                       
//
Hogstrom
  • 3,581
  • 2
  • 9
  • 25
  • How did you submit the job? You should have an option in ISPF to view job output and send to printer etc. – James Anderson Dec 04 '20 at 14:48
  • after submitting the job able to find job name in spool but in that job name unable to find the output option i.e SYSOUT – Rakesh Kumar Dec 04 '20 at 14:57
  • Are you sure your program is opening a (COBOL) file named "SYSOUT"? If so, are you sure your program does indeed write to "SYSOUT"? If unsure, and it is your code, add some COBOL DISPLAY statements, e.g. "Opening SYSOUT", "Writing record to SYSOUT",etc. Count the records the program writes and DISPLAY this number at end of program. – phunsoft Dec 04 '20 at 20:59

3 Answers3

3

I'm going to provide some general guidance as your question is going to get an "it depends" answer.

It looks like your most likely on a ZD&T system since you are using IBMUSER as your dataset prefix.

I used an IDCAMS utility to do my tests as I know it produces output. I would try this first to verify your system is working correctly.

//DEFCAT1 JOB (ACCT),NOTIFY=&SYSUID.,REGION=0M        
//STEP1    EXEC   PGM=IDCAMS                          
//SYSPRINT DD     SYSOUT=*                            
//SYSIN    DD     *                                   
     LISTC ENT(IBMUSER)                               
/*                                                    

If the above works and you can find the output your program PERFORM1 may not be working correctly and is not generating any output. Perhaps you can provide a minimum working sample to ensure that your program is working correctly.

Submitting a similar job but using a JOB card with a MSGCLASS=H (which is the default I've been using) worked fine and the output appears in SDSF. Make sure you have your prefix set correctly and use a wildcard. Something like PRE IBMUSER* for your example.

Where the output goes depends on how JES is setup on your system. Your JOB card does not have a MSGCLASS but uses SYSOUT=* which indicates to use the job's default MSGCLASS. That is defined in your JESPARM statements

Check your system log to make sure your output is not being 'printed' to a device.

Use the following commands:

LOG to view the system log
ST to see the job status
H to find held output that doesn't have a destination
O to find output that is ready to print but is waiting for a device.

Hogstrom
  • 3,581
  • 2
  • 9
  • 25
  • 2
    Setting prefix to IBMUSER* will then hide job with different name. I usualy set PREFIX %* and OWNER userid (OWNER IBMUSER in his case). He mentioned he's able to see the job, so I guess it is not a question of PREFIX. – phunsoft Dec 04 '20 at 21:09
0

If you are using TSO-ISPF then go to ISPF main menu and open SDSF. Enter st(job status) to open spool. find the job by 's userid' or 's job name'. select the job and you can check Sysout, Sysprint.

Hema Sree
  • 1
  • 1
0

I just recognized you don't have JOB statement parameters, except from NOTIFY=. Your environment probably requires you to at least add the CLASS= parameter to tell the system in what jobclass to run your job. Maybe other parameters are requested too.

Usually, jobs are killed before execution if the minimum required JOB parameters are not specified.

I suggest you submit again, then go to SDSF and have a look at the system log or operlog by typing log in SDSF's command line, then search for messages related to you jobname.

Alternatively, supply at least the CLASS= parameter, and see if the job is run then.

phunsoft
  • 2,674
  • 1
  • 11
  • 22