Overwriting of existing z07's by new ones
- Product: Aleph
- Product Version: 20, 21, 22, 23
- Relevant for Installation Type: Dedicated-Direct, Direct, Local, Total Care
Description
The system allows there to be only a single z07 for any particular doc record. When there's an existing z07 and an operator or program tries to generate a new one, which one remains -- the existing or the new?
Resolution
Looking at the code in the write_z07 program (see Additional Information, below), if there’s no existing z07 for this record, the program writes one. If there is one, if the new one is from PC/RLIN/OCLC, the program overwrites the existing one with the new – this happens even if the existing one is PC/RLIN/OCLC.
Thus, the priority plays no role (-- except in the sense that the PC/RLIN/OCLC entries are usually higher priority). If the new one is from PC/RLIN/OCLC, it will overwrite the existing. Otherwise, it doesn’t.
Additional Information
From program ./com/write_z07:
CALL "io_z07" USING
F-READ
Z07-UPDATE
ERROR-CODE
END-CALL.
MOVE 1 TO Z07-LEVEL
IF ERROR-CODE NOT = ZERO
THEN
CALL "io_z07" USING
F-WRITE
Z07-UPDATE
ERROR-CODE
END-CALL
ELSE
*Comment: Removing or leaving the IF statment has side effect in both ways
* Seems that the issue of precedence of online over batch is more
* important or likley than the chance a loader will conflict in z07.
IF SERVER-TYPE = "PC" OR
= "RLIN" OR
= "OCLC"
THEN
CALL "io_z07" USING
F-REWRITE
Z07-UPDATE
ERROR-CODE
END-CALL
END-IF
END-IF.
- Article last edited: 20-Jul-2016