Max Use Count
Hi List, We are ZOS 1.4 and DB2 7.1 site. The last few days we have encountered a strange problem We have a periodic batch job using DB2 Stored Procedure (cobol) calling other LMs including a call to module DPTACBTX. We sometimes get the following Msgs in the DB2SPAS log STC00153 CSV002I REQUESTS FOR MODULE DPTACBTX EXCEED MAXIMUM USE COUNT STC00153 CSV028I ABEND906-08 JOBNAME=DB2PSPAS STEPNAME=DB2PSPAS and the batch job is terminated. After restarting the job it works fine - till next time The DB2 SP is created with: STAY RESIDENT NO the main program is not rent and not reus and the failing module is not rent and REUS. We have two directions: A. The use count of the module increase in every call to the SP under the DB2SPAS jobstep till it has max use count... it's not reloaded again since it has RU attribute, B. since the module has RU attr under the DB2SPAS jobstep any SP that would call that module and work same time will cause an abend. The module is an external product module so we can't relink... Any advice will be appreciated. Magen. -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Re: Max Use Count
Magen, I'm not so familiar with COBOL and how programs are LOADed, DELETEd, (or LINKed to, etc.), from COBOL, but consider this: The LOAD macro bumps the USE count for a module each time LOAD is issued. DELETE decrements the USE count for a module each time issued. When a TASK requests a module be LOADed, no matter how many times, the USE count goes back to 0 when the task terminates (or is terminated). Also, by saying you are using REUS, that is not enough information. Per the linkedit guide the syntax/options are: REUS=( NONE | SERIAL | RENT | REFR ) Which REUS option was used? If you used REUS by itself, that is equivalent to REUS=SERIAL, and you get NORENT with it. You state: "since the module has RU attr under the DB2SPAS jobstep any SP that would call that module and work same time will cause an abend." This is true, but without manually BALRing to the module, how could this happen? If it is indeed linked REUS=SERIAL, the operating system makes sure only 1 task at a time can execute the module. Also, the scenario is not clear. You say you have a main program (I'm guessing the COBOL SP), a failing program (no name - but it attempts to execute DPTACBTX, and then there is DPTACBTX. Is this correct? Which of these belong to you and which belong to an external product (vendor?)? The problem sounds a lot like it lies with the program that calls DPTACBTX, and not with DPTACBTX. Todd - Original Message - From: "Magen Margalit" <[EMAIL PROTECTED]> Newsgroups: bit.listserv.ibm-main To: Sent: Wednesday, November 02, 2005 1:28 PM Subject: Max Use Count Hi List, We are ZOS 1.4 and DB2 7.1 site. The last few days we have encountered a strange problem We have a periodic batch job using DB2 Stored Procedure (cobol) calling other LMs including a call to module DPTACBTX. We sometimes get the following Msgs in the DB2SPAS log STC00153 CSV002I REQUESTS FOR MODULE DPTACBTX EXCEED MAXIMUM USE COUNT STC00153 CSV028I ABEND906-08 JOBNAME=DB2PSPAS STEPNAME=DB2PSPAS and the batch job is terminated. After restarting the job it works fine - till next time The DB2 SP is created with: STAY RESIDENT NO the main program is not rent and not reus and the failing module is not rent and REUS. We have two directions: A. The use count of the module increase in every call to the SP under the DB2SPAS jobstep till it has max use count... it's not reloaded again since it has RU attribute, B. since the module has RU attr under the DB2SPAS jobstep any SP that would call that module and work same time will cause an abend. The module is an external product module so we can't relink... Any advice will be appreciated. Magen. -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Re: Max Use Count
You may use the CSVQUERY service before loading the module again and again. You may also try the Cobol Command CANCEL. In these days you may also switch to WLM instead of SPAS Roland -Original Message- From: IBM Mainframe Discussion List [mailto:[EMAIL PROTECTED] On Behalf Of Magen Margalit Sent: Wednesday, November 02, 2005 8:29 PM To: IBM-MAIN@BAMA.UA.EDU Subject: Max Use Count Hi List, We are ZOS 1.4 and DB2 7.1 site. The last few days we have encountered a strange problem We have a periodic batch job using DB2 Stored Procedure (cobol) calling other LMs including a call to module DPTACBTX. We sometimes get the following Msgs in the DB2SPAS log STC00153 CSV002I REQUESTS FOR MODULE DPTACBTX EXCEED MAXIMUM USE COUNT STC00153 CSV028I ABEND906-08 JOBNAME=DB2PSPAS STEPNAME=DB2PSPAS and the batch job is terminated. After restarting the job it works fine - till next time The DB2 SP is created with: STAY RESIDENT NO the main program is not rent and not reus and the failing module is not rent and REUS. We have two directions: A. The use count of the module increase in every call to the SP under the DB2SPAS jobstep till it has max use count... it's not reloaded again since it has RU attribute, B. since the module has RU attr under the DB2SPAS jobstep any SP that would call that module and work same time will cause an abend. The module is an external product module so we can't relink... -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Re: Max Use Count
Hi Todd & Roland First let me thank you for your replys. When I said RU I ment SERIAL of course. but unfortunately ZOS does not take the care actually to serial the call and it's the application responsibility. On the DB2 SP documentation it states that SP should be RN & RU or No-Rent and No-Reus because the same RU module can be loaded more then one time in diffrent thread's under the same jobstep (DB2SPAS). Also the abends are random, and we have discovered that the calling routine was running more then 32800 times(Max use count is 32767). I think that we are abending when another SP was using the RU module (another thread), but on the CREATE SP statement the STAY RESIDENT NO specified (I'm not sure that this parm is regarding to all LM chain) Regarding to DB2WLM we are getting there. Magen. -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Re: Max Use Count
Magen, you are certainly welcome. However, please see this link for how it (program serialization) works. I believe I was correct. The control program handles serialization for LINK(X), XCTL(X) and ATTACH(X). You are on your own for LOAD or CALL followed by BALR. http://publibz.boulder.ibm.com/cgi-bin/bookmgr_OS390/BOOKS/IEA2A640/4.6.1.3?SHELF=&DT=20040714142015 Todd - Original Message - From: "Magen Margalit" <[EMAIL PROTECTED]> Newsgroups: bit.listserv.ibm-main To: Sent: Wednesday, November 02, 2005 11:53 PM Subject: Re: Max Use Count Hi Todd & Roland First let me thank you for your replys. When I said RU I ment SERIAL of course. but unfortunately ZOS does not take the care actually to serial the call and it's the application responsibility. On the DB2 SP documentation it states that SP should be RN & RU or No-Rent and No-Reus because the same RU module can be loaded more then one time in diffrent thread's under the same jobstep (DB2SPAS). Also the abends are random, and we have discovered that the calling routine was running more then 32800 times(Max use count is 32767). I think that we are abending when another SP was using the RU module (another thread), but on the CREATE SP statement the STAY RESIDENT NO specified (I'm not sure that this parm is regarding to all LM chain) Regarding to DB2WLM we are getting there. Magen. -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html