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



Hi Birgitta,

My guess is that it is either Activation Groups, a PTF issue or something in 
the code that we are not seeing :-)

Since it looks like you are working on converted RPG III programs my guess is 
that you are compiling with DFTACTGRP(*YES) but, just in case, which AG is the 
RPG IV program running in? Was DFTACTGRP(*YES) specified on the CRTBNDRPG or 
was it DFTACTGRP(*NO) with ACTGRP(*CALLER)? MCH3601 usually crops up when AGs 
are reclaimed or some such and MCH3601 will occur if you have a "true" ILE 
program running in the default AG and do a RCLRSC.

I am on V5R3 and the following trivial example works fine for me (I think it is 
managing to do what you were having a problem with). I suggest you give it a 
try and see if you also have a problem with it - might help hone in on the 
problem.

1.  I created a PF named DSPARMFL from the following DDS:

 R DSPARMFL          
   PARMFL         1  

2. I created an RPG3 program (and you have NO idea how much that hurt me <g>) 
called RPG3PGM with the following:

IDSPARM    E DSDSPARMFL                       
 *                                            
C           *ENTRY    PLIST                   
C                     PARM           DSPARM   
C                     MOVE 'A'       PARMFL   
C                     MOVE *ON       *INLR    
C                     RETRN                   

3. I created an RPG4 program with the following (created using CRTBNDRPG and 
DFTACTGRP(*YES) ):

D DsParm        E DS                  Extname(DSPARMFL) 
                                                        
D PgmName         S             10                      
                                                        
D CallToRPG3      PR                  ExtPgm(PgmName)   
D  ParmIsADS                          LikeDS(DSParm)    
 /Free                                                  
      PgmName = 'RPG3PGM' ;                             
      CallToRPG3(DSParm) ;                              
      Dsply ParmFl ;                                    
      *InLR = *On ;                                     
 /End-Free                                              

HTH

Paul





----- Original Message ----- 
From: "HauserSSS" <Hauser@xxxxxxxxxxxxxxx>
To: "RPG programming on the AS400 / iSeries" <rpg400-l@xxxxxxxxxxxx>
Sent: Friday, August 05, 2005 5:50 AM
Subject: AW: Problems with Prototyping and Calling RPGIII Programs


> They are identical, because they are both defined in a copy member
> that is embedded in every RPGIII and RPGIV source.
> In both members an external datastructure is defined on the same physical
> file.
> 
> We recompiled, we signed off but we get the same failure. MCH3601!
> It was not possible to step into the RPGIII program with the debugger.
> The failure occured as soon as the call was performed.
> 
> The funny thing is: after replacing the prototyped call
> through a fixed format CALL the program worked as expected.
> 
> My problem is, my manager wants an explication and I really have no idea
> what happened.
> He already was skeptic when we started with RPGIV!!!
> And such things will confirm his opinion ... with RPGIII we'd not get these
> problems!
> 
> Birgitta
> 
> 
> 
> -----Ursprungliche Nachricht-----
> Von: rpg400-l-bounces@xxxxxxxxxxxx
> [mailto:rpg400-l-bounces@xxxxxxxxxxxx]Im Auftrag von M. Lazarus
> Gesendet: Donnerstag, 4. August 2005 23:51
> An: RPG programming on the AS400 / iSeries
> Betreff: RE: Problems with Prototyping and Calling RPGIII Programs
> 
> 
>   It sounds like there's a buffer mismatch.  Check to make sure the fields
> as defined in the /copy are the same in both the OPM and ILE programs.
> 
>   -mark
> 
> At 8/4/05 10:30 AM, you wrote:
> >Then either you have an upper/lower case program name in there or you
> >installed PTF's that screwed things up for you.
> >I was thinking of procedures, apparently you don't have that same
> >restriction with program prototypes.
> >
> >-Bob Cozzi
> >www.RPGxTools.com
> >If everything is under control, you are going too slow.
> >- Mario Andretti
> >
> >
> >-----Original Message-----
> >From: rpg400-l-bounces+cozzi=rpgiv.com@xxxxxxxxxxxx
> >[mailto:rpg400-l-bounces+cozzi=rpgiv.com@xxxxxxxxxxxx] On Behalf Of Hauser,
> >Birgitta
> >Sent: Thursday, August 04, 2005 9:19 AM
> >To: 'rpg400-l@xxxxxxxxxxxx'
> >Subject: RE: Problems with Prototyping and Calling RPGIII Programs
> >
> > >>Your "MyPgm" variable cannot be a variable on the ExtPgm keyword.
> > >>It can be a named constant or a literal.
> >
> >Why???
> >
> >The following extract is from RPGIV Reference:
> >EXTPGM(NAME):
> >The EXTPGM keyword indicates the external name of the program whose
> >prototype is being defined.
> >The name can be a character constant or a character variable.
> >When EXTPGM is specified, then a dynamic call will be done.
> >
> >It works for all RPGIV programs that have the same parameter list.
> >It also worked in the original program version for the RPGIII programs.
> >This morning we recompiled all affected programs on our test maschine,
> >but the RPGIII programs even after recompiling failed with MCH3601
> >
> >Birgitta
> 
> --
> 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.