Vielleicht hilft dir ja folgendes CLP ein wenig:
Anstelle der Testausgabe kannst du ja PROG und LIB entsprechend auswerten und abfragen.Code:PGM PARM(&START &PROG) DCL VAR(&START) TYPE(*CHAR) LEN(10) DCL VAR(&PROG) TYPE(*CHAR) LEN(10) /* API-FELDER */ DCL VAR(&RCV) TYPE(*CHAR) LEN(9999) DCL VAR(&RCVLEN) TYPE(*CHAR) LEN(4) DCL VAR(&RCVFMT) TYPE(*CHAR) LEN(8) VALUE(CSTK0100) DCL VAR(&JOBID) TYPE(*CHAR) LEN(56) DCL VAR(&JOBFMT) TYPE(*CHAR) LEN(8) VALUE(JIDF0100) DCL VAR(&ERRCD) TYPE(*CHAR) LEN(128) /* ARBEITSFELDER */ DCL VAR(&NOCENT) TYPE(*DEC) LEN(9) DCL VAR(&OFFSET) TYPE(*DEC) LEN(9) DCL VAR(&ENTRY) TYPE(*DEC) LEN(9) DCL VAR(&ENTLEN) TYPE(*DEC) LEN(9) DCL VAR(&POS) TYPE(*DEC) LEN(9) DCL VAR(&PGM) TYPE(*CHAR) LEN(10) DCL VAR(&LIB) TYPE(*CHAR) LEN(10) /* INIT'S */ CHGVAR VAR(%BIN(&RCVLEN)) VALUE(9999) CHGVAR VAR(%BIN(&ERRCD 1 4)) VALUE(128) CHGVAR VAR(%BIN(&ERRCD 5 4)) VALUE(0) CHGVAR VAR(%SST(&JOBID 1 10)) VALUE('*') CHGVAR VAR(%SST(&JOBID 43 2)) VALUE(X'0000') CHGVAR VAR(%BIN(&JOBID 45 4)) VALUE(1) CHGVAR VAR(%SST(&JOBID 49 8)) + VALUE(X'0000000000000000') /* AUFRUF */ CALL PGM(QWVRCSTK) PARM(&RCV &RCVLEN &RCVFMT + &JOBID &JOBFMT &ERRCD) IF COND(%BIN(&ERRCD 5 4) > 0) THEN(DO) SNDPGMMSG MSGID(%SST(&ERRCD 9 7)) MSGF(QCPFMSG) + MSGDTA(%SST(&ERRCD 17 112)) TOPGMQ(*PRV) + MSGTYPE(*ESCAPE) ENDDO /* ALLES OK */ CHGVAR VAR(&NOCENT) VALUE(%BIN(&RCV 17 4)) CHGVAR VAR(&OFFSET) VALUE(%BIN(&RCV 13 4) + 1) /* SCHLEIFE ÜBER EINTRÄGE */ STACK: CHGVAR VAR(&NOCENT) VALUE(&NOCENT - 1) IF COND(&NOCENT >= 0) THEN(DO) CHGVAR VAR(&ENTLEN) VALUE(%BIN(&RCV &OFFSET 4)) CHGVAR VAR(&POS) VALUE(&OFFSET + 24) CHGVAR VAR(&PGM) VALUE(%SST(&RCV &POS 10)) CHGVAR VAR(&POS) VALUE(&POS + 10) CHGVAR VAR(&LIB) VALUE(%SST(&RCV &POS 10)) /* TESTAUSGABE */ SNDPGMMSG MSGID(CPF9897) MSGF(QCPFMSG) MSGDTA(&PGM + *CAT &LIB) TOPGMQ(*PRV) MSGTYPE(*INFO) CHGVAR VAR(&OFFSET) VALUE(&OFFSET + &ENTLEN) GOTO CMDLBL(STACK) ENDDO ENDPGM
Zu beachten ist lediglich, dass der 1. Stackeintrag das eigene Programm ist !
![[NEWSboard IBMi Forum]](images/duke/nblogo.gif)



Mit Zitat antworten
Bookmarks