|
| |
|
|
|
| |
TPF : Support : Maintenance : TPFDF
 |
SUBJECT: APAR NUMBER: PQ60572
REFERENCE: AREA: TPFDF CENTRAL DATABASE ROUTINES
SEGMENT: DB13513 - RELEASE: TPFDF (Macro)
SEGMENT: IW06DF13 - RELEASE: TPFDF (Macro)
SEGMENT: TPFDB13 - RELEASE: TPFDF (Macro)
SEGMENT: UWAP13 - RELEASE: TPFDF (Assembler)
SEGMENT: UWAR13 - RELEASE: TPFDF (Assembler)
SEGMENT: UWBG13 - RELEASE: TPFDF (Assembler)
Pre-requisite APARs are (TPF only) :
FOR SEGMENT DB13513 (Macro) - REL TPFDF
PQ07680 PQ32210 PQ60326
FOR SEGMENT IW06DF13 (Macro) - REL TPFDF
PQ32210
FOR SEGMENT TPFDB13 (Macro) - REL TPFDF
PN30016 PN40034 PN41095 PN43714 PN55118 PN61834 PN64719
PN72208 PN73989 PN83423 PN86337 PN87893 PN89980 PQ06194
PQ13787 PQ27195 PQ25824 PQ25825
PQ32209 PQ36156 PQ32210
PQ47099 PQ60326
FOR SEGMENT UWAP13 (Assembler) - REL TPFDF
PQ32210 PQ48551
FOR SEGMENT UWAR13 (Assembler) - REL TPFDF
PQ32210 PQ46459
FOR SEGMENT UWBG13 (Assembler) - REL TPFDF
PQ32210
To be applied in the order listed for each segment.
ABSTRACT OF PROBLEM
___________________
STACKREF= processing should be redesigned so it is more effi-
cient. This will greatly reduce the possibility of CTL-10
system errors during the processing of long chains on ALCS
systems. Also, when using a string constant with STACKREF=, a
length check is not performed, which may lead to unpredictable
results.
COMMENTS ON PROBLEM
___________________
STACKREF handling in TPFDF requires a core block to read/write
information on items stacked by the application. This work
block is not hooked off of any field but is ATTACed/DETACed on
data level D whenever needed. A different mechanism can be used
to improve performance by minimizing ATTAC/DETAC usage.
Furthermore, since this processing is done in core, modifica-
tions to databases with long chains may cause a CTL-10 on ALCS
systems. Minimizing ATTAC/DETAC usage during STACKREF proc-
essing will prevent CTL-10's.
In addition, the STACKREF= value is limited to 4 bytes, but when
specified as a string constant, there is no check for its
length. For example, =C'ABCDE' and =C'ABCD' are considered to
be the same, duplicate value. This can lead to unpredictable
results.
SOLUTION
________
The internal handling of the STACKREF block is optimized by
using the existing SW00SR field SW00BSR to keep the address of
the work block. This will reduce the need to ATTAC/DETAC and
reduce the overall path length. The routines to maintain the
items in the workblock were also optimized to further reduce the
path length. In addition, a check was added in the DB135 and
TPFDB macros and an MNOTE 8 is now issued when when an incorrect
string length is supplied to the STACKREF parameter of the DBRED
or DBRET macros.
DEPENDENCIES
____________
Related Segments Affected By This APAR.
_______________________________________
Segments to be assembled or compiled:
Segments to be link edited:
Load Modules to be loaded:
Migration Considerations
========================
The DBRET example below is coded with a STACKREF= parameter containing
a string with more than four bytes:
DBRET REF=IR75DF,STACKREF==C'ABCDE'
The following MNOTE will occur (this MNOTE will also occur if DBRED is
coded similarly):
8, STACKREF STRING MUST BE 4 BYTES EXACTLY
-- END APAR PQ60572
Download file(s) using new Server:
Login once to access server, leave window open, then
click on link(s) below.
|
|
|
|
|
|