IBM Mainframe Forum Index
 
Log In
 
IBM Mainframe Forum Index Mainframe: Search IBM Mainframe Forum: FAQ Register
 

is it possible to copy information from SYSOUT?


IBM Mainframe Forums -> JCL & VSAM
Post new topic   Reply to topic
View previous topic :: View next topic  
Author Message
sophia

New User


Joined: 30 Jun 2007
Posts: 19
Location: United States

PostPosted: Thu Dec 16, 2010 8:38 pm
Reply with quote

Hi Everyone

I'm working on a report generated via QMF here is the step

//**********************************************************************
//* PS0020 (DB@QMFBT) GENERATE QMF REPORT FOR S&P <===
//**********************************************************************
//*
//PS0020 EXEC DB@QMFBT,
//* CTL=&CTL,
// ENV=&ENV,
// TIME=(1000),
// DB2ID=&DB2ID
//DSQPRINT DD SYSOUT=(I,REPORTID)
//SYSIN DD DSN=MY.CNTLLIB(CTCCRD),
// DISP=SHR

My problem is I need to create a backup of the report. I have coded DSQPRINT that way because when I try to sweep the report in Viewdirect it does not breakdown into multiple section.

Is it possible to save the information from the sysout to a dataset
Back to top
View user's profile Send private message
expat

Global Moderator


Joined: 14 Mar 2007
Posts: 8796
Location: Welsh Wales

PostPosted: Thu Dec 16, 2010 8:44 pm
Reply with quote

Yes, search for SDSF and SAVE and see what you get
Back to top
View user's profile Send private message
Akatsukami

Global Moderator


Joined: 03 Oct 2009
Posts: 1787
Location: Bloomington, IL

PostPosted: Thu Dec 16, 2010 8:46 pm
Reply with quote

If you are running the job ab initio, have DSQPRINT write directly to a data set rather than sysout.

If class I sysout is held, you can copy it to a data set via (E)JES (and probably SDSF, but we don't use that here, so I can't say for sure).
Back to top
View user's profile Send private message
sophia

New User


Joined: 30 Jun 2007
Posts: 19
Location: United States

PostPosted: Thu Dec 16, 2010 8:50 pm
Reply with quote

Can it be coded as next step in the jCL? I want to retain the step above then add another step to transfer it in a temp dataset then create a 3rd step to save it in a GDG. would that be possible?

I tried to add this step but I'm getting an error message
//PS0030 EXEC UTSORT,
// CTL=&CTL,
// SORTCTL=COSRTCPY
//SORTIN DD SYSOUT=(I,REPORTID)
//SORTOUT DD DSN=MY.FILE,
// DISP=(NEW,CATLG,DELETE),
// SPACE=(CYL,(100,50),RLSE),
// DCB=(RECFM=FB,LRECL=133,BLKSIZE=0)
//
Back to top
View user's profile Send private message
expat

Global Moderator


Joined: 14 Mar 2007
Posts: 8796
Location: Welsh Wales

PostPosted: Thu Dec 16, 2010 8:56 pm
Reply with quote

Yes, using SDSF as a subsequent step.

The SDSF can be invoked using REXX which can also be used to get some more details from the current job to ensure that the correct JES element gets copied.
Back to top
View user's profile Send private message
sophia

New User


Joined: 30 Jun 2007
Posts: 19
Location: United States

PostPosted: Thu Dec 16, 2010 9:03 pm
Reply with quote

Do you have a sample code that I can follow?
Back to top
View user's profile Send private message
Garry Carroll

Senior Member


Joined: 08 May 2006
Posts: 1205
Location: Dublin, Ireland

PostPosted: Thu Dec 16, 2010 9:08 pm
Reply with quote

Quote:
I want to retain the step above then add another step to transfer it in a temp dataset

Wouldn't it be simpler to write it to dataset in the first step and then simply add a step to IEBGENER that dataset to SYSOUT=(I,REPORTID) ??

Garry.
Back to top
View user's profile Send private message
expat

Global Moderator


Joined: 14 Mar 2007
Posts: 8796
Location: Welsh Wales

