Skip to main content

TPF : Support : Maintenance

Skip to: Abstract | Comments | Solution | Migration | Download

APAR NUMBER:  PK47859                         
PRODUCT:  z/TPFDF
FUNCTIONAL AREA:  TPFDF CRUISE UTILITY
SHIPPED IN PUT:  4
 

ABSTRACT:
Files containing large logical records (LLRs) cannot be
properly captured and restored by CRUISE. Restore will stop
processing before the end of the tape is reached leaving the
database corrupted without warning.
 
PACKAGE CONTENTS:
Source Segments:
(C) tpfdf/macro/acpdbe.mac
(C) tpfdf/macro/idcadf.mac
(C) tpfdf/rt/ufi5.asm
(C) tpfdf/rt/ufi8.asm
(C) tpfdf/rt/ufil.asm
 
Object Only Binaries:
None.
 
Configuration Independent Binaries:
None.
 
Support Files:
None.
 
OTHER BINARIES TO BUILD:
(C) <sys>/load/UFI5.so
(C) <sys>/load/UFI8.so
(C) <sys>/load/UFIL.so
(C) <sys>/obj/ufi5.o
(C) <sys>/obj/ufi8.o
(C) <sys>/obj/ufil.o
 
PREREQUISITE APARS IN APPLICATION ORDER:

tpfdf/macro/acpdbe.mac
PK31990(4) PK34860(4) 

tpfdf/macro/idcadf.mac
PK07181(2) PK17496(2) PK20315(3) 

tpfdf/rt/ufi5.asm
PK09389(1) PK07181(2) PK25978(3) PK33673(4) PK43089(4) 

tpfdf/rt/ufi8.asm
PK20315(3) PK27914(3) 

tpfdf/rt/ufil.asm
PK46041(4) 

<sys>/load/UFI5.so
PK09389(1) PK07181(2) PK25978(3) PK33673(4) PK43089(4) 

<sys>/load/UFI8.so
PK07181(2) PK12199(2) PK20315(3) PK27914(3) 

<sys>/load/UFIL.so
PK07181(2) PK46041(4) 

<sys>/obj/ufi5.o
PK09389(1) PK07181(2) PK25978(3) PK33673(4) PK43089(4) 

<sys>/obj/ufi8.o
PK07181(2) PK12199(2) PK20315(3) PK27914(3) 

<sys>/obj/ufil.o
PK07181(2) PK46041(4) 

 

COMMENTS:
1 - The restore process of CRUISE stops prior to having
processed all data blocks on the tape. The database is restored
only partially. This results in corrupted subfiles and broken
references. This problem occurs because of a missing tape mark
in the CRUISE control block. 

2 - The loop to write LLRs to tape doesn't check the tape
queue. This may result in a CTL-C.

3 - CAPTURE writes all blocks to tape, but the control block,
which precedes every data block, is not set up properly. This
is because the format of the CRUISE control block on tape is
set up mixed with 4 byte or 8 byte file address format. This
results in additional processing in restore.
 

SOLUTION:
1 - The tape control block is written to tape with a required
tape mark. Segments ufil.asm, ufi8.asm, and ufi5.asm were
updated to add the tape mark to every block. Also, idcadf.mac
was updated to add a new equate IDCALEN to indicate the length
of the areas on tape to be copied. 

2 - Segments ufil.asm and ufi8.asm were updated to have the
tape write loop check the tape queue and issue DEFRC if the
predefined value is reached. 

3 - Segment ufi5.asm was updated so that the format of the
CRUISE data control is always set up with an 8 byte file
address format. Segments ufil.asm and ufi8.asm were updated to
always use a 8 byte file address format.

The following additional cleanup was added.
4 - In segment ufi8.asm, the fields IDCATDBI8 and IDCATSID8 are
set up for the purpose of checking whether the data originates
from the same subsystem.

5 - Macro idcadf.mac was updated to make a spare field visible.
 
COREQS:
None.
 

MIGRATION CONSIDERATIONS:
Coexistence, migration, and fallback considerations:
In order to correct other related problems with CRUISE and/or 
LLR processing, z/TPF APAR PJ32128 and z/TPFDF APAR PK43531 
should be applied along with this 
APAR.                          


 
BUILD COMMANDS AND INSTRUCTIONS:
#maketpf commands for linux
maketpf -f UFIL ufil.o
maketpf -f UFI5 ufi5.o
maketpf -f UFI8 ufi8.o
maketpf UFIL link
maketpf UFI5 link
maketpf UFI8 link
 
UPDATED INFORMATION UNITS:
None.
 
See your IBM representative if you need additional information.
 

DOWNLOAD INSTRUCTIONS:
http://www.ibm.com/software/htp/tpf/pages/maint.htm
 
APAR URL:
http://www.ibm.com/software/htp/tpf/ztpfmaint/put4/PK47859.htm
APAR Package