View previous topic :: View next topic
|
Author |
Message |
raam_kumar
New User
Joined: 25 Apr 2007 Posts: 44 Location: chennai, India
|
|
|
|
Hi
i have a ps file, which will contain three type of records
1) Header record (with code AAA)
2) Data record (With code DAT)
3) Trailer record(with code BBB)
the requirement is, if there are no DAT records (data records) i have to report the file as empty file. is there a way to achieve this in sort. |
|
Back to top |
|
|
CICS Guy
Senior Member
Joined: 18 Jul 2007 Posts: 2146 Location: At my coffee table
|
|
|
|
Take a look at "Set RC=12 or RC=4 if file is empty, has more than n records, etc" in Smart DFSORT Tricks |
|
Back to top |
|
|
Frank Yaeger
DFSORT Developer
Joined: 15 Feb 2005 Posts: 7129 Location: San Jose, CA
|
|
|
|
Quote: |
i have to report the file as empty file. |
What to you mean by "report the file as empty file"?
If you want a RC=12 when the file is empty or RC=0 when it isn't empty, you can use this DFSORT/ICETOOL job:
Code: |
//S1 EXEC PGM=ICETOOL
//TOOLMSG DD SYSOUT=*
//DFSMSG DD SYSOUT=*
//IN DD DSN=.... input file
//TOOLIN DD *
COUNT FROM(IN) EMPTY USING(CTL1)
//CTL1CNTL DD *
INCLUDE COND=(1,3,CH,EQ,C'DAT')
/*
|
If you want a RC=4 instead of a RC=12, add RC4 to the COUNT operator. |
|
Back to top |
|
|
dick scherrer
Moderator Emeritus
Joined: 23 Nov 2006 Posts: 19244 Location: Inside the Matrix
|
|
|
|
Hello,
I believe the issue is when there are header and/or trailer records, but no data records.
The file is "logically" empty even though it has hdr/trlr records. |
|
Back to top |
|
|
Frank Yaeger
DFSORT Developer
Joined: 15 Feb 2005 Posts: 7129 Location: San Jose, CA
|
|
|
|
Yes, the INCLUDE for 'DAT' takes care of that. It only includes data records, not the header and trailer records, so the test for EMPTY is done against just the data records. |
|
Back to top |
|
|
|