X12 997 Functional Acknowledgment
This Draft Standard for Trial Use contains the format and establishes the data contents of the Functional Acknowledgment Transaction Set (997) for use within the context of an Electronic Data Interchange (EDI) environment. The transaction set can be used to define the control structures for a set of acknowledgments to indicate the results of the syntactical analysis of the electronically encoded documents. The encoded documents are the transaction sets, which are grouped in functional groups, used in defining transactions for business data interchange. This standard does not cover the semantic meaning of the information encoded in the transaction sets.
- ~ Segment
- * Element
- > Component
- None included
Interchange Control Header
To start and identify an interchange of zero or more functional groups and interchange-related control segments
Code to identify the type of information in the Authorization Information
- 00
- No Authorization Information Present (No Meaningful Information in I02)
Information used for additional identification or authorization of the interchange sender or the data in the interchange; the type of information is set by the Authorization Information Qualifier (I01)
Code to identify the type of information in the Security Information
- 00
- No Security Information Present (No Meaningful Information in I04)
This is used for identifying the security information about the interchange sender or the data in the interchange; the type of information is set by the Security Information Qualifier (I03)
Qualifier to designate the system/method of code structure used to designate the sender or receiver ID element being qualified
Identification code published by the sender for other parties to use as the receiver ID to route data to them; the sender always codes this value in the sender ID element
Qualifier to designate the system/method of code structure used to designate the sender or receiver ID element being qualified
Identification code published by the receiver of the data; When sending, it is used by the sender as their sending ID, thus other parties sending to them will use this as a receiving ID to route data to them
Code to identify the agency responsible for the control standard used by the message that is enclosed by the interchange header and trailer
- U
- U.S. EDI Community of ASC X12, TDCC, and UCS
This version number covers the interchange control segments
- 00401
- Draft Standards for Trial Use Approved for Publication by ASC X12 Procedures Review Board through October 1997
A control number assigned by the interchange sender
Code sent by the sender to request an interchange acknowledgment (TA1)
- 0
- No Acknowledgment Requested
- 1
- Interchange Acknowledgment Requested
Code to indicate whether data enclosed by this interchange envelope is test, production or information
- I
- Information
- P
- Production Data
- T
- Test Data
Type is not applicable; the component element separator is a delimiter and not a data element; this field provides the delimiter used to separate component data elements within a composite data structure; this value must be different than the data element separator and the segment terminator
- >
- Component Element Separator
Functional Group Header
To indicate the beginning of a functional group and to provide control information
Code identifying a group of application related transaction sets
- FA
- Functional Acknowledgment (997)
Code identifying party sending transmission; codes agreed to by trading partners
Code identifying party receiving transmission. Codes agreed to by trading partners
Time expressed in 24-hour clock time as follows: HHMM, or HHMMSS, or HHMMSSD, or HHMMSSDD, where H = hours (00-23), M = minutes (00-59), S = integer seconds (00-59) and DD = decimal seconds; decimal seconds are expressed as follows: D = tenths (0-9) and DD = hundredths (00-99)
Assigned number originated and maintained by the sender
Code used in conjunction with Data Element 480 to identify the issuer of the standard
- T
- Transportation Data Coordinating Committee (TDCC)
- X
- Accredited Standards Committee X12
Code indicating the version, release, subrelease, and industry identifier of the EDI standard being used, including the GS and GE segments; if code in DE455 in GS segment is X, then in DE 480 positions 1-3 are the version number; positions 4-6 are the release and subrelease, level of the version; and positions 7-12 are the industry or trade association identifiers (optionally assigned by user); if code in DE455 in GS segment is T, then other formats are allowed
- 004010
- Draft Standards Approved for Publication by ASC X12 Procedures Review Board through October 1997
Heading
Transaction Set Header
To indicate the start of a transaction set and to assign a control number
- These acknowledgments shall not be acknowledged, thereby preventing an endless cycle of acknowledgments of acknowledgments. Nor shall a Functional Acknowledgment be sent to report errors in a previous Functional Acknowledgment.
- The Functional Group Header Segment (GS) is used to start the envelope for the Functional Acknowledgment Transaction Sets. In preparing the functional group of acknowledgments, the application sender's code and the application receiver's code, taken from the functional group being acknowledged, are exchanged; therefore, one acknowledgment functional group responds to only those functional groups from one application receiver's code to one application sender's code.
- There is only one Functional Acknowledgment Transaction Set per acknowledged functional group.
Code uniquely identifying a Transaction Set
- The transaction set identifier (ST01) used by the translation routines of the interchange partners to select the appropriate transaction set definition (e.g., 810 selects the Invoice Transaction Set).
- 997
- Functional Acknowledgment
Functional Group Response Header
To start acknowledgment of a functional group
- AK1 is used to respond to the functional group header and to start the acknowledgement for a functional group. There shall be one AK1 segment for the functional group that is being acknowledged.
Code identifying a group of application related transaction sets
- AK101 is the functional ID found in the GS segment (GS01) in the functional group being acknowledged.
Refer to the X12 data element dictionary for the list of valid Functional Group codes.
Transaction Set Response Header
To start acknowledgment of a single transaction set
- AK2 is used to start the acknowledgement of a transaction set within the received functional group. The AK2 segments shall appear in the same order as the transaction sets in the functional group that has been received and is being acknowledged.
Code uniquely identifying a Transaction Set
- AK201 is the transaction set ID found in the ST segment (ST01) in the transaction set being acknowledged.
Refer to the X12 data element dictionary for the list of valid Transaction Set codes.
Identifying control number that must be unique within the transaction set functional group assigned by the originator for a transaction set
- AK202 is the transaction set control number found in the ST segment in the transaction set being acknowledged.
Data Segment Note
To report errors in a data segment and identify the location of the data segment
- The data segments of this standard are used to report the results of the syntactical analysis of the functional groups of transaction sets; they report the extent to which the syntax complies with the standards for transaction sets and functional groups. They do not report on the semantic meaning of the transaction sets (for example, on the ability of the receiver to comply with the request of the sender).
Code defining the segment ID of the data segment in error (See Appendix A - Number 77)
The numerical count position of this data segment from the start of the transaction set: the transaction set header is count position 1
The loop ID number given on the transaction set diagram is the value for this data element in segments LS and LE
997's submitted to CommerceHub may contain the AK3_03 element, however 997's generated by CommerceHub will not contain it.
Code indicating error found based on the syntax editing of a segment
997's submitted to CommerceHub may contain any of the AK3_04 error codes, however 997's generated by CommerceHub will only contain '2', '3', or '8'.
- 1
- Unrecognized segment ID
- 2
- Unexpected segment
- 3
- Mandatory segment missing
- 4
- Loop Occurs Over Maximum Times
- 5
- Segment Exceeds Maximum Use
- 6
- Segment Not in Defined Transaction Set
- 7
- Segment Not in Proper Sequence
- 8
- Segment Has Data Element Errors
Data Element Note
To report errors in a data element or composite data structure and identify the location of the data element
This is used to indicate the relative position of a simple data element, or the relative position of a composite data structure with the relative position of the component within the composite data structure, in error; in the data segment the count starts with 1 for the simple data element or composite data structure immediately following the segment ID
Reference number used to locate the data element in the Data Element Dictionary
997's submitted to CommerceHub may contain the AK4_02 element, however 997's generated by CommerceHub will not contain it.
Code indicating the error found after syntax edits of a data element
997's submitted to CommerceHub can contain any of the AK4_03 error codes, however 997's generated by CommerceHub will only contain '1', '2', '3',4', '5', '7', or '8'.
- 1
- Mandatory data element missing
- 2
- Conditional required data element missing.
- 3
- Too many data elements.
- 4
- Data element too short.
- 5
- Data element too long.
- 6
- Invalid character in data element.
- 7
- Invalid code value.
- 8
- Invalid Date
- 9
- Invalid Time
- 10
- Exclusion Condition Violated
Transaction Set Response Trailer
To acknowledge acceptance or rejection and report errors in a transaction set
Code indicating accept or reject condition based on the syntax editing of the transaction set
997's submitted to CommerceHub can contain any of the AK5_01 codes, however 997's generated by CommerceHub will only contain 'A' or 'R'.
- A
- Accepted
- E
- Accepted But Errors Were Noted
- M
- Rejected, Message Authentication Code (MAC) Failed
- R
- Rejected
- W
- Rejected, Assurance Failed Validity Tests
- X
- Rejected, Content After Decryption Could Not Be Analyzed
Code indicating error found based on the syntax editing of a transaction set
997's submitted to CommerceHub can contain any of the AK5_02 error codes, however 997's generated by CommerceHub will only contain '4', '11', or '15'.
- 1
- Transaction Set Not Supported
- 2
- Transaction Set Trailer Missing
- 3
- Transaction Set Control Number in Header and Trailer Do Not Match
- 4
- Number of Included Segments Does Not Match Actual Count
- 5
- One or More Segments in Error
- 6
- Missing or Invalid Transaction Set Identifier
- 7
- Missing or Invalid Transaction Set Control Number
- 8
- Authentication Key Name Unknown
- 9
- Encryption Key Name Unknown
- 10
- Requested Service (Authentication or Encrypted) Not Available
- 11
- Unknown Security Recipient
- 12
- Incorrect Message Length (Encryption Only)
- 13
- Message Authentication Code Failed
- 15
- Unknown Security Originator
- 16
- Syntax Error in Decrypted Text
- 17
- Security Not Supported
- 19
- S1E Security End Segment Missing for S1S Security Start Segment
- 20
- S1S Security Start Segment Missing for S1E Security End Segment
- 21
- S2E Security End Segment Missing for S2S Security Start Segment
- 22
- S2S Security Start Segment Missing for S2E Security End Segment
- 23
- Transaction Set Control Number Not Unique within the Functional Group
- 24
- S3E Security End Segment Missing for S3S Security Start Segment
- 25
- S3S Security Start Segment Missing for S3E Security End Segment
- 26
- S4E Security End Segment Missing for S4S Security Start Segment
- 27
- S4S Security Start Segment Missing for S4E Security End Segment
Code indicating error found based on the syntax editing of a transaction set
997's submitted to CommerceHub may contain the AK5_03 element, however 997's generated by CommerceHhub will not contain it.
Code indicating error found based on the syntax editing of a transaction set
997's submitted to CommerceHub may contain the AK5_04 element, however 997's generated by CommerceHub will not contain it.
Code indicating error found based on the syntax editing of a transaction set
997's submitted to CommerceHub may contain the AK5_05 element, however 997's generated by CommerceHub will not contain it.
Functional Group Response Trailer
To acknowledge acceptance or rejection of a functional group and report the number of included transaction sets from the original trailer, the accepted sets, and the received sets in this functional group
Code indicating accept or reject condition based on the syntax editing of the functional group
- If AK901 contains the value "A" or "E", then the transmitted functional group is accepted.
997's submitted to CommerceHub can contain any of the AK9_01 codes, however 997's generated by CommerceHub will only contain 'A', 'P', or 'R'.
- A
- Accepted
- E
- Accepted, But Errors Were Noted.
- M
- Rejected, Message Authentication Code (MAC) Failed
- P
- Partially Accepted, At Least One Transaction Set Was Rejected
- R
- Rejected
- W
- Rejected, Assurance Failed Validity Tests
- X
- Rejected, Content After Decryption Could Not Be Analyzed
Total number of transaction sets included in the functional group or interchange (transmission) group terminated by the trailer containing this data element
Number of Transaction Sets received
Number of accepted Transaction Sets in a Functional Group
Code indicating error found based on the syntax editing of the functional group header and/or trailer
997's submitted to CommerceHub can contain any of the AK9_05 error codes, however 997's generated by CommerceHub will only contain '2', '4' or '5'.
Code indicating error found based on the syntax editing of the functional group header and/or trailer
997's submitted to CommerceHub may contain the AK9_06 element, however 997's generated by CommerceHub will not contain it.
Code indicating error found based on the syntax editing of the functional group header and/or trailer
997's submitted to CommerceHub may contain the AK9_07 element, however 997's generated by CommerceHub will not contain it.
Code indicating error found based on the syntax editing of the functional group header and/or trailer
997's submitted to CommerceHub may contain the AK9_08 element, however 997's generated by CommerceHub will not contain it.
Code indicating error found based on the syntax editing of the functional group header and/or trailer
997's submitted to CommerceHub may contain the AK9_09 element, however 997's generated by CommerceHub will not contain it.
Transaction Set Trailer
To indicate the end of the transaction set and provide the count of the transmitted segments (including the beginning (ST) and ending (SE) segments)
Total number of segments included in a transaction set including ST and SE segments
Functional Group Trailer
To indicate the end of a functional group and to provide control information
Total number of transaction sets included in the functional group or interchange (transmission) group terminated by the trailer containing this data element
Interchange Control Trailer
To define the end of an interchange of zero or more functional groups and interchange-related control segments
Stedi is a registered trademark of Stedi, Inc. All names, logos, and brands of third parties listed on this page are trademarks of their respective owners (including “X12”, which is a trademark of X12 Incorporated). Stedi, Inc. and its products and services are not endorsed by, sponsored by, or affiliated with these third parties. Use of these names, logos, and brands is for identification purposes only, and does not imply any such endorsement, sponsorship, or affiliation.