Portal | Manuals | References | Downloads | Info | Programs | JCLs | Mainframe wiki | Quick Ref
IBM Mainframe Computers Forums Index
 
Register
 
IBM Mainframe Computers Forums Index Mainframe: Search IBM Mainframe Forum: FAQ Memberlist Profile Log in to check your private messages Log in
 
calculate a WEEKNBR for a given Date

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

New User


Joined: 16 Mar 2006
Posts: 18

PostPosted: Thu Aug 02, 2007 12:15 pm    Post subject: calculate a WEEKNBR for a given Date
Reply with quote

Hello,
is there a way to calculate the weeknbr for a given date with SORT or ICETOOL?

20050205 => week?
20060702 => week?

cu
kai
Back to top
View user's profile Send private message

dbzTHEdinosauer

Global Moderator


Joined: 20 Oct 2006
Posts: 6968
Location: porcelain throne

PostPosted: Thu Aug 02, 2007 1:42 pm    Post subject:
Reply with quote

could try converting the date to julian then dividing the days portion by 52.
Back to top
View user's profile Send private message
krisprems

Active Member


Joined: 27 Nov 2006
Posts: 649
Location: India

PostPosted: Thu Aug 02, 2007 3:59 pm    Post subject:
Reply with quote

kregen
I dont know if a built in function is availbale in DFSORT to do this, but i have resolved this using IFTHEN clause.
The code goes like this
Code:
//*******************************************************               
//STEP1    EXEC PGM=SORT                                               
//SYSOUT   DD SYSOUT=*                                                 
//SORTIN   DD *                                                         
20050205                                                               
20080702                                                               
20070101                                                               
20070107                                                               
20081231                                                               
20080201                                                               
/*                                                                     
//SORTOUT  DD SYSOUT=*                                                 
//SYSIN    DD *                                                         
 SORT FIELDS=COPY                                                       
 INREC IFTHEN=(WHEN=(5,2,ZD,EQ,01),                                     
 OVERLAY=(10:07,02,ZD,LENGTH=4),HIT=NEXT),                             
 IFTHEN=(WHEN=(5,2,ZD,EQ,02),                                           
 OVERLAY=(10:+31,ADD,07,02,ZD,LENGTH=4),HIT=NEXT),                     
 IFTHEN=(WHEN=(5,2,ZD,EQ,03),                                           
 OVERLAY=(10:+59,ADD,07,02,ZD,LENGTH=4),HIT=NEXT),                     
 IFTHEN=(WHEN=(5,2,ZD,EQ,04),                                           
 OVERLAY=(10:+90,ADD,07,02,ZD,LENGTH=4),HIT=NEXT),                     
 IFTHEN=(WHEN=(5,2,ZD,EQ,05),                                           
 OVERLAY=(10:+120,ADD,07,02,ZD,LENGTH=4),HIT=NEXT),                     
 IFTHEN=(WHEN=(5,2,ZD,EQ,06),                                           
 OVERLAY=(10:+151,ADD,07,02,ZD,LENGTH=4),HIT=NEXT),                     
 IFTHEN=(WHEN=(5,2,ZD,EQ,07),                                           
 OVERLAY=(10:+181,ADD,07,02,ZD,LENGTH=4),HIT=NEXT),                     
 IFTHEN=(WHEN=(5,2,ZD,EQ,08),                                           
 OVERLAY=(10:+212,ADD,07,02,ZD,LENGTH=4),HIT=NEXT),                     
 IFTHEN=(WHEN=(5,2,ZD,EQ,09),                                           
 OVERLAY=(10:+243,ADD,07,02,ZD,LENGTH=4),HIT=NEXT),                     
 IFTHEN=(WHEN=(5,2,ZD,EQ,10),                                           
 OVERLAY=(10:+273,ADD,07,02,ZD,LENGTH=4),HIT=NEXT),                     
 IFTHEN=(WHEN=(5,2,ZD,EQ,11),                                           
 OVERLAY=(10:+304,ADD,07,02,ZD,LENGTH=4),HIT=NEXT),                     
 IFTHEN=(WHEN=(5,2,ZD,EQ,12),                                           
 OVERLAY=(10:+334,ADD,07,02,ZD,LENGTH=4),HIT=NEXT),                     
 IFTHEN=(WHEN=(1,4,ZD,GT,+0000),                                       
 OVERLAY=(20:1,4,ZD,MOD,+4,LENGTH=2),HIT=NEXT),                         
 IFTHEN=(WHEN=(20,1,ZD,EQ,+0,&,5,2,ZD,GE,02),                           
 OVERLAY=(10:10,3,ZD,ADD,+1,LENGTH=4),HIT=NEXT),                       
 IFTHEN=(WHEN=(10,3,ZD,GT,+000),                                       
 OVERLAY=(10:10,3,ZD,DIV,+7,LENGTH=4))                                 
 OUTREC BUILD=(1,15)                                                   
/*                                                                     

SORTOUT contains
Code:
----+----1----+
20050205   5   
20080702  26   
20070101   0   
20070107   1   
20081231  52   
20080201   4   

Where column 1 to 8 is your i/p date and from 10 to 12 it is week number.

Please let me know, if i could help you more!
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 Validate the Date girishb2 DFSORT/ICETOOL 9 Tue Sep 19, 2017 1:12 am
No new posts Julian Date to CICS ABSTTIME blayek CICS 3 Wed Aug 30, 2017 11:15 pm
No new posts Wanted to calculate TRK when i have B... Balu5491 JCL & VSAM 9 Wed Jul 19, 2017 5:43 pm
No new posts How to add header with Date(YYMMDD) i... Rajan Moorthy DFSORT/ICETOOL 2 Thu Jul 06, 2017 11:44 pm
No new posts Validate date and numeric fields and ... Rick Silvers DFSORT/ICETOOL 6 Thu May 11, 2017 6:51 pm

Facebook
Back to Top
 
Job Vacancies | Forum Rules | Bookmarks | Subscriptions | FAQ | Polls | Contact Us