| IBM MAINFRAME HELP & SUPPORT FORUMS Technical Forums for IBM Mainframe Applications like COBOL, JCL, CICS, DB2, FileAid, DFSORT, Endevor, Xpediter, CoolGen, CA-7&11, AbendAid, IMS, IDMS, PL/I, MqSeries, SyncSort, Assembler, ChangeMan, Easytrieve, InterTest, REXX, CLIST etc...
|
| View previous topic :: View next topic |
| Author |
Message |
gringgo
Joined: 28 Apr 2006
Posts: 2
Location: Phoenix, AZ
|
| Posted: Fri Apr 28, 2006 10:16 pm Post subject: REXX Date Routine Help (Julian to |
|
|
I have a REXX program written by someone else that extracts data from the RACF database and lists several dates. The date format in the output file comes out as yy.ddd, which is a Julian and/or Ordinal date.
The error message listed below shows my attempt at converting to mm/dd/yy format.
Here is the code that I have so far.
IF VUSER = SUBSTR(TAB.LINE#,1,4) THEN DO
KUSER = SUBSTR(TAB.LINE#,6,8)
USER = SUBSTR(TAB.LINE#,6,8)
NAME = SUBSTR(TAB.LINE#,19,20)
CREATDT = SUBSTR(TAB.LINE#,65,6) {this gets me yy.ddd}
CREATED = DATE('J',CREATDT,'U') {hope to get mm/dd/yy}
END
Here is the error message:
49 +++ CREATED = DATE('J',CREATDT,'U')
IRX0040I Error running V100#WSD, line 49: Incorrect call to routine
The ultimate goal is to convert yy.ddd to yyyy/mm/dd.
Any assistance is greatly appreciated.
John |
|
| Back to top |
|
superk
Joined: 26 Apr 2004
Posts: 3381
Location: Charlotte,NC USA
|
| Posted: Fri Apr 28, 2006 11:29 pm Post subject: Re: REXX Date Routine Help (Julian to |
|
|
Code:
...
CREATYY = SUBSTR(TAB.LINE#,65,2)
CREATDDD = SUBSTR(TAB.LINE#,68,3)
PARSE VALUE DATE('S',CREATYY||CREATDDD,'J') WITH CCYY 5 MM 7 DD
CREATED = CCYY'/'MM'/'DD
...
1. A valid Julian date is defined as either YYDDD or CCYYDDD, without the dot.
2. You used the incorrect order for the DATE() function parameters. The required output date format is the first (and only required) parameter, followed by the input date, then by the input date format. |
|
| Back to top |
|
gringgo
Joined: 28 Apr 2006
Posts: 2
Location: Phoenix, AZ
|
| Posted: Sat Apr 29, 2006 2:13 am Post subject: Re: REXX Date Routine Help (Julian to |
|
|
superk,
Thank you for the reponse, but try as I may, I continue to get the same error. I put the code is as you stated and below is the outcome. I don't know why the '5' and '7' exist in the PARSE statement, but I also tried it without and received the same error.
52 +++ PARSE VALUE DATE('S',CREATYY||CREATDDD,'J') WITH CCYY 5 MM 7 DD
IRX0040I Error running V100#WSD, line 52: Incorrect call to routine
IF VUSER = SUBSTR(TAB.LINE#,1,4) THEN DO
KUSER = SUBSTR(TAB.LINE#,6,8)
USER = SUBSTR(TAB.LINE#,6,8)
NAME = SUBSTR(TAB.LINE#,19,20)
CREATYY = SUBSTR(TAB.LINE#,65,2)
CREATDDD = SUBSTR(TAB.LINE#,68,3)
PARSE VALUE DATE('S',CREATYY||CREATDDD,'J') WITH CCYY 5 MM 7 DD
CREATED = CCYY'/'MM'/'DD
END
John |
|
| Back to top |
|
superk
Joined: 26 Apr 2004
Posts: 3381
Location: Charlotte,NC USA
|
| Posted: Sat Apr 29, 2006 2:32 am Post subject: Re: REXX Date Routine Help (Julian to |
|
|
Try just
CREATED = DATE('S',CREATYY||CREATDDD,'J')
and then maybe you can just do some re-formatting on CREATED.
Otherwise, post some TRACE I output for this section of code. |
|
| Back to top |
|
| |
THIS IS AN ARCIVE FORUM IN READ ONLY MODE. IF YOU WANT TO ASK YOUR DOUBTS USE THE ACTUAL FORUM
|