           # Inserting values at more than 1 place in a record

Author Message
raj_mainframe08

New User

Joined: 11 Sep 2007
Posts: 65
Location: Gurgaon Posted: Sat Nov 16, 2013 10:59 am Following is Input record

 Code: AA0BBZCC0DD

Requirement:
If the 3rd position is Zero, insert 2 zeroes more at 4 and 5th position
If the 3rd position is not Zero, insert 2 spaces at 4 and 5th position
If the 6th position is Zero, insert 2 zeroes more at 7 and 8th position
If the 6th position is not Zero, insert 2 spaces at 7 and 8th position

Thus the above record value in output should be
 Code: AA000BBZ  CC0DD

I have written the following to test, but its not working. I am getting following output

 Code: AA000BBZCC0DD

Code i have written
 Code: SORT FIELDS=COPY                                            OUTREC IFTHEN=(WHEN=(3,1,CH,EQ,C'0'),                                   BUILD=(1:1,3,4:C'00',6:4,15)),                   IFTHEN=(WHEN=(3,1,CH,NE,C'0'),                                   BUILD=(1:1,3,4:C'  ',6:4,15)),                   IFTHEN=(WHEN=(6,1,CH,NE,C'0'),                                   BUILD=(1:1,6,7:C'  ',10:7,11))

I beleive after first IFTHEN, the code came out. Please let me know how can i give these conditions Bill Woodger

Moderator Emeritus

Joined: 09 Mar 2011
Posts: 7310
Location: Inside the Matrix Posted: Sat Nov 16, 2013 12:57 pm You need to consult the manual.

There you will discover that once one IFTHEN=(WHEN=(logical-expression is satisfied, no more more are tested for that record. You will also discover there is a way to modify this behaviour, HIT=NEXT.

 Code: SORT FIELDS=COPY                                            OUTREC IFTHEN=(WHEN=INIT,                                   BUILD=(1,3,C'  ':4,15)),                   IFTHEN=(WHEN=(3,1,CH,EQ,C'0'),                                   OVERLAY=(4:C'00'),HIT=NEXT),                   IFTHEN=(WHEN=(6,1,CH,NE,C'0'),                                   BUILD=(1,6,C'  ',7,11))

I've simplified your code slightly. This should work. Understand why before using it for real. Topic Forum Replies Similar Topics Print report for each record from mul... CA Products 1 Trim values of parameters in JCL JCL & VSAM 2 fetch the record number from FMNMAIN ... CLIST & REXX 10 how to extract a portion (e.g. fields... SYNCSORT 8 Writng matched records into output fi... DFSORT/ICETOOL 11
Search our Forums: 