The basic idea of Bind Avoidance is to exchange the consistency token in the executing code from the current version to the previous which means that no package bind will be necessary.
Traditionally the Db2 pre-compiler has been used to pre-process the embedded SQL before doing the compilation. This means that it was quite easy to do the exchange of consistency token if needed since it could be done in the source code. When the Db2 coprocessor was introduced however this was no longer possible since the coprocessor is not a separate step but integrated with the COBOL compiler. This meant that the exchange was changed to do a separate update of the generated object code instead. After the release of Enterprise COBOL V5 the format of the object code was changed however which meant that this was no longer possible without updating that utility that executed the exchange. Unfortunately this has not been done by IBM.
In Enterprise COBOL V6 new syntax was introduced that the pre-compiler cannot parse so if that syntax is used you are forced to use the coprocessor and, starting from V6.3, if you need 64 bit addressing or newer COBOL language such as floating comment delimiters, JSON and XML syntax, your only option is the coprocessor since the pre-compiler generates invalid COBOL code.
What this boils down to is to:
Why is it useful?
Bind avoidance reduce the number om binds dramatically, save resources and reduce the size of your DB2 catalog and directory.
Why is it useful?
|Who would benefit from this IDEA?||Db2 users developing/maintaining/operating Cobol-Db2 applications|
How should it work?
NOTICE TO EU RESIDENTS: per EU Data Protection Policy, if you wish to remove your personal information from the IBM ideas portal, please login to the ideas portal using your previously registered information then change your email to "email@example.com" and first name to "anonymous" and last name to "anonymous". This will ensure that IBM will not send any emails to you about all idea submissions