Liebe Community,
ich möchte aus einem OPM RPG-Programm heraus ein neues ILERPG-Programm aufrufen und Parameter übergeben. Komischerweise werden die Werte im aufzurufenden Programm nicht empfangen. Wenn ich im Debugger schaue, dann haben die Parameter-Werte nur ein "?". Wenn ich das Programm aber von der Befehlszeile aufrufe, dann funktioniert es.
Das aufzurufende Programm ist komplett in *FREE geschrieben.
Hier einige Statements des Programmes:
Code:Ctl-Opt Actgrp(*new) BndDir('*LIBL/MYBNDD') DftActGrp(*no) Main(Main); . . . Dcl-PR Main Extpgm; Parameter1 zoned(1); Parameter2 zoned(5); Parameter3 zoned(3); End-PR; Dcl-Proc Main; // Programm-Interface Dcl-PI Main; Parameter1 zoned(1); Parameter2 zoned(5); Parameter3 zoned(3); End-PI; . . . End-Proc;
Und das OPM-Programm, welches das andere PGM aufruft, sieht so aus:
Code:. . . d myNewPgm pr extpgm('MYNEWPGM') d parameter1 1 0 d parameter2 5 0 d parameter3 3 0 . . . parameter1 = 1; parameter2 = 1304; parameter3 = 0; myNewPgm(parameter1:parameter2:parameter3); . . .
Beim Aufruf des neuen Programms über die Befehlszeile, muss ich auch unbedingt diese Schreibweise einhalten, damit es funktioniert:
Ich bin Neuling auf dem ILE-Gebiet. Das ist mein erstes ILE-Programm an das ich Parameter übergeben möchte. Habe zwar schon Prozeduren mit Parameterübergabe geschrieben - das funktioniert auch wunderbar.Code:call mynewpgm parm('1' '01304' '000')
Was mache ich falsch?
Schöne Grüße
Artur Janzen
![[NEWSboard IBMi Forum]](images/duke/nblogo.gif)



Mit Zitat antworten

Bookmarks