COMMITTEE UN/EDIFACT DRAFT CD 9735-4 Draft revision 1 1996-09-16 Electronic data interchange for administration, commerce and transport (EDIFACT) - Application level syntax rules Part 4: Syntax and service report message for batch EDI (message type - CONTRL) Contents Page Foreword 4 Introduction 5 1 Scope 6 2 Conformance 6 3 References 6 4 Definitions 7 5 Rules for the use of the syntax and service report message for batch EDI 8 Annex A: Use of error codes 15 Addendum - to be added to Part 1 annex C when approved 16 Addendum - to be added to Part 1 annex D when approved 24 Foreword (To be amended as necessary, according to ISO procedures) ISO (the International Organization for Standardization) is a worldwide federation of national standards bodies (ISO member bodies). The work of preparing International Standards is normally carried out through ISO technical committees. Each member body interested in a subject for which a technical committee has been established has the right to be represented on that committee. International organizations, governmental and non-governmental, in liaison with ISO, also take part in the work. ISO collaborates closely with the International Electrotechnical Commission (IEC) on all matters of electrotechnical standardization. Draft International Standards adopted by the technical committees are circulated to the member bodies for approval before their acceptance as International Standards by the ISO Council. They are approved in accordance with ISO procedures requiring at least 75% approval by the member bodies voting. International Standard ISO 9735 Release 2 was prepared by the UN/ECE Trade Division (as UN/EDIFACT) and was adopted, under the "fast-track procedure" as an existing standard, by Technical Committee ISO TC 154, Documents and data elements in administration; commerce and industry. ISO/IEC 9735 consists (currently) of the following parts, under the general title Electronic data interchange for administration, commerce and transport (EDIFACT) - Application level syntax rules: ISO 9735-1 - Syntax rules common to all parts, together with syntax service directories for each of the parts ISO 9735-2 - Syntax rules specific to batch EDI ISO 9735-3 - Syntax rules specific to interactive EDI ISO 9735-4 - Syntax and service report message for batch EDI (message type - CONTRL) ISO 9735-5 - Security rules for batch EDI (authenticity, integrity and non-repudiation of origin) ISO 9735-6 - Secure authentication and acknowledgement message (message type - AUTACK) ISO 9735-7 - Security rules for batch EDI (confidentiality) ISO 9735-8 - Associated data in EDI ISO 9735-9 - Security key and certificate management message (message type - KEYMAN) Further parts may be added in the future. In this Part, annex A forms an integral part of this International Standard. Introduction This International Standard includes the rules at the application level for the structuring of data in the interchange of electronic messages in an open environment, based on the requirements of either batch or interactive processing. These rules have been agreed by the United Nations Economic Commission for Europe (UN/ECE) as syntax rules for Electronic Data Interchange for Administration, Commerce and Transport (EDIFACT) and are part of the United Nations Trade Data Interchange Directory (UNTDID) which also includes both batch and interactive Message Design Guidelines. These syntax rules may be used in any application, but messages using these rules may only be referred to as EDIFACT messages if they comply with other guidelines, rules and directories in the UNTDID. For UN/EDIFACT, messages shall comply with the message design rules for batch as applicable. These rules are maintained in the UNTDID. Communications specifications and protocols are outside the scope of this standard. Electronic data interchange for administration, commerce and transport (EDIFACT) - Application level syntax rules Part 4: Syntax and service report message for batch EDI (message type - CONTRL) 1 Scope This International Standard for EDIFACT defines the syntax and service report message for batch EDI, CONTRL. 2 Conformance Conformance to a standard means that all of its requirements, including all options, are supported. If all options are not supported, any claim of conformance shall include a statement which identifies those options to which conformance is claimed. Data that is interchanged is in conformance if the structure and representation of the data conforms to the syntax rules specified in this International Standard. Devices supporting this International Standard are in conformance when they are capable of creating and/or interpreting the data structured and represented in conformance with the standard. Conformance shall be based on Part 1 and Part 2 of this International Standard. When identified in this International Standard, provisions defined in related standards shall form part of the conformance criteria. 3 References 3.1 Normative references There are no other standards which, through reference in this text, constitute provisions of this part of this International Standard. 4 Definitions For the purpose of this International Standard, the definitions in Part 1 annex A apply. In addition to those definitions, the following terms uniquely apply to CONTRL: acknowledgement Acknowledgement implies that the recipient of the subject interchange - has received the acknowledged part of the interchange, and - has checked that there are no fatal syntactic errors in the acknowledged part that prevents further processing of it, and - has checked that all acknowledged (parts of) service segments are semantically correct (if no errors are reported), and - will comply with the actions requested in the acknowledged (parts of the) service segments, and - has accepted liability for notifying the sender by other means than sending a CONTRL message if - any syntactic or semantic errors as described above, are later detected in the relevant part, or - the part can not be processed for some other reason after the part has been acknowledged in a submitted CONTRL message, - has taken reasonable precautions in order to ensure that such errors are detected and that the sender is notified. indication of interchange receipt Indication of interchange receipt implies that the recipient of the subject interchange - has received the interchange, and - acknowledges the parts of the interchange that have been checked in order to assure that the data elements copied into the reporting UCI segment are syntactically correct, and - has accepted liability for notifying the sender of acknowledgement or rejection of the other parts of the interchange, and - has taken reasonable precautions in order to ensure that the sender is so notified. rejection Rejection implies that the recipient of the subject interchange - can not acknowledge the interchange, or relevant part of it, for reasons indicated in the CONTRL message, and - will not take any further action on business information contained in the rejected part of the interchange. (to) report To indicate the action (acknowledgement or rejection) taken for a subject interchange or part of it. reporting-level A reporting-level is a segment in CONTRL in which reporting of a corresponding referenced-level takes place. The reporting-levels are UCI, UCF, UCM, UCS and UCD. referenced-level The structure of CONTRL is based on five segments (UCI, UCF, UCM, UCS and UCD) that contain a reference to a part of the subject interchange. The parts of the subject interchange are: - the UNA, UNB and UNZ segments, referenced in the UCI segment - the UNG and UNE segments, referenced in the UCF segment - a complete message or a complete package, referenced in the UCM segment - a segment in a message, referenced in the UCS segment - a stand-alone, composite or component data element, referenced in the UCD segment These parts of the subject interchange are called referenced-levels. subject interchange The interchange that a CONTRL message is returned in response to. 5. Rules for the use of the syntax and service report message for batch EDI 5.1 Functional definition CONTRL is a message syntactically acknowledging or rejecting, with error indication, a received interchange, group, message, or package. A CONTRL message shall be used to: a) acknowledge or reject a received interchange, group, message, or package and list any syntactical errors or unsupported functionality contained therein, or b) indicate only the receipt of an interchange. 5.2 Field of application The syntax and service report message may be used for both national and international trade. It is based on universal commercial practice and is not dependent on the type of business or industry. This specification of CONTRL shall be used for version 4 of the EDIFACT syntax (ISO 9735). 5.3 Principles The sender (A) of an EDIFACT interchange can in segment UNB request a response from the recipient (B) that the interchange has been received, is syntactically correct, that the service segments are semantically correct and that the recipient supports those functions requested in the service segments. Alternatively, the request can be specified in an Interchange Agreement (IA) between the interchanging partners. The interchange sent from A to B is called the subject interchange. The response shall be sent from the recipient (B) of the subject interchange to the sender of the subject interchange (A) as one or two CONTRL messages. A CONTRL message indicates - the action taken by the recipient as the result of a syntactical check of the subject interchange, or alternatively, - only receipt of the interchange. In the first case, the action (acknowledgement or rejection) indicates the result of a syntactical check of the complete received interchange. An action may be indicated for the complete interchange, or it may be indicated for individual parts of it. Thus, some messages, packages, or groups may be acknowledged and others may be rejected. The CONTRL message shall indicate the action for all parts of the subject interchange. In the second case, only receipt of the subject interchange is indicated. During a syntactical check, the interchange, or part of it, shall be checked for compliance with: - the EDIFACT syntax rules (ISO 9735),including rules for use of service segments and - the syntactical aspects in specifications for the message type(s) received. CONTRL shall not be used to report errors, or the action taken, at the application level, i.e. reports related to the semantic information contained in user segments. Thus, acknowledgement indicated by means of CONTRL does not imply that the business content of a message or package has been accepted or can be complied with. A recipient may choose to acknowledge an interchange, or part of it, even if it contains syntactical errors. These errors may also be reported. The definition of a non-fatal error shall be determined by the recipient. The recipient may for example, choose to acknowledge a data element exceeding the specified maximum length. CONTRL messages may be generated by the recipient of the subject interchange or by a third party acting on behalf of the recipient. In this case, the UNB of the interchange containing the CONTRL messages shall contain the same sender and receiver identifications as the subject interchange, only reversed. Alternatively, one CONTRL message rejecting the complete interchange may be generated by a third party, for example a network service, to indicate non-delivery. In this case, the UNB of the CONTRL message shall contain a sender identification of the third party. Partners may agree that a CONTRL message rejecting an erroneous subject interchange, or part of it, shall always be sent even if acknowledgement has not been requested in the subject interchange UNB segment. A CONTRL message shall only be generated if the originator of the subject interchange supports the receipt of the CONTRL message. Support for receipt of CONTRL messages shall be indicated either by the acknowledgement request in the subject interchange UNB segment or in an IA. A CONTRL message shall never be sent in a group. Note: A CONTRL message rejecting the subject interchange may be sent if the actual recipient is different from the one identified in the subject interchange UNB segment. The CONTRL message shall be sent to the originator of the subject interchange, unless there is an agreement with a third party to send it to the third party. The CONTRL message shall not be sent unless the originator of the subject interchange is known to accept CONTRL messages from the originator of the CONTRL message. In some cases it may be necessary to generate the CONTRL manually, or notify the subject interchange originator by other means than CONTRL. Notification by other means than CONTRL would be necessary, for example, if the subject interchange contained only CONTRL messages (see 5.3.7). 5.3.1 Relationship between CONTRL and the subject interchange A maximum of two CONTRL messages may be sent in response to a received interchange. The first, which is optional, indicates only the receipt of the subject interchange. The second reports the action taken after the syntax check of the subject interchange. The action code in the UCI segment shall indicate if the message is of the first or second type. If a request for acknowledgement is indicated in the subject interchange UNB, then the second type of CONTRL message shall be sent to report the results of a syntax check of the subject interchange. The optionality of the first message implies that, if any CONTRL message is sent at all, the second type of CONTRL message shall always be sent. The first type may only be sent if agreed in an IA. The UCI segment in CONTRL messages of the first type shall not be used to report any errors, i.e. only a message of the second type shall be sent when there is a need to report errors by means of the UCI segment. A CONTRL message shall only report the action taken for one subject interchange, i.e. it shall not refer to several subject interchanges, or to parts of several subject interchanges. The structure of CONTRL is based on five segments (UCI, UCF, UCM, UCS and UCD), each containing a reference to a part of the subject interchange. The parts of the subject interchange are: - the UNA, UNB and UNZ segments, referenced in the UCI segment - the UNG and UNE segments, referenced in the UCF segment - a complete message or a complete package, referenced in the UCM segment - a segment in a message, referenced in the UCS segment - a stand-alone, composite or component data element, referenced in the UCD segment. These parts of the subject interchange are called referenced-levels. Each of the five mentioned segments in CONTRL contains a data element indicating the action taken for the referenced part, and optionally data elements used for error reporting. Each of the five segments is called a reporting-level. Segment groups 1 and 3 shall not be used in a CONTRL message acknowledging only the receipt of an interchange. If the subject interchange contains groups, only segment group 3 shall be used in the CONTRL message. If groups are not used, only segment group 1 shall be used in the CONTRL message. When there is a need to send a UCM-group (segment group 1 or 4), no more than one UCM-group shall be sent per received message or per received package. All reporting-levels shall be in the same order as their corresponding referenced-levels in the subject interchange. 5.3.2 Action codes usage The referenced-levels of the subject interchange that may be acknowledged or rejected are those referenced by the UCI, UCF and UCM segments, i.e. - the UNA, UNB and UNZ segments - the UNG and UNE segments - a complete message or a complete package. The CONTRL message also provides the means to acknowledge or reject a complete interchange or a complete group, without referencing messages, packages, or groups contained in it. The action (acknowledgement or rejection) shall be indicated by the action code in the UCI, UCF and UCM. This code may indicate the action for the corresponding referenced-level, and in some cases also for its lower levels. A referenced-level in the subject interchange is said to be explicitly reported if the CONTRL message contains a corresponding segment that references that level. Explicit reporting of a lower referenced-level requires that all referenced-levels above are acknowledged. A referenced-level is said to be implicitly reported if the action taken for the level is reported by a UCI or UCF segment referencing a higher level in the subject interchange. Thus, for example, a group and all messages or packages within it are implicitly rejected if the action code in the UCI segment indicate rejection of the complete subject interchange. Also, a message or package is implicitly acknowledged when the action code in UCI or UCF indicates acknowledgement of messages and packages at the next lower level, and no UCM rejecting the message or package is present. Action codes 4 and 7 shall only be used in CONTRL messages reporting the action after complete check of the interchange. Action code 8 shall only be used in CONTRL messages indicating the receipt of an interchange. 5.3.3 Reporting of syntactical errors Errors can be reported at all reporting-levels of CONTRL by means of data elements in the segment constituting the reporting-level. These data elements identify the error's position in the subject interchange and indicate its nature. Each reporting-level (i.e. the UCI, UCF, UCM, UCS and UCD segments) can only report one error. If more than one error is detected at a level referenced by one of these segments, the receiver of the subject interchange shall be free to choose which error to report. Several CONTRL messages shall not be sent in order to report several errors, and no more than one reporting-level shall be present for each instance of a referenced-level. Errors may be reported even if the referenced-level (including erroneous parts) is acknowledged. Users should be aware that some syntactical errors could change the semantics of data, and that the receiver of the subject interchange shall be responsible for any consequences when data with syntactic errors are acknowledged. It is recommended that errors are identified as precisely as possible. If a precise error code is defined, a more general (and imprecise) error code should not be used. Similarly, the position of the error should be identified as precisely as possible by using the lowest possible reporting-level. No "copying" of error codes from a lower to a higher reporting-level shall occur. It would otherwise, for example, be possible to report a data element error by an error code in UCD, and repeat the same error code in UCM. In this case, the error code identifying the error shall only appear in UCD. The same rule applies at all reporting-levels. Identification of an error's exact position and nature on receipt of the CONTRL message will often require access to the subject interchange in the format it was transferred. 5.3.4 Errors in data elements that are copied from the subject interchange to the CONTRL message The CONTRL message contains several mandatory data elements that shall be copied from the subject interchange. If the data element in the subject interchange is missing or is syntactically invalid, a syntactically valid CONTRL message can not be generated. The error shall then be reported by other means than CONTRL, unless all parties processing the CONTRL message have agreed in an IA that copying of erroneous data elements into the CONTRL message is permitted. The omission of mandatory data elements may also be permitted by an IA. 5.3.5 Redundant reporting of action If action code 7 is used in UCI, it is not an error if UCM or UCF segments are sent acknowledging a message, package, or group. Similarly, redundant UCM segments may acknowledge messages or packages in a group when the code is used in UCF. 5.3.6 Re-transmission The conditions which determine the requirements to re-send an interchange, group, message, or package shall be agreed between the interchanging partners outside the scope of CONTRL. 5.3.7 Acknowledgement or rejection of CONTRL messages No CONTRL, or other message types in UN/EDIFACT, shall be sent in response to a received CONTRL message. Errors in received CONTRL messages shall be reported by other means than CONTRL. If one or more CONTRL messages are contained in an interchange being responded to, the CONTRL messages generated as a response to that received interchange shall be generated as if no CONTRL messages were contained in the received interchange. CONTRL messages shall not be sent in response to received interchanges that contain only CONTRL messages. If CONTRL messages are mixed with other message types in an interchange, an implicit acknowledgement or rejection received for parts of that interchange does not apply to the CONTRL messages. 5.3.8 Support of the CONTRL message type Support for submission and receipt of the CONTRL message type shall be agreed between partners, as shall the functionalities to be supported. 5.4 Message definition 5.4.1 Data segment clarification This section should be read in conjunction with the Segment Table which indicates mandatory, conditional and repeating requirements. The corresponding information for data elements in the segments is given in Part 1 annex C section 1.5. 0010 UNH, Message header A service segment starting and uniquely identifying a message. The message type code for Syntax and service report message is CONTRL. Note: Syntax and service report messages conforming to this document shall contain the following data in segment UNH, composite S009: Data element 0065 CONTRL 0052 4 0054 1 0051 UN 0020 UCI, Interchange response A segment identifying the interchange being responded to (the subject interchange). It also indicates interchange receipt, acknowledgement or rejection (action taken) of the UNA, UNB and UNZ segments, and identifies any error related to these segments. Depending on the action code, it may also indicate the action taken on the groups, messages, and packages within that interchange. The subject interchange shall be identified by copying its Interchange Sender, Interchange Recipient, and Interchange Control Reference data elements into the identical data elements in this segment. An erroneous or missing UNA, UNB or UNZ segment may be identified. If no segment is identified, the error relates to the complete interchange. 0030 Segment Group 1: UCM-SG2 A group of segments sent in response to a message or package in the subject interchange identified in the UCI segment. This segment group shall only be used if the subject interchange does not contain groups. 0040 UCM, Message/package response A segment identifying a message or package in the subject interchange, indicating that message's or package's acknowledgement or rejection (action taken), and identifying any error related to the UNH, UNT, UNO, and UNP segments. A message shall be identified by copying its Message Identifier and Message Reference Number data elements into the identical data elements in this segment. An erroneous or missing UNH or UNT segment may be identified. If no segment is identified, the error relates to the complete message. A package shall be identified by copying its Reference Identification and Package Reference Number data elements into the identical data elements in this segment. An erroneous or missing UNO or UNP segment may be identified. If no segment is identified, the error relates to the complete package. 0050 Segment Group 2: UCS-UCD A group of segments sent in response to a segment containing one or more errors, and which was part of the message identified by the UCM segment in segment group 1. 0060 UCS, Segment error indication A segment identifying a segment in the message, indicating that this segment contains an error, and identifying any error related to the complete segment. 0070 UCD, Data element error indication A segment identifying an erroneous stand-alone, composite or component data element in the segment identified by the UCS segment in segment group 2, and identifying the nature of the error. 0080 Segment Group 3: UCF-SG4 A group of segments sent in response to a group in the subject interchange identified in the UCI segment. This segment group shall only be used if the subject interchange contains groups. 0090 UCF, Group response A segment identifying a group in the subject interchange. It also indicates acknowledgement or rejection (action taken) of the UNG and UNE segments, and identifies any error related to these segments. Depending on the action code, it may also indicate the action taken on the messages and packages within that group. The group shall be identified by copying its Application Sender's Identification, Application Recipient's identification, and Group Reference Number data elements into the identical data elements in this segment. An erroneous or missing UNG or UNE segment may be identified. If no segment is identified, the error relates to the complete group. 0100 Segment Group 4: UCM-SG5 A group of segments sent in response to a message or package in the group identified in segment group 3. 0110 UCM, Message/package response A segment identifying a message or package in the subject interchange, indicating that message's or package's acknowledgement or rejection (action taken), and identifying any error related to the UNH, UNT, UNO, and UNP segments. A message shall be identified by copying its Message Identifier and Message Reference Number data elements into the identical data elements in this segment. An erroneous or missing UNH or UNT segment may be identified. If no segment is identified, the error relates to the complete message. A package shall be identified by copying its Reference Identification and Package Reference Number data elements into the identical data elements in this segment. An erroneous or missing UNO or UNP segment may be identified. If no segment is identified, the error relates to the complete package. 0120 Segment Group 5: UCS-UCD A group of segments sent in response to a segment containing one or more errors, and which was part of the message identified by the UCM segment in segment group 4. 0130 UCS, Segment error indication A segment identifying a segment in the message, indicating that this segment contains an error, and identifying any error related to the complete segment. 0140 UCD, Data element error indication A segment identifying an erroneous stand-alone, composite or component data element in the segment identified by the UCS segment in segment group 5, and identifying the nature of the error. 0150 UNT, Message trailer A service segment ending a message, giving the total number of segments in the message and the control reference number of the message. 5.4.2 Data segment index (alphabetical sequence by tag) UCD Data element error indication UCF Group response UCI Interchange response UCM Message/package response UCS Segment error indication UNH Message header UNT Message trailer 5.4.3 Message structure 5.4.3.1 Segment table POS TAG Name S R Notes 0010 UNH Message header M 1 0020 UCI Interchange response M 1 0030 Segment group 1 C 999999 1 0040 UCM Message/package response M 1 0050 Segment group 2 C 999 0060 UCS Segment error indication M 1 0070 UCD Data element error indication C 99 0080 Segment group 3 C 999999 1 0090 UCF Group response M 1 0100 Segment group 4 C 999999 0110 UCM Message/package response M 1 0120 Segment group 5 C 999 0130 UCS Segment error indication M 1 0140 UCD Data element error indication C 99 0150 UNT Message trailer M 1 Notes: 1. D4(0030,0080) One or none Annex A (normative) Use of error codes The table below describes at which reporting-level an error code may be used. THE TABLE IS NOT AVAILABLE IN ASCII FORMAT. Legend: x = may be used - = shall not be used Addendum - to be added to Part 1 annex C when approved Syntax Service Directories (normative) Part 4 requires that the following content be added to Part 1 Annex C of this International Standard in the sections indicated. C.1.3 Index of segments by tag TAG Name UCD Data element error indication UCF Group response UCI Interchange response UCM Message/package response UCS Segment error indication C.1.4 Index of segments by name TAG Name UCD Data element error indication UCF Group response UCI Interchange response UCM Message/package response UCS Segment error indication C.1.5 Segment specifications UCD DATA ELEMENT ERROR INDICATION Function: To identify an erroneous stand-alone, composite or component data element, and to identify the nature of the error. POS TAG Name S R Repr. Notes 010 0085 SYNTAX ERROR, CODED M 1 an..3 020 S011 DATA ELEMENT IDENTIFICATION M 1 0098 Erroneous data element position in segment M n..3 0104 Erroneous component data element position C n..3 0134 Erroneous data element occurrence C n..6 UCF GROUP RESPONSE Function: To identify a group in the subject interchange and to indicate acknowledgement or rejection (action taken) of the UNG and UNE segments, and to identify any error related to these segments. Depending on the action code, it may also indicate the action taken on the messages and packages within that group. POS TAG Name S R Repr. Notes 010 0048 GROUP REFERENCE NUMBER M 1 an..14 020 S006 APPLICATION SENDER IDENTIFICATION C 1 4 0040 Application sender identification M an..35 0007 Identification code qualifier C an..4 030 S007 APPLICATION RECIPIENT IDENTIFICATION C 1 4 0044 Application recipient identification M an..35 0007 Identification code qualifier C an..4 040 0083 ACTION, CODED M 1 an..3 050 0085 SYNTAX ERROR, CODED C 1 an..3 1 060 0135 SERVICE SEGMENT TAG, CODED C 1 a3 1,2,3 070 S011 DATA ELEMENT IDENTIFICATION C 1 2 0098 Erroneous data element position in segment M n..3 0104 Erroneous component data element position C n..3 0134 Erroneous data element occurrence C n..6 Notes: 1. D5(060,050) If first, then all 2. D5(070,060) If first, then all 3. Data element 0135 may only contain the values UNG or UNE. 4. This data element shall be present if it was present in the subject interchange. UCI INTERCHANGE RESPONSE Function: To identify the subject interchange, to indicate interchange receipt, to indicate acknowledgement or rejection (action taken) of the UNA, UNB and UNZ segments, and to identify any error related to these segments. Depending on the action code, it may also indicate the action taken on the groups, messages, and packages within that interchange. POS TAG Name S R Repr. Notes 010 0020 INTERCHANGE CONTROL REFERENCE M 1 an..14 020 S002 INTERCHANGE SENDER M 1 0004 Interchange sender identification M an..35 0007 Identification code qualifier C an..4 0008 Interchange sender internal identification C an..35 0042 Interchange sender internal sub- identification C an..35 030 S003 INTERCHANGE RECIPIENT M 1 0010 Interchange recipient identification M an..35 0007 Identification code qualifier C an..4 0014 Interchange recipient internal identification C an..35 0046 Interchange recipient internal sub- identification C an..35 040 0083 ACTION, CODED M 1 an..3 050 0085 SYNTAX ERROR, CODED C 1 an..3 1 060 0135 SERVICE SEGMENT TAG, CODED C 1 a3 1,2,3 070 S011 DATA ELEMENT IDENTIFICATION C 1 2 0098 Erroneous data element position in segment M n..3 0104 Erroneous component data element position C n..3 0134 Erroneous data element occurrence C n..6 Notes: 1. D5(060,050) If first, then all 2. D5(070,060) If first, then all 3. Data element 0135 may only contain the values UNA, UNB or UNZ. UCM MESSAGE/PACKAGE RESPONSE Function: To identify a message or package in the subject interchange, and to indicate that message's or package's acknowledgement or rejection (action taken), and to identify any error related to the UNH, UNT, UNO, and UNP segments. POS TAG Name S R Repr. Notes 010 0062 MESSAGE REFERENCE NUMBER C 1 an..14 1,2,7 020 S009 MESSAGE IDENTIFIER C 1 2,7 0065 Message type M an..6 0052 Message version number M an..3 0054 Message release number M an..3 0051 Controlling agency, coded M an..3 0057 Association assigned code C an..6 0110 Code list directory version number C an..6 0113 Message type sub-function identification C an..6 030 0083 ACTION, CODED M 1 an..3 040 0085 SYNTAX ERROR, CODED C 1 an..3 4 050 0135 SERVICE SEGMENT TAG, CODED C 1 a3 4,5,6 060 S011 DATA ELEMENT IDENTIFICATION C 1 5 0098 Erroneous data element position in segment M n..3 0104 Erroneous component data element position C n..3 0134 Erroneous data element occurrence C n..6 070 0800 PACKAGE REFERENCE NUMBER C 1 an..35 1,3,7 080 S020 REFERENCE IDENTIFICATION C 99 3,7 0813 Reference qualifier M an..3 0802 Reference identification number M an..35 Notes: 1. D1(010,070) One and only one 2. D5(010,020) If first, then all 3. D5(070,080) If first, then all 4. D5(050,040) If first, then all 5. D5(060,050) If first, then all 6. Data element 0135 may only contain the values UNH, UNT, UNO or UNP. 7. This data element shall be present if it was present in the subject interchange. UCS SEGMENT ERROR INDICATION Function: To identify either a segment containing an error or a missing segment, and to identify any error related to the complete segment. POS TAG Name S R Repr. Notes 010 0096 SEGMENT POSITION IN MESSAGE M 1 n..6 020 0085 SYNTAX ERROR, CODED C 1 an..3 1 Notes: 1. Data element shall contain a value only if the error pertains to the segment identified by data element 0096. C.2 Composite data element directory C.2.2 Index of composite data element by TAG TAG Name S011 DATA ELEMENT IDENTIFICATION C.2.3 Index of composite data element by name TAG Name S011 DATA ELEMENT IDENTIFICATION C.2.4 Composite data element specifications S011 DATA ELEMENT IDENTIFICATION Desc: Identification of the position for an erroneous data element. This can be the position of a stand-alone or composite data element in the definition of a segment or a component data element in the definition a composite data element. POS TAG Name S Repr. Notes 010 0098 Erroneous data element position in segment M n..3 020 0104 Erroneous component data element position C n..3 1,2 030 0134 Erroneous data element occurrence C n..6 1,3 Notes: 1. D4(020,030) One or none 2. This element shall only be used if an error is to be reported in a component data element. 3. This element shall only be used if an error is to be reported in a repeating data element. C.3 Simple data element directory C.3.2 Index of simple data element by tag TAG Name 0083 Action, coded 0085 Syntax error, coded 0096 Segment position in message 0098 Erroneous data element position in segment 0104 Erroneous component data element position 0134 Erroneous data element occurrence C.3.3 Index of simple data element by name TAG Name 0083 Action, coded 0104 Erroneous component data element position 0134 Erroneous data element occurrence 0098 Erroneous data element position in segment 0096 Segment position in message 0085 Syntax error, coded C.3.4 Simple data element specifications 0083 Action, coded Desc: A code indicating acknowledgement, or rejection (the action taken) of a subject interchange, or part of the subject interchange. Repr: an..3 0085 Syntax error, coded Desc: A code indicating the error detected. Repr: an..3 0096 Segment position in message Desc: The numerical count position of a specific segment that is within the actual received message. The numbering starts with, and includes, the UNH segment as segment number 1. To identify a segment that contains an error, this is the numerical count position of that segment. To report that a segment is missing, this is the numerical count position of the last segment that was processed before the position where the missing segment was expected to be. A missing segment group is denoted by identifying the first segment in the group as missing. Repr: n..6 0098 Erroneous data element position in segment Desc: The numerical count position of the stand-alone or composite data element in error. The segment code and each following stand-alone or composite data element defined in the segment description shall cause the count to be incremented. The segment tag has position number 1. Repr: n..3 0104 Erroneous component data element position Desc: The numerical count position of the component data element in error. Each component data element position defined in the composite data element description shall cause the count to be incremented. The count starts at 1. Repr: n..3 0134 Erroneous data element occurrence Desc: The numerical occurrence of the repeating stand-alone or composite data element in error. Each occurrence (as indicated by the repeating data element separator) shall cause the count to be incremented. The count starts at 1. Repr: n..6 Addendum - to be added to Part 1 annex D when approved Syntax Service Code Directory (informative) Part 4 requires that the following content be added to Part 1 Annex D of this International Standard in the sections indicated. D.3 Code lists 0083 Action, coded Desc: A code indicating acknowledgement, or rejection (the action taken) of a subject interchange, or part of the subject interchange. Repr: an..3 4 This level and all lower levels rejected The corresponding referenced-level and all its lower referenced-levels are rejected. One or more errors are reported at this reporting-level or a lower reporting-level. 7 This level acknowledged, next lower level acknowledged if not explicitly rejected The corresponding referenced-level is acknowledged. All messages, packages, or groups at the next lower referenced-level are acknowledged except those explicitly reported as rejected at the next lower reporting-level in this CONTRL message. 8 Interchange received Indication of interchange receipt, see clause 3. 0085 Syntax error, coded Desc: A code indicating the syntax error detected. Repr: an..3 1 Character set not supported Notification that one or more characters used are not in the character set defined by the syntax identifier, or the character set identified by the escape sequence for the code extension technique is not supported by the recipient. 2 Syntax version or level not supported Notification that the syntax version and/or level is not supported by the recipient. 3 Envelope functionality not supported Notification that the envelope structure such as UNO or UNG is not supported by the recipient. 3 Envelope functionality not supported Notification that the envelope structure such as UNO or UNG is not supported by the recipient. 7 Interchange recipient not actual recipient Notification that the Interchange recipient (S003) is different from the actual recipient. 12 Invalid value Notification that the value of a stand-alone data element, composite data element or component data element does not conform to the relevant specifications for the value. 13 Missing Notification that a mandatory (or otherwise required) service or user segment, data element, composite data element or component data element is missing. 14 Value not supported in this position Notification that the recipient does not support use of the specific value of an identified stand-alone data element, composite data element or component data element in the position where it is used. The value may be valid according to the relevant specifications and may be supported if it is used in another position. 15 Not supported in this position Notification that the recipient does not support use of the segment type, stand-alone data element type, composite data element type or component data element type in the specific in the identified position. 16 Too many constituents Notification that the identified segment contained to many data elements or that the identified composite data element contained too many component data elements. 17 No agreement No agreement exists that allows receipt of an interchange, group, message, or package with the value of the identified stand-alone data element, composite data element or component data element. 18 Unspecified error Notification that an error has been identified, but the nature of the error is not reported. 20 Character invalid as service character Notification that a character advised in UNA is invalid as a service character. 21 Invalid character(s) Notification that one or more character(s) used in the interchange is not a valid character as defined by the syntax level indicated in UNB. The invalid character is part of the referenced-level, or followed immediately after the identified part of the interchange. 22 Invalid service character(s) Notification that the service character(s) used in the interchange is not a valid service character as advised in UNA or not one of the default service characters defined in the syntax. If the code is used in UCS or UCD, the invalid character followed immediately after the identified part of the interchange. 23 Unknown Interchange sender Notification that the Interchange sender (S002) is unknown. 24 Too old Notification that the received interchange or group is older than a limit specified in an IA or determined by the recipient. 25 Test indicator not supported Notification that test processing can not be performed for the identified interchange, group, message, or package. 26 Duplicate detected Notification that a possible duplication of a previously received interchange, group, message, or package has been detected. The earlier transmission may have been rejected. 28 References do not match Notification that the control reference in UNB, UNG, UNH, or UNO does not match the one in UNZ, UNE, UNT, or UNP, respectively. 29 Control count does not match number of instances received Notification that the number of groups, messages, segments does not match the number given in UNZ, UNE, or UNT, respectively, or that the length or an object in octets is not equal to the length stated in both the UNO and UNP. 30 Groups and messages/packages mixed Notification that groups have been mixed with messages/packages outside of groups in the interchange. 32 Lower level empty Notification that the interchange does not contain any messages, packages, or groups, or a group does not contain any messages or packages. 33 Invalid occurrence outside message, package, or group Notification of an invalid segment or data element in the interchange, between messages or between packages or between groups. Rejection is reported at the level above. 35 Too many repetitions Notification that a stand-alone data element, composite data element or segment is repeated too many times. 36 Too many segment group repetitions Notification that a segment group is repeated too many times. 37 Invalid type of character(s) Notification that one or more numeric characters are used in an alphabetic (component) data element or that one or more alphabetic characters are used in a numeric (component) data element. 39 Data element too long Notification that the length of the data element received exceeds the maximum length specified in the data element description. 40 Data element too short Notification that the length of the data element received is shorter than the minimum length specified in the data element description. 41 Permanent communication network error Notification that a permanent error was reported by the communication network used for transfer of the interchange. Re-transmission of an identical interchange with the same parameters at network level will not succeed. 42 Temporary communication network error Notification that a temporary error was reported by the communication network used for transfer of the interchange. Re-transmissions of an identical interchange may succeed. 43 Unknown interchange recipient Notification that the interchange recipient is not known by a network provider. 44 Trailing separator Notification of one of the following: - the last character before the segment terminator is a data element separator or a component data element separator or a repeating data element separator, or - the last character before a data element separator is a component data element separator or a repeating data element separator.