I have no expertise but here's the module PI spec
d getnewAgentNumber... 
d                 pi                  Like(*inLR) 
It's returning an indicator and the subroutine is trying to receive an 
agent number...
From:   "Jerry C. Adams" <midrange@xxxxxxxx>
To:     "'RPG programming on the IBM i / System i'" 
<rpg400-l@xxxxxxxxxxxx>, 
Date:   04/02/2012 08:44 AM
Subject:        RE: procedure question
Sent by:        rpg400-l-bounces@xxxxxxxxxxxx
Tommy,
I'll defer to your expertise any day, but that's not what I see.  What I 
see
is newAgentNumber returning a signed (i.e., unpacked) value.  But eAgentNo
is defined as 11 0, which makes it packed.
Jerry C. Adams
IBM i Programmer/Analyst
Any man who goes to a psychiatrist ought to have his head examined. - 
Samuel
Goldwyn
--
A&K Wholesale
Murfreesboro, TN
615-867-5070
-----Original Message-----
From: rpg400-l-bounces@xxxxxxxxxxxx [mailto:rpg400-l-bounces@xxxxxxxxxxxx]
On Behalf Of Tommy.Holden@xxxxxxxxxxxxxxxxxxxxx
Sent: Monday, April 02, 2012 8:35 AM
To: RPG programming on the IBM i / System i
Subject: Re: procedure question
Sent too soon...but your call is setup to receive a agent number. 
Indicator <> agent number...
From:   murali dhar <hydchap1@xxxxxxxxx>
To:     RPG programming on the IBM i / System i <rpg400-l@xxxxxxxxxxxx>, 
Date:   04/02/2012 08:30 AM
Subject:        procedure question
Sent by:        rpg400-l-bounces@xxxxxxxxxxxx
I am trying to replace subroutine &local procedure in my RPGLE program to
create a module. In my RPGLE I have a subroutine and use a local procedure
to return the value  of AgentNmber(AGENOQ). I wrote a module  to combine
both subroutine and local procedure into one and trying to return same 
agent
no. I get the error "the type of factor 2 is not the same as as the type 
of
return value of procedure"" in the code  (return AgentNOQ ; ) . Please 
help
to correct the 
error. 
 
 
 My RPGLE:
                                                                 begsr 
@NewAgentNo; 
 
 // local procedure newAgentNumber allocates the next Agent 
 eAgentNo = newAgentNumber(eBrandCode:eProductCode) ; 
endsr;
 
 p newAgentNumber... 
 p                 b 
 
 d                 pi            11s 0 
 d brand                          2a   value 
 d product                        3a   value 
 
  /free 
 
   if not %open(CVSFile) ; 
      open CVSFile ; 
   endif ; 
 
   chain(e) (brand:product) CVSFile ; 
   dow %status(CVSFile) = 1218 ; 
       chain(e) (brand:product) CVSFile ; 
   enddo ; 
 
 
   if %found(CVSFile) ; 
      AGENOQ += 1 ; 
      update RCVSFile ; 
   endif; 
 
   return AGENOQ ; 
 
  /end-free 
 
 p newAgentNumber... 
 p                 e 
========================
=======================================================================
 
My module:
------------
p getnewAgentNumber... 
p                 b                   Export 
 
d getnewAgentNumber... 
d                 pi                  Like(*inLR) 
d eClientNo                     11  0 
d eBrandCode                    2a 
d eProductCode                   3a 
d eAgentNo                      11  0 
d x_errorDS                           LikeDS(dsErrorInfo_Template)
 *; 
 
 /Free 
/free 
 
   if not %open(CVSFile) ; 
      open CVSFile ; 
   endif ; 
 
   chain(e) (brand:product) CVSFile ; 
   dow %status(CVSFile) = 1218 ; 
       chain(e) (brand:product) CVSFile ; 
   enddo ; 
 
 
   if %found(CVSFile) ; 
      AGENOQ += 1 ; 
      update RCVSFile ; 
   endif;
   eval eAgentNo = 
AGENOQ; 
 
   return AgentNOQ ; 
 
 
            if %error; 
            x_errorDS.error = *on; 
             doError('AAA0001':x_errorDS); 
             return *off; 
 
             Else; 
             return *on; 
             Endif; 
             close CVSFile; 
    /End-Free 
   p                 e 
--
This is the RPG programming on the IBM i / System i (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 IBM i / System i (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.