You still need to convert it to character because the source and target
fields have different lengths (the former is 8.0 and latter is 7.0).
Otherwise you'll get the message "RNQ0103 - The target for a numeric
operation is too small to hold the result (C G D F)".

-----Original Message-----
From: rpg400-l-bounces@xxxxxxxxxxxx [mailto:rpg400-l-bounces@xxxxxxxxxxxx]
On Behalf Of BMay@xxxxxxxxx
Sent: Friday, June 05, 2009 11:01 AM
To: RPG programming on the IBM i / System i
Subject: RE: Convert date from YYYYMMDD to CYYMMDD format

The conversion to character is only required if he is not on V5R3 or
better. At V5R3, the %DEC built-in function was updated to handle dates
directly.

Brian May
Project Lead
Management Information Systems
Garan, Incorporated
Starkville, Mississippi

Young i Professionals
http://www.youngiprofessionals.com



"Rex Capio" <rex_capio@xxxxxxxxxxxxxxxxxxxxx>
Sent by: rpg400-l-bounces@xxxxxxxxxxxx
06/05/2009 09:58 AM
Please respond to
RPG programming on the IBM i / System i <rpg400-l@xxxxxxxxxxxx>


To
"'RPG programming on the IBM i / System i'" <rpg400-l@xxxxxxxxxxxx>,
<rpgnext@xxxxxxxxxxxx>
cc

Subject
RE: Convert date from YYYYMMDD to CYYMMDD format






You need to convert first the date to character then to decimal:

IDELNB = %dec(%char(%date(STARTDATE:*ISO):*CYMD0):7:0)

HTH




-----Original Message-----
From: rpg400-l-bounces@xxxxxxxxxxxx [mailto:rpg400-l-bounces@xxxxxxxxxxxx]
On Behalf Of Peter_Vidal@xxxxxxxx
Sent: Friday, June 05, 2009 10:23 AM
To: rpgnext@xxxxxxxxxxxx; rpg400-l@xxxxxxxxxxxx
Subject: Convert date from YYYYMMDD to CYYMMDD format

Hi list!

*BACKGROUND*
I have this line of code from Bob Cozzi's website that helps to convert a
date from YYYYMMDD to a YYMMDD format:
http://www.rpgiv.com/rpgivforum/view?SID=20070821133326694527&NRL=10&KW=myYY

YYMMDD

myYYMMDD = %char(%date(myYYYYMMDD:*ISO0) : *YMD0)

Due to the nature of my source and target fields formats (STARTDATE [8.0]
and IDELNB [7.0]), I am using %DEC. In addition, the target field format
must be CYYMMDD so I am using *CYMD0. As a result, I modified the line a
little bit as follows:

IDELNB = %dec(%date(STARTDATE:*ISO0):*CYMD0)

*PROBLEM*
The issue that I have is that when I compile I have this message:
RNF7514 20 2 A Date, Time or Timestamp separator is not allowed with
a numeric entry.

These 2 errors are pointing to 2 different lines so that is why I have
errors listed but if I have this one cleared up, I will know how to
resolve the other one.

What I am doing wrong?

TIA,

PETER VIDAL
MAPICS IT TECHNICAL SUPPORT TEAM / SR SYSTEM ANALYST
10540 Ridge Rd., Suite 203, New Port Richey, FL 34654-5111
Tel:727-849-9999, x2414 /// Fax:727-815-3120
WWW.PALL.COM

"It's not the years in your life that count. It's the life in your years."
Abraham Lincoln (1809 - 1865)


----------------------------------------------------------------------------
----

Attention:

This communication may contain information that is confidential,
privileged and/or exempt from disclosure under applicable law.
If you are not the intended recipient, please notify the sender
immediately and delete the original, all attachments, and all
copies of this communication.


----------------------------------------------------------------------------
----

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.