IBM Mainframe Forum Index
 
Log In
 
IBM Mainframe Forum Index Mainframe: Search IBM Mainframe Forum: FAQ Register
 

How to find the NEWCOPIed pgm has picked the latest load mod


IBM Mainframe Forums -> CICS
Post new topic   Reply to topic
View previous topic :: View next topic  
Author Message
abdul.faras

New User


Joined: 29 Feb 2008
Posts: 49
Location: Pune

PostPosted: Tue Apr 01, 2008 1:42 pm
Reply with quote

I have an online cobol program, which I changed, then I compiled it successfully. Then I made CEMT SET PROG(XXXX) NE.

But I want to know whether it has picked up the latest load module or not.
There are ways of doing it:
1. Test for the changed or new functionality added in the program.
2. Use LIST command in INTERTEST to match the TIMESTAMP on the listing with the load modules TIMESTAMP. (But I am using IBM Debug Tool)

Is there any way other than these to find out, whether CEMT SET PROG has picked the latest load module or not?
Back to top
View user's profile Send private message
dbzTHEdinosauer

Global Moderator


Joined: 20 Oct 2006
Posts: 6966
Location: porcelain throne

PostPosted: Tue Apr 01, 2008 2:20 pm
Reply with quote

1. load module libraries only contain one copy of a member (it is a pds, so you can't have more than one member of a pds with the same name).

2. cics maintains loaded modules in its own area. A NEW COPY reloads this CICS area with a copy of the member in the load library.

so, unless you have the same member in two concatenated libraries, your new copy will always use the latest version, because there is only one.

If you managed to get a copy of your load module in both libraries, you need to delete the older version.

sometimes cics will not allow you to new copy (a non-zero return code) for many many reasons. but this is not your problem.

you seem to think that there are many versions of your load module and cics maybe having trouble deciding which is the latest. if you think this is true, you have been mis-informed.
Back to top
View user's profile Send private message
UmeySan

Active Member


Joined: 22 Aug 2006
Posts: 771
Location: Germany

PostPosted: Tue Apr 01, 2008 2:53 pm
Reply with quote

Hi !

If i remember correctly, i just have no cics access her today to test it out,
you could see the numer of lines of load module is changing when you're entering the CEMT command.

CEMT i PROG(XXXX)
CEMT SET PROG(XXXX) NEW

At the right side, a numer will change by entering the new-command.

@Dick:
Plse, correct me if i'm wrong. Just having something like this in mind.

Regards, UmeySan
Back to top
View user's profile Send private message
abdul.faras

New User


Joined: 29 Feb 2008
Posts: 49
Location: Pune

PostPosted: Tue Apr 01, 2008 3:00 pm
Reply with quote

Dick,
Thanks to your valued responce. I am clear with that information.

But still my question is how to verify that?
Or how to see timestamp of PGM loaded in CICS without using INTERTEST?
Or is there any other way to verify this?
Back to top
View user's profile Send private message
abdul.faras

New User


Joined: 29 Feb 2008
Posts: 49
Location: Pune

PostPosted: Tue Apr 01, 2008 3:11 pm
Reply with quote

UmeySan wrote:
At the right side, a numer will change by entering the new-command.


UmeySan,
I guess you are correct.
But for this I need to remember the length of earlier version of program to compare it with the new programs length.
Back to top
View user's profile Send private message
dbzTHEdinosauer

Global Moderator


Joined: 20 Oct 2006
Posts: 6966
Location: porcelain throne

PostPosted: Tue Apr 01, 2008 3:18 pm
Reply with quote

UmeySan,
i have no problem with what you said.

Abdul,

There are all kinds of cics based utilities (3rd party) that let you do this kind of thing, I personnally 'BROWSE' the load module dataset member and look at the date contained in the load.

I determine the load libraries from the cics job (JESJCL) and see what are the names of the application libraries allocated to cics.

I also follow the jobs that compile/link/bind any of my modules and insure that these jobs execute properly.
Back to top
View user's profile Send private message
abdul.faras

New User


Joined: 29 Feb 2008
Posts: 49
Location: Pune

PostPosted: Tue Apr 01, 2008 3:23 pm
Reply with quote

Thanks Dick,
I guess this is the simple and easiest way I can look for.

Thank you all for your replies.
Back to top
View user's profile Send private message
Earl Haigh

Active User


Joined: 25 Jul 2006
Posts: 475

PostPosted: Wed Apr 02, 2008 4:43 am
Reply with quote

enter CEMT set program (XXXXX)

then type new after set program

set program(xxxx) new



leng value of program should change, if it didn't then your new changes were not loaded
Back to top
View user's profile Send private message
CICS Guy

Senior Member


Joined: 18 Jul 2007
Posts: 2146
Location: At my coffee table

PostPosted: Wed Apr 02, 2008 5:11 am
Reply with quote

Abdul,
For what it's worth, I usually do a cemt i prog(xxx) and then put the n in the newcopy slot and watch the program length change.
If the update to the program did not change the length (and the behavior of the change is not that significant), I would get the load address (ceci load prog(xxx)) and then cedf the (any) transaction and enter the load address in the (current) working storage address and examine the load module for the compile date imbedded there.....
Back to top
View user's profile Send private message
dick scherrer

Moderator Emeritus


Joined: 23 Nov 2006
Posts: 19244
Location: Inside the Matrix

PostPosted: Wed Apr 02, 2008 6:12 am
Reply with quote

Hello,

One slight caution. . .

If this is a minor change (say changing a literal in ws), the length might not change.
Back to top
View user's profile Send private message
Bill O'Boyle

CICS Moderator


Joined: 14 Jan 2008
Posts: 2501
Location: Atlanta, Georgia, USA

PostPosted: Wed Apr 02, 2008 8:24 am
Reply with quote

When I don't have a choice, here's a "Cheesy" method -

01) Issue a CECI LOAD PROGRAM(XXXXXXXX) and copy the SET result address.
02) Clear the screen and place your session under CEDF and enter a known transid, such as a Main-Menu.
03) After executing at least one CICS command, press PF5 and go to Working-Storage.
04) Paste the SET result (an address) into the address-area at top of screen and hit <Enter>. This will be the load-point of the program which you just loaded in Step 01.
05) Press PF11 a couple of times and you'll see the compilation date/time on the right side of your screen, with a format of character CCYYMMDDHHMMSS and maybe more data, but you get the idea.

