Portal | Manuals | References | Downloads | Info | Programs | JCLs | Mainframe wiki | Quick Ref
IBM Mainframe Computers Forums Index
 
Register
 
IBM Mainframe Computers Forums Index Mainframe: Search IBM Mainframe Forum: FAQ Memberlist Profile Log in to check your private messages Log in
 
Problem with OVERLAY - BI on SMF Record

 
Post new topic   Reply to topic    IBMMAINFRAMES.com Support Forums -> DFSORT/ICETOOL
View previous topic :: :: View next topic  
Author Message
Ghellar

New User


Joined: 01 Sep 2005
Posts: 14

PostPosted: Sat Dec 01, 2018 9:41 pm    Post subject: Problem with OVERLAY - BI on SMF Record
Reply with quote

I'm a beginner in the treatment of SMF records, I'm trying to convert 14 & 15 records.
I decided to use the ICETOOL program, I attach the JCL I use.
To simplify the tests, I entered a data set name to have less OUTPUT data to check: OMA.PIPDR.DAO.CROCDF.FR

Code:

//*--------------------------------------------------------------------
//STEP1   EXEC PGM=ICETOOL                                             
//*       -----------------                                           
//TOOLMSG DD SYSOUT=*                                                 
//DFSMSG  DD SYSOUT=*                                                 
//RAWSMF  DD DSN=......input,                                         
//           DISP=SHR                                                 
//SMF     DD DSN=&&TEMSMF,                                             
//           SPACE=(CYL,(15,15)),UNIT=SYSDA                           
//SMFREP  DD SYSOUT=*                                                 
//TOOLIN  DD *                                                         
 COPY FROM(RAWSMF) TO(SMF) USING(SMFI)                                 
 DISPLAY FROM(SMF) LIST(SMFREP) -                                     
    TITLE('SMF TYPE-14&15 RECORDS') DATE(4MD/) TIME PAGE -             
   ON(6,1,BI)     HEADER('SMF#')   -    * 01 SMF14RTY                 *
   ON(15,4,CH)    HEADER('SYS')    -    * 02 SMF14SID                 *
   ON(19,8,CH)    HEADER('JOBNAME') -   * 03 SMF14JBN                 *
   ON(69,44,CH)   HEADER('DSNNAME') -   * 04 JFCBDSNM                 *
   ON(167,1,BI)   HEADER('DSORG') -     * 05 JFCDSRG1                 *
   ON(173,2,BI)   HEADER('LRECL') -     * 06 JFCLRECL                 *
   ON(171,2,BI)   HEADER('BLKSZ') -     * 07 JFCBLKSI                 *
   ON(169,1,BI)   HEADER('RECFM') -     * 08 JFCRECFM                 *
  BLANK                                                               
//*                                                                   
//SMFICNTL DD *                                                       
  INCLUDE COND=((06,01,BI,EQ,X'0E',OR,          TYPE RECORD 14 OR       
                 06,01,BI,EQ,X'0F'),AND,        TYPE RECORD 15           
                (69,44,CH,EQ,C'OMA.PIPDR.DAO.CROCDF.FR'))           
  INREC IFTHEN=(WHEN=(05,01,BI,EQ,X'0E'),OVERLAY=(05:C'INP')),             
        IFTHEN=(WHEN=(05,01,BI,EQ,X'0F'),OVERLAY=(05:C'OUT'))                     
