|
| |
|
|
|
| |
TPF : Support : Maintenance : TPFDF
 |
SUBJECT: APAR NUMBER: PK03317
REFERENCE: AREA: TPFDF CENTRAL DATABASE ROUTINES
SEGMENT: C$CDFEQ13 - RELEASE: TPFDF (C-Header)
SEGMENT: CDFEQ13 - RELEASE: TPFDF (Macro)
SEGMENT: DBDEF13 - RELEASE: TPFDF (Macro)
SEGMENT: DBDEL13 - RELEASE: TPFDF (Macro)
SEGMENT: SW00SR13 - RELEASE: TPFDF (Macro)
SEGMENT: SW02SR13 - RELEASE: TPFDF (Macro)
SEGMENT: TPFDB13 - RELEASE: TPFDF (Macro)
SEGMENT: UFBW13 - RELEASE: TPFDF (Assembler)
SEGMENT: UFCN13 - RELEASE: TPFDF (Assembler)
SEGMENT: UFGHSO13 - RELEASE: TPFDF (Copy)
SEGMENT: UWAG13 - RELEASE: TPFDF (Assembler)
SEGMENT: UWBB13 - RELEASE: TPFDF (Assembler)
SEGMENT: UWBE13 - RELEASE: TPFDF (Assembler)
SEGMENT: UWBO13 - RELEASE: TPFDF (Assembler)
SEGMENT: UWB013 - RELEASE: TPFDF (Assembler)
Pre-requisite APARs are (TPF only) :
FOR SEGMENT C$CDFEQ13 (C-Header) - REL TPFDF
PN57135 PN61834 PN74617 PN83423 PN91920 PN91521 PQ08645
PQ25825 PQ28550 PQ32209 PQ32210 PQ47099 PQ60326 PQ65155
PQ74483 PQ75887 PQ79120
FOR SEGMENT CDFEQ13 (Macro) - REL TPFDF
PN57135 PN83423 PQ10088 PQ25825 PQ32210 PQ49042 PQ60326
PQ65155 PQ74483 PQ79120
FOR SEGMENT DBDEF13 (Macro) - REL TPFDF
PN05393 PN35104 PN38092 PN45919 PN53446 PN57526 PN61834
PN62563 PN64313 PN71161 PN73989 PN78104 PN78908 PN87893
PN88662 PQ10797 PQ10084 PQ18690 PQ23091 PQ32209 PQ37827
PQ42097 PQ32210 PQ56724 PQ66921 PQ51955 PQ81077 PQ82656
PQ94935 PQ95818 PQ80726 PK09343
FOR SEGMENT DBDEL13 (Macro) - REL TPFDF
PQ74483
FOR SEGMENT SW00SR13 (Macro) - REL TPFDF
AN31299 PN05393 PN37569 PN38613 PN43714 PN46560 PN57526
PN61834 PN64313 PN71161 PN71348 PN73989 PN77016 PN76852
PN80488 PN83423 PN84757 PN87917 PN92097 PQ00790 PQ02145
PQ04911 PQ05189 PQ07995 PQ10797
PQ10084 PQ15475 PQ16897
PQ21506 PQ24625 PQ23091 PQ25824
PQ25825 PQ32209 PQ36911
PQ37963 PQ32210 PQ50275 PQ48551 PQ55601 PQ64252 PQ51955
PQ74483 PQ75887 PQ79066 PQ80141 PQ90430 PQ94935 PQ95818
PQ96246 PK02541 PK03608 PK06268
FOR SEGMENT SW02SR13 (Macro) - REL TPFDF
PN05393 PN39344 PN49536 PN57526 PN61834 PN64313 PN67252
PN71161 PN73989 PN78104 PN78908 PN92097 PQ05189 PQ10797
PQ10084 PQ23091 PQ26888 PQ32209
PQ42097 PQ32210 PQ74483
PQ94935 PK02541
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 PQ60572 PQ61932 PQ51955 PQ74483 PQ75887
PQ79120 PQ96246 PK03608 PK07224
FOR SEGMENT UFBW13 (Assembler) - REL TPFDF
PN73989 PN76765 PQ08078 PQ23091 PQ51339 PQ94935 PK02541
FOR SEGMENT UFCN13 (Assembler) - REL TPFDF
PQ94935
FOR SEGMENT UFGHSO13 (Copy) - REL TPFDF
PN84867 PN86534 PQ00810 PQ25825 PQ32210 PQ55170 PQ73330
PQ74483
FOR SEGMENT UWAG13 (Assembler) - REL TPFDF
PQ32210 PQ46459 PQ50275 PQ48551 PQ52356 PQ51955 PQ74483
PQ75887 PQ80141
FOR SEGMENT UWBB13 (Assembler) - REL TPFDF
PQ32210 PQ51955 PQ74483 PQ75887 PQ94935 PQ96246
FOR SEGMENT UWBE13 (Assembler) - REL TPFDF
PQ32210 PQ42198 PQ49738 PQ61837 PQ51955 PQ74483 PQ75887
PQ80141 PQ94935 PQ96246 PK05540
FOR SEGMENT UWBO13 (Assembler) - REL TPFDF
PQ46459 PQ96246
FOR SEGMENT UWB013 (Assembler) - REL TPFDF
PQ32210 PQ51955 PQ74483 PQ75887 PQ80141 PQ94935 PK08478
To be applied in the order listed for each segment.
ABSTRACT OF PROBLEM
___________________
With APAR PQ50275 applied, TPFDF may incorrectly report whether
or not a subfile is empty.
COMMENTS ON PROBLEM
___________________
PQ50275 introduced the setting of SW00RT2 #BIT5 to indicate
whether or not a subfile is empty after deleting LRECs. TPFDF
checks to see if the prime block is empty and has no forward
chains. If this condition is true, SW00RT2 #BIT5 is turned on.
However, if the prime block has overflow chains, it is possible
that none of the overflow blocks contain any LRECs and that the
subfile is empty. This condition is not checked, and thus the
subfile may be empty even though SW00RT2 #BIT5 does not indicate
so.
Additionally, segment UWBE is close to the 4K assembled length
limit.
SOLUTION
________
New parameters and C/C++ API options have been introduced with
this APAR:
- The DBDEF and DBDEL macros have been updated to include an
EMPTYCHECK parameter.
- Segments CDFEQ, c$cdfeq and UFGHSO have been updated to
include the DFDEL_EMPTYCHECK and DFDEL_NOEMPTYCHECK options for
the dfdel C/C++ API.
The DBDEL EMPTYCHECK parameter or dfdel() DFDEL_EMPTYCHECK and
DFDEL_NOEMPTYCHECK options will override the DBDEF EMPTYCHECK
parameter.
Segments SW00SR and SW02SR have been updated so OP4 #BIT3 will
now indicate whether a EMPTYCHECK=YES parameter or
DFDEL_EMPTYCHECK option has been specified.
Segment UWAG has been updated to check if OP4 #BIT3 has been
set. If OP4 #BIT3 is set, then delete processing will check
whether or not the prime block and all the chains are empty. If
the subfile is empty, SW00RT2 #BIT5 will now be correctly set to
indicate that the subfile is empty.
Segment UFCN has been updated to reflect the setting of OP4
#BIT3 for the ZUDFM DEF file/OPT entry. Segment UFBW has been
updated for another ZUDFM entry.
1
Case 2 of segment UWBE has been moved to UWBO to allow room for
future development and maintenance. Segment UWBB has been
updated to call UWBO instead of UWBE.
A SIDCODE was updated in segment UWB0.
DEPENDENCIES
____________
Related Segments Affected By This APAR.
_______________________________________
Segments to be assembled or compiled:
o On ALCS: UFGH
o On TPF : UFGHIC
Segments to be link edited:
o On ALCS: TPFDFC3
o On TPF : CTDF
Load Modules to be loaded:
o On ALCS: TPFDFC3
o On TPF : CTDF
Migration Considerations
========================
DBDEF macro options:
EMPTYCHECK
specifies one of the following:
NO
does not check the subfile to see if it is empty.
YES
checks the subfile to see if it is empty.
Note: The DBDEL EMPTYCHECK parameter or dfdel() DFDEL_EMPTYCHECK and
DFDEL_NOEMPTYCHECK options will override the DBDEF EMPTYCHECK parameter.
DBDEL macro options:
EMPTYCHECK
is an override parameter of the DBDEF macro that specifies one of the
following:
NO
does not check the subfile to see if it is empty.
YES
checks the subfile to see if it is empty.
dfdel function options:
DFDEL_EMPTYCHECK
checks the subfile to see if it is empty.
DFDEL_NOEMPTYCHECK
does not check the subfile to see if it is empty.
-- END APAR PK03317
Click on Link(s) to Download File(s)
Download file(s):
Login once to access server, leave window open, then
click on link(s) below.
|
|
|
|
|
|