John, I would agree CL is the most readable when you limit yourself to RPGIII and CL. I would say that an RPGIV procedure with a prototype that calls QCMDEXC is a better solution. Even If you have to call QCMDEXC, which may look ugly in your procedure, on the application side it can enhance readability. The RPGIV call can also be more flexible. You can define what messages to monitor for and depending on where you call the program from act appropriately. We have a procedure that executes a command and passes an optional message ID and associated text. Also returned is an error on command flag. This procedure along with several standard message procedures is all I need to execute a command from an RPGIV program. You mention binding and ILE CL. ILE CL is too little too late and also has a major bug (IBM calls it a restriction with a workaround) when using return variables. I know you would agree that CL is in need of more than just a facelift. Until it is updated I would not recommend it over an RPGIV procedure which does a call to QCMDEXC for the purpose of executing a single command. David Morris >>> John Carr <firstname.lastname@example.org> 01/11 10:07 AM >>> RE: Re: QCMDEXC question >Try this to see if it works > >// DO OPEN FILE, USE USER CONTROL OPTION> > >call 'QCMDEXEC' XX01XX > PARM CHKOBJ //CHECK OBJ > PARM PARM2 > >*IN01 IFEQ *ON >call 'QCMDEXEC' XX01XX > PARM CRTBJ //CRT OBJ > PARM PARM2 > ELSE >call 'QCMDEXEC' XX01XX > PARM OVROBJ //OVR OBJ > PARM PARM2 > ENDIF Ya this looks a lot simpler to understand and maintain than PGM (&file) DCL &FILE *CHAR 10 CHKOBJ &FILE TYPE(*FILE) MONMSG (BLAH BLAH BLAH) DO CLRPFM &FILE ELSE DO CRTPF &FILE ENDDO ENDPGM OR something like that. Error handling can be implemented. Forwarding of error can be implemented. Native language(CL) doing what comes native(CL commands). Call bound = little overhead But the QCMDEXEC is probably alot easer to read/maintain/debug TIC (tongue in cheek) Is this a SYS/36 APP ?? or in other words Why are you creating files on the fly?? Quick trivia test. Question: How do you know the app you're working on is a converted SYS/36 app???? Ans. It has 3 job steps and it creates 8 temporary work files. Love those RETAIN-S and RETAIN-J designs +--- | This is the Midrange System Mailing List! | To submit a new message, send your mail to "MIDRANGE-L@midrange.com". | To unsubscribe from this list send email to MIDRANGE-L-UNSUB@midrange.com. | Questions should be directed to the list owner/operator: email@example.com +--- +--- | This is the Midrange System Mailing List! | To submit a new message, send your mail to "MIDRANGE-L@midrange.com". | To unsubscribe from this list send email to MIDRANGE-L-UNSUB@midrange.com. | Questions should be directed to the list owner/operator: firstname.lastname@example.org +---
As an Amazon Associate we earn from qualifying purchases.
Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.