User Information Format editReplaceActionQualifier

December 1999

This definition is developed for use by the Union Catalogue Profile.


{Z39-50-userInfoFormat editReplaceActionQualifier  (10)} 
DEFINITIONS ::= BEGIN
-- Batch edit / replace is a form of special update enabling an origin to convey 
-- instructions to a target for a group of records to be changed in a similar way. 
-- The special action reduces the traffic that would be required to process 
-- multiple element update requests.
-- To request a batch edit / replace, the origin:
	 	--  - Conducts a search to identify candidate records 
	 	--  - Uses the Persistent Result Set Extended Service to request 
  		-- 	the target to create a persistent result from the transient result 
		-- 	set with a specific name. 
	 	--  - Creates an edit / replace record. 
	 	--  - Sends a special update request to the target 
		--	with the edit / replace record as an external 
		--	parameter in the actionQualifier. 
--The target may fail some, e.g. because a record is not available for update, 
-- or because its version is incorrect, but process others. 
-- Detailed results are reported to the task package including results for each 
-- record processed or not processed.


EditReplaceActionQualifier ::= SEQUENCE{
persistentResultSetPackageName	[1] IMPLICIT InternationalString,
numberOfRecords	[2] IMPLICIT INTEGER,
		-- number of records from the transient result 
		-- set is included as a check. If this differs 
		-- from the number of records in the persistent 
		-- result set, the target should not proceed 
		-- with the update request.
creationDateTime	[3] IMPLICIT EXTERNAL,
		 -- use Z39.50 Date/Time 1.2.840.10003.10.6
		-- Date and time the persistent result set task 
		-- package was created by the target. 
		-- If the date and time of last update of a record 
		-- in the persistent result set is more recent, 
		-- the target should not process the update for that record.
reviewCode		[4] IMPLICIT InternationalString OPTIONAL,
reviewNote		[5] IMPLICIT InternationalString OPTIONAL,
changeDataInfo		[6] IMPLICIT SEQUENCE OF SEQUENCE{
		fieldIdentifier		[1] IMPLICIT 
					InternationalString OPTIONAL,
		  -- The field identifiers must correlate with the database 
		  -- name and schema cited in the element update package. 
		  -- If there is more than a single occurrence of a specified 
		  -- field in the record, the update should be applied to all 
		  -- occurrences of the field matching the update criteria. 
		  -- If the origin does not specify any field identifiers in the 
		  -- edit / replace record, the target should look for the 
		  -- old value anywhere in the record.
		oldValue		[2] IMPLICIT InternationalString OPTIONAL,
		  -- The old value should consist of the entire value to be 
		  -- replaced or deleted as it would appear in the field, 
		  -- with punctuation and spaces. The old value truncation 

-- attribute should include values from Bib1 Table A3-5, e.g. -- 1 = right truncation, 100 = do not truncate. In the absence -- of a truncation attribute, the target defines the default. oldValueTruncationAttribute [3] IMPLICIT InternationalString OPTIONAL, conditionalField [4] IMPLICIT InternationalString OPTIONAL, conditionalValue [5] IMPLICIT InternationalString OPTIONAL, -- The update should only occur if the conditional -- field/ value pair is present in the record, taking -- into account the specified conditional truncation attribute. conditionalTruncationAttribute [6] IMPLICIT InternationalString OPTIONAL, newValue [7] IMPLICIT InternationalString OPTIONAL, -- The new value is a mandatory field except where the -- edit / replace type is set to field or subfield delete. editReplaceType [8] IMPLICIT INTEGER{ fieldInsert (0), fieldDelete (1), fieldReplace (2), subfieldInsert (3), subfieldDelete (4), subfieldReplace (5), subfieldMerge (6), indicatorChange (7), dataStringChange (8)}, case [9] IMPLICIT BOOLEAN OPTIONAL -- 'true' means 'case dependent' }} END