APAR status
Closed as canceled.
Error description
This info. APAR documents changes to the DB2 Application Programming & SQL Guide SC26-4889-00 which did not make the GA pubs. This is a continuation of II07606. 5740xyr00 R310 ================================================================ Version 3 Book Title: DB2 Application Prog. and SQL Guide Pages: 3-8 and 3-44 Change Description: On page 3-8 under "Using Host Variables" after paragraph 1, add: "In your application program written in the language of your choice, the host variable declaration should as close as possible match the types of the associated data in the data base to get the best performance. For more performance suggestions, see 'chapter 5-3' and 'PMTG'." Change the entries in columns 2 and 3 of Table 9, for the SQL data type DECIMAL(p,s) or NUMERIC(p,s), to read as follows: Assembler Equivalent: DS PLn'value' DS P'value' DS PLn Notes: p is precision; s is scale. 1<=p<=31 and 0<=s<=p. 1<=n<=16. 'value' is a literal value that includes a decimal point. You must use Ln, 'value', or both. If you use only 'value', which we recommend, the precision is the number of digits in 'value'. If you use Ln alone or with 'value', the precision is 2n-1; do not use Ln if p is even. The scale is the number of digits to the right of the decimal point in 'value'. If you do not use 'value', the scale is 0. FOR EFFICIENT USE OF INDEXES: If p is even, do not use Ln. If you do not use Ln, choose 'value' so that the precision is p and the scale 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 'value' so that scale is s. ================================================================ Version 3 Book Title: Application Programming and SQL Guide Pages: 3-26 Change Description: Change the first two sentences in the CICS specific box FROM: In CICS applications that are not pseudo-conversational, you can use DECLARE CURSOR...WITH HOLD to indicate that a cursor is not to be closed at a commit or sync point. However, all cursors are always closed at end-of-task (EOT) and on SYNCPOINT ROLLBACK. TO: In CICS applications, you can use DECLARE CURSOR...WITH HOLD to indicate that a cursor should not close at a commit or sync point. However, SYNCPOINT ROLLBACK closes all cursors, and end-of-task (EOT) closes all cursors before DB2 reuses or terminates the thread. Add to the end of the paragraph in the box: You should always close cursors that you no longer need. If you let DB2 close a CICS attachment cursor, the cursor might not close until DB2 reuses or terminates the thread. ================================================================ Version 3 Book Title: DB2 Application Prog. and SQL Guide Pages: 3-29 Change Description: The example used for FIELD NAME PREFIX will use ABCDE1 instead of ABCDE001, and ABCDE2 instead of ABCDE002. This will match the example in the Command And Utility Reference on page 77 under NAMES(prefix) field. ================================================================ Version 3 Book Title: Application Programming and SQL Guide Pages: 3-66 Change Description: Add to the bulleted list at the bottom of the page: o An SQL statement within an included member In Version 3, change the paragraph before the bulleted list to be the same as the Version 2.3 book, which is: A host structure is complete if it contains one of the following. The precompiler does not recognize host variables or host structures on any subordinate levels after one of these items: ================================================================ Version 3 Book Title: Application Programming and SQL Guide Pages: 4-10 Change Description: Add the following paragraph on p.4-10 under the heading "Automatic Rebinding" before the paragraph that begins "For some changes, you must initiate...": If you encounter lock contention during an automatic rebind, DSNT501I messages do not accompany any DSNT376I messages that appear. To see the matching DSNT501I messages, you must explicitly rebind the plan or package. ================================================================ Version 3 Book Title: DB2 Application Prog. andSQL Guide Pages: 4-50 Change Description: Replace section "How to Prevent Block Fetching" with the following: "To prevent block fetching for a distributed cursor, you should use one of these methods: o Declare the cursor with the clause FOR UPDATE OF. This is the simplest method. o In the package or plan containing the cursor where you prefer to fetch single rows, do the following steps: 1. Bind the package or plan with the option CURRENTDATA(YES). 2. Declare one dynamic statement in the package or plan. 3. Make the non-blocking cursor ambiguous. A cursor is ambiguous if all of the following are true: -- It is not declared with either of the clauses FOR FETCH ONLY or FOR UPDATE OF. -- It is not the target of the clause WHERE CURRENT OF on an UPDATE or DELETE statement. -- The package processes dynamic SQL statements. All other cursors are non-ambiguous. 4. Remove anything that indicates the result table of the cursor is read-only. The result table is read-only if one or more of the following statements is true about the SELECT statement of the cursor: -- The first FROM clause identifies more than one table or view -- The first SELECT clause specifies the keyword DISTINCT -- The outer subselect contains a GROUP BY clause -- The outer subselect contains a HAVING clause -- The first SELECT clause contains a column function -- It contains a subquery such that the base object of the outer subselect, and of the subquery, is the same table -- The first FROM clause identifies a read-only view -- The first FROM clause identifies a catalog table with no updateable columns -- A UNION or UNION ALL operator is present -- An ORDER BY clause is present -- A FOR FETCH ONLY clause is present. o Use a 3-part name (system-directed access) and the clause OPTIMIZE FOR N ROWS in the SELECT statement. DB2 returns the specified n rows and does not perform block fetching. But if you fetch beyond n rows, DB2 reverts to block fetching. ================================================================ Version 3 Book Title: DB2 Application Prgmg and SQL Guide Page: 4-78 Change Description: Add the following paragraph at the end of the section titled "Running a Program in TSO Foreground": DSN RETURN CODE PROCESSING: At the end of a DSN session, register 15 contains the highest value placed there by any DSN subcommand used in the session or by any program run by the RUN subcommand. Your run-time environment might format that value as a return code. The value DOES NOT, however, originate in DSN. ================================================================ Book Title: Application Programming and SQL Guide Page Number: p. 4-87 Change Description: In the description of the DATA SET NAME QUALIFIER field of the DB2 Program Preparation Panel, change the description to: 2 DATA SET NAME QUALIFIER Allows you to specify temporary data sets involved in the program preparation process. (This field is not changed.) For programs that are prepared in the background or use the EDITJCL PREPARATION ENVIRONMENT option, a data set named tsoprefix.qualifier.CNTL is created to contain the program preparation JCL. tsoprefix represents the prefix TSO assigns, and qualifier represents the value entered in the DATA SET NAME QUALIFIER field. If a data set with this name already exists, then it is deleted. ================================================================ Book Title: Application Programming and SQL Guide Page Number: p. 4-94 Change Description: In the box, change the description to: IMS and TSO For IMS and TSO programs, the precompiled source statements (to be passed to the compile or assemble step) are stored in a data set named tsoprefix.qualifier.suffix. The precompiler print listing is stored in a data set named tsoprefix.qualifier.PCLIST. For programs that are prepared in the background or use the EDITJCL PREPARATION ENVIRONMENT option (on the DB2 Program Preparation panel) a data set named tsoprefix.qualifier.CNTL is created to contain the program preparation JCL. In these examples, tsoprefix represents the prefix TSO assigns, often the same as the authorization ID; qualifier represents the value entered in the DSNAME QUALIFIER field; suffix represents the output name, which is one of the following: COBOL, FORTRAN, C, PLI, ASM, DECK, CICSIN, OBJ, or DATA. In the example in Figure 35, the precompiled source statements are sent to tsoprefix.TEMP.COBOL and the precompiler print listing is stored in a data set named tsoprefix.TEMP.PCLIST. If data sets with these names already exist, then they are deleted. ================================================================ Version 3 Book Title: DB2 Applicaton Programming and SQL Guide, Pages: 4-134 Change Description: In the example, in the line after the DD statement for G.DDITV02, change DB2X to SSDQ. ================================================================ Version 3 Book Title: DB2 Applicaton Programming and SQL Guide, Pages: 4-135 Change Description: In the example, in the second line of the statement //BATCH, remove the parameter DB2=DB2A, so that the line reads as follows: // BKO=Y,DBRC=N,IRLM=N,SSM=SSDQ ================================================================ Book Title: Application Programming and SQL Guide Page Number: p. X-32 Change Description: Change RECORD CONTAINS 32704 CHARACTERS in the second line of the figure: Called Program that does Pointer Manipulation (Part 4 of 10) FD SYSREC01 RECORD CONTAINS 5 TO 32704 CHARACTERS LABEL RECORDS ARE OMITTED DATA RECORD IS REC01 RECORDING MODE IS V. 01 REC01. 02 REC01-LEN PIC S9(8) COMP. 02 REC01-CHAR PIC X(1) OCCURS 1 TO 32700 TIMES DEPENDING ON REC01-LEN. / WORKING-STORAGE SECTION. . . . ================================================================
Local fix
Problem summary
Problem conclusion
Temporary fix
Comments
close for internet viewing
APAR Information
APAR number
II08058
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
1994-07-19
Closed date
1997-10-24
Last modified date
1997-10-24
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:
14 December 2020