Focal Point
[SOLVED] Conversion from A56 to MDYY not happening

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

July 18, 2011, 12:22 PM
RichaKulkarni
[SOLVED] Conversion from A56 to MDYY not happening
Hi,
I have a field of A256 format which stores date. I want to convert it into 'MDYY' format.
I'm converting A256 to 'A20' format and then 'A20' to 'MDYY'. So the conversion from A256 to A20 is happening correctly but conversion from 'A20' to 'MDYY' is not happening.

Below are the MFD details:
FILENAME=dcr_consolidated, SUFFIX=COM ,
DATASET=PMF_DCR/DCR_CONSOLIDATED1.TXT, $
SEGMENT=DCR_CONSOLIDATED, SEGTYPE=S1, $
FIELDNAME=MBU, ALIAS=MBU, USAGE=A256, $
FIELDNAME=XPRODUCTLINE, ALIAS=XPRODUCTLINE, USAGE=A256, $
FIELDNAME=XPRODUCTNAME, ALIAS=XPRODUCTNAME, USAGE=A256, $
FIELDNAME=DETECTED_ON_DATE, ALIAS=DETECTED_ON_DATE, USAGE=A256, $
FIELDNAME=APPID, ALIAS=APPID, USAGE=A50, $
FIELDNAME=APPLICATION_NAME, ALIAS=APPLICATION_NAME, USAGE=A256, $
FIELDNAME=DEFECT_TOTAL, ALIAS=DEFECT_TOTAL, USAGE=D12, $
FIELDNAME=INCIDENT_TOTAL, ALIAS=INCIDENT_TOTAL, USAGE=D12S, $

================================================
Below is the fex where i'm trying to convert:
DEFINE FILE DCR_CONSOLIDATED
MONTH/A2=EDIT(DETECTED_ON_DATE, '99$$$$$$$$$');
YEAR/A5=EDIT(DETECTED_ON_DATE, '$$$$$$99999');
DAY/A2 = EDIT(DETECTED_ON_DATE, '$$$99$$$$$$');
DATE/A20 = MONTH ||'/'||DAY||'/'||YEAR;
A_DT_1/A20= DATE;
A_DT_2/MDYY = DATECVT(A_DT_1, 'A20', 'MDYY');
END
TABLE FILE DCR_CONSOLIDATED
PRINT
MONTH
DAY
YEAR
DATE
A_DT_1
A_DT_2
END
-EXIT

Output i'm getting:
note: A_DT_2 field is coming as blank.

PAGE 1

MONTH DAY YEAR DATE A_DT_1 A_DT_2
03 31 2010 03/31/2010 03/31/2010
03 31 2010 03/31/2010 03/31/2010
04 30 2010 04/30/2010 04/30/2010
04 30 2010 04/30/2010 04/30/2010
04 30 2010 04/30/2010 04/30/2010
05 31 2010 05/31/2010 05/31/2010
05 31 2010 05/31/2010 05/31/2010
05 31 2010 05/31/2010 05/31/2010
05 31 2010 05/31/2010 05/31/2010
06 30 2010 06/30/2010 06/30/2010
06 30 2010 06/30/2010 06/30/2010
06 30 2010 06/30/2010 06/30/2010
06 30 2010 06/30/2010 06/30/2010
06 30 2010 06/30/2010 06/30/2010
07 31 2010 07/31/2010 07/31/2010


Please help!
Thanks
Richa

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


Thanks,
Richa

WebFOCUS 7.6
Windows, All Outputs
July 18, 2011, 12:44 PM
Francis Mariani
quote:
YEAR/A5=EDIT(DETECTED_ON_DATE, '$$$$$$99999');

Why a five-character year?

You can convert the A256 column with one DEFINEd column, using the DATECVT function (I assume the input column has date data with a date separator character):

DEFINE FILE CAR
DETECTED_ON_DATE/A256 = '07/23/2011             ';

A_DT_2/MDYY = DATECVT(EDIT(DETECTED_ON_DATE,'99$99$9999'), 'A8MDYY', 'MDYY');
END

TABLE FILE CAR
PRINT
DETECTED_ON_DATE
A_DT_2
BY COUNTRY
END



Francis


Give me code, or give me retirement. In FOCUS since 1991

Production: WF 7.7.05M, Dev Studio, BID, MRE, WebSphere, DB2 / Test: WF 8.1.05M, App Studio, BI Portal, Report Caster, jQuery, HighCharts, Apache Tomcat, MS SQL Server
July 18, 2011, 12:52 PM
RichaKulkarni
Thanks Francis
It worked !!!!! Good One


Thanks,
Richa

WebFOCUS 7.6
Windows, All Outputs