ASG
IBM
Zystems
Cressida
Icon
Netflexity
 
  MQSeries.net
Search  Search       Tech Exchange      Education      Certifications      Library      Info Center      SupportPacs      LinkedIn  Search  Search                                                                   FAQ  FAQ   Usergroups  Usergroups
 
Register  ::  Log in Log in to check your private messages
 
RSS Feed - WebSphere MQ Support RSS Feed - Message Broker Support

MQSeries.net Forum Index » Mainframe, CICS, TXSeries » Values in CMQMDV

Post new topic  Reply to topic Goto page Previous  1, 2
 Values in CMQMDV « View previous topic :: View next topic » 
Author Message
bruce2359
PostPosted: Tue Nov 21, 2006 5:12 pm    Post subject: Reply with quote

Guest




Read Chapter 1 of the MQ Application Programmers Reference. It discusses the copybooks and headers (include-files) for the different languages. Ones that end in the letter V have the initial Values.

These are initial values, NOT defaults. And, as they are copied into the source-program (and linkedited/bound) into executable, a subsequent change to the source copybook in the library has no effect on the executable. If the programmer modifies a field in the structure (copied into the program), it does not revert to the initial value. It is up to the programmer to set (or reset) values to whatever the application program demands. This is consistent across programming languages - the programmer manages all data fields.

As an MQ programming 'best practice' the programmer should create a duplicate of the structure (copy it into the source program twice - with two different names), leave the IBM-supplied instance untouched in the program, so that the working version of the structure can be reset back to the image initially copied into the program.

The source-program and resulting executable are not influenced by subsequent changes to the IBM-supplied library version of the structure. This is usually refered to as static-linked components. The program would need to be recompiled to implement any changes to the structures in the IBM-supplied libraries.

Your last question was about porting the application from one system to another. Porting is usually done at source-code or object-level, with the executable bound/linkdited at the destination computer. Porting is not usually done at the executable-level. This ensures that the resulting executable is composed of compatible components - another best practice (not limited to the mainframe). Many MQ programs do SQL calls, IMS calls, or calls to other components (like the SORT) that may be at different run-time maintenance levels.

You asked: So, I wanted to know, if the copybook values remain constant; unless, explicitly changed by customer's request.

In summary, the values exist in two places: the IBM-supplied library; and in any application program that has a copied instance of the library image.

Once copied into a program, maintenance to the library (from where the structure was copied) has no effect on the executable program. Conversely, if the programmer makes changes to the image in his/her program, the library remains unaffected.

If you are not a programmer, take a programming class (of any type) to gain some familiarity with these concepts.

If you have some knowledge of COBOL or C, take one of IBM's 3-day courses:
MQ052 WebSphere MQ Application Programming (AIX)
MQ054 WebSphere MQ Application Programming (z/OS)
MQ057 WebSphere MQ Application Programming (Windows)

I hope this helps.
Back to top
Display posts from previous:   
Post new topic  Reply to topic Goto page Previous  1, 2 Page 2 of 2

MQSeries.net Forum Index » Mainframe, CICS, TXSeries » Values in CMQMDV
Jump to:  



You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
Protected by Anti-Spam ACP
 
 


Theme by Dustin Baccetti
Powered by phpBB © 2001, 2002 phpBB Group

Copyright © MQSeries.net. All rights reserved.