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
 

 

How to use ICETOOL /DFSORT to find values in Occurs

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

New User


Joined: 04 Oct 2008
Posts: 6
Location: US

PostPosted: Sat Sep 05, 2009 12:48 am    Post subject: How to use ICETOOL /DFSORT to find values in Occurs
Reply with quote

Can someone help me with the following requirement?

I need to search all occurences of a record and see if any occurence has a current date, then it should be written to output file.
Code:

01  DATA1.                                                     
    05  STATIC-AREA.                                     
        10  A                PIC  X(01).                       
        10  B                PIC  X(10).                       
        10  OCCURS-CNT       PIC  9(04) VALUE 1000.               
    05  DYNAMIC-AREA.                                           
        10  DATA2      OCCURS 0 TO 1000 DEPENDING ON OCCURS-CNT.
            15  FIELD1       PIC  X(10).                       
            15  FIELD2       PIC  X(10).                       
            15  DATE1        PIC  X(10).                       
            15  FIELD3       PIC  X(10).                       


We can have DATA2 occurring 10 times or 100 times and if any occurence has DATE1 = CURRENT DATE, then it needs to be written in the output file.
Back to top
View user's profile Send private message

Frank Yaeger

DFSORT Moderator


Joined: 15 Feb 2005
Posts: 7130
Location: San Jose, CA

PostPosted: Sat Sep 05, 2009 6:32 am    Post subject:
Reply with quote

Please show an example of the records in your input file (relevant fields only) and what you expect for output. Explain the "rules" for getting from input to output. Give the RECFM and LRECL of the input file.
Back to top
View user's profile Send private message
parampunit

New User


Joined: 04 Oct 2008
Posts: 6
Location: US

PostPosted: Sat Sep 05, 2009 11:40 am    Post subject:
Reply with quote

My input will be something as follows:
Code:

4 A                              2 A                             
5 B                              7 1234567890                           
11 OCCURS-CNT                   81 03       

14 FIELD1(1)                    84 AAAAAAAAA                         
19 FIELD2(1)                   106 1                                 
23 DATE1(1)                    139 20090714                         
31 DATE2(1)                    207 20100714                         

14 FIELD1(2)                   231 AAAAAAAAB                         
19 FIELD2(2)                   253 1                                 
23 DATE1(2)                    286 20090614                         
31 DATE2(2)                    354 20100614                         

14 FIELD1(3)                   378 AAAAAAAAC                         
19 FIELD2(3)                   400 4                                 
23 DATE1(3)                    433 20090905                         
31 DATE3(3)                    501 20100419


The Input will is VB; 26000 bytes;

In the above example if any of the DATE1 dates i.e. DATE1(1) or DATE1(2) or DATE(3) has today's date then this whole record should be written in Output file else skip this record and check the next record. So in above example as the date in DATE1(3) is today's date, it should be written into output file.

I have been doing this comparison using a COBOL code but wanted to see if it was possible thru ICETOOL / SORT.

Appreciate your help in this regard.
Back to top
View user's profile Send private message
Frank Yaeger

DFSORT Moderator


Joined: 15 Feb 2005
Posts: 7130
Location: San Jose, CA

PostPosted: Sun Sep 06, 2009 11:08 pm    Post subject:
Reply with quote

Assuming you only have the date in the DATE1 field and not in FIELD1, FIELD2 or FIELD3, you could use a "brute force" DFSORT job like the following to do what you asked for. But it doesn't actually use OCCURS-CNT as your program probably does, so your program might be more efficient.

Code:

//S1    EXEC  PGM=SORT
//SYSOUT    DD  SYSOUT=*
//SYMNAMES DD *
TARG1,S'&YR4.&MON.&DAY'
/*
//SORTIN DD DSN=... input file (VB/26000)
//SORTOUT DD DSN=...  output file (VB/26000)
//SYSIN    DD    *
  OPTION COPY,VLSCMP
  INCLUDE COND=(37,25963,SS,EQ,TARG1)
/*
Back to top
View user's profile Send private message
parampunit

New User


Joined: 04 Oct 2008
Posts: 6
Location: US

PostPosted: Mon Sep 07, 2009 9:39 am    Post subject:
Reply with quote

Thanks Frank but this may not work for me as there are lot of dates in the record. Also I gave DATE as an example, I may be required to check for a value in FIELD1 which may be a COMP or some other data in FIELD2 which may be a COMP-3 field.

Basically I need a method to check data in all occurences of a given field / field(s) for each record.

I don't think I found anything in SORT which I could use, so I was thinking maybe ICETOOL had some option for checking data in all occurences.

As these are ADHOC type of requirements, we would be able to sacrifice a bit on performance if there is any method to perform such operations thru SORT / ICETOOL quickly.

Again, thanks for all your help!!!
Back to top
View user's profile Send private message
Frank Yaeger

DFSORT Moderator


Joined: 15 Feb 2005
Posts: 7130
Location: San Jose, CA

PostPosted: Tue Sep 08, 2009 2:46 am    Post subject:
Reply with quote

I'm not really sure what you mean. DFSORT's substring logic function checks byte by byte for a string and includes the record if you get a hit. If that doesn't work for you, then I don't have anything else to suggest based on what you've said. You might be able to do something with IFTHEN clauses and OUTFIL INCLUDE, but it would probably be "messy".
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 BI,TO=ZD Changing Values Tyler Dunbar DFSORT/ICETOOL 1 Tue Jul 25, 2017 12:12 am
No new posts Sorting of hex values Saurabh_mi DFSORT/ICETOOL 11 Thu May 25, 2017 3:49 pm
No new posts Replace values in the input data Vikas Maharnawar DFSORT/ICETOOL 10 Thu May 11, 2017 2:18 pm
No new posts Using ICETOOL, how we can seperate th... bshkris SYNCSORT 5 Tue May 09, 2017 8:33 pm
No new posts find RACF group for access to spooled... jzhardy JCL & VSAM 1 Mon May 08, 2017 11:46 am


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