Hallo,
geht bestimmt auch einfacher. Aber wir haben dafür ein kleines C-Modul was nach Aufruf einfach die aktuelle Lib zurückgibt. Muss aber als Modul eingebunden wurden. Da ein normaler Call mangels Lib ja nicht geht:
Code:
void GET_LIB(char *x_pgmlib)
{
char callstk[2000];
char errcode[4];
struct Qwc_JIDF0100 jobinf;
struct Qwv_CSTK0100 *header;
struct Qwv_RCSTK_Entry *entry;
int recvlen = 2000;
memset(&jobinf, ' ', sizeof(jobinf));
memset(&callstk, 0, 2000);
memset(&errcode, 0, 4);
memcpy(&jobinf.Job_Name, "*", 1);
memset(&jobinf.Reserved, 0, 2);
memset(&jobinf.Thread_Id, 0, 8);
jobinf.Thread_Indicator = 1;
QWVRCSTK(&callstk, /* Receiver variable */
recvlen, /* Length of receiver variable */
"CSTK0100", /* Format name */
&jobinf , /* Job identification information */
"JIDF0100", /* Format of job identification */
&errcode); /* Error code */
header = (struct Qwv_CSTK0100*)&callstk;
entry = (struct Qwv_RCSTK_Entry*)(&callstk[header->Entry_Offset]);
memcpy(x_pgmlib, entry->Program_Library, 10);
return;
}
Tschüß
Benedikt
Bookmarks