Personally, I'd use the system() function. Much easier to test for errors and determine the root failure message.

Google's AI came up with this example whcih I have not tested but it looks about right.

**free
// Modern control specifications—no bnddir('QC2LE') needed!
ctl-opt dftactgrp(*no);

// Prototype for the C system() function
dcl-pr runCommand int(10) extproc('system');
cmdString pointer value options(*string);
end-pr;

// Import system variable to capture error message IDs
dcl-s errorMsg char(7) import('_EXCP_MSGID');

// Variable to store the return code
dcl-s returnCode int(10);

// Execute a CL command directly
returnCode = runCommand('CLRPFM FILE(MYLIB/MYFILE)');

// Check for execution failure
if returnCode <> 0;
if errorMsg = 'CPF3142'; // File not found
// Handle specific error logic here
endif;
endif;

*inlr = *on;


Jon Paris
Jon.Paris@xxxxxxxxxxxxxx



On Jun 8, 2026, at 5:31 PM, James H. H. Lampert via MIDRANGE-L <midrange-l@xxxxxxxxxxxxxxxxxx> 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: MIDRANGE-L@xxxxxxxxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: https://lists.midrange.com/mailman/listinfo/midrange-l
or email: MIDRANGE-L-request@xxxxxxxxxxxxxxxxxx
Before posting, please take a moment to review the archives
at https://archive.midrange.com/midrange-l.

Please contact support@xxxxxxxxxxxxxxxxxxxx for any subscription related questions.



This thread ...

Follow-Ups:
Replies:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2026 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].

Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.