|
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
This mailing list archive is Copyright 1997-2026 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.