Are you using service programs??You know that after a service program is called the overhead for subsequent calls are nearly equal to that of the EXSR opcode.?Heres a mini tip: Call service programs with the CALLB opcode.?To create a program that calls a service program you would typicaly create a module, wait for module to compile and create a program object for the module, prompting the command and entering the name of your service program.?That's a lot of work just to use the callb opcode.? Here's what to change to do it in one step.
- Create a binding directory CRTBNDDIR yourlib/yourdir.
- Add your service programs to the binding directory. ADDBNDDIRE
- Sign on as QSECOFR and issue the following command:
CHGCMDDFT CMD(CRTPGM) DEFAULT("BNDDIR(YOURLIB/YOURDIR)")
Congratulations, you can now use the CRTBNDRPG and CRTBNDCL to create programs that call service programs in one step!
Wait there's more.?I know you want to debug these programs.
While your signed on as QSECOFR -- and if you don't mind larger program objects on your system -- issue the following commands:
CHGCMDDFT CMD(CRTRPGMOD) DEFAULT(("DBGVIEW(*SOURCE)") CHGCMDDFT CMD(CRTCLMOD) DEFAULT("DBGVIEW(*SOURCE)") CHGCMDDFT CMD(CRTBNDRPG) DEFAULT("DBGVIEW(*SOURCE)") CHGCMDDFT CMD(CRTBNDCL) DEFAULT("DBGVIEW(*SOURCE)")
Now your system is ready for ILE.? You can create ILE programs that call service programs that can be debugged in one easy step.? And you'll save so much time that you can submit your own tips.
This was first published in February 2001