PostPosted: Thu Dec 16, 2010 9:11 pm
Reply with quote

Very basically
Code:
//SDSF     EXEC PGM=SDSF,PARM='++250,133'             
//SYSOUT   DD SYSOUT=*                               
//SYSPRINT DD SYSOUT=*                               
//ISFOUT   DD SYSOUT=*                               
//ISFIN    DD *                                       
PRE UID*                                             
H                                                     
FIND 'uidJOB'                                           
++?                                                   
FIND 'JESMSGLG'                                       
++S                                                   
PRINT ODSN 'uid.TEST.SDSF1'                           
PRINT 1 9999                                         
PRINT CLOSE                                           
END                                                   
EXIT                                                 


Although there is a very good red book available from the IBM site for using the newer REXX / SDSF interfaces.
Back to top
View user's profile Send private message
sophia

New User


Joined: 30 Jun 2007
Posts: 19
Location: United States

PostPosted: Thu Dec 16, 2010 9:34 pm
Reply with quote

Thanks Guys! will try both your suggestions icon_smile.gif
Back to top
View user's profile Send private message
sophia

New User


Joined: 30 Jun 2007
Posts: 19
Location: United States

PostPosted: Fri Dec 17, 2010 11:58 am
Reply with quote

Did I apply it correctly? the job doesn't recognized the lines from //ISFIN
//PS0030 EXEC PGM=SDSF,PARM='++250,133'
//SYSOUT DD SYSOUT=*
//SYSPRINT DD SYSOUT=*
//ISFOUT DD SYSOUT=*
//ISFIN DD *
PRE JOBNAME
H
FIND 'JOBNAME'
++?
FIND 'JESMSGLG'
++S
PRINT ODSN 'DATASET NAME'
PRINT 1 9999
PRINT CLOSE
END
EXIT
/*
Back to top
View user's profile Send private message
Arun Raj

Moderator


Joined: 17 Oct 2006
Posts: 2481
Location: @my desk

PostPosted: Fri Dec 17, 2010 12:07 pm
Reply with quote

I see some changes in the card which you showed and the one expat posted. Could that be a problem.
Back to top
View user's profile Send private message
sophia

New User


Joined: 30 Jun 2007
Posts: 19
Location: United States

PostPosted: Fri Dec 17, 2010 4:05 pm
Reply with quote

Hi Arun,

My bad was doing in stream inside the proc. icon_redface.gif


Hi Expat,

Thanks! I was able to get the desired result that I need with your suggestion. I have modified it a bit

PROC
//PS0030 EXEC PGM=SDSF,PARM='++250,133'
//ISFOUT DD DSN=DATASET NAME,DISP=SHR
//SYSUDUMP DD SYSOUT=*
//SYSPRINT DD SYSOUT=*
//SYSTSPRT DD SYSOUT=*
//SYSOUT DD SYSOUT=*
//DATAOUT DD DSN=DATASET NAME,DISP=SHR
//ISFIN DD DSN=MY.CTLCRD(SDSF2),DISP=SHR

MY.CTLCRD

ST

PRE JOBNAME

FILTER JOBNAME EQ JOBNAME

FIND 'JOBNAME'

++?

FIND 'DSQPRINT'

++S

PRINT FILE DATAOUT

PRINT 1 999

PRINT CLOSE

END

I will just create additional CTC because I'm running the proc for 12 jobs icon_smile.gif Thanks for all of your help
Back to top
View user's profile Send private message
View previous topic :: :: View next topic  
Post new topic   Reply to topic View Bookmarks
All times are GMT + 6 Hours
Forum Index -> JCL & VSAM

 


Similar Topics
Topic Forum Replies
No new posts Copy only TEXT or String from a record SYNCSORT 4
No new posts Use Copy Utility DB2 7
No new posts VSAM LISTCAT INFORMATION JCL & VSAM 2
No new posts VB to VB copy - Full length reached SYNCSORT 8
No new posts Capturing Job Execution Information All Other Mainframe Topics 3
Search our Forums:

Back to Top