APAR status
Closed as canceled.
Error description
5740xyr00 DB2 R410V4 This APAR documents changes to the DB2 Application Programming & SQL Guide SC26326600 which did not make Version 4.1 GA pubs This APAR is continued in II09590. ================================================================ Version 4 Book Title: Application Programming and SQL Guide Pages: 3-44 Change Description: In Table 8, change the last paragraph of notes for DECIMAL(p,s) to this: For Efficient Use of Indexes: Use value. If p is even, do not use Ln and be sure that the precision of value is p and the scale of value is s. If p is odd, you can use Ln (although it is not advised), but you must choose n so that 2n-1=p, and the scale of value is s. Include a decimal point in value, even when the scale of value is 0. ============================================================ Version 4 Book Title: Application Programming and SQL Guide Pages: 3-68 Change Description: Add CAF to the label box for CICS, as follows: +-- CICS and CAF ------------------------------------------+ | You must specify the NODYNAM option when compiling a | | COBOL program that includes SQL statements. DYNAM | | is not allowed. | +----------------------------------------------------------+ ============================================================ Version 4 Book Title: Application Programming and SQL Guide Pages: 3-68, 6-33 Change Description: Change the CICS and CAF label box on page 3-68 to this: +-- CICS and CAF ------------------------------------------+ | You must specify the NODYNAM option when compiling a | | COBOL program that includes SQL statements. DYNAM | | is not allowed. | | Because stored procedures use CAF, you must also | | compile COBOL stored procedures with the option NODYNAM. | +----------------------------------------------------------+ Change the first bullet under "Preparing a Stored Procedure" on page 6-33 to this: - Precompile and compile the application. If your stored procedure is a COBOL program, you must compile it with the option NODYNAM. - Link-edit the application. Your stored procedure must either link-edit or load DSNALI, the language interface module for the call attachment facility. For more information, see "Accessing the CAF Language Interface" on page 6-150. ============================================================ Version 4 Book Title: Application Programming and SQL Guide Pages: 3-69 Change Description: In "Special COBOL Considerations," Add this bullet: - Observe the rules in the SQL Reference when you name SQL identifiers. Do not use hyphens in an SQL identifier or begin the identifier with a digit. Change the bullet on hyphens to this: - Observe these rules for hyphens: - Surround hyphens used as subtraction operators with spaces. DB2 usually interprets a hyphen with no spaces around it as part of a host variable name. - Do not use hyphens in SQL identifiers. You cannot bind SQL statements remotely that have hyphens in SQL identifiers. ============================================================ Version 4 Book Title: Application Programming and SQL Guide Pages: 3-69 Change Description: Change bullet four to the following: Although DB2 currently accepts hyphens in all COBOL names, it might not be true in future versions of DB2. At this time, you will get an error if you attempt to bind a COBOL program remotely that uses host variables with hyphens in SQL statements. ============================================================ Version 4 Book Title: Application Programming and SQL Guide Pages: 4-15 Change Description: The fourth paragraph under the heading TIMEOUT which begins with "COMMIT and ROLLBACK operations..." should be changed to the following: COMMIT and ROLLBACK operations do not time out. The command STOP DATABASE, however, may time out and send messages to the console, but it will retry up to 15 times. ============================================================ Version 4 Book Title: Application Programming and SQL Guide Pages: 4-17 Change Description: Change the box at the top of the page to this: +--TSO, Batch, and CAF-------------------------------------+ | When a deadlock or timeout occurs in these environments,| | DB2 sets SQLCODE -913 in the SQLCA for one of the | | applications and attempts to roll back the SQL for that | | application. If the ROLLBACK is successful, DB2 replaces| | SQLCODE -913 with SQLCODE -911. If ROLLBACK fails, | | SQLCODE -913 remains in the SQLCA. Because an | | application normally abends when ROLLBACK fails, | | however, the application is unlikely to receive | | SQLCODE -913. | +----------------------------------------------------------+ ============================================================ Version 4 Book Title: Application Programming and SQL Guide Pages: 4-31 Change Description: On page 4-31, change the 'Restrictions' section for UR as follows: Restrictions: You cannot use UR isolation for the types of statement listed below. If you bind with ISOLATION(UR), and the statement does not specify WITH RR or WITH RS, then DB2 uses CS isolation for: o INSERT, UPDATE, and DELETE o Any cursor defined with FOR UPDATE OF If you bind with isolation UR or specify WITH UR on a statement, DB2 does not choose a type 1 index as a candidate for the access path. For packages bound without specifying an isolation, DB2 might choose a type 1 index for the access path.If it does, and then you run the package under plan bound with UR, DB2 changes the isolation level to cursor stability. ============================================================ Version 4 Book Title: Application Programming and SQL Guide Pages: 5-13 Change Description: Add the following sentence to the description of VERSION in the DB2 Precompiler Options table: Precompiler timestamps always use Greenwich Mean Time (GMT). Correct the grammar in the third sentence of the second paragraph of that description. ============================================================ Version 4 Book Title: Application Programming and SQL Guide Pages: 6-30 Change Description: APAR PN78797 adds DB2 support for C++ and IBM COBOL for MVS & VM. See the text of APAR PN78797 for a description of how to write and prepare DB2 applications in those languages. You can also write stored procedures in those languages. Under "Using Programming Languages in the Stored Procedure," add this paragraph after the last bullet: Your COBOL and C++ stored procedures can contain object-oriented extensions. For those stored procedures, the minimum requirements are: - IBM COBOL for MVS & VM Version 1 Release 2 with IBM Language Environment for MVS Version 1 Release 5 - IBM C/C++ for MVS/ESA Version 3 Release 1 with IBM Language Environment for MVS Version 1 Release 4 See "Special Considerations for Object-Oriented Extensions in COBOL" and "Special Considerations for C++" for information on including object-oriented extensions in SQL applications. ============================================================ Version 4 Book Title: Application Programming and SQL Guide Pages: 6-53 Change Description: Change the comment explaining "IND4=-1;" and the CALL statement as follows: IND4=-1; /* Setting IND4 to -1 causes */ /* only a two byte area to be */ /* passed to the stored */ /* procedure. (See "Using */ /* Indicator Variables to Speed */ /* Processing." */ EXEC SQL CALL PROCX(:HV1,'ABCD',NULL,:HV2 INDICATOR :IND4); ============================================================ Version 4 Book Title: Application Programming and SQL Guide Pages: 6-130 Change Description: Clarify situation where you can see mixed parallel modes in a statement. Update the last paragraph under 'Interpreting Explain Output' as follows: For each of these examples you could have data in the column PARALLELISM_MODE. This tells you the kind of parallelism that is doing the processing. |There is no mixing of parallelism modes within a query |block (QBLOCKNO column of PLAN_TABLE). However, a |statement that uses more than one query block, such as a |UNION, can have "I" for one query block and "C" for |another. ============================================================ Version 4 Book Title: Application Programming and SQL Guide Pages: 6-145 Change Description: Add the following bullet under "Run Environment": - The language interface module for CAF, DSNALI, is shipped with the linkage attributes AMODE(31) and RMODE(ANY). If your applications need to load CAF below the 16MB line, you must re-link DSNALI. ============================================================ Version 4 Book Title: Application Programming and SQL Guide Pages: 6-152 Change Description: Replace the second paragraph under "CALL DSNALI Parameter List" with this: When you code CALL DSNALI statements, you must specify all parameters that come before Return Code. You cannot omit any of those parameters by coding zeros or blanks. There are no defaults for those parameters for explicit connection service requests. Defaults are provided only for implicit connections. All parameters starting with Return Code are optional. For all languages except assembler language, code zero for a parameter in the CALL DSNALI statement when you want to use the default value for that parameter but specify subsequent parameters. For example, suppose you are coding a CONNECT call in a COBOL program. You want to specify all parameters except Return Code. Write the call in this way: CALL 'DSNALI' USING CONNFN SSID TECB SECB RIBPTR BY CONTENT ZERO BY REFERENCE REASCODE SRDURA. For an assembler language call, code a comma for a parameter in the CALL DSNALI statement when you want to use the default value for that parameter but specify subsequent parameters. For example, code a CONNECT call like this to specify all optional parameters except Return Code: CALL DSNALI,(CONNFN,SSID,TERMECB,STARTECB, RIBPTR,,REASCODE,SRDURA) ============================================================ Version 4 Book Title: Application Programming and SQL Guide Pages: 6-181 Change Description: The following text will be added to Chapter 6-8, Programming Techniques: Questions and Answers: UPDATING DATA PREVIOUSLY RETRIEVED __________________________________ QUESTION: How can you scroll backward and update data that were retrieved previously? . ANSWER: Scrolling and updating at the same time can cause unpredictable results. Issuing INSERT, UPDATE and DELETE statements from the same application process while a cursor is open can affect the result table. For example, suppose you are fetching rows from table T using cursor C, which is defined like this: EXEC SQL DECLARE C CURSOR FOR SELECT * FROM T; After you have fetched several rows, cursor C is positioned to a row within the result table. If you insert a row into T, the effect on the result table is unpredictable because the rows in the result table are unordered. A later FETCH C might or might not retrieve the new row of T. If the result table is not read-only and you are modifying existing rows in the table, you can avoid the problem by using a positioned UPDATE statement (an UPDATE statement with the WHERE CURRENT OF clause). Declare two cursors, one for fetching rows from the table and one for the positioned UPDATE. See Chapter 6 of SQL Reference for information on read-only result tables and positioned UPDATE statements. ============================================================ This APAR is continued in II09590.
Local fix
Problem summary
Problem conclusion
Temporary fix
Comments
close for INTERNET viewing
APAR Information
APAR number
II09144
Reported component name
PB LIB INFO ITE
Reported component ID
INFOPBLIB
Reported release
001
Status
CLOSED CAN
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt / Xsystem
Submitted date
1995-12-19
Closed date
1997-11-01
Last modified date
1999-06-08
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
Fix information
Applicable component levels
[{"Business Unit":{"code":null,"label":null},"Product":{"code":"SG19O","label":"APARs - MVS environment"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"001","Edition":"","Line of Business":{"code":"","label":""}},{"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Product":{"code":"SSEPEK","label":"Db2 for z\/OS"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"001","Edition":"","Line of Business":{"code":"LOB10","label":"Data and AI"}}]
Document Information
Modified date:
08 June 1999