View Full Version : PList, Parm und Call in Free.
Wie sieht dieser Code in Free aus?
C Call 'CT0001CL'
C parm USER PUSER 10
C parm 'QPGMR' PCHK 10
C parm XQPGMR 1
Und welchen Ersatz gibt es zu PList in Free?
C *ENTRY PLIST
C PARM PWORT
C PARM PKZ
C PARM XMBR
C PARM XMBRART
C PARM PIREF 70
andreaspr@aon.at
14-07-16, 11:51
Um PGM wie proceduren aufzurufen musst du das PGM einfach nur als Prototype definieren
DCL-PR deinName EXTPGM('CT0001CL');
parm1 char(10) OPTIONS(*VARSIZE) CONST;
parm2 char(10) OPTIONS(*VARSIZE) CONST;
parm3 char(1) const;
Um die *ENTRY durch Prototype ersetzen zu können, packst du den Source deines PGMs in eine Prozedur und definierst diese in den H-Specs als Haupteinstiegspunkt
CTL-OPT MAIN(deinEingang);
DCL-PROC deinEingang;
DCL-PI *n EXTPGM;
parm1 char(10);
parm2 char(10);
END-PI;
Je nach Release gibt es Unterschiede in der Deklaration.
Die oben beschriebene Variante geht ab 7.1.
lg Andreas
dschroeder
14-07-16, 11:52
Den CALL kann man nicht direkt umsetzen. Du musst einen Prototype definieren kannst das dann mit call ct0001cl(puser:chk:xqpgmr) aufrufen.
Die Entry Plist solltest du so umsetzen, dass die Variablen direkt deklariert werden,
z.B.:
dcl-pi *n;
pwort char(...);
pkz packed(5:2);
end-pi
Ich kenne natürlich nicht deine konkreten Defitionen! Du kannst die Parameter in der dcl-pi-Anweisung auch mit like definieren, wenn du eine passende Referenzvariable hast.
Dieter