Portal | Manuals | References | Downloads | Info | Programs | JCLs | Master the Mainframes
IBM Mainframe Computers Forums Index
 
Register
 
IBM Mainframe Computers Forums Index Mainframe: Search IBM Mainframe Forum: FAQ Memberlist Usergroups Profile Log in to check your private messages Log in
 

 

Propagate fields (WHEN=GROUP), but not on all records...

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

New User


Joined: 25 Jan 2007
Posts: 32
Location: france

PostPosted: Wed Nov 20, 2013 5:13 pm    Post subject: Propagate fields (WHEN=GROUP), but not on all records...
Reply with quote

Hello,

I have an input file containing 80 JCL of several steps.

I have to propagate on all lines jobnames in column 80 and stepname in column 90. To obtain the following result:

Code:

----+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+--

./ ADD    NAME=F2LAG8021 SOURCE=0035 PDS=ADCX.OPC.BTQ.JOBLIB.REF.SYSQ          F2LAG802
//F2LAG802 JOB (00000000,00000000000BAZ,AE07A30L00AQ00,'R=00 '),        $OPC$V F2LAG802
//             RD=R,CLASS=I,MSGCLASS=9,SCHENV='SE_DB2DS'                       F2LAG802
//*%OPC SCAN                                                                   F2LAG802
//*%OPC SETVAR  TAOCP00O=(OYMD1    + 00WD),PHASE=SETUP                         F2LAG802
//JCLLIB   JCLLIB     ORDER=(ADCX.JOB.&SYSNAME..JCLLIB,                        F2LAG802
//             EXPL.JOB.$$$.JCLLIB)                                            F2LAG802
//*                                                                            F2LAG802
//*-------------------------------------------------------------------         F2LAG802
//S01      EXEC CHPNN,PROG=IKJEFT1B,                                           F2LAG802  S01     
//             DATOPC=&OYMD1.                                                  F2LAG802  S01     
/*                                                                             F2LAG802  S01     
...                                                                            F2LAG802  S01     
//S02      EXEC CHPNN,PROG=IKJEFT1B,                                           F2LAG802  S02     
//             DATOPC=&OYMD1.                                                  F2LAG802  S02     
/*                                                                             F2LAG802  S02     
...                                                                            F2LAG802  S02
./ ADD    NAME=FAAAAAAA SOURCE=0036 PDS=ADCX.OPC.BTQ.JOBLIB.REF.SYSQ           FAAAAAAA
//FAAAAAAA JOB (00000000,00000000000BAZ,AE07A30L00AQ00,'R=00 '),        $OPC$V FAAAAAAA
//             RD=R,CLASS=I,MSGCLASS=9,SCHENV='SE_DB2DS'                       FAAAAAAA
//*%OPC SCAN                                                                   FAAAAAAA
//*%OPC SETVAR  TAOCP00O=(OYMD1    + 00WD),PHASE=SETUP                         FAAAAAAA
//JCLLIB   JCLLIB     ORDER=(ADCX.JOB.&SYSNAME..JCLLIB,                        FAAAAAAA
//             EXPL.JOB.$$$.JCLLIB)                                            FAAAAAAA
//*                                                                            FAAAAAAA
//*-------------------------------------------------------------------         FAAAAAAA
//S11      EXEC CHPNN,PROG=IKJEFT1B,                                           FAAAAAAA  S11     
//             DATOPC=&OYMD1.                                                  FAAAAAAA  S11     
/*                                                                             FAAAAAAA  S11     
//...                                                                          FAAAAAAA  S11     
//S22      EXEC CHPNN,PROG=IKJEFT1B,                                           FAAAAAAA  S12     
//             DATOPC=&OYMD1.                                                  FAAAAAAA  S12     
/*                                                                             FAAAAAAA  S12     
...


The following :
Code:
  INREC IFTHEN=(WHEN=GROUP,                             
                BEGIN=(1,15,CH,EQ,C'./ ADD    NAME='), 
                PUSH=(80:16,8)),                       
        IFTHEN=(WHEN=GROUP,                             
                BEGIN=(12,4,CH,EQ,C'EXEC'),             
                PUSH=(90:3,8))                         


Produce :
Code:

----+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+--

./ ADD    NAME=F2LAG8021 SOURCE=0035 PDS=ADCX.OPC.BTQ.JOBLIB.REF.SYSQ          F2LAG802
//F2LAG802 JOB (00000000,00000000000BAZ,AE07A30L00AQ00,'R=00 '),        $OPC$V F2LAG802
//             RD=R,CLASS=I,MSGCLASS=9,SCHENV='SE_DB2DS'                       F2LAG802
//*%OPC SCAN                                                                   F2LAG802
//*%OPC SETVAR  TAOCP00O=(OYMD1    + 00WD),PHASE=SETUP                         F2LAG802
//JCLLIB   JCLLIB     ORDER=(ADCX.JOB.&SYSNAME..JCLLIB,                        F2LAG802
//             EXPL.JOB.$$$.JCLLIB)                                            F2LAG802
//*                                                                            F2LAG802
//*-------------------------------------------------------------------         F2LAG802
//S01      EXEC CHPNN,PROG=IKJEFT1B,                                           F2LAG802  S01     
//             DATOPC=&OYMD1.                                                  F2LAG802  S01     
/*                                                                             F2LAG802  S01     
...                                                                            F2LAG802  S01     
//S02      EXEC CHPNN,PROG=IKJEFT1B,                                           F2LAG802  S02     
//             DATOPC=&OYMD1.                                                  F2LAG802  S02     
/*                                                                             F2LAG802  S02     
...                                                                            F2LAG802  S02
./ ADD    NAME=FAAAAAAA SOURCE=0036 PDS=ADCX.OPC.BTQ.JOBLIB.REF.SYSQ           FAAAAAAA  S02
//FAAAAAAA JOB (00000000,00000000000BAZ,AE07A30L00AQ00,'R=00 '),        $OPC$V FAAAAAAA  S02
//             RD=R,CLASS=I,MSGCLASS=9,SCHENV='SE_DB2DS'                       FAAAAAAA  S02
//*%OPC SCAN                                                                   FAAAAAAA  S02
//*%OPC SETVAR  TAOCP00O=(OYMD1    + 00WD),PHASE=SETUP                         FAAAAAAA  S02
//JCLLIB   JCLLIB     ORDER=(ADCX.JOB.&SYSNAME..JCLLIB,                        FAAAAAAA  S02
//             EXPL.JOB.$$$.JCLLIB)                                            FAAAAAAA  S02
//*                                                                            FAAAAAAA  S02
//*-------------------------------------------------------------------         FAAAAAAA  S02
//S11      EXEC CHPNN,PROG=IKJEFT1B,                                           FAAAAAAA  S11     
//             DATOPC=&OYMD1.                                                  FAAAAAAA  S11     
/*                                                                             FAAAAAAA  S11     
//...                                                                          FAAAAAAA  S11     
//S22      EXEC CHPNN,PROG=IKJEFT1B,                                           FAAAAAAA  S12     
//             DATOPC=&OYMD1.                                                  FAAAAAAA  S12     
/*                                                                             FAAAAAAA  S12     
...


So the problem is how to propagate correctly the stepname.

Does anyone have any ideas ?
Back to top
View user's profile Send private message

tuxama

New User


Joined: 25 Jan 2007
Posts: 32
Location: france

PostPosted: Wed Nov 20, 2013 5:53 pm    Post subject: Reply to: Propagate fields (WHEN=GROUP), but not on all reco
Reply with quote

The errors on the following lines :
Code:

./ ADD    NAME=FAAAAAAA SOURCE=0036 PDS=ADCX.OPC.BTQ.JOBLIB.REF.SYSQ           FAAAAAAA  S02
//FAAAAAAA JOB (00000000,00000000000BAZ,AE07A30L00AQ00,'R=00 '),        $OPC$V FAAAAAAA  S02
//             RD=R,CLASS=I,MSGCLASS=9,SCHENV='SE_DB2DS'                       FAAAAAAA  S02
//*%OPC SCAN                                                                   FAAAAAAA  S02
//*%OPC SETVAR  TAOCP00O=(OYMD1    + 00WD),PHASE=SETUP                         FAAAAAAA  S02
//JCLLIB   JCLLIB     ORDER=(ADCX.JOB.&SYSNAME..JCLLIB,                        FAAAAAAA  S02
//             EXPL.JOB.$$$.JCLLIB)                                            FAAAAAAA  S02
//*                                                                            FAAAAAAA  S02
//*-------------------------------------------------------------------         FAAAAAAA  S02


Because they do not belong to any step.
Back to top
View user's profile Send private message
Pandora-Box

Moderator


Joined: 07 Sep 2006
Posts: 1534
Location: Andromeda Galaxy

PostPosted: Wed Nov 20, 2013 6:34 pm    Post subject:
Reply with quote

This code should have an end
Code:
     IFTHEN=(WHEN=GROUP,                             
                BEGIN=(12,4,CH,EQ,C'EXEC'),             
                PUSH=(90:3,8))


Atleast if you have comment to mark the end it should be regarded as END

Or I could think of is end at './ ADD NAME=' and dont consider the step name
Back to top
View user's profile Send private message
tuxama

New User


Joined: 25 Jan 2007
Posts: 32
Location: france

PostPosted: Wed Nov 20, 2013 7:03 pm    Post subject: Reply to: Propagate fields (WHEN=GROUP), but not on all reco
Reply with quote

The question is sometimes stupid ...
Thank you for your answer that solves my problem.

The code is :
Code:

  INREC IFTHEN=(WHEN=GROUP,                           
                BEGIN=(1,15,CH,EQ,C'./ ADD    NAME='),
                PUSH=(80:16,8)),                     
        IFTHEN=(WHEN=GROUP,                           
                BEGIN=(12,4,CH,EQ,C'EXEC'),           
                END=(1,15,CH,EQ,C'./ ADD    NAME='), 
                PUSH=(90:3,8)),                       
        IFTHEN=(WHEN=(1,15,CH,EQ,C'./ ADD    NAME='),
                OVERLAY=(90:7X))                     
Back to top
View user's profile Send private message
Pandora-Box

Moderator


Joined: 07 Sep 2006
Posts: 1534
Location: Andromeda Galaxy

PostPosted: Wed Nov 20, 2013 7:09 pm    Post subject:
Reply with quote

Glad it solves your problem and would recommend you to read the manual as there are many options that would be explained with sample codes and which would help you learning yourself and saves time icon_smile.gif
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 Why TS/OP would Not contact site supp... RahulG31 All Other Mainframe Topics 2 Wed Mar 22, 2017 7:46 am
No new posts Join giving more records than expected Danielle.Filteau SYNCSORT 2 Thu Mar 09, 2017 3:28 am
No new posts TSO or command line utility to genera... kishpra JCL & VSAM 3 Thu Mar 09, 2017 1:11 am
No new posts Extract set of records matching on ac... bhaskar_kanteti DFSORT/ICETOOL 3 Mon Mar 06, 2017 7:19 am
No new posts DFSORT MUL FIELDS tspr52 DFSORT/ICETOOL 16 Fri Mar 03, 2017 11:53 pm


Facebook
Back to Top
 
Mainframe Wiki | Forum Rules | Bookmarks | Subscriptions | FAQ | Tutorials | Contact Us