Invoking PowerHouse from Qedit
Qedit has always been an excellent workbench for PowerHouse programmers. The PowerHouse components read original-format Qedit files directly, and all of them (except for QUICK) can be suspended from Qedit for faster invocation. It is also possible to use Qedit “shorthand” when invoking PowerHouse from within Qedit (“*” for current file, “$” for previous), provided the PowerHouse UDCs have been slightly modified.
In the past we supplied modified UDCs for the various PowerHouse versions, but as the UDCs were large, very complex, and changed frequently, supporting every new version became a problem for us. We therefore developed a set of command files to call the UDCs that Cognos supplies with your PowerHouse updates. They allow Qedit shorthand and suspend the PowerHouse tools on exit:
parm auto=$null anyparm otherparms=ZZZ file qsource=!auto if "!otherparms" = "ZZZ" then quiz "auto=qsource suspend" else quiz "auto=qsource suspend" !otherparms endif file qsource = $null
Note that we have added one parameter to your invocation of the UDCs. This parameter, the file name to execute, must be passed before the other run parameters. You must first set the Cognos UDCs, as they’re invoked from within the command files. Note also that UDCs have precedence over command files, so the command files must have different names. We supply the following three command files:
QZ.QEDCMD.ROBELLE | {for calling QUIZ} |
QD.QEDCMD.ROBELLE | {for calling QDESIGN} |
QP.QEDCMD.ROBELLE | {for calling QTP} |
QUICK doesn’t allow suspension on exit, so we haven’t supplied a command file for it. You may wish to duplicate the above for QUICK (removing the “suspend” parameter), to allow easy execution of specified compiled QUICK files:
/qk qkscrn
Using these command files, “qz *
” will run QUIZ, and execute your current file. On completion, Qedit will ask you whether it should keep QUIZ suspended:
Quiz is still alive. Okay to HOLD onto it [no]?
Replying “yes” means that subsequent calls to QUIZ will be much faster. Of course, suspending QUIZ keeps the dictionary open (one of the reasons why it is faster), so you cannot change your current dictionary without first killing the suspended process:
/kill quiz {kill only QUIZ} /kill {kill all child processes}
Similarly, you would need to kill and rerun QUIZ to change any other run parameters, such as CC= for conditional compile flags.