|
Hello Alexander, You wrote: >When you individually list modules and service programs on the CRTPGM and >CRTSRVPGM commands, you might list more components than necessary. In >these case, the binder dutifully copies all the listed components into >the resulting program. When you simply name a binding directory, the >binder uses only those components it needs. That is true. Since service programs should be a group of related functions it should be simple to keep the list of modules accurate. I'm careful enough to ensure that only the necessary modules and service programs are listed. My consistent error is presuming that others are as careful. I should know better! >It's still easy to lose track of which modules and service programs we >need for a specific program, and where to find them on our system. >Sometimes we change our database structure. How can we recompile all of >our programs automatically when we must specify modules and service >programs? This is where a SINGLE binding directory is useful. You should be using a change management tool to build your programs and service programs. That tool should give you the ability to specify the build commands for each object and rerun them automatically when a component changes. I use a build script for each service program. In that script I list the modules needed by the service program and any service programs that are also needed. I may choose to use a binding directory also for things like the QC2LE entry points. I generally specify the IBM binding directories in an H-spec. I use a generic build script for my programs in which I list the main entry module and the application binding directory. The application binding directory contains service programs only. If I build a program out of multiple modules (e.g., logic, presentation, etc.) then I would create a specific build script that listed the specific modules and the binding directory of service programs. If you still wish to persist in using your SINGLE binding directory then put the service programs at the start and the modules at the end. Before building service program XYZ you must delete the existing XYZ service program. That will cause the XYZ service program entry in the binding directory to be skipped because it can't be found and the various modules will be used to build the XYZ service program. Then when you build programs that use the XYZ service program they will find the service program and it will be used instead of the modules. This method does work but is likely to be problematic. Regards, Simon Coulter. -------------------------------------------------------------------- FlyByNight Software AS/400 Technical Specialists http://www.flybynight.com.au/ Phone: +61 3 9419 0175 Mobile: +61 0411 091 400 /"\ Fax: +61 3 9419 0175 mailto: shc@flybynight.com.au \ / X ASCII Ribbon campaign against HTML E-Mail / \ --------------------------------------------------------------------
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].
Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.