I’m not sure what your issue is in trying to do this. It is fairly simple. You can specify the compile command in a CL program and have the user run the CL program from a menu. All of the parameters can be either forced as a specific constant or you can provide substitutional variables instead. If you want to get more complex, you can construct the commands in a HLL program like RPGLE and then run them with the IBM QCMDEXEC command.