Focal Point
[CLOSED] DATETRAN to (tr) format

This topic can be found at:
https://forums.informationbuilders.com/eve/forums/a/tpc/f/7971057331/m/4457004876

September 14, 2015, 01:06 PM
SWES
[CLOSED] DATETRAN to (tr) format
Why does this not work for Month > tr, where it works for the 'Day' formatting? I must be overlooking something?

Works:
-SET &CVTDAT     = IF &PERIOD EQ 'M' THEN EDIT(&DATE,'$$$$99') ELSE '';
-SET &DATTIT     = IF &PERIOD EQ 'D' THEN DATETRAN(DATECVT(&DATE, 'I8YYMD', 'DMYY'), '(DMYY)', '(/)', 'EN', 10, 'A10')
-             ELSE IF &PERIOD EQ 'M' THEN DATETRAN(&CVTDAT, '(M)', '(tr)', 'EN', 10, 'A10')  


Does not work:
-SET &DATTIT     = IF &PERIOD EQ 'D' THEN DATETRAN(DATECVT(&DATE, 'I8YYMD', 'DMYY'), '(DMYY)', '(/)', 'EN', 10, 'A10')
-             ELSE IF &PERIOD EQ 'M' THEN DATETRAN(DATECVT(&DATE, 'I6YM', '(M)'), '(tr)', '(/)', 'EN', 10, 'A10')


(FOC36355) INVALID TYPE OF ARGUMENT #1 FOR USER FUNCTION DATETRAN

This message has been edited. Last edited by: <Kathryn Henning>,


WebFOCUS 8105m
Windows 7, All Outputs

Member of the Benelux Usergroup
September 14, 2015, 02:07 PM
MartinY
Don't understand how you can say that:
quote:

-SET &CVTDAT = IF &PERIOD EQ 'M' THEN EDIT(&DATE,'$$$$99') ELSE '';
-SET &DATTIT = IF &PERIOD EQ 'D' THEN DATETRAN(DATECVT(&DATE, 'I8YYMD', 'DMYY'), '(DMYY)', '(/)', 'EN', 10, 'A10')
- ELSE IF &PERIOD EQ 'M' THEN DATETRAN(&CVTDAT, '(M)', '(tr)', 'EN', 10, 'A10')


is working because there are few errors that doesn't make it work.

But this does :
-SET &PERIOD = 'D';
-SET &CVTDAT     = EDIT(&YYMD,'$$$$99');
-SET &DATTIT     = IF &PERIOD EQ 'D' THEN DATETRAN(DATECVT(&YYMD, 'I8YYMD', 'DMYY'), '(DMYY)', '(/)', 'EN', 10, 'A10')
-             ELSE IF &PERIOD EQ 'M' THEN DATETRAN(&CVTDAT, '(M)', '(tr)', 'EN', 10, 'A10'); 

-TYPE &|DATE: &DATE
-TYPE &|YYMD: &YYMD
-TYPE &|CVTDAT: &CVTDAT
-TYPE &|DATTIT: &DATTIT

This message has been edited. Last edited by: MartinY,


WF versions : Prod 8.2.04M gen 33, Dev 8.2.04M gen 33, OS : Windows, DB : MSSQL, Outputs : HTML, Excel, PDF
In Focus since 2007
September 14, 2015, 04:38 PM
SWES
Yes Martin I know this is working, but what I'm trying to accomplish here is that I don't have to do the separate SET for EDIT, but 'all in one' function just like the day is just one line.


WebFOCUS 8105m
Windows 7, All Outputs

Member of the Benelux Usergroup
September 15, 2015, 04:34 AM
Alan B
quote:
Does not work:
-SET &DATTIT = IF &PERIOD EQ 'D' THEN DATETRAN(DATECVT(&DATE, 'I8YYMD', 'DMYY'), '(DMYY)', '(/)', 'EN', 10, 'A10')
- ELSE IF &PERIOD EQ 'M' THEN DATETRAN(DATECVT(&DATE, 'I6YM', '(M)'), '(tr)', '(/)', 'EN', 10, 'A10')



It always helps to check the valid arguments for functions and check your own code. 'I6YM' is not a valid input date format and '(tr)' is not a valid input argument for DATETRAN. Use the correct formats and arguments and it works fine.


Alan.
WF 7.705/8.007