
Zitat von
kuempi von stein
es sollte wirklich per apicall gehen.
ein cl was ne liste erstellt und die dann eingelesen wird geht leider leider nicht....
mein chef hat diesen weg ausdrücklich verneint.
Darfst Du überhaupt kein CL verwenden oder nur keines das eine Liste erstellt?
Mit CL gibt es nämlich einen ganz einfachen Weg das rufende Programm zu ermitteln, über Send/Receive Message.
Hier das CL-Programm, vielleicht hilfts:
P$CALLED wird als Parameter übergeben, und P$CALLER ist das Programm im Call-Stack, für das das rufende Programm ermittelt werden soll.
Code:
PGM PARM(&P$CALLER +
&P$CALLED)
DCL VAR(&P$CALLER) TYPE(*CHAR) LEN(10)
DCL VAR(&P$CALLED) TYPE(*CHAR) LEN(10)
DCL VAR(&MSGKEY) TYPE(*CHAR) LEN(4)
DCL VAR(&SENDER) TYPE(*CHAR) LEN(80)
SNDPGMMSG MSG('TEST') TOPGMQ(*PRV (&P$CALLED)) +
MSGTYPE(*RQS) KEYVAR(&MSGKEY)
RCVMSG PGMQ(*PRV (&P$CALLED)) MSGKEY(&MSGKEY) +
SENDER(&SENDER)
CHGVAR VAR(&P$CALLER) VALUE(%SST(&SENDER 56 10))
ENDE: ENDPGM
Birgitta
Bookmarks