Troubleshooting
Problem
This document provides information about using a CL program to add a library to the library list, then restoring the original library list when processing is finished.
Resolving The Problem
Users will occasionally want to add a library to the library list, then restore the original library list when processing is finished. Many times when they attempt to do so within a CL program they will get errors such as message CPD0078 stating that the value for parameter LIBL is not a valid name. One suggestion is to use APIs to restore the library list. However, if a user wants to do this strictly within CL, here is a program that will do just that.
Note: There are added pieces in here for testing purposes, such as ADDLIBLE LIB(ADDTEST) and a few DMPCLPGM commands. Simply remove or comment out whatever parts you do not want.
Note: There are added pieces in here for testing purposes, such as ADDLIBLE LIB(ADDTEST) and a few DMPCLPGM commands. Simply remove or comment out whatever parts you do not want.
Disclaimer: This is an example only. IBM accepts no responsibility for its correctness. |
PGM
DCL VAR(&USRLIBL) TYPE(*CHAR) LEN(275)
DCL VAR(&USRLIBL2) TYPE(*CHAR) LEN(275)
DCL VAR(&USRLIBL3) TYPE(*CHAR) LEN(275)
DCL VAR(&USER) TYPE(*CHAR) LEN(10)
DCL VAR(&CURLIB) TYPE(*CHAR) LEN(10)
DCL VAR(&X) TYPE(*DEC) LEN(3 0) VALUE(1)
DCL VAR(&LIB1) TYPE(*CHAR) LEN(11)
DCL VAR(&LIB2) TYPE(*CHAR) LEN(11)
DCL VAR(&LIB3) TYPE(*CHAR) LEN(11)
DCL VAR(&LIB4) TYPE(*CHAR) LEN(11)
DCL VAR(&LIB5) TYPE(*CHAR) LEN(11)
DCL VAR(&LIB6) TYPE(*CHAR) LEN(11)
DCL VAR(&LIB7) TYPE(*CHAR) LEN(11)
DCL VAR(&LIB8) TYPE(*CHAR) LEN(11)
DCL VAR(&LIB9) TYPE(*CHAR) LEN(11)
DCL VAR(&LIB10) TYPE(*CHAR) LEN(11)
DCL VAR(&LIB11) TYPE(*CHAR) LEN(11)
DCL VAR(&LIB12) TYPE(*CHAR) LEN(11)
DCL VAR(&LIB13) TYPE(*CHAR) LEN(11)
DCL VAR(&LIB14) TYPE(*CHAR) LEN(11)
DCL VAR(&LIB15) TYPE(*CHAR) LEN(11)
DCL VAR(&LIB16) TYPE(*CHAR) LEN(11)
DCL VAR(&LIB17) TYPE(*CHAR) LEN(11)
DCL VAR(&LIB18) TYPE(*CHAR) LEN(11)
DCL VAR(&LIB19) TYPE(*CHAR) LEN(11)
DCL VAR(&LIB20) TYPE(*CHAR) LEN(11)
DCL VAR(&LIB21) TYPE(*CHAR) LEN(11)
DCL VAR(&LIB22) TYPE(*CHAR) LEN(11)
DCL VAR(&LIB23) TYPE(*CHAR) LEN(11)
DCL VAR(&LIB24) TYPE(*CHAR) LEN(11)
DCL VAR(&LIB25) TYPE(*CHAR) LEN(11)
MONMSG MSGID(CPF2103)
MONMSG MSGID(CPD0078)
MONMSG MSGID(CPF0001)
RTVJOBA USER(&USER) USRLIBL(&USRLIBL) CURLIB(&CURLIB)
DMPCLPGM
ADDLIBLE LIB(ADDTEST)
RTVJOBA USER(&USER) USRLIBL(&USRLIBL2)
DMPCLPGM
CHGVAR VAR(&LIB1) VALUE(%SST(&USRLIBL &X 11))
CHGVAR VAR(&X) VALUE(&X + 11)
IF COND(&LIB1 *EQ ' ') THEN(GOTO CMDLBL(END))
CHGVAR VAR(&LIB2) VALUE(%SST(&USRLIBL &X 11))
CHGVAR VAR(&X) VALUE(&X + 11)
IF COND(&LIB2 *EQ ' ') THEN(GOTO CMDLBL(CHG1))
CHGVAR VAR(&LIB3) VALUE(%SST(&USRLIBL &X 11))
CHGVAR VAR(&X) VALUE(&X + 11)
IF COND(&LIB3 *EQ ' ') THEN(GOTO CMDLBL(CHG2))
CHGVAR VAR(&LIB4) VALUE(%SST(&USRLIBL &X 11))
CHGVAR VAR(&X) VALUE(&X + 11)
IF COND(&LIB4 *EQ ' ') THEN(GOTO CMDLBL(CHG3))
CHGVAR VAR(&LIB5) VALUE(%SST(&USRLIBL &X 11))
CHGVAR VAR(&X) VALUE(&X + 11)
IF COND(&LIB5 *EQ ' ') THEN(GOTO CMDLBL(CHG4))
CHGVAR VAR(&LIB6) VALUE(%SST(&USRLIBL &X 11))
CHGVAR VAR(&X) VALUE(&X + 11)
IF COND(&LIB6 *EQ ' ') THEN(GOTO CMDLBL(CHG5))
CHGVAR VAR(&LIB7) VALUE(%SST(&USRLIBL &X 11))
CHGVAR VAR(&X) VALUE(&X + 11)
IF COND(&LIB7 *EQ ' ') THEN(GOTO CMDLBL(CHG6))
CHGVAR VAR(&LIB8) VALUE(%SST(&USRLIBL &X 11))
CHGVAR VAR(&X) VALUE(&X + 11)
IF COND(&LIB8 *EQ ' ') THEN(GOTO CMDLBL(CHG7))
CHGVAR VAR(&LIB9) VALUE(%SST(&USRLIBL &X 11))
CHGVAR VAR(&X) VALUE(&X + 11)
IF COND(&LIB9 *EQ ' ') THEN(GOTO CMDLBL(CHG8))
CHGVAR VAR(&LIB10) VALUE(%SST(&USRLIBL &X 11))
CHGVAR VAR(&X) VALUE(&X + 11)
IF COND(&LIB10 *EQ ' ') THEN(GOTO CMDLBL(CHG9))
CHGVAR VAR(&LIB11) VALUE(%SST(&USRLIBL &X 11))
CHGVAR VAR(&X) VALUE(&X + 11)
IF COND(&LIB11 *EQ ' ') THEN(GOTO CMDLBL(CHG10))
CHGVAR VAR(&LIB12) VALUE(%SST(&USRLIBL &X 11))
CHGVAR VAR(&X) VALUE(&X + 11)
IF COND(&LIB12 *EQ ' ') THEN(GOTO CMDLBL(CHG11))
CHGVAR VAR(&LIB13) VALUE(%SST(&USRLIBL &X 11))
CHGVAR VAR(&X) VALUE(&X + 11)
IF COND(&LIB13 *EQ ' ') THEN(GOTO CMDLBL(CHG12))
CHGVAR VAR(&LIB14) VALUE(%SST(&USRLIBL &X 11))
CHGVAR VAR(&X) VALUE(&X + 11)
IF COND(&LIB14 *EQ ' ') THEN(GOTO CMDLBL(CHG13))
CHGVAR VAR(&LIB15) VALUE(%SST(&USRLIBL &X 11))
CHGVAR VAR(&X) VALUE(&X + 11)
IF COND(&LIB15 *EQ ' ') THEN(GOTO CMDLBL(CHG14))
CHGVAR VAR(&LIB16) VALUE(%SST(&USRLIBL &X 11))
CHGVAR VAR(&X) VALUE(&X + 11)
IF COND(&LIB16 *EQ ' ') THEN(GOTO CMDLBL(CHG15))
CHGVAR VAR(&LIB17) VALUE(%SST(&USRLIBL &X 11))
CHGVAR VAR(&X) VALUE(&X + 11)
IF COND(&LIB17 *EQ ' ') THEN(GOTO CMDLBL(CHG16))
CHGVAR VAR(&LIB18) VALUE(%SST(&USRLIBL &X 11))
CHGVAR VAR(&X) VALUE(&X + 11)
IF COND(&LIB18 *EQ ' ') THEN(GOTO CMDLBL(CHG17))
CHGVAR VAR(&LIB19) VALUE(%SST(&USRLIBL &X 11))
CHGVAR VAR(&X) VALUE(&X + 11)
IF COND(&LIB19 *EQ ' ') THEN(GOTO CMDLBL(CHG18))
CHGVAR VAR(&LIB20) VALUE(%SST(&USRLIBL &X 11))
CHGVAR VAR(&X) VALUE(&X + 11)
IF COND(&LIB20 *EQ ' ') THEN(GOTO CMDLBL(CHG19))
CHGVAR VAR(&LIB21) VALUE(%SST(&USRLIBL &X 11))
CHGVAR VAR(&X) VALUE(&X + 11)
IF COND(&LIB21 *EQ ' ') THEN(GOTO CMDLBL(CHG20))
CHGVAR VAR(&LIB22) VALUE(%SST(&USRLIBL &X 11))
CHGVAR VAR(&X) VALUE(&X + 11)
IF COND(&LIB22 *EQ ' ') THEN(GOTO CMDLBL(CHG21))
CHGVAR VAR(&LIB23) VALUE(%SST(&USRLIBL &X 11))
CHGVAR VAR(&X) VALUE(&X + 11)
IF COND(&LIB23 *EQ ' ') THEN(GOTO CMDLBL(CHG22))
CHGVAR VAR(&LIB24) VALUE(%SST(&USRLIBL &X 11))
CHGVAR VAR(&X) VALUE(&X + 11)
IF COND(&LIB24 *EQ ' ') THEN(GOTO CMDLBL(CHG23))
CHGVAR VAR(&LIB25) VALUE(%SST(&USRLIBL &X 11))
CHGVAR VAR(&X) VALUE(&X + 11)
IF COND(&LIB25 *EQ ' ') THEN(GOTO CMDLBL(CHG24))
GOTO CMDLBL(CHG25)
CHG1: CHGLIBL LIBL(&LIB1) CURLIB(&CURLIB)
GOTO CMDLBL(END)
CHG2: CHGLIBL LIBL(&LIB1 &LIB2) CURLIB(&CURLIB)
GOTO CMDLBL(END)
CHG3: CHGLIBL LIBL(&LIB1 &LIB2 &LIB3) CURLIB(&CURLIB)
GOTO CMDLBL(END)
CHG4: CHGLIBL LIBL(&LIB1 &LIB2 &LIB3 &LIB4) CURLIB(&CURLIB)
GOTO CMDLBL(END)
CHG5: CHGLIBL LIBL(&LIB1 &LIB2 &LIB3 &LIB4 &LIB5) CURLIB(&CURLIB)
GOTO CMDLBL(END)
CHG6: CHGLIBL LIBL(&LIB1 &LIB2 &LIB3 &LIB4 &LIB5 &LIB6) CURLIB(&CURLIB)
GOTO CMDLBL(END)
CHG7: CHGLIBL LIBL(&LIB1 &LIB2 &LIB3 &LIB4 &LIB5 &LIB6 &LIB7) CURLIB(&CURLIB)
GOTO CMDLBL(END)
CHG8: CHGLIBL LIBL(&LIB1 &LIB2 &LIB3 &LIB4 &LIB5 &LIB6 &LIB7 &LIB8) CURLIB(&CURLIB)
GOTO CMDLBL(END)
CHG9: CHGLIBL LIBL(&LIB1 &LIB2 &LIB3 &LIB4 &LIB5 &LIB6 &LIB7 &LIB8 &LIB9) CURLIB(&CURLIB)
GOTO CMDLBL(END)
CHG10: CHGLIBL LIBL(&LIB1 &LIB2 &LIB3 &LIB4 &LIB5 &LIB6 &LIB7 &LIB8 &LIB9 &LIB10) +
CURLIB(&CURLIB)
GOTO CMDLBL(END)
CHG11: CHGLIBL LIBL(&LIB1 &LIB2 &LIB3 &LIB4 &LIB5 &LIB6 &LIB7 &LIB8 &LIB9 &LIB10 +
&LIB11) CURLIB(&CURLIB)
GOTO CMDLBL(END)
CHG12: CHGLIBL LIBL(&LIB1 &LIB2 &LIB3 &LIB4 &LIB5 &LIB6 &LIB7 &LIB8 &LIB9 &LIB10 +
&LIB11 &LIB12) CURLIB(&CURLIB)
GOTO CMDLBL(END)
CHG13: CHGLIBL LIBL(&LIB1 &LIB2 &LIB3 &LIB4 &LIB5 &LIB6 &LIB7 &LIB8 &LIB9 &LIB10 +
&LIB11 &LIB12 &LIB13) CURLIB(&CURLIB)
GOTO CMDLBL(END)
CHG14: CHGLIBL LIBL(&LIB1 &LIB2 &LIB3 &LIB4 &LIB5 &LIB6 &LIB7 &LIB8 &LIB9 &LIB10 +
&LIB11 &LIB12 &LIB13 &LIB14) CURLIB(&CURLIB)
GOTO CMDLBL(END)
CHG15: CHGLIBL LIBL(&LIB1 &LIB2 &LIB3 &LIB4 &LIB5 &LIB6 &LIB7 &LIB8 &LIB9 &LIB10 +
&LIB11 &LIB12 &LIB13 &LIB14 &LIB15) CURLIB(&CURLIB)
GOTO CMDLBL(END)
CHG16: CHGLIBL LIBL(&LIB1 &LIB2 &LIB3 &LIB4 &LIB5 &LIB6 &LIB7 &LIB8 &LIB9 &LIB10 +
&LIB11 &LIB12 &LIB13 &LIB14 &LIB15 &LIB16) CURLIB(&CURLIB)
GOTO CMDLBL(END)
CHG17: CHGLIBL LIBL(&LIB1 &LIB2 &LIB3 &LIB4 &LIB5 &LIB6 &LIB7 &LIB8 &LIB9 &LIB10 +
&LIB11 &LIB12 &LIB13 &LIB14 &LIB15 &LIB16 &LIB17) CURLIB(&CURLIB)
GOTO CMDLBL(END)
CHG18: CHGLIBL LIBL(&LIB1 &LIB2 &LIB3 &LIB4 &LIB5 &LIB6 &LIB7 &LIB8 &LIB9 &LIB10 +
&LIB11 &LIB12 &LIB13 &LIB14 &LIB15 &LIB16 &LIB17 &LIB18) CURLIB(&CURLIB)
GOTO CMDLBL(END)
CHG19: CHGLIBL LIBL(&LIB1 &LIB2 &LIB3 &LIB4 &LIB5 &LIB6 &LIB7 &LIB8 &LIB9 &LIB10 +
&LIB11 &LIB12 &LIB13 &LIB14 &LIB15 &LIB16 &LIB17 &LIB18 &LIB19) +
CURLIB(&CURLIB)
GOTO CMDLBL(END)
CHG20: CHGLIBL LIBL(&LIB1 &LIB2 &LIB3 &LIB4 &LIB5 &LIB6 &LIB7 &LIB8 &LIB9 &LIB10 +
&LIB11 &LIB12 &LIB13 &LIB14 &LIB15 &LIB16 &LIB17 &LIB18 &LIB19 +
&LIB20) CURLIB(&CURLIB)
GOTO CMDLBL(END)
CHG21: CHGLIBL LIBL(&LIB1 &LIB2 &LIB3 &LIB4 &LIB5 &LIB6 &LIB7 &LIB8 &LIB9 &LIB10 +
&LIB11 &LIB12 &LIB13 &LIB14 &LIB15 &LIB16 &LIB17 &LIB18 &LIB19 +
&LIB20 &LIB21) CURLIB(&CURLIB)
GOTO CMDLBL(END)
CHG22: CHGLIBL LIBL(&LIB1 &LIB2 &LIB3 &LIB4 &LIB5 &LIB6 &LIB7 &LIB8 &LIB9 &LIB10 +
&LIB11 &LIB12 &LIB13 &LIB14 &LIB15 &LIB16 &LIB17 &LIB18 &LIB19 +
&LIB20 &LIB21 &LIB22) CURLIB(&CURLIB)
GOTO CMDLBL(END)
CHG23: CHGLIBL LIBL(&LIB1 &LIB2 &LIB3 &LIB4 &LIB5 &LIB6 &LIB7 &LIB8 &LIB9 &LIB10 +
&LIB11 &LIB12 &LIB13 &LIB14 &LIB15 &LIB16 &LIB17 &LIB18 &LIB19 +
&LIB20 &LIB21 &LIB22 &LIB23) CURLIB(&CURLIB)
GOTO CMDLBL(END)
CHG24: CHGLIBL LIBL(&LIB1 &LIB2 &LIB3 &LIB4 &LIB5 &LIB6 &LIB7 &LIB8 &LIB9 &LIB10 +
&LIB11 &LIB12 &LIB13 &LIB14 &LIB15 &LIB16 &LIB17 &LIB18 &LIB19 +
&LIB20 &LIB21 &LIB22 &LIB23 &LIB24) CURLIB(&CURLIB)
GOTO CMDLBL(END)
CHG25: CHGLIBL LIBL(&LIB1 &LIB2 &LIB3 &LIB4 &LIB5 &LIB6 &LIB7 &LIB8 &LIB9 &LIB10 +
&LIB11 &LIB12 &LIB13 &LIB14 &LIB15 &LIB16 &LIB17 &LIB18 &LIB19 +
&LIB20 &LIB21 &LIB22 &LIB23 &LIB24 &LIB25) CURLIB(&CURLIB)
GOTO CMDLBL(END)
END: RTVJOBA USER(&USER) USRLIBL(&USRLIBL3)
DMPCLPGM
ENDPGM
[{"Type":"MASTER","Line of Business":{"code":"LOB68","label":"Power HW"},"Business Unit":{"code":"BU070","label":"IBM Infrastructure"},"Product":{"code":"SWG60","label":"IBM i"},"ARM Category":[{"code":"a8m3p0000006x8GAAQ","label":"CL"},{"code":"a8m0z0000000CHtAAM","label":"Programming ILE Languages"}],"ARM Case Number":"","Platform":[{"code":"PF012","label":"IBM i"}],"Version":"All Versions"}]
Historical Number
22055628
Was this topic helpful?
Document Information
More support for:
IBM i
Component:
CL, Programming ILE Languages
Software version:
All Versions
Operating system(s):
IBM i
Document number:
641393
Modified date:
15 November 2024
UID
nas8N1017533
Manage My Notification Subscriptions