CompTech810
asked on
IBMi QP2SHELL2 error CPFB9C0 (PASE for i program not found or in use. Path name is......)
I have a CL that is using QP2SHELL2 to call an API url and I'm getting error: CPFB9C0 (PASE for i program not found or in use. Path name is......) . I have another CL program that works fine and does close the same thing. What am I missing.
Thanks Experts!
Thanks Experts!
ASKER
Hi Gary!
Opps....
Here is the error:
2 > /* */
2 > DM
/* */
2>> CALL TEXTAPI
PASE for i program not found or in use. Path name is
/QOpenSys/usr/bin/curl -k
https://api.twilio.com/2010-04-01/Accounts/AC69ada3934c8908e6f749ce73f4b
123456/Messages.json --data-urlencode "Body=Hi there!" --data-urlencode
"From=+18882223333" --data-urlencode "To=+18884445555" -u
AC69ada3934c8908e6f749ce73 f4bb123456 :f1d130e98 abf4b5fb09 ee14c14d12 3456.
Error loading PASE for i program /QOpenSys/usr/bin/curl -k
https://api.twilio.com/2010-04-01/Accounts/AC69ada3934c8908e6f749ce73f4b
123456/Messages.json --data-urlencode "Body=Hi there!" --data-urlencode
"From=+18882223333" --data-urlencode "To=+18884445555" -u
AC69ada3934c8908e6f749ce73 f4b123456: f1d130e98a bf4b5fb09e e14c141234 56.
See previous messages.
Function check. CPFB9C0 unmonitored by TEXTAPI at statement 4600,
instruction X'0084'.
CPFB9C0 received by TEXTAPI at 4600. (C D I R)
This is line 46.00 of the CL
0046.00 CALL PGM(QP2SHELL2) PARM(&URL1)
This is the dump of the CL:
'/QOpenSys/usr/bin/curl -k'
' https://api.twilio.com/2'
'010-04-01/Accounts/AC69ad '
'a3934c8908e6f749ce73f4b12 '
'3456/Messages.json --data-'
'urlencode "Body=Hi there!'
'" --data-urlencode "From='
'+18882223333" --data-urle'
'ncode "To=+18884445555" -'
'u AC69ada3934c8908e6f749c'
'e73f4b123456:f1d130e98abf 4'
'b5fb09ee14c14123456'
I also forgot to mention that when I run the long variable from above in Qp2TERM it works. The program 'curl' is installed and works under the user account that I am signed on with.
Thanks so much!!
Opps....
Here is the error:
2 > /* */
2 > DM
/* */
2>> CALL TEXTAPI
PASE for i program not found or in use. Path name is
/QOpenSys/usr/bin/curl -k
https://api.twilio.com/2010-04-01/Accounts/AC69ada3934c8908e6f749ce73f4b
123456/Messages.json --data-urlencode "Body=Hi there!" --data-urlencode
"From=+18882223333" --data-urlencode "To=+18884445555" -u
AC69ada3934c8908e6f749ce73
Error loading PASE for i program /QOpenSys/usr/bin/curl -k
https://api.twilio.com/2010-04-01/Accounts/AC69ada3934c8908e6f749ce73f4b
123456/Messages.json --data-urlencode "Body=Hi there!" --data-urlencode
"From=+18882223333" --data-urlencode "To=+18884445555" -u
AC69ada3934c8908e6f749ce73
See previous messages.
Function check. CPFB9C0 unmonitored by TEXTAPI at statement 4600,
instruction X'0084'.
CPFB9C0 received by TEXTAPI at 4600. (C D I R)
This is line 46.00 of the CL
0046.00 CALL PGM(QP2SHELL2) PARM(&URL1)
This is the dump of the CL:
'/QOpenSys/usr/bin/curl -k'
' https://api.twilio.com/2'
'010-04-01/Accounts/AC69ad
'a3934c8908e6f749ce73f4b12
'3456/Messages.json --data-'
'urlencode "Body=Hi there!'
'" --data-urlencode "From='
'+18882223333" --data-urle'
'ncode "To=+18884445555" -'
'u AC69ada3934c8908e6f749c'
'e73f4b123456:f1d130e98abf
'b5fb09ee14c14123456'
I also forgot to mention that when I run the long variable from above in Qp2TERM it works. The program 'curl' is installed and works under the user account that I am signed on with.
Thanks so much!!
Did you null-terminate the variable?
https://www.ibm.com/support/knowledgecenter/en/ssw_ibm_i_74/rzalf/rzalfshell.htm
https://www.ibm.com/support/knowledgecenter/en/ssw_ibm_i_74/rzalf/rzalfshell.htm
ASKER
Thanks for the quick responses!
I did. Here is the code.
0001.00 TEXTAPI: PGM
0002.00 DCL VAR(&URL1) TYPE(*CHAR) LEN(294)
0003.00 DCL VAR(&NULL) TYPE(*CHAR) LEN(1) VALUE(X'00')
0004.00 DCL VAR(&CMD) TYPE(*CHAR) LEN(22) +
0005.00 VALUE('/QOpenSys/usr/bin/c url')
0006.00 DCL VAR(&PARM1) TYPE(*CHAR) LEN(2) +
0007.00 VALUE('-k')
0008.00 DCL VAR(&PARM2) TYPE(*CHAR) LEN(4) +
0009.00 VALUE('POST')
0010.00 DCL VAR(&PARM3) TYPE(*CHAR) LEN(91) +
0011.00 VALUE('https://api.twilio.com/2010-04-01/Ac+
0012.00 counts/AC69ada3934c8908e6f 749ce01234 56789/M+
0013.00 essages.json')
0014.00 DCL VAR(&DASH) TYPE(*CHAR) LEN(16) +
0015.00 VALUE('--data-urlencode')
0016.00 DCL VAR(&PARM4) TYPE(*CHAR) LEN(16) +
0017.00 VALUE('"Body=Hi there!"')
0018.00 DCL VAR(&PARM5) TYPE(*CHAR) LEN(19) +
0019.00 VALUE('"From=+18882223333" ')
0020.00 DCL VAR(&PARM6) TYPE(*CHAR) LEN(17) +
0021.00 VALUE('"To=+18884445555"')
0022.00 DCL VAR(&PARM7) TYPE(*CHAR) LEN(2) VALUE('-u')
0023.00 DCL VAR(&PARM8) TYPE(*CHAR) LEN(67) +
0024.00 VALUE('AC69ada3934c8908e6f 749ce73f4b b123456:f+
0025.00 1d130e98abf4b5fb09ee14c14d 123456')
0026.00 CHGVAR VAR(&CMD) VALUE(&CMD *TCAT &NULL)
0027.00 CHGVAR VAR(&PARM1) VALUE(&PARM1 *TCAT &NULL)
0028.00 CHGVAR VAR(&PARM2) VALUE(&PARM2 *TCAT &NULL)
0029.00 CHGVAR VAR(&PARM3) VALUE(&PARM3 *TCAT &NULL)
0030.00 CHGVAR VAR(&PARM4) VALUE(&PARM4 *TCAT &NULL)
0031.00 CHGVAR VAR(&PARM5) VALUE(&PARM5 *TCAT &NULL)
0032.00 CHGVAR VAR(&PARM6) VALUE(&PARM6 *TCAT &NULL)
0033.00 CHGVAR VAR(&PARM7) VALUE(&PARM7 *TCAT &NULL)
0034.00 CHGVAR VAR(&PARM8) VALUE(&PARM8 *TCAT &NULL)
0035.00 CHGVAR VAR(&URL1) VALUE(&CMD *BCAT &PARM1 *BCAT +
0036.00 &PARM3 *BCAT &DASH *BCAT +
0037.00 &PARM4 *BCAT &DASH *BCAT &PARM5 *BCAT +
0038.00 &DASH *BCAT &PARM6 *BCAT &PARM7 *BCAT +
0039.00 &PARM8 *TCAT &NULL)
0040.00 DMPCLPGM
0041.00 CALL PGM(QP2SHELL2) PARM(&URL1)
0042.00 DLYJOB DLY(60)
0043.00
0044.00 EOJ: ENDPGM
I did. Here is the code.
0001.00 TEXTAPI: PGM
0002.00 DCL VAR(&URL1) TYPE(*CHAR) LEN(294)
0003.00 DCL VAR(&NULL) TYPE(*CHAR) LEN(1) VALUE(X'00')
0004.00 DCL VAR(&CMD) TYPE(*CHAR) LEN(22) +
0005.00 VALUE('/QOpenSys/usr/bin/c
0006.00 DCL VAR(&PARM1) TYPE(*CHAR) LEN(2) +
0007.00 VALUE('-k')
0008.00 DCL VAR(&PARM2) TYPE(*CHAR) LEN(4) +
0009.00 VALUE('POST')
0010.00 DCL VAR(&PARM3) TYPE(*CHAR) LEN(91) +
0011.00 VALUE('https://api.twilio.com/2010-04-01/Ac+
0012.00 counts/AC69ada3934c8908e6f
0013.00 essages.json')
0014.00 DCL VAR(&DASH) TYPE(*CHAR) LEN(16) +
0015.00 VALUE('--data-urlencode')
0016.00 DCL VAR(&PARM4) TYPE(*CHAR) LEN(16) +
0017.00 VALUE('"Body=Hi there!"')
0018.00 DCL VAR(&PARM5) TYPE(*CHAR) LEN(19) +
0019.00 VALUE('"From=+18882223333"
0020.00 DCL VAR(&PARM6) TYPE(*CHAR) LEN(17) +
0021.00 VALUE('"To=+18884445555"')
0022.00 DCL VAR(&PARM7) TYPE(*CHAR) LEN(2) VALUE('-u')
0023.00 DCL VAR(&PARM8) TYPE(*CHAR) LEN(67) +
0024.00 VALUE('AC69ada3934c8908e6f
0025.00 1d130e98abf4b5fb09ee14c14d
0026.00 CHGVAR VAR(&CMD) VALUE(&CMD *TCAT &NULL)
0027.00 CHGVAR VAR(&PARM1) VALUE(&PARM1 *TCAT &NULL)
0028.00 CHGVAR VAR(&PARM2) VALUE(&PARM2 *TCAT &NULL)
0029.00 CHGVAR VAR(&PARM3) VALUE(&PARM3 *TCAT &NULL)
0030.00 CHGVAR VAR(&PARM4) VALUE(&PARM4 *TCAT &NULL)
0031.00 CHGVAR VAR(&PARM5) VALUE(&PARM5 *TCAT &NULL)
0032.00 CHGVAR VAR(&PARM6) VALUE(&PARM6 *TCAT &NULL)
0033.00 CHGVAR VAR(&PARM7) VALUE(&PARM7 *TCAT &NULL)
0034.00 CHGVAR VAR(&PARM8) VALUE(&PARM8 *TCAT &NULL)
0035.00 CHGVAR VAR(&URL1) VALUE(&CMD *BCAT &PARM1 *BCAT +
0036.00 &PARM3 *BCAT &DASH *BCAT +
0037.00 &PARM4 *BCAT &DASH *BCAT &PARM5 *BCAT +
0038.00 &DASH *BCAT &PARM6 *BCAT &PARM7 *BCAT +
0039.00 &PARM8 *TCAT &NULL)
0040.00 DMPCLPGM
0041.00 CALL PGM(QP2SHELL2) PARM(&URL1)
0042.00 DLYJOB DLY(60)
0043.00
0044.00 EOJ: ENDPGM
When I say "show the full error", I mean:
Run the program,
Display the job log (DSPJOBLOG)
Press F10 to display detailed messages
Put your cursor on the "Function check. CPFB9C0 unmonitored by TEXTAPI at statement 4600, instruction X'0084'. " error.
Press F1.
Post all of it.
Run the program,
Display the job log (DSPJOBLOG)
Press F10 to display detailed messages
Put your cursor on the "Function check. CPFB9C0 unmonitored by TEXTAPI at statement 4600, instruction X'0084'. " error.
Press F1.
Post all of it.
ASKER
I had removed lines that where remarked out, so the CALL is now at line 41.00.
Message ID . . . . . . : CPF9999 Severity . . . . . . . : 40
Message type . . . . . : Escape
Date sent . . . . . . : 08/08/19 Time sent . . . . . . : 10:39:07
Message . . . . : Function check. CPFB9C0 unmonitored by TEXTAPI at
statement 4100, instruction X'0080'.
Cause . . . . . : An escape exception message was sent to a program which
did not monitor for that message. The full name of the program to which the
unmonitored message was sent is TEXTAPI . At the time the message was sent
the program was stopped at higher level language statement number(s) 4100.
If more than one statement number is shown, the program was a bound program.
Optimization does not allow a single statement number to be determined. If
*N is shown as a value, it means the actual value was not available.
Recovery . . . : See the low level messages previously listed to locate the
cause of the function check. Correct any errors, and then try the request
again.
Message ID . . . . . . : CPF9999 Severity . . . . . . . : 40
Message type . . . . . : Escape
Date sent . . . . . . : 08/08/19 Time sent . . . . . . : 10:39:07
Message . . . . : Function check. CPFB9C0 unmonitored by TEXTAPI at
statement 4100, instruction X'0080'.
Cause . . . . . : An escape exception message was sent to a program which
did not monitor for that message. The full name of the program to which the
unmonitored message was sent is TEXTAPI . At the time the message was sent
the program was stopped at higher level language statement number(s) 4100.
If more than one statement number is shown, the program was a bound program.
Optimization does not allow a single statement number to be determined. If
*N is shown as a value, it means the actual value was not available.
Recovery . . . : See the low level messages previously listed to locate the
cause of the function check. Correct any errors, and then try the request
again.
Ok - I just looked at the code again.
Not sure if this is causing the problem, but don't null terminate all your working variables. You maybe inserting nulls into the string (I don't know offhand how TCAT and BCAT interoperate with trailing nulls). I can't tell without seeing a hex dump of the URL1 variable.
You should only be null terminating the URL1 variable.
Also please post detailed error messages for
PASE for i program not found or in use. Path name is /QOpenSys/usr/bin/curl -k
and
Error loading PASE for i program /QOpenSys/usr/bin/curl -k
messages
Not sure if this is causing the problem, but don't null terminate all your working variables. You maybe inserting nulls into the string (I don't know offhand how TCAT and BCAT interoperate with trailing nulls). I can't tell without seeing a hex dump of the URL1 variable.
You should only be null terminating the URL1 variable.
Also please post detailed error messages for
PASE for i program not found or in use. Path name is /QOpenSys/usr/bin/curl -k
and
Error loading PASE for i program /QOpenSys/usr/bin/curl -k
messages
ASKER
I have attached the CL dump with hex and the source code with working auth codes.
QPPGMDMP129696.txt
QPSUPRTF129696.txt
QPPGMDMP129696.txt
QPSUPRTF129696.txt
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER
Your a genius!
Hopefully this is the last issue with this. I made the changes and ran the CL but now it comes back with something that looks like it is looking for an option. I have '-k' as an option which ignores a SSL certificate (because it is a trusted site), so I'm not sure what it is trying to tell me. I have attached a screen print and CL dump.
QPPGMDMP129869.txt
Curl_Option.docx
Hopefully this is the last issue with this. I made the changes and ran the CL but now it comes back with something that looks like it is looking for an option. I have '-k' as an option which ignores a SSL certificate (because it is a trusted site), so I'm not sure what it is trying to tell me. I have attached a screen print and CL dump.
QPPGMDMP129869.txt
Curl_Option.docx
Looks right to me, but not sure what version of curl you have installed.
Check curl --help to see if -k is supported in your version.
Try --insecure instead of -k.
Check curl --help to see if -k is supported in your version.
Try --insecure instead of -k.
Maybe you need to separate each parm into a separate variable.
Cmd = /QOpenSys/usr/bin/curl (+ null)
Parm1 = '-k' (+ null)
Parm2 = etc
CALL PGM(QP2SHELL) PARM(&CMD &PARM1 &PARM2 ...)
Cmd = /QOpenSys/usr/bin/curl (+ null)
Parm1 = '-k' (+ null)
Parm2 = etc
CALL PGM(QP2SHELL) PARM(&CMD &PARM1 &PARM2 ...)
ASKER
Hi Gary!
You are correct! I started to break the long string down as you showed above before your message. I'm still debugging. I'll update after I finish. Thanks!
You are correct! I started to break the long string down as you showed above before your message. I'm still debugging. I'll update after I finish. Thanks!
ASKER
Sorry for the delay. I've been working on other things.
I have the code working now but when it finishes it sits with a message: Press ENTER to end terminal session
I have tried others suggestion but it still has the message and doesn't end the program. Any ideas? Code below:
100 TEXTAPI: PGM 07/30/19
200 DCL VAR(&NULL) TYPE(*CHAR) LEN(1) VALUE(X'00') 10/26/18
300 DCL VAR(&CMD) TYPE(*CHAR) LEN(22) + 08/29/19
400 VALUE('/QOpenSys/usr/bin/c url') 11/01/18
500 DCL VAR(&K) TYPE(*CHAR) LEN(2) + 08/30/19
600 VALUE('-k') 08/30/19
700 DCL VAR(&URL) TYPE(*CHAR) LEN(91) + 08/29/19
800 VALUE('https://api.twilio.com/2010-04-01/Ac+ 08/29/19
900 counts/AC69ada3934c8908e6f 749ce01234 56789/M+ 08/29/19
1000 essages.json') 08/29/19
1100 DCL VAR(&DASH) TYPE(*CHAR) LEN(16) + 08/29/19
1200 VALUE('--data-urlencode') 08/29/19
1300 DCL VAR(&U) TYPE(*CHAR) LEN(2) + 09/03/19
1400 VALUE('-u') 09/03/19
1500 DCL VAR(&BODY) TYPE(*CHAR) LEN(13) 08/29/19
1600 DCL VAR(&BODY1) TYPE(*CHAR) LEN(5) + 08/29/19
1700 VALUE('Body=') 08/29/19
1800 DCL VAR(&BODY2) TYPE(*CHAR) LEN(8) + 08/29/19
1900 VALUE('Hi there') 08/29/19
2000 DCL VAR(&FROM) TYPE(*CHAR) LEN(17) 08/29/19
2100 DCL VAR(&FROM1) TYPE(*CHAR) LEN(7) + 08/29/19
2200 VALUE('From=+1') 08/29/19
2300 DCL VAR(&FROM2) TYPE(*CHAR) LEN(10) + 08/29/19
2400 VALUE('8141234567') 08/29/19
2500 DCL VAR(&FROM3) TYPE(*CHAR) LEN(17) 09/06/19
2600 DCL VAR(&TO1) TYPE(*CHAR) LEN(5) + 08/29/19
2700 VALUE('To=+1') 08/29/19
2800 DCL VAR(&TO2) TYPE(*CHAR) LEN(10) + 08/29/19
2900 VALUE('81431234567) 08/29/19
3000 DCL VAR(&TO3) TYPE(*CHAR) LEN(15) 09/06/19
3100 DCL VAR(&TO) TYPE(*CHAR) LEN(15) 09/06/19
3200 DCL VAR(&KEY) TYPE(*CHAR) LEN(68) + 09/06/19
3300 VALUE('AC69ada3934c8908e6f 749ce01234 56789M:f+ 09/06/19
3400 1d130e98abf4b5fb09ee101234 56789') 09/06/19
3500 CHGVAR VAR(&BODY) VALUE(&BODY1 *CAT &BODY2) 08/29/19
3600 CHGVAR VAR(&FROM3) VALUE(&FROM1 *CAT &FROM2) 09/06/19
3700 CHGVAR VAR(&FROM) VALUE(&FROM3) 09/06/19
3800 CHGVAR VAR(&FROM) VALUE(&FROM *TCAT &NULL) 09/03/19
3900 CHGVAR VAR(&TO3) VALUE(&TO1 *CAT &TO2) 09/06/19
4000 CHGVAR VAR(&TO) VALUE(&TO3) 09/06/19
4100 CHGVAR VAR(&CMD) VALUE(&CMD *TCAT &NULL) 08/30/19
4200 CHGVAR VAR(&DASH) VALUE(&DASH *TCAT &NULL) 09/06/19
4300 CHGVAR VAR(&FROM) VALUE(&FROM *TCAT &NULL) 08/30/19
4400 CHGVAR VAR(&TO) VALUE(&TO *TCAT &NULL) 09/06/19
4500 CHGVAR VAR(&KEY) VALUE(&KEY *TCAT &NULL) 09/06/19
4600 DMPCLPGM 08/08/19
4700 CALL PGM(QP2SHELL) PARM(&CMD + 09/06/19
4800 &K + 09/06/19
4900 &URL &DASH + 09/06/19
5000 &BODY &DASH + 09/06/19
5100 &FROM &DASH + 09/06/19
5200 &TO &U + 09/06/19
5300 &KEY) 09/06/19
5400 /* DLYJOB DLY(10) */ 09/09/19
5500 ADDENVVAR ENVVAR(QIBM_QSH_CMD_OUTPUT ) VALUE(NONE) + 09/09/19
5600 LEVEL(*JOB) REPLACE(*YES) 09/09/19
5700 EOJ: ENDPGM 08/08/19
* * * * E N D O F S O U R C E * * * *
I have the code working now but when it finishes it sits with a message: Press ENTER to end terminal session
I have tried others suggestion but it still has the message and doesn't end the program. Any ideas? Code below:
100 TEXTAPI: PGM 07/30/19
200 DCL VAR(&NULL) TYPE(*CHAR) LEN(1) VALUE(X'00') 10/26/18
300 DCL VAR(&CMD) TYPE(*CHAR) LEN(22) + 08/29/19
400 VALUE('/QOpenSys/usr/bin/c
500 DCL VAR(&K) TYPE(*CHAR) LEN(2) + 08/30/19
600 VALUE('-k') 08/30/19
700 DCL VAR(&URL) TYPE(*CHAR) LEN(91) + 08/29/19
800 VALUE('https://api.twilio.com/2010-04-01/Ac+ 08/29/19
900 counts/AC69ada3934c8908e6f
1000 essages.json') 08/29/19
1100 DCL VAR(&DASH) TYPE(*CHAR) LEN(16) + 08/29/19
1200 VALUE('--data-urlencode') 08/29/19
1300 DCL VAR(&U) TYPE(*CHAR) LEN(2) + 09/03/19
1400 VALUE('-u') 09/03/19
1500 DCL VAR(&BODY) TYPE(*CHAR) LEN(13) 08/29/19
1600 DCL VAR(&BODY1) TYPE(*CHAR) LEN(5) + 08/29/19
1700 VALUE('Body=') 08/29/19
1800 DCL VAR(&BODY2) TYPE(*CHAR) LEN(8) + 08/29/19
1900 VALUE('Hi there') 08/29/19
2000 DCL VAR(&FROM) TYPE(*CHAR) LEN(17) 08/29/19
2100 DCL VAR(&FROM1) TYPE(*CHAR) LEN(7) + 08/29/19
2200 VALUE('From=+1') 08/29/19
2300 DCL VAR(&FROM2) TYPE(*CHAR) LEN(10) + 08/29/19
2400 VALUE('8141234567') 08/29/19
2500 DCL VAR(&FROM3) TYPE(*CHAR) LEN(17) 09/06/19
2600 DCL VAR(&TO1) TYPE(*CHAR) LEN(5) + 08/29/19
2700 VALUE('To=+1') 08/29/19
2800 DCL VAR(&TO2) TYPE(*CHAR) LEN(10) + 08/29/19
2900 VALUE('81431234567) 08/29/19
3000 DCL VAR(&TO3) TYPE(*CHAR) LEN(15) 09/06/19
3100 DCL VAR(&TO) TYPE(*CHAR) LEN(15) 09/06/19
3200 DCL VAR(&KEY) TYPE(*CHAR) LEN(68) + 09/06/19
3300 VALUE('AC69ada3934c8908e6f
3400 1d130e98abf4b5fb09ee101234
3500 CHGVAR VAR(&BODY) VALUE(&BODY1 *CAT &BODY2) 08/29/19
3600 CHGVAR VAR(&FROM3) VALUE(&FROM1 *CAT &FROM2) 09/06/19
3700 CHGVAR VAR(&FROM) VALUE(&FROM3) 09/06/19
3800 CHGVAR VAR(&FROM) VALUE(&FROM *TCAT &NULL) 09/03/19
3900 CHGVAR VAR(&TO3) VALUE(&TO1 *CAT &TO2) 09/06/19
4000 CHGVAR VAR(&TO) VALUE(&TO3) 09/06/19
4100 CHGVAR VAR(&CMD) VALUE(&CMD *TCAT &NULL) 08/30/19
4200 CHGVAR VAR(&DASH) VALUE(&DASH *TCAT &NULL) 09/06/19
4300 CHGVAR VAR(&FROM) VALUE(&FROM *TCAT &NULL) 08/30/19
4400 CHGVAR VAR(&TO) VALUE(&TO *TCAT &NULL) 09/06/19
4500 CHGVAR VAR(&KEY) VALUE(&KEY *TCAT &NULL) 09/06/19
4600 DMPCLPGM 08/08/19
4700 CALL PGM(QP2SHELL) PARM(&CMD + 09/06/19
4800 &K + 09/06/19
4900 &URL &DASH + 09/06/19
5000 &BODY &DASH + 09/06/19
5100 &FROM &DASH + 09/06/19
5200 &TO &U + 09/06/19
5300 &KEY) 09/06/19
5400 /* DLYJOB DLY(10) */ 09/09/19
5500 ADDENVVAR ENVVAR(QIBM_QSH_CMD_OUTPUT
5600 LEVEL(*JOB) REPLACE(*YES) 09/09/19
5700 EOJ: ENDPGM 08/08/19
* * * * E N D O F S O U R C E * * * *
ASKER
SBMJOB D'oh
ASKER
Thanks again Gary!
Also please provide the line of code where you are calling in the working and non-working programs.
The full error message provides specific diagnostic information that helps pinpoint the root cause of the problem. Specifically the path name of the missing PASE program.
QP2SHELL2 isn't the missing program. It is a PASE program at the mystery path that wasn't provided.
Ultimately the problem usually comes down to one of two things:
1) The PASE mystery program you want to call either isn't installed, or it isn't installed where you (or PASE) is looking for it.
2) The IBM i user that you are running QP2SHELL2 under doesn't have PASE permissions to the mystery program.
Once you look up the error message, look at the path it mentions. Look in that location in the IFS (possibly relative to /QOpenSys), and see if the program in question is installed at that location try:
WRKLNK '/pathFromCPFB9C0message'
WRKLNK '/QOpenSys/pathFromCPFB9C0message'
Where pathFromCPFB9C0message is the path minus the name of the executable (ssh, wget, curl, etc)