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:
Code:
     call mynewpgm parm('1' '01304' '000')
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.

Was mache ich falsch?

Schöne Grüße
Artur Janzen