EDI 997 Functional Acknowledgment
Functional Group FA
X12C Communications and Controls Subcommittee
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.
What is an EDI 997?
An EDI 997 Functional Acknowledgment serves as a response to an individual EDI message or group of messages. It contains information about the receipt of the upstream transaction, such as whether it has been accepted, accepted with errors or rejected (AK5 segment), if there are any segment errors (AK3 segment) or if there are any data element issues (AK4 segment).
How is an EDI 997 used?
For example, Vendor A sends Retailer B an EDI 810 Invoice. Retailer B responds with an EDI 997 Functional Acknowledgment, which communicates to Vendor A that their EDI 810 Invoice was received and is syntactically valid.
Heading
- 010Transaction Set HeaderMandatoryMax 1
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.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. - 020Functional Group Response HeaderMandatoryMax 1
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. - AK2 Loop OptionalRepeat 999999
- 030Transaction Set Response HeaderMandatoryMax 1
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. - AK3 Loop OptionalRepeat 999999
- 040Data Segment NoteMandatoryMax 1
To report errors in a data segment and to 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). - 050Data Element NoteOptionalMax 99
To report errors in a data element and to identify the location of the data element.
- 040Data Segment NoteMandatoryMax 1
- 060Transaction Set Response TrailerMandatoryMax 1
To acknowledge acceptance or rejection and to report errors in a transaction set.
- 030Transaction Set Response HeaderMandatoryMax 1
- 070Functional Group Response TrailerMandatoryMax 1
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.
- 080Transaction Set TrailerMandatoryMax 1
To indicate the end of the transaction set and provide the count of the transmitted segments (including the beginning (ST) and ending (SE) segments).