Publishing holdings to ZDB
- All titles (Tag Suppressed equals “No”)
- All titles (Other System number = ‘ZDB’)
The normalization rules were created based on the following requirements from ZDB. Holdings information includes the holdings LDR (position 6 includes “y”), holdings ID in marc field 001, library ISIL code in marc field 003, date and time of the latest record transaction in marc field 005, electronic resources and microforms indication in marc field 007 position 00/c or 00/h respectively, holdings fixed-length data (0-31) in marc field 008, ZDB number in marc field 016 subfield $a and ZDB ISIL code “DE-600” in subfiled $2 [first indicator “7”; second indicator blank], System Control Number in marc filed 035, holdings information in marc field 852, marc field 852 subfield $9 = “00”, any other Marc field 8XX is kept, and ILL indicator in marc field 092.
ILL indicator can be either location based or item based. The location information lies in marc field 852 on the holdings record and the item information can be added to the holdings record by the configuration Add Items Information in the publishing profile. After that setting the criteria how to set up the ILL indicator can be done using the normalization rules.
rule "Remove BIB LDR only if holdings LDR lies in 009" priority 4 when existsControl "009" then removeControlField "LDR" changecontrolField "009" to "LDR" replacecontrolcontents "LDR.{6,1}" with "y" end rule "Remove 001 when 852.8 exist" priority 3 when ( exists "852.8" ) then removeControlField "001" end rule "Move 008 from HOL to BIB" priority 2 when existsControl "002" then removeControlField "008" changecontrolField "002" to "008" end rule "Create ZDB holdings" priority 1 when (TRUE) then replacecontrolcontents "LDR.{6,1}" with "y" copyControlField "852.8" to "001" removeControlField "002" addcontrolField "003.DE-L189" if(not exists "003") removeControlField "004" removeControlField "006" removeControlField "007" if (not existsControl "007.{0,1}.h|c") removeField "01*" if (not exists "016.2.DE-600") removeField "02*" removeField "03*" if (not exists "035") removeField "04*" removeField "05*" removeField "06*" removeField "07*" removeField "08*" removeField "09*" if (not exists "092") removeField "1*" removeField "2*" removeField "3*" removeField "4*" removeField "5*" removeField "6*" removeField "7*" removeField "8*" if (not exists "852") addSubField "852.9.00" removeField "9*" end