ESFormat-Update {Z39-50-extendedService Update (5) revisions (1) revision-1 (1)} DEFINITIONS ::= -- oid is 1.2.840.10003.9.5.1.1 BEGIN IMPORTS DiagRec, InternationalString FROM Z39-50-APDU-1995; Update ::= CHOICE{ esRequest [1] IMPLICIT SEQUENCE{ toKeep [1] OriginPartToKeep, notToKeep [2] OriginPartNotToKeep}, taskPackage [2] IMPLICIT SEQUENCE{ originPart [1] OriginPartToKeep, targetPart [2] TargetPart}} OriginPartToKeep ::= SEQUENCE{ action [1] IMPLICIT INTEGER{ recordInsert (1), recordReplace (2), recordDelete (3), elementUpdate (4), specialUpdate (5)}, databaseName [2] IMPLICIT InternationalString, schema [3] IMPLICIT OBJECT IDENTIFIER OPTIONAL, elementSetName [4] IMPLICIT InternationalString OPTIONAL, actionQualifier [5] IMPLICIT EXTERNAL OPTIONAL} OriginPartNotToKeep ::= SuppliedRecords TargetPart ::= SEQUENCE{ updateStatus [1] IMPLICIT INTEGER{ success (1), partial (2), failure (3)}, globalDiagnostics [2] IMPLICIT SEQUENCE OF DiagRec OPTIONAL, -- These are non-surrogate -- diagnosticsrelating to the task, -- not to individual records. taskPackageRecords [3] IMPLICIT SEQUENCE OF TaskPackageRecordStructure -- There should be a -- TaskPackageRecordStructure -- for every record supplied. -- The target should create -- such a structure for every -- record immediately upon -- creating the task package -- to include correlation -- information and status. -- The record itself would not -- be included until processing -- for that record is complete. } -- Auxiliary definitions for Update SuppliedRecords ::= SEQUENCE OF SEQUENCE{ recordId [1] CHOICE{ number [1] IMPLICIT INTEGER, string [2] IMPLICIT InternationalString, opaque [3] IMPLICIT OCTET STRING} OPTIONAL, supplementalId [2] CHOICE{ timeStamp [1] IMPLICIT GeneralizedTime, versionNumber [2] IMPLICIT InternationalString, previousVersion [3] IMPLICIT EXTERNAL} OPTIONAL, correlationInfo [3] IMPLICIT CorrelationInfo OPTIONAL, record [4] IMPLICIT EXTERNAL} CorrelationInfo ::= SEQUENCE{ -- origin may supply one or both for any record: note [1] IMPLICIT InternationalString OPTIONAL, id [2] IMPLICIT INTEGER OPTIONAL} TaskPackageRecordStructure ::= SEQUENCE{ recordOrSurDiag [1] CHOICE { record [1] IMPLICIT EXTERNAL, -- Choose 'record' if -- recordStatus is 'success', and -- elementSetName was supplied. surrogateDiagnostics [2] IMPLICIT SEQUENCE OF DiagRec -- Choose 'SurrogateDiagnostics', if -- RecordStatus is failure. } OPTIONAL, -- The parameter recordOrSurDiag -- will thus be omitted only if -- 'elementSetName' was omitted and -- recordStatus is 'success'; or --if record status is 'queued' -- or in 'process'. correlationInfo [2] IMPLICIT CorrelationInfo OPTIONAL, -- This should be included -- if it was supplied by the origin. recordStatus [3] IMPLICIT INTEGER{ success (1), queued (2), inProcess (3), failure (4)}, supplementalDiagnostics [4] IMPLICIT SEQUENCE OF DiagRec OPTIONAL} END