mal abgesehen davon, dass das das Procedure Interface ist...
die Deklarationsart PI, PR und DS stehen auf gleicher Stufe, das heißt, dass der Prototyp, das Interface, die Datenstruktur jeweils da fertig ist, wo eine neue Deklarationsart angegeben ist. Das heißt dein PI endet in der DS Zeile, die Procedure gibt also nix zurück und will auch nix haben, deshlab der Fehler.
Es geht also nicht ohne eine zugehörige Deklaration!

Was ich da mache ist folgendes:

Prototyp in Copy Strecke ablegen und dort eine Datenstruktur als Pseudtyp deklarieren auf die man dann Bezug nimmt (RPG ist halt eine Huddel Programmiersprache, die einen zu Workarounds zwingt) also so in etwa.

/IF NOT DEFINED (MYMOD_QRPGLEH)
/DEFINE MYMOD_QRPGLEH
/************************************************** *******************/
D MyProc PR EXTPROC('MYMOD_MyProc')
D MyDS like(myDSType)

D myDSType e DS extname(myFile)
d based(dummy)
d qualified
/ENDIF





Zitat Zitat von Bratmaxxe Beitrag anzeigen
Code:
 
Der Prototyp
 
     P GET_BED_GEW     B                   EXPORT
     D GET_BED_GEW     PI
     D   PADS        e ds                  ExtName(MWKCREL1)
     D   PAGEW                       15  2
     D   PAREW                       15  2
     D*---------------------------------------------------------------------
      *
     C
      *
     C                   RETURN
     D*---------------------------------------------------------------------
     P GET_BED_GEW     E

Bei der Umwandlung gibts einen Fehler, dass mehr Parameter übergeben werden, als die Prozedur es zulässt.

Wahrscheinlich beißen sich die LikeRec und die Deklaration des Parameters im Protoyp (ExtName(MWKCREL1) )

Wo liegt der Fehler ?

Gruß
Bratmaxxe