/*                                                                     
//*--------------------------------------------------------------------



This is the result I get, but I would also like to do a concersion of the numbers:

14 -> INP
15 -> OUT

Code:

***************************** Top of Data ******************************
1SMF TYPE-14&15 RECORDS        2018/12/01        16:36:09        - 1 - 
                                                                       
 SMF#   SYS    JOBNAME    DSNNAME                                       
 ----   ----   --------   -------------------------------------------- 
   14   SYS1   CFTMAXXI   OMA.PIPDR.DAO.CROCDF.FR                       
   15   SYS1   CFTMAXXI   OMA.PIPDR.DAO.CROCDF.FR                       
   14   SYS1   XKK99CDF   OMA.PIPDR.DAO.CROCDF.FR                       
   15   SYS1   XKK99CR1   OMA.PIPDR.DAO.CROCDF.FR                       
   15   SYS2   GKK99CPM   OMA.PIPDR.DAO.CROCDF.FR                       
**************************** Bottom of Data ****************************


I'm trying to make the conversion, but I can not, I've already tried to do different tests, where am I wrong?
Code:

  INREC IFTHEN=(WHEN=(05,01,BI,EQ,X'0E'),OVERLAY=(05:C'INP')),             
        IFTHEN=(WHEN=(05,01,BI,EQ,X'0F'),OVERLAY=(05:C'OUT'))


This is the desired:

Code:

***************************** Top of Data ******************************
1SMF TYPE-14&15 RECORDS        2018/12/01        16:36:09        - 1 - 
                                                                       
 SMF#   SYS    JOBNAME    DSNNAME                                       
 ----   ----   --------   -------------------------------------------- 
  INP   SYS1   CFTMAXXI   OMA.PIPDR.DAO.CROCDF.FR                       
  OUT   SYS1   CFTMAXXI   OMA.PIPDR.DAO.CROCDF.FR                       
  INP   SYS1   XKK99CDF   OMA.PIPDR.DAO.CROCDF.FR                       
  OUT   SYS1   XKK99CR1   OMA.PIPDR.DAO.CROCDF.FR                       
  OUT   SYS2   GKK99CPM   OMA.PIPDR.DAO.CROCDF.FR                       
**************************** Bottom of Data ****************************


Many thanks to anyone who will give me help
Back to top
View user's profile Send private message

Arun Raj

Moderator


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

PostPosted: Sun Dec 02, 2018 6:21 am    Post subject:
Reply with quote

Ghellar,

The ICETOOL - DISPLAY operator notes suggest that we should not use INREC or OUTREC along with the DISPLAY operator, so it would be a good idea to use a PGM=SORT job and format the data records/add your header fields using an OUTFIL statement.

DISPLAY Operator-DFSORT Appln Programming Guide wrote:
DFSORT is called to copy the indd data set to ICETOOL's E35 user exit. ICETOOL uses its E35 user exit to print appropriate titles, headings and data in the list data set.

You must not supply your own DFSORT MODS, INREC, or OUTREC statement, because they would override the DFSORT statements passed by ICETOOL for this operator
Back to top
View user's profile Send private message
Ghellar

New User


Joined: 01 Sep 2005
Posts: 14

PostPosted: Mon Dec 03, 2018 7:23 pm    Post subject: Reply to: Problem with OVERLAY - BI on SMF Record
Reply with quote

Thanks Arun Raj for the answer, I used ICETOOL because it is more versatile in creating Reports, with the SORT and OUTFIL must be fully escaped in more detail. I wanted to walk the most comfortable way. So there's no way to covert via ICETOOL?
Back to top
View user's profile Send private message
Arun Raj

Moderator


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

PostPosted: Mon Dec 03, 2018 7:40 pm    Post subject:
Reply with quote

Ghellar,

I think, it won't be much of a trouble to use a PGM=SORT job for this requirement.

Quote:
So there's no way to covert via ICETOOL?
Technically, you can still use PGM=ICETOOL and use a COPY operator with OUTFIL-but then it would be more or less the same as a PGM=SORT solution, since the restriction noted is only for the DISPLAY operator, not ICETOOL.
Back to top
View user's profile Send private message
steve-myers

Active Member


Joined: 30 Nov 2013
Posts: 681
Location: The Universe

PostPosted: Mon Dec 03, 2018 9:14 pm    Post subject:
Reply with quote

I'm not so sure I'd trust JFCRECFM, JFCLRECL and JFCBLKSI, though I have to admit I've never researched this. The intended purpose of these data areas is to transfer these values from the DD statement to the user program for OPEN to transfer them to the DCB data area when appropriate, but not for OPEN to transfer the final values back to the JFCB. In fact there are options in the JFCB (JFCBTSDM/JFCNWRIT, JFCBTSDM/JFCNDCB) to prevent this from happening.
Back to top
View user's profile Send private message
View previous topic :: :: View next topic  
Post new topic   Reply to topic    IBMMAINFRAMES.com Support Forums -> DFSORT/ICETOOL All times are GMT + 6 Hours
Page 1 of 1

 

Search our Forum:

Similar Topics
Topic Author Forum Replies Posted
No new posts Propagating value from nth record to ... ganasrinivasan DFSORT/ICETOOL 7 Fri Nov 30, 2018 8:31 am
No new posts Previous record x current record jackare SYNCSORT 1 Thu Nov 29, 2018 7:56 am
No new posts Process Last Key of a record based on... naveen katkuri DFSORT/ICETOOL 5 Mon Nov 12, 2018 9:54 am
This topic is locked: you cannot edit posts or make replies. Get value from 2nd record and PUSH it... ashokakash JCL & VSAM 1 Wed Oct 17, 2018 11:41 am
No new posts Merge data from record pairs ashokakash DFSORT/ICETOOL 5 Wed Oct 17, 2018 11:38 am

Facebook
Back to Top
 
Job Vacancies | Forum Rules | Bookmarks | Subscriptions | FAQ | Polls | Contact Us