MC Press Web Site Staff
** This thread discusses the Content article: Service Program Signatures0
Guest.Visitor
This article started out great and very informative for beginners. But it fizzled out very fast leaving the readers hanging without being informed of the most important thing to know (imo) about binder language. The article makes it appear that the author doesn\'t endorse any method of signature handling. When it gets to the last method of using the binder language it was like ". .then there is the binder language, but I\'m not going to talk about that now." I guess readers will have to wait for the rest of this article to really learn what they need to know. May I also suggest in the next article (or another) discussing how the system loader deals with changed ILE programs or service programs and signatures(example, if a service program changed while a program is active, will it load the new service program upon the next invocation? Or when an active program that changes which is bound to a service program, is that program reloaded?) It\'s difficult finding reference material on these advanced topics, which are needed especially when planning deployments.
aglauser
I use the "one hard-coded signature value that stays the same over time and one export list that changes with each new version of the service program" method. This works well for me, as I generally don\'t need to change existing procedures, so I can just add new ones to the end of the export list and everything is hunky-dorry. So far I have only had one module per service program. I\'m contemplating adding a second module to an existing service program. This makes me wonder - does each module in the service program have its own ranked list? I can see how it might given that each module is listed seperately in the binder source. If there is only one list, then the "keep the same signature" method seems to be problematic in this context.
lance napier
I know I\'m jumping the gun on the binding language discussion of this article, but I\'ll go ahead start anyway. I take the binding language source of exports a step further than it was designed... Some of the other things I keep in this source file are the modules and other compile options required to create the service program. These options are stored as comments in the source file that identify the module and option with a "tag". Finally I have a CL "compile" program that reads the source file. This program collects the module list and compile options to be used with the CRTSRVPGM command. I no longer have to remember or locate all the modules that make up a service program... The service program is now "source" based. The compile program can also be utilized with change management systems to make implementation effortless. I change the type of the binding source to something unique, example "BLP". This new source type directs my change management system to use my specialized compile program. After I promote the modules to production, I follow up by creating the service program using my specialized binding language source file. It\'s a great time saver that also eliminates mistakes when service programs contain several modules. There is nothing worse than trying to figure out which module is missing in the module list when you have 50 modules on the CRTSRVPGM request.
[size="1">Code[/size>
Guest.Visitor
cmallasee, You don\'t have to wait for the next article. Just read this thread: http://www.systeminetwork.com/isnetforums/showthread.php?t=45212 Read this too: HTTP://faq.midrange.com/data/cache/240.html Chris
JonFParis
> does each module in the service program have its own ranked list?
No. Each procedure in a module is either private or EXPORTed. The binder language for the service program actually determines which of those "exportable" symbols is actually exported to the outside world. When you create a multi module Service Program the service programs export list is built from the exportable names regardless of which module they belong to.
aglauser
I looked at some binder source again (from RTVBNDSRC), and realized where I went wrong. That command produces something like the code below. For some reason, I had the idea that the comments which show which module the symbols come from was a required part of the language, rather than just \'nice\' formatting by RTVBNDSRC. I was thinking that all the module1 exports had to be grouped, and all the module2 exports grouped as well. Happily wrong, Adam
[size="1">Code[/size>
AppDesigner
Those were interesting discussions there too. I know Susan was talking about binder language and signatures, but I\'d like to see some ideas about the relative merits of doing one module per service program or combining them. --Alan
Please login to make comments.
User Rating: / 4
PoorBest 
   MC-STORE.COM