Qshell error from a CLP

5 pts.
Tags:
AS/400 Control Language
CL
Qshell
QShell Error CPFB9C8
i correct CPFB9C8 qshell error from my cl call
ASKED: April 2, 2009  12:45 AM
UPDATED: February 18, 2010  12:46 AM

Answer Wiki

Thanks. We'll let you know when a new response is added.
Send me notifications when members answer or reply to this question.

REGISTER or login:

Forgot Password?
By submitting you agree to receive email from TechTarget and its partners. If you reside outside of the United States, you consent to having your personal data transferred to and processed in the United States. Privacy

Discuss This Question: 1  Reply

 
There was an error processing your information. Please try again later.
Thanks. We'll let you know when a new response is added.
Send me notifications when members answer or reply to this question.

REGISTER or login:

Forgot Password?
By submitting you agree to receive email from TechTarget and its partners. If you reside outside of the United States, you consent to having your personal data transferred to and processed in the United States. Privacy
  • TomLiotta
    Since CPFB9C8 isn't directly related to QShell, you might be confusing QShell with PASE. Or perhaps you're trying somehow to run a QShell function in PASE or vice versa. Assuming that you actually mean PASE, then the basic answer is that you don't correct it in a CLP. Correction requires at least CLLE, and the Qp2RunPase API also requires CLLE at a minimum. So, we'll also assume that this is CLLE attempting to invoke a PASE function. You didn't show how the CLLE is coded, so you'll need to adapt this general description to however you're doing things. The message itself tells you what you need to do:
    Recovery  . . . :   Either open file descriptors 0, 1, and 2 or change
      environment variable QIBM_USE_DESCRIPTOR_STDIO, and then try the request
      again.
    Easiest possibility is to run the CHGENVVAR command to change the QIBM_USE_DESCRIPTOR_STDIO to a value other than 'Y' or 'I'. Set the environment variable to a value that is appropriate for your job. You might need to run ADDENVVAR instead, if the current value is somehow supplied by default. The other possibility is to open FDs 0, 1 and 2 before invoking the PASE API. When I do that, I usually call close() for each of the FDs first, just to clean up any conflicts that might already exist. Then call open() three times, once for each of the FDs. Then invoke PASE. You'll probably want to close() those three FDs after coming back out of PASE. That's very generalized and based on a lot of guesswork. Good luck. Tom
    125,585 pointsBadges:
    report

Forgot Password

No problem! Submit your e-mail address below. We'll send you an e-mail containing your password.

Your password has been sent to:

To follow this tag...

There was an error processing your information. Please try again later.

REGISTER or login:

Forgot Password?
By submitting you agree to receive email from TechTarget and its partners. If you reside outside of the United States, you consent to having your personal data transferred to and processed in the United States. Privacy

Thanks! We'll email you when relevant content is added and updated.

Following