View previous topic :: View next topic
|
Author |
Message |
rajesh 35
New User
Joined: 21 Sep 2010 Posts: 7 Location: chennai
|
|
|
|
Hi,
I have compiled an existing a program with some modifications in it, while doing new copy in cics region got below error message “CANNOT NEWCOPY” .
SET PROG(XXXX) NEW
STATUS: RESULTS - OVERTYPE TO MODIFY
Prog(XXXX ) Len(0010352) Cob Pro Ena Pri Ced CANNOT NEWCOPY
Res(001) Use(0000000068) Bel Uex Ful Qua Le3
I have checked my program in library where this library assigned in STEPLIB of CICS region program is found and also I have cross checked the LEN(0010352) in CICS region with LEN 2870 (HEX ) in steplib library so from this I understood that it pickup of latest load but it is saying that CANNOT NEWCOPY message.
Why it saying that CANNOT NEWCOPY even the load is exist in steplib library ?
To solve this I have recompiled the program again now length of load in CICS steplib is 00002878 ( HEX ) and tried to do new copy in CICS region using CEMT this time LEN is ( 0010352 ) it means it is picking up the old load which I have replaced with new load.
SET PROG(XXXX) NEW
STATUS: RESULTS - OVERTYPE TO MODIFY
Prog(XXXX ) Len(0010352) Cob Pro Ena Pri Ced CANNOT NEWCOPY
Res(001) Use(0000000068) Bel Uex Ful Qua Le3
Even why it is taking the old load which has no more exist in steplib due to it is replaced the new load ( length 2878 Hex ) ? |
|
Back to top |
|
|
Bill Woodger
Moderator Emeritus
Joined: 09 Mar 2011 Posts: 7309 Location: Inside the Matrix
|
|
|
|
Have you googled? Hit the manuals? Asked around your colleagues? Your technical support?
Mostly you'll get quicker answers that way.
When you "compiled again", what had you changed to make it 8 bytes longer? Not relevant to the answer, I'm sure, but just wondering.
Try to see if RES or USE is getting in the way. |
|
Back to top |
|
|
PeterHolland
Global Moderator
Joined: 27 Oct 2009 Posts: 2481 Location: Netherlands, Amstelveen
|
|
|
|
Try to do a DISCARD PROGRAM before the SET PROGRAM |
|
Back to top |
|
|
dbzTHEdinosauer
Global Moderator
Joined: 20 Oct 2006 Posts: 6966 Location: porcelain throne
|
|
|
|
might want to check if someone is expediting the module
CEMT INQ TASK |
|
Back to top |
|
|
Robert Sample
Global Moderator
Joined: 06 Jun 2008 Posts: 8700 Location: Dubuque, Iowa, USA
|
|
|
|
Code: |
SET PROG(XXXX) NEW
STATUS: RESULTS - OVERTYPE TO MODIFY
Prog(XXXX ) Len(0010352) Cob Pro Ena Pri Ced CANNOT NEWCOPY
Res(001) Use(0000000068) Bel Uex Ful Qua Le3 |
You cannot do a NEWCOPY as long as the RES count is greater than zero. |
|
Back to top |
|
|
valyk
Active User
Joined: 16 Apr 2008 Posts: 104 Location: South Carolina
|
|
|
|
Robert Sample wrote: |
Code: |
SET PROG(XXXX) NEW
STATUS: RESULTS - OVERTYPE TO MODIFY
Prog(XXXX ) Len(0010352) Cob Pro Ena Pri Ced CANNOT NEWCOPY
Res(001) Use(0000000068) Bel Uex Ful Qua Le3 |
You cannot do a NEWCOPY as long as the RES count is greater than zero. |
Most likely you have a transaction running that is executing this program, or you are in CEDF/CEDX on another session. |
|
Back to top |
|
|
Robert Sample
Global Moderator
Joined: 06 Jun 2008 Posts: 8700 Location: Dubuque, Iowa, USA
|
|
|
|
valyk, another possibility is that an EXEC CICS LOAD PROGRAM(XXXX) command was executed in some CICS transaction somewhere. |
|
Back to top |
|
|
Bill O'Boyle
CICS Moderator
Joined: 14 Jan 2008 Posts: 2501 Location: Atlanta, Georgia, USA
|
|
|
|
DBZ has the answer.
Someone is Expediting the program and has walked away from the session, gone home, went to lunch, or the session was cancelled altogether, but Xpediter still has the program.
Go to CECI and issue a RELEASE PROGRAM until you get a NOTFND.
Then go back to CEMT and try the NEWCOPY (check the RES count first).
Normally, you should be issuing a PHA ("PHASEIN") as opposed to NEW.
Bill |
|
Back to top |
|
|
rajesh 35
New User
Joined: 21 Sep 2010 Posts: 7 Location: chennai
|
|
|
|
Hi All
Thanks for your comments, now I can able understand and think in different ways which cause the issue.
Hi Robert/Valyk/Bill,
I have gone through google find about what RES specifies or indicates,
Code: |
Newcopy
CICS uses a new copy of the program when all the transactions currently using the program have finished (RESCOUNT equal to zero). |
From above information I understand that if RES = 0 means that programm is free and not by using by any transctions/users.
but while I'm doing new copy of my programm no one else is using ( by debugging e.t.c ) it.
Is there any way to check who is using the programm at the time ? |
|
Back to top |
|
|
PeterHolland
Global Moderator
Joined: 27 Oct 2009 Posts: 2481 Location: Netherlands, Amstelveen
|
|
|
|
PeterHolland wrote: |
Try to do a DISCARD PROGRAM before the SET PROGRAM |
Did you do this? Damn, repeating myself for the third time this year. All that lost time i never get back being allready almost in deaththrows. |
|
Back to top |
|
|
valyk
Active User
Joined: 16 Apr 2008 Posts: 104 Location: South Carolina
|
|
|
|
Robert Sample wrote: |
valyk, another possibility is that an EXEC CICS LOAD PROGRAM(XXXX) command was executed in some CICS transaction somewhere. |
I think you mean LOAD PROGRAM HOLD. A simple LOAD will not keep the RES count at 1, but the HOLD option will. |
|
Back to top |
|
|
Robert Sample
Global Moderator
Joined: 06 Jun 2008 Posts: 8700 Location: Dubuque, Iowa, USA
|
|
|
|
Yes, I forgot to put the HOLD on the command in my post -- I've used it in the past, so I should have gotten it right! |
|
Back to top |
|
|
sriramp777
New User
Joined: 29 Sep 2008 Posts: 6 Location: Bangalore
|
|
|
|
I read through the replies on this topic. But I am facing a peculiar behaviour.
Even after doing the below,
LOAD (progname)
RELEASE (progname) [twice]
I get the message as INVREQ with EIB details as
EIBRESP=+0000000016 EIBRESP2=+0000000007
And I still have the Rescount for progname greater than 0.
I would appreciate if someone would help me to find out what is holding on the progname.
Many thanks,
Regards,
Sriram |
|
Back to top |
|
|
Robert Sample
Global Moderator
Joined: 06 Jun 2008 Posts: 8700 Location: Dubuque, Iowa, USA
|
|
|
|
As was made clear in the discussion for this thread, if the RESCOUNT is greater than zero, you cannot do a NEWCOPY on that program -- period. If the RESCOUNT is 7, you must execute the RELEASE 7 times to get the RESCOUNT to zero. Of course, if a transaction executes to increase the RESCOUNT before you get the NEWCOPY done, the NEWCOPY will fail -- again. |
|
Back to top |
|
|
|