But like I said, I am going to play around with your solution and present that to the group also. Otherwise I'm not sure what the extra step is? There is also the option to create one app per library--but that, I think, get a bit unmanageable. This whole problem I am trying to solve was started because developers cannot remember to enter a named activation group when implementing programs. So I doubt they will remember to enter the name of a C module to bind it to their service programs.
And a solution that will easily flow through Implementer when we are promoting our changes. That is why I thought about chaning the menu system that all users use so that when they sign on they are placed in QILE at that time.
So I still have some research and testing to do on this idea. But going forward, I would like a better solution as to how to have service programs perform their own cleanup "by deisgn" and not "by accident" using RCLRSC. I am thinking that it may not be impacted, but this is something I have not tested. Is performance so bad that you have to work on how files are opened and closed? The point is not "move to embedded SQL" the point is the SQL interface is constantly opening and closing files and I see virtually no performance issues.
As for creating a service program from a single module because programmers can't remember--we'll you need to get different programmers; perhaps actual programmers. And Finally, this would NOT fix the thousands of programs that are in production without checking them out and making the change to the H-spec. We are aware of the differences between DDS and SQL files, but that is not even relevant to this discussion or the problems and systems that we are supporting here.
Perhaps one day our business community will not have such a backlog and we can do things like move to SQL files and such. And because they are, seven of us have wasted several hours this week putting out fires, defending service program usage in our systems with the business who wants them banned, and trying to come up with safeguards for the future. Anyway, most everyone of us out here in the real world have seen this error a time or two and the problem is well documented, there just are not very many good solutions to the problem.
We are looking for a solution to be used at the service program level, but also a quick and global solution which I think I may have. Finally, programmers are people, and people make mistakes. So hell yes, people are going to forget to do something like enter an addition module to bind to on the CRTSRVPGM command since they are already forgetting to enter a named activation group!
We want to make our lives easier, not more complicated. We have been told that we manage more projects and maintenance requests than many other shops, and that is with an SDLC process in place. We have very complex and highly integrated systems here, and the programs did NOT write themselves!
I know what the IBM docs say, and technically I guess they are right. But what it does is closes all of the files opened by that service program so that the next time a subprocedure inside that service program is called it blows up because it still thinks the files are opened. This is something that almost everyone developing service programs has experienced and something that is not covered by testing since everything can work fine during testing. The problem is that the RCLRSC closes all files left open by the service programs and the service programs still think it's files are still open.
The subprocedures cannot close the files just because they doing a RETURN because many of them are called several times when an order is being created and we don't want to add more overhead to this process yet they continue to do so!
I have searched several articles discussing the same problem, but still I can't find a preferred solution. So what is the next I can consider? Can the below methods solve my problem I am still testing them now, though. If I define 2 sets of file reading sub proc, one with files defined globally for batch job usage, one with files defined locally for INTER jobs? RCLRSC is strictly an OPM tool from the days before activation groups even existed, and on modern machines only affects the default activation group, but it does not completely clean it up or end it.
The files are closed, but the ILE program objects do not know about it because the activation group is not ended and cleaned up. Stack Overflow for Teams — Collaborate and share knowledge with a private group. Create a free Team What is Teams? Collectives on Stack Overflow.
Learn more. Asked 2 years, 11 months ago. Active 2 years, 11 months ago. You cannot delete the OPM default activation group. It is deleted by the system when your job ends. Deleting an Activation Group When an activation group is deleted, its resources are reclaimed. The resources includestatic storage and open files. Named activation groups such as QILE are persistent activation groups in that they are not deleted unless explicitly deleted or unless the job ends.
The storage associated with programs running in named activation groups is not released until these activation groups are deleted. Therefore, you should avoid having ILE programs that use large amounts of static storage run in the OPM default activation group, since the storage will not be reclaimed until the job ends. The storage associated with a service program is reclaimed only when the activation group it is associated with ends.
If the service program is called into the default activation group, its resources are reclaimed when the job ends. Use this command to delete a nondefault activation group that is not in use. The command provides options to either delete all eligible activation groups or to delete an activation group by name.
The command works differently depending on how the program was created. For programs, the storage will be re-initialized; however, the storage will not be released. For service programs, the storage will neither be re-initialized nor released. Ibm - Rpg Interview Questions. Ibm - Rpg Practice Tests.
IT Skills. Management Skills.
0コメント