Re: Shelling out CRTLF via QCMDEXC -- question about success/failure
Vern Hamberg via MIDRANGE-L <[email protected]> Tue, 9 Jun 2026 07:51:24 -0500
| Newsgroups | gmane.comp.hardware.ibm.midrange |
|---|---|
| Message-ID | <[email protected]> |
Hi Birgitta This function has been a fantastic addition, but it doesn't give us the MSGID of the error. That might be a good Idea to submit, unless the _EXCP_MSGID is available. That isn't an SQL variable, right? Another question is which releases James has to support. I'd suggested the QCMDEXC SQL function to him, but also *QCAPCMD*. Both that and *system *have been available for many releases. *Regards* *Vern Hamberg* IBM Champion 2025 <cid:[email protected]> CAAC (COMMON Americas Advisory Council) IBM Influencer 2023 On 6/9/2026 2:13 AM, Birgitta Hauser wrote: > Why not using something like this? > > Select QCMDEXC('CRTLF FILE(YOURDTALIB/' concat Trim(SYSTEM_TABLE_MEMBER) concat ') ' concat > 'SRCFILE(' concat Trim(System_Table_Schema) concat '/' concat > Trim(System_Table_Name) concat ') ' concat > 'SRCMBR(' concat Trim(System_Table_Member) concat ') '), > a.* > from SysPartitionStat a > Where System_Table_Schema = 'HSCOMMON05' > and System_Table_Name = 'QDDSSRC' > and System_Table_Partition = 'ABCDE' > and Source_Type = 'LF'; > > If everything is okay QCMDEXC will return 1 if everything was executed correctly and -1 if an error occurred. > Errors if a member does not exist can be avoided when selecting the source member from the SysPartitionStat view > > 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 Rob Berendt > Sent: Monday, 8 June 2026 23:50 > To: Midrange Systems Technical Discussion<[email protected]> > Subject: Re: Shelling out CRTLF via QCMDEXC -- question about success/failure > > Although I would avoid DDS here is a sample using it > > -- I injected an error (member does not exist) CALL QSYS2.QCMDEXC('CRTLF FILE(ERPLXF/IIML0UI) SRCFILE(ERPLXS/QDDSSRC)') ; SELECT * from table(qsys2.joblog_info('*')) A where message_id<>'SQL0443' > order by ordinal_position desc > ; > select NATIVE_TYPE, S.* > from qsys2.sysfiles S > where SYSTEM_TABLE_SCHEMA='ERPLXF' > AND SYSTEM_TABLE_NAME='IIML01'; > > On Mon, Jun 8, 2026 at 5:31 PM James H. H. Lampert via MIDRANGE-L <[email protected]> wrote: > >> I've got a project in which I will be using a QCMDEXC call to shell >> out a CRTLF (from a generated source member). What is the easiest way >> for the calling program to determine whether the CRTLF was successful? >> >> -- >> JHHL >> -- >> 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 [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 athttps://archive.midrange.com/midrange-l. > > Please [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.