HTH....

Regards,

Bill
Back to top
View user's profile Send private message
abdul.faras

New User


Joined: 29 Feb 2008
Posts: 49
Location: Pune

PostPosted: Wed Apr 02, 2008 12:43 pm
Reply with quote

CICS Guy wrote:

cemt i prog(xxx) and then put the n in the newcopy slot and watch the program length change.
If the update to the program did not change the length (and the behavior of the change is not that significant)


Does this work when you are doing for the first time after region recycle?
I guess it will show length as 00000 when you do set I then it will show the changed length when you do NEW in the slot.
Correct me if I am wrong.
Back to top
View user's profile Send private message
CICS Guy

Senior Member


Joined: 18 Jul 2007
Posts: 2146
Location: At my coffee table

PostPosted: Wed Apr 02, 2008 5:28 pm
Reply with quote

abdul.faras wrote:
Does this work when you are doing for the first time after region recycle?
I guess it will show length as 00000 when you do set I then it will show the changed length when you do NEW in the slot.
Correct me if I am wrong.
If autoinstall or the program has not been loaded yet, the length change will not be visible.
Then you only can load and search the module for the compile (and/or bind) date......
Back to top
View user's profile Send private message
Earl Haigh

Active User


Joined: 25 Jul 2006
Posts: 475

PostPosted: Sat Apr 05, 2008 6:47 am
Reply with quote

if the program has not been used in the region yet, the length will show
000000
Back to top
View user's profile Send private message
Earl Haigh

Active User


Joined: 25 Jul 2006
Posts: 475

PostPosted: Sat Apr 05, 2008 6:53 am
Reply with quote

If you have some vendor software that can execute cemt commands from batch, you just perform newcopy of the most recent compiled program from a batch job step.

for example

// *** step1 compile program
..
..

//*** step2 execute some vendor software
region=cicstest
set program (xxxxxxxx) new
Back to top
View user's profile Send private message
CICS Guy

Senior Member


Joined: 18 Jul 2007
Posts: 2146
Location: At my coffee table

PostPosted: Sat Apr 05, 2008 7:00 am
Reply with quote

Earl Haigh wrote:
If you have some vendor software that can execute cemt commands from batch, you just perform newcopy of the most recent compiled program from a batch job step.
Only if the program has been cataloged into a loadlib in the RPL..... And equal to or higher in the list than the old version.....
Back to top
View user's profile Send private message
View previous topic :: :: View next topic  
Post new topic   Reply to topic View Bookmarks
All times are GMT + 6 Hours
Forum Index -> CICS

 


Similar Topics
Topic Forum Replies
No new posts Load new table with Old unload - DB2 DB2 6
No new posts To find whether record count are true... DFSORT/ICETOOL 6
No new posts How to load to DB2 with column level ... DB2 6
No new posts REASON 00D70014 in load utility DB2 6
No new posts Find the size of a PS file before rea... COBOL Programming 13
Search our Forums:

Back to Top