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



Use a DS if the num3 is always the last 3 positions.
     D                 ds                                      
     Dchar10                         10a                       
     Dnum3                            3s 0 overlay(char10:8)   
      /free                                                    
         char10='aaaaaaaaaa';                                  
         num3=123;                                              
// result is aaaaaaa123


Thanks,
Tommy Holden


-----Original Message-----
From: rpg400-l-bounces@xxxxxxxxxxxx
[mailto:rpg400-l-bounces@xxxxxxxxxxxx] On Behalf Of Lim Hock-Chai
Sent: Wednesday, November 15, 2006 11:00 AM
To: RPG programming on the AS400 / iSeries
Subject: RE: evalr pad 0

What if char10 already has a value of 'aabbccddee' and I want the result
to be aabbccd123, assuming that num3 has a value of 123.

Below is what I came up with.  Anything easier than below?

   %subst(char10                           
         :%len(char10)-%len(num3)+1       
         :%len(num3)) = %editc(num3 :'X');
 
 or
  
   char10 = %subst(char10:1:%len(char10)-%len(num3)) + 
           %editc(num3 :'X');                         


-----Original Message-----
From: rpg400-l-bounces@xxxxxxxxxxxx
[mailto:rpg400-l-bounces@xxxxxxxxxxxx] On Behalf Of Holden Tommy
Sent: Wednesday, November 15, 2006 10:53 AM
To: RPG programming on the AS400 / iSeries
Subject: RE: evalr pad 0

As someone else suggested (forgot who...) I would go with:
/free 
   evalr char10 = %editc(num3:'X');
   char10 = %xlate(' ':'0':char10); 


Thanks,
Tommy Holden


-----Original Message-----
From: rpg400-l-bounces+tommy.holden=hcahealthcare.com@xxxxxxxxxxxx
[mailto:rpg400-l-bounces+tommy.holden=hcahealthcare.com@xxxxxxxxxxxx] On
Behalf Of Lim Hock-Chai
Sent: Wednesday, November 15, 2006 10:11 AM
To: RPG programming on the AS400 / iSeries
Subject: RE: evalr pad 0

Thanks.  
Strange that compiler error out when do below "evalr char10 = *all'0' +
%editc(num3 :'X');"  

Any suggestion on evalr without blank out the left?

-----Original Message-----
From: rpg400-l-bounces@xxxxxxxxxxxx
[mailto:rpg400-l-bounces@xxxxxxxxxxxx] On Behalf Of Wayne McAlpine
Sent: Wednesday, November 15, 2006 9:20 AM
To: rpg400-l@xxxxxxxxxxxx
Subject: Re: evalr pad 0

This also will give you what you want:

    /free
      char10=*all'0';
      evalr char10=char10 + %editc(num3:'X');
    /end-free



Lim Hock-Chai wrote:
Question 1: just curious as why compiler would give me this error
below?
   *RNF7421 30      5 000500  Operands are not compatible with the
type
of operator.

D num3            s              3  0 inz(123)
D char10          s             10            
 /free                                        
                                              
   evalr char10 = *all'0' + %editc(num3 :'X');
   *inlr = *on;      
                         
 /end-free                                    


 
Question 2: Without hardcode length of any field, anybody know of an 
easier way to evalr without pad blank on the left ()?
  Below is what I came up with and they are kind of ugly:
  %subst(char10                           
        :%len(char10)-%len(num3)+1       
        :%len(num3)) = %editc(num3 :'X');

or
 
  char10 = %subst(char10:1:%len(char10)-%len(num3)) + 
           %editc(num3 :'X');                         

--
This is the RPG programming on the AS400 / iSeries (RPG400-L) mailing
list To post a message email: RPG400-L@xxxxxxxxxxxx To subscribe,
unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/rpg400-l
or email: RPG400-L-request@xxxxxxxxxxxx
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@xxxxxxxxxxxx To subscribe,
unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/rpg400-l
or email: RPG400-L-request@xxxxxxxxxxxx
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 ...

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.