|
On 12/27/05, Scott Klement <rpg400-l@xxxxxxxxxxxxxxxx> wrote:
>
> V5R2:
> numFld = %int(%char(dateFld:*YMD0));
>
Ok, reply #2: This works when dateFld is a non-array variable, but not when
it is an array element. Note the following two test snippets I've worked
with (the only difference between the two is that first uses a non-array
standalone date field and the second defines a date array):
Program TEST1:
d DateUSA s d DatFmt( *usa ) Inz
d YYMMDD60 s 6 0
/free
DateUSA = d'2005-12-25' ;
YYMMDD60 = %int(%char(DateUSA:*YMD0 ));
*inLR = *On ;
DUMP(a) ;
/end-free
Program TEST2:
d DateUSA s d DatFmt(*usa) Inz Dim(32)
d YYMMDD60 s 6 0
/free
DateUSA(1) = d'2005-12-25' ;
YYMMDD60 = %int(%char(DateUSA(1):*YMD0 ));
*inLR = *On ;
DUMP(a) ;
/end-free
Program TEST1 works, program TEST2 does not. TEST2 issues RNQ0114 "The year
portion of a Date or Timestamp value is not in the correct range (C G D F)"
for the statement doing the %int(%char. The dump shows DATEUSA(1) set to
'12/25/2005' and YYMMDD60 = *zeros.
I searched APARs and PTF cover letters but found nothing regarding this
issue. This is v5r2.
TIA,
Dan
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2025 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.