Portal | Manuals | References | Downloads | Info | Programs | JCLs | Master the Mainframes
IBM Mainframe Computers Forums Index
 
Register
 
IBM Mainframe Computers Forums Index Mainframe: Search IBM Mainframe Forum: FAQ Memberlist Usergroups Profile Log in to check your private messages Log in
 

 

How to remove the in-memory directory entry of programs

 
Post new topic   Reply to topic    IBMMAINFRAMES.com Support Forums -> CICS
View previous topic :: :: View next topic  
Author Message
mchanapa

New User


Joined: 17 Nov 2011
Posts: 36
Location: India

PostPosted: Thu Nov 17, 2011 11:55 am    Post subject: How to remove the in-memory directory entry of programs
Reply with quote

Hi . .

I need to do the new copy of bulk programs in CICS. Without doing the Newcopy for individual program, i am thinking of removing the in-memory directory entry of all programs from CICS memory. So that when CICS attempts to locate the MAP or program, CICS finds the address missing and creates the new copy of the entry at the first request for it.

Please help me with this query.

Regards,
Kishore ch.
Back to top
View user's profile Send private message

Garry Carroll

Active Member


Joined: 08 May 2006
Posts: 991
Location: Dublin, Ireland / Edinburgh, Scotland

PostPosted: Thu Nov 17, 2011 1:05 pm    Post subject:
Reply with quote

What's wrong with using (e.g.) CEMT SET PROG(A*) NEW (or PHASEIN)? What you are suggesting is dangerous and a waste of time. You should NEVER mess with CICS control blocks/tables.

There is no 'in-memory directory entry', as you call it. There is, however the PPT - a CICS table. Selectively or randomly deleting entries from this is extremely dangerous and is likely to bite you.

Garry.
Back to top
View user's profile Send private message
mchanapa

New User


Joined: 17 Nov 2011
Posts: 36
Location: India

PostPosted: Thu Nov 17, 2011 1:57 pm    Post subject: Reply to: How to remove the in-memory directory entry of pro
Reply with quote

Hi Gary,

Thanks for response.
When we do the NEWCOPY of a program, the old version of that program will be deleted from CICS memory area. Once we fire that transaction again the new load will be loaded to CICS memory area.

I am not touching the PPT, i am thinking to clear that CICS MEMORY AREA to get the new load.

The command you mentioned is fine but please help with the other avaliable options.

Regards,
Kishore ch
Back to top
View user's profile Send private message
Garry Carroll

Active Member


Joined: 08 May 2006
Posts: 991
Location: Dublin, Ireland / Edinburgh, Scotland

PostPosted: Thu Nov 17, 2011 2:23 pm    Post subject:
Reply with quote

When you do a NEWCOPY the program is not deleted from memory - the memory is de-allocated and, unless it is re-allocated for use by something else, will still contain the program code.

If the memory is re-used or re-initialised in any way, the PPT entry will still have the memory address and CICS will still try to execute whatever's at that address - so you get a S0Cx abend. The only way to get CICS to re-load the fresh copy of the program is to reset the PPT.

The PPT contains, among other things, the physical disk location of the program on disk and the memory address (if loaded). If the memory address is nulls, then CICS will load from the physical disk address and update the memory address. If you haven't reset the physical disk address, then CICs will reload the same, old version of the program. This is why one should NEVER compress a load library while it is in use by CICS.

From my point of view, the only other option to using CEMT is to write a program to use the SP API - EXEC CICS SET PROGRAM(xxxxxxxx) NEW (or PHASEIN). Such a program could browse the PPT, issuing a SET command for all, or selected, programs.


Garry.
Back to top
View user's profile Send private message
mchanapa

New User


Joined: 17 Nov 2011
Posts: 36
Location: India

PostPosted: Thu Nov 17, 2011 2:35 pm    Post subject: Reply to: How to remove the in-memory directory entry of pro
Reply with quote

Hi Gary,

Thanks for the prompt response.
You have cleared my doubt. But I have one more small doubt.

For example a transaction TRAN is presently running in CICS, Now we are doing CEMT S PRG ALL then the program using by that transaction TRAN will be updated in PPT?
Or will it be failed? If so when we can use this command to get all programs loaded with new version.?

Regards,
Kishore ch.
Back to top
View user's profile Send private message
Garry Carroll

Active Member


Joined: 08 May 2006
Posts: 991
Location: Dublin, Ireland / Edinburgh, Scotland

PostPosted: Thu Nov 17, 2011 2:51 pm    Post subject: Re: Reply to: How to remove the in-memory directory entry of
Reply with quote

mchanapa wrote:
Hi Gary,

Thanks for the prompt response.
You have cleared my doubt. But I have one more small doubt.

For example a transaction TRAN is presently running in CICS, Now we are doing CEMT S PRG ALL then the program using by that transaction TRAN will be updated in PPT?
Or will it be failed? If so when we can use this command to get all programs loaded with new version.?

Regards,
Kishore ch.


If you issue CEMT SET PROG(*) NEW, the in-flight program will not newcopy and the task will run to completion. To allow for this, issue CEMT SET PROG(*) PHASEIN which will allow any in-flight tasks using the current version to complete but any new tasks will get the new copy (hence phase in).

Garry.
Back to top
View user's profile Send private message
mchanapa

New User


Joined: 17 Nov 2011
Posts: 36
Location: India

PostPosted: Thu Nov 17, 2011 2:56 pm    Post subject: Reply to: How to remove the in-memory directory entry of pro
Reply with quote

Thanks Gary.
Back to top
View user's profile Send private message
View previous topic :: :: View next topic  
Post new topic   Reply to topic    IBMMAINFRAMES.com Support Forums -> CICS All times are GMT + 6 Hours
Page 1 of 1

 

Search our Forum:

Similar Topics
Topic Author Forum Replies Posted
No new posts Cobol list of programs being called biswajit.dattagupta COBOL Programming 5 Tue Nov 01, 2016 2:10 am
No new posts Can sending 5 MB data between cobol p... Kevin Vaz CICS 12 Tue Oct 18, 2016 4:50 pm
No new posts Not enough virtual memory is availabl... Vinay Pushpala IBM Tools 16 Tue Sep 13, 2016 4:37 pm
No new posts Automation of data entry using Rexx i... zingy.rajeev CLIST & REXX 4 Mon Aug 22, 2016 4:13 pm
This topic is locked: you cannot edit posts or make replies. Automation of data entry using Rexx i... zingy.rajeev CICS 0 Mon Aug 22, 2016 4:11 pm


Facebook
Back to Top
 
Mainframe Wiki | Forum Rules | Bookmarks | Subscriptions | FAQ | Tutorials | Contact Us