Zitat 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