IBM Mainframe Forum Index
 
Log In
 
IBM Mainframe Forum Index Mainframe: Search IBM Mainframe Forum: FAQ Register
 

how to find if file is empty or not.


IBM Mainframe Forums -> DFSORT/ICETOOL
Post new topic   This topic is locked: you cannot edit posts or make replies.
View previous topic :: View next topic  
Author Message
abdulrafi

Active User


Joined: 14 Sep 2009
Posts: 184
Location: Coimbatore

PostPosted: Tue May 17, 2016 4:39 pm
Reply with quote

Hi,

I have searched in this forum and could not find the relevant answer for my question.

I do have a file. If the file has only one record it has to give me a return code of 0 else if it has more records then a return code of greater than 0.

I use the below code, but it always returns me 0 for how many ever records I have.

Code:
//T040D5ZX JOB (P904030,T040,99,99),'EMPTY-TEST1',           
//  NOTIFY=&SYSUID,MSGCLASS=Q,TIME=(02,00),REGION=0M         
//STEP01   EXEC PGM=IDCAMS                                   
//SYSPRINT DD SYSOUT=*                                       
//DD01     DD DSN=T040D5Z.INPUT.CSV,DISP=SHR                 
//SYSIN    DD *                                             
  PRINT INFILE(DD01) COUNT(1)                               
/*                                                           


Please advice.
Back to top
View user's profile Send private message
enrico-sorichetti

Superior Member


Joined: 14 Mar 2007
Posts: 10872
Location: italy

PostPosted: Tue May 17, 2016 5:11 pm
Reply with quote

Quote:
I do have a file. If the file has only one record it has to give me a return code of 0 else if it has more records then a return code of greater than 0.


use a bit of logic, please
averybody can tell about the past, nobody about the future
the same stands for IDCAMS
if You tell it to print 10 record it will tell back if there are less
it will stop at the 10th record ignoring what comes after

but You can easily do it Yourself using Your neurons and a bit of imagination

print ..... count(1)
AND
print ..... count(2)

and set LASTCC and MAXCC accordingly
Back to top
View user's profile Send private message
enrico-sorichetti

Superior Member


Joined: 14 Mar 2007
Posts: 10872
Location: italy

PostPosted: Tue May 17, 2016 7:30 pm
Reply with quote

some more hints ...

test for success of
print ..... count(1)
the dataset is not empty

AND
test for failure of
print ..... count(2)
the dataset will contain just one record
Back to top
View user's profile Send private message
Marso

REXX Moderator


Joined: 13 Mar 2006
Posts: 1353
Location: Israel

PostPosted: Tue May 17, 2016 8:05 pm
Reply with quote

or, if you have SYNCSORT:
Code:
//SORT1    EXEC PGM=SYNCTOOL                                   
//IN1      DD DISP=SHR,DSN=some.data.set name
//TOOLMSG  DD SYSOUT=*                                       
//SSMSG    DD SYSOUT=*                                       
//TOOLIN   DD *                                               
 COUNT FROM(IN1) RC4 NOTEQUAL(1)
/*

If the file is empty or if there is more than 1 record, result will be:
Code:
            COUNT FROM(IN) RC4 NOTEQUAL(1)                 
SYT020I  SYNCSORT CALLED WITH IDENTIFIER "0001"         
SYT075I  CONDITION FOR RECORD COUNT SATISFIED - RC=4 SET
SYT030I  OPERATION COMPLETED WITH RETURN CODE 4         

If there is exactly 1 record:
Code:
            COUNT FROM(IN) RC4 NOTEQUAL(1)                     
SYT020I  SYNCSORT CALLED WITH IDENTIFIER "0001"             
SYT056I  CONDITION FOR RECORD COUNT NOT SATISFIED - RC=0 SET
SYT030I  OPERATION COMPLETED WITH RETURN CODE 0             
Back to top
View user's profile Send private message
Bill Woodger

Moderator Emeritus


Joined: 09 Mar 2011
Posts: 7309
Location: Inside the Matrix

PostPosted: Wed May 18, 2016 11:11 am
Reply with quote

There's an implication that one record, no more, nor less, is what OP wants to know. If that is so, then NOTEQUAL(1) is what is required with ICETOOL.

The undocumented product (the entire product, not just this operand of a command) SyncTOOL does have NOTEQUAL for COUNT.
Back to top
View user's profile Send private message
abdulrafi

Active User


Joined: 14 Sep 2009
Posts: 184
Location: Coimbatore

PostPosted: Thu May 19, 2016 5:46 pm
Reply with quote

Hi,

I got it as I needed using ICETOOL. Thanks a lot for your kind help.
Back to top
View user's profile Send private message
View previous topic :: :: View next topic  
Post new topic   This topic is locked: you cannot edit posts or make replies. View Bookmarks
All times are GMT + 6 Hours
Forum Index -> DFSORT/ICETOOL

 


Similar Topics
Topic Forum Replies
No new posts How to split large record length file... DFSORT/ICETOOL 10
No new posts Extracting Variable decimal numbers f... DFSORT/ICETOOL 17
No new posts SFTP Issue - destination file record ... All Other Mainframe Topics 2
No new posts Access to non cataloged VSAM file JCL & VSAM 18
No new posts Need help for File Aid JCL to extract... Compuware & Other Tools 23
Search our Forums:

Back to Top