Let’s See Those Command Parameters
August 31, 2005 Hey, Ted
I have a CL program that builds a command in a variable, which it passes to QCMDEXC for execution. If I run the program in a job that logs CL program messages, the job log contains a nearly useless message that tells me that the “CALL command contains parameters.” Is there a way for me to make the system show me the CL command that is being executed?
–Mitch
I share your frustration, Mitch. I know of nothing in the operating system that would make the job log show the command that is being executed. If you have access to the source code, you can add something to display the contents of the variable. Here’s an example.
dcl &cmd *char 80 dcl &cmdlen *dec (15 5) value(80) sndpgmmsg msg('CMD:' *bcat &cmd) topgmq(*same) call qcmdexc (&cmd &cmdlen)
I’ve used the Send Program Message (SNDPGMMSG) command to send a message to the program’s message queue. The job log will contain a message that shows you the value of the &CMD variable just before QCMDEXC gets hold of it. The job log will probably show you the variable’s value twice–once in the MSG parameter of SNDPGMMSG and then again as the contents of the message, which is redundant, but better than nothing at all.
–Ted