RE: Shelling out CRTLF via QCMDEXC -- question about success/failure

"Birgitta Hauser" <Hauser-bRAHsVz2yv4TVIZRl6KS/[email protected]> Sat, 13 Jun 2026 05:22:57 +0200
Newsgroups gmane.comp.hardware.ibm.midrange
Message-ID <[email protected]>
+1

Mit freundlichen Grüßen / Best regards

Birgitta Hauser
Modernization – Education – Consulting on IBM i
Database and Software Architect  
IBM Champion since 2020

"Shoot for the moon, even if you miss, you'll land among the stars." (Les Brown)
"If you think education is expensive, try ignorance." (Derek Bok)
"What is worse than training your staff and losing them? Not training them and keeping them!"
"Train people well enough so they can leave, treat them well enough so they don't want to. " (Richard Branson)
"Learning is experience … everything else is only information!" (Albert Einstein)


-----Original Message-----
From: MIDRANGE-L <[email protected]> On Behalf Of Barbara Morris
Sent: Saturday, 13 June 2026 02:17
To: [email protected]
Subject: Re: Shelling out CRTLF via QCMDEXC -- question about success/failure

On 2026-06-09 10:57 a.m., Rob Berendt wrote:
> I was a big fan of system(), until I was not.  I forget why.  Others 
> have alluded to the ease of getting the error with QCAPCMD instead.

I don't like system() because it removes the final escape message from the joblog. If you get an unexpected exception, the only thing you can get from _EXCP_MSGID is the message ID. Any substitution values are lost.

Also, system() doesn't remove any diagnostic messages that precede the final escape message. That can make the joblog look very strange if something bad happens.

For me, the extra coding for QCMDEXC or QCAPCMD is worth it to get a good joblog if something unexpected happens.

--
Barbara

--
This is the Midrange Systems Technical Discussion (MIDRANGE-L) mailing list To post a message email: [email protected] To subscribe, unsubscribe, or change list options,
visit: https://lists.midrange.com/mailman/listinfo/midrange-l
or email: [email protected]
Before posting, please take a moment to review the archives at https://archive.midrange.com/midrange-l.

Please contact [email protected] for any subscription related questions.

-- 
This is the Midrange Systems Technical Discussion (MIDRANGE-L) mailing list
To post a message email: [email protected]
To subscribe, unsubscribe, or change list options,
visit: https://lists.midrange.com/mailman/listinfo/midrange-l
or email: [email protected]
Before posting, please take a moment to review the archives
at https://archive.midrange.com/midrange-l.

Please contact [email protected] for any subscription related questions.