|
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 mailing list archive is Copyright 1997-2025 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.