Page 1 of 1

Address values not updated on dynamically loading ASM table

PostPosted: Fri Nov 25, 2016 1:21 pm
by pranav283
Hi,

I have a requirement where I have to load an Assembler table (CSLVRNS) from a COBOL CICS program (X3O99203) and I have to load it dynamically. It is because the table contains our project release information and we want the info to be picked up into the copybook layout CSWVRNS (present in Linkage Section) of X3099203 when it loads the CSLVRNS table, without having to recompile the main program X3099203 at the time of release.
Here it is what I am supposed to do:

LOAD THE VERSION LEVEL AND RELEASE DATE
                                       
   EXEC CICS                          
      LOAD PROGRAM(WS-CSLVRNS-PGM)    
      ENTRY(ADDRESS OF CSWVRNS)        
      NOHANDLE                        
   END-EXEC.                          


FYI, value of WS-CSLVRNS-PGM is CSLVRNS only.
However, when I run this code, I only see the old values in CSWVRNS, even when I changed the contents in CSLVRNS and pick both programs from the latest and updated load library.
I am compiling the ASM module in batch mode. Not sure whether I should do in online mode or not as I don't have any idea about Assemblers.

I suspect that the it program X3099203 is only picking old values from whenever it was last ran and it is not reflecting the current value from CSLVRNS.

Re: Address values not updated on dynamically loading ASM ta

PostPosted: Fri Nov 25, 2016 3:08 pm
by enrico-sorichetti
You will need to NEWCOPY the ASM table

Re: Address values not updated on dynamically loading ASM ta

PostPosted: Fri Nov 25, 2016 3:40 pm
by pranav283
I do the newcopy everytime I make a change to the ASM table.
However, as of now I was compiling the ASM table in batch mode. But, when I compiled it in online mode and issued a NEWCOPY, it gave positive results.

But the problem crept in the batch programs. All the batch programs that have been making calls to this ASM table, they are now reflecting the wrong values.

CALL 'CSLVRNS' USING CSWVRNS


To be noted that they were giving good results when ASM was compiled in batch mode.
Reason is -> we have the same load libraries from where the batch and online programs would be picked up. Not sure how to make the distinction in libraries.

Re: Address values not updated on dynamically loading ASM ta

PostPosted: Fri Nov 25, 2016 9:21 pm
by Robert Sample
On the CICS side, is the assembler program defined to CICS with RELOAD=YES? If so, the ONLY way to get the program out of memory to use the changed values is to issue a FREEMAIN.

Re: Address values not updated on dynamically loading ASM ta

PostPosted: Fri Nov 25, 2016 9:57 pm
by Terry Heinze
If you are compiling your COBOL program with NODYNAM in effect, try DYNAM.