On 2021-04-08 5:00 p.m., Danner, Duane wrote:
I am passing in a numeric field that is a 8 digit date, I want it to convert to *USA MM/DD/YYYY

D CHARDATE1 S 8 0 INZ(01151949)
D USADATE S D DATFMT(*USA)

C MOVE DATEPO CHARDATE1
C EVAL USADATE = %DATE(CHARDATE1: *usa )
C MOVE USADATE ORDDAT1

Passing is a date into DATEPO of 20210325

What I need is ORDDAT1 to come back as 03/25/2021


Duane, the format parameter for %DATE says what format the character value is in. CHARDATE1 '20210325' is in *ISO format. But since your CHARDATE1 field doesn't have separators, you have to specify the format as *iso0.

C EVAL USADATE = %DATE(CHARDATE1: *iso0 )

But you don't need CHARDATE1. You can use %DATE with the numeric field. (And then you don't put the '0' separator, since numeric fields can't have separators.)

C EVAL USADATE = %DATE(DATEPO: *iso )


As an Amazon Associate we earn from qualifying purchases.

This thread ...

Follow-Ups:
Replies:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].

Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.