Here is how I built the parameters:
DCL &INLPGM TYPE(*CHAR) LEN(21)
Then I dumped the copy from user profile to an outfile:
If &UPINPG = '*NONE', then &INPPGM = *none Else do chgvar &INLPGM value(&upinpl *TCAT '/' *TCAT &upinpg)
What can I do to fix this error?
Change &INLPGM to LEN(10) ... If &INLPGM is being passed to the program as Library/ProgramName, then you will need to use the %SST function to break it into two parameters.
For example:
DCL VAR(&OUTQ) TYPE(*CHAR) LEN(20)
DCL VAR(&OUTQNAME) TYPE(*CHAR) LEN(10)
DCL VAR(&OUTQLIB) TYPE(*CHAR) LEN(10)
CHGVAR VAR(&OUTQNAME) VALUE(%SST(&OUTQ 1 10))
CHGVAR VAR(&OUTQLIB) VALUE(%SST(&OUTQ 11 10))
Good Luck!
This was first published in July 2007