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

Extract the creation date of the dataset using SAS


IBM Mainframe Forums -> JCL & VSAM
Post new topic   Reply to topic
View previous topic :: View next topic  
Author Message
hikaps14

Active User


Joined: 02 Sep 2005
Posts: 189
Location: Noida

PostPosted: Fri Feb 16, 2007 5:07 pm
Reply with quote

Hi ,

I am using the following piece of code to extract the creation date of the dataset :

DATA ONE;
INFILE TESTGDG JFCB=JFCB;

BYTE81 = SUBSTR(JFCB,81,1) ;
CREATL = PUT(INPUT(BYTE81,PD1.),$2.) ;
BYTE82 = SUBSTR(JFCB,82,2) ;
CREAT2 = PUT(INPUT(BYTE82,IB2.),$3.) ;
CREATED = PUT(DATEJUL(INPUT(CREATL || CREAT2,5.)),MMDDYY10.);
PROC PRINT;
RUN;


The problem is
this code works fine if the dataset is created in 2006
but when I run this job on datasets created in 2007 this doesnot works

What I analysed is that its not able to extract year part correctly.
CREATL = ' -6 '

Actually I am a novice in SAS so I am not able to get why this output is coming.

Can any one help ?
Thanks,
-Kapil.
Back to top
View user's profile Send private message
Alan Voss

New User


Joined: 29 Nov 2006
Posts: 32
Location: Jacksonville, FL

PostPosted: Fri Feb 16, 2007 10:37 pm
Reply with quote

The following works for me.
DATA XX;
INFILE COMH JFCB=JFCB;
CRJULIANYR = INPUT(SUBSTR(JFCB, 81,1),PIB1.)+1900;
CRJULIANDAY = INPUT(SUBSTR(JFCB, 82,2),PIB2.);
CRDATE = DATEJUL(CRJULIANYR*1000+CRJULIANDAY);
DROP CRJULIANYR CRJULIANDAY;
Back to top
View user's profile Send private message
hikaps14

Active User


Joined: 02 Sep 2005
Posts: 189
Location: Noida

PostPosted: Mon Feb 19, 2007 11:58 am
Reply with quote

Hi Alan,

I did run ur SAS and got the following output :

Obs CRJULIANYR CRJULIANDAY CRDATE

1 2007 48 17214

The final date is not getting calculated properly, where as the individual day and year part are doing well.

Thanks,
-Kapil.
Back to top
View user's profile Send private message
hikaps14

Active User


Joined: 02 Sep 2005
Posts: 189
Location: Noida

PostPosted: Mon Feb 19, 2007 12:30 pm
Reply with quote

I think I got it.
I converted the output to MMDDYY10.

and its working now .

Thanks,
-kapil.
Back to top
View user's profile Send private message
Alan Voss

New User


Joined: 29 Nov 2006
Posts: 32
Location: Jacksonville, FL

PostPosted: Mon Feb 19, 2007 7:35 pm
Reply with quote

One final piece of advice, since, by your own admission, you are a SAS novice.

Get really familiar with SAS dates, times, and datetimes. These are all numeric values and therefore, without formatting, may look unusual. However, once you learn how to display them and understand how to use the SAS functions for working with them, you will come to appreciate their simplicity and utility.

Al
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 -> JCL & VSAM

 


Similar Topics
Topic Forum Replies
No new posts Modifying Date Format Using DFSORT DFSORT/ICETOOL 9
No new posts FINDREP - Only first record from give... DFSORT/ICETOOL 3
No new posts Need help for File Aid JCL to extract... Compuware & Other Tools 23
No new posts Map Vols and Problem Dataset All Other Mainframe Topics 2
No new posts Need to convert date format DFSORT/ICETOOL 20
Search our Forums:

Back to Top