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