|
I'm surprised that the program compiles, because I didn't think that %Int worked on character variables and on my box I can't compile a program with that line in. However, have you tried using EVALR for the assignment? I would think that the interim field that the compiler uses is larger than 3 digits so when %edit converts the result back to a character string it'll be something like "0000000000002" and as string assignments work left to right by default you're getting "000". Using EVALR would assign from the right to give you "002". It's just a guess. All the best Jonathan -----Original Message----- From: rpg400-l-bounces@xxxxxxxxxxxx [mailto:rpg400-l-bounces@xxxxxxxxxxxx] On Behalf Of Don Wereschuk Sent: 21 November 2006 16:26 To: RPG programming on the AS400 / iSeries Subject: Using %editc() Hi All: I'm trying to use %editc() to add 1 to a 3 character field but it is not working quite right. I just can't see what I am doing wrong. The code is as follows: HSISN3 = %editc((%int(HSISN3) + 1):'X'); HSISN3 is defined as 3 character. The initial value is '001'. I was hoping after the calc that the value would be '002'. Instead I get '000'. The program is compiled as *ZONED. Can anyone help? TIA ****************************************** Don Wereschuk ISD - Programmer/Analyst Simcoe Parts Service Inc. Phone: 705-435-7814 Ex: 302 Fax: 705-435-6746 mailto:dwereschuk@xxxxxxxxxxxxxxx ****************************************** "Save the Cheerleader - Save the world" - Hiro Nakamura
As an Amazon Associate we earn from qualifying purchases.
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.