× The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.



Instead of using
 - 4
shouldn't you use
- %len(fiscalYr)


Rob Berendt
--
"They that can give up essential liberty to obtain a little temporary
safety deserve neither liberty nor safety."
Benjamin Franklin



                    "Charlie
                    Massoglia"              To:     <rpg400-l@midrange.com>
                    <cmassoglia@voyag       cc:     <MWalter@hanoverwire.com>, 
<Buck.Calabro@commsoft.net>
                    er.net>                 Fax to:
                    Sent by:                Subject:     Re: Strange behavior 
w/%editc()
                    rpg400-l-admin@mi
                    drange.com


                    02/26/2002 11:45
                    AM
                    Please respond to
                    rpg400-l






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.
>
>

_______________________________________________
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 thread ...

Follow-Ups:

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.