PDA

View Full Version : *entry Plist



Anderer, Ludwig
19-03-09, 14:04
Hallo Rpg'ler/innen

Ich versuche verzweifelt *entry plist in einem Free-Rpg-Pgm umzusetzen.
PR + PI sind soweit klar. jedoch komme ich mit dem ExtPgm nicht zurecht.
Mein unten abgebildetes PGm wird aus einem anderen PGM (hier DIW210R ILE) aufgerufen. Das Pgm liest eine Datei lt. übergebenem PArm und ergänzt das P1PANZ-Feld mit dem ermittelten Wert.
Das aufgerufene Pgm ISt DIW211R.
DPARM1 PRExtPgm('DIW211R')
d P1FA 30
d P1KDNR 10
dd P1PANZ 290
d*
dPARM1 PI
d P1FA 30
d P1KDNR 10
d P1PANZ 290
Die Meldung nach der Umwandlung lautet:
RNF3776 Externes Programm im Prototyp für Hauptprozedur ist nicht identisch mit dem Programm, das erstellt wird.

Für eine Info schon einmal herzlichen Dank !

Khholm
19-03-09, 15:05
Diese Meldung gibt es ganau dann, wenn das Programm beim Umwandeln einen anderen Namen erhält, siehe unten, im Programm selber beispielsweise steht als extpgm VT415

bei Umwandeln aber:

RPG-Binderprogramm erstellen (CRTBNDRPG)

Auswahl eingeben und Eingabetaste drücken.


Programm . . . . . . . . . . . . > VT417 Name, *CTLSPEC


dann kommt diese Fehlermeldung

Karl-heinz

Anderer, Ludwig
19-03-09, 15:22
Hallo Karl-Heinz,

das war genau der richtige Tip.
Ich habe das Original in DIW211RT kopiert und auch so immer umgewandelt.
Übrigens verstehe ich jetzt auch was B. Hauser in ihren Dokumenten mit MYPGM meint.

Danke für die schnelle Antwort

Jetzt habe ich nachdem die Umwandlung OK (00) ist ein neues Problem.
Bei der Ausführung bekomme ich die Meldung > Zeiger nicht auf die Position gesetzt auf die Bezug genommen wird.
Ich mache einen interaktiven Aufruf wie folgt:
CALL PGM(DIW211R) PARM('01017400025777917000185100000')

Frage: wo klemmt es jetzt !? Im Debug zeigt er im ersten Feld
Invers weiss, Ziffer, Invers weiss. Das sieht mir nach einem Hex-Wert aus.
P1FA = 0 .

Fuerchau
19-03-09, 16:51
Du erwartest im PI 3 Parameter von bestimmter Ausprägung.
Du übergibst aber nur 1 Parameter.

Anderer, Ludwig
20-03-09, 07:16
Wenn ich das richtig verstehe, läßt PR PI in der dargestellten Ausprägung keinen Komplettsting zu

Ich habe unter *entry Plist immer den dargestellten Parm
in seiner gesamten Länge wie abgebildet übergeben und in den D-Bestimmungen entsprechend aufgelöst.
Wie wird diese Übergabe dann abgebildet !?

Fuerchau
20-03-09, 11:12
Definere eine DS und gib diese als einzigen Parameter an.

Anderer, Ludwig
20-03-09, 12:15
Hallo Herr Fuerchau,

habe heute Morgen genau diesen Vorschlag nach einiem herumprobieren abgebildet.
Anbei das Programm

DDIW211E PRExtPgm('DIW211R')
d EPArm0 29
d*
dDIW211E PI
d EParm0 29
d*
d/Copy$DIW211E
***************** Datenanfang ************************************************** *****************
D* Parm-Übergabe zw. DIW210R + DIW211R Aufruf von DIW210R
D* erstellt am 19.03.2009 von: L. Anderer
D*
DEParm1 DS Inz
D P1FA 1 3 0 Firma
D P1KDNR 4 10 KundenNr.
D P1ANR 11 17 0 AuftragsNr
D P1ARTN 18 24 ArtikelNr.
D P1PANZ 25 29 0 Anz.Paletten
D*
// R e c h e n b e s t i m m u n g e n
//*************************************
Eval Eparm1 = Eparm0;
// Lesen NVEBPP
Exsr Sub100;

// ZYKLUS-ENDE
Eval Eparm0 = Eparm1;
Eval *InLr = *On;
//*************************************

Danke noch einmal für die Hilfe !!

L. Anderer