|
You can easily circumvent this problem by coding as follows: c eval headdesc = Center('Fixed Model FY ' + c %subst(%editc(fiscalYr - 1:'X'):%len(%editc(fiscalYr - 1:'X') - 4) :40) So if the expression %editc(fiscalYr - 1:'X") returns 02001, the %len will be 5. Subtracting 4 from %len starts the substring in position 2. Thus you should get Fixed Model FY 2001 as I think you want. Charles L.Massoglia, President Massoglia Technical Consulting, Inc. cmassoglia@voyager.net In MI 517-676-9700 or in NC 919-363-9395 ----- Original Message ----- From: "Buck Calabro" <Buck.Calabro@commsoft.net> To: <rpg400-l@midrange.com> Sent: Tuesday, 26 February, 2002 10:23 Subject: RE: Strange behavior w/%editc() > Mark W wrote > > >I have the following defined: > > Dfclprd s 6 0 DTAARA(fclprd) > > DdsFiscal ds 6 > > D fiscalYr 4 0 overlay(dsfiscal:*next) > > D fiscalMo 2 0 overlay(dsfiscal:*next) > > > >It is used in this way: > > c eval headdesc = Center('Fixed > >Model FY ' + > > c %editc(fiscalYr - 1:'X'):40) > > > >The output looks like this: > > Fixed Model FY 02001 > > This is part and parcel of the 'expression' rules for EVAL. > Basically, 'fiscalYr - 1' is an expression. In order to hold all the > possible digits of the resulting value, the compiler applies some rules to > create an 'intermediate' or 'work' variable. The %editc() is working > against the work variable. > > I don't have the manual reference handy, but it's in the section on numeric > precision in the RPG Reference. > > --buck > > "Thousands of geniuses live and die undiscovered -- > either by themselves or by others." -Mark Twain > _______________________________________________ > This is the RPG programming on the AS400 / iSeries (RPG400-L) mailing list > To post a message email: RPG400-L@midrange.com > To subscribe, unsubscribe, or change list options, > visit: http://lists.midrange.com/cgi-bin/listinfo/rpg400-l > or email: RPG400-L-request@midrange.com > Before posting, please take a moment to review the archives > at http://archive.midrange.com/rpg400-l. > >
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.