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

calculate a WEEKNBR for a given Date


IBM Mainframe Forums -> DFSORT/ICETOOL
Post new topic   Reply to topic
View previous topic :: View next topic  
Author Message
kregen

New User


Joined: 16 Mar 2006
Posts: 21

PostPosted: Thu Aug 02, 2007 12:15 pm
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: 6966
Location: porcelain throne

PostPosted: Thu Aug 02, 2007 1:42 pm
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
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 View Bookmarks
All times are GMT + 6 Hours
Forum Index -> DFSORT/ICETOOL

 


Similar Topics
Topic Forum Replies
No new posts Modifying Date Format Using DFSORT DFSORT/ICETOOL 9
No new posts Need to convert date format DFSORT/ICETOOL 20
No new posts how to calculate SUM value for VB fil... DFSORT/ICETOOL 1
No new posts how to calculate SUM for VB file usin... JCL & VSAM 1
No new posts Need help to append a date&tsp at... DFSORT/ICETOOL 9
Search our Forums:

Back to Top