Framework EDI can automatically generate an acknowledgement to report syntactical errors of a document. The correctness of the syntax in a document is dependent on the controlling standard's fundamental rules (ASC/X12 or UN/EDIFACT), and the implementation guideline on which the document is based. It is the receiver that generates the acknowledgment that is then sent to the sender. The receiver specifies a code in the acknowledgment to indicate the result of the action taken on the document - either it has been received and/or accepted or rejected.
Currently, FREDI can only generate the following acknowledgments for ASC/X12 and UN/EDIFACT.
To automatically generate an acknowledgment, take the following steps:
The following is a summary
of how the Interchange Acknowledgment (TA1) or Functional Acknowledgment (997)
is generated in ASC/X12 depending on the OptAcknowledgment_IgnoreAckRequest
option, EnableInterchangeAcknowledgment and EnableFunctionalAcknowledgment.
DE I13 | OptAcknowledgment_IgnoreAckRequest | EnableInterchangeAcknowledgment | EnableFunctionalAcknowledgment | TA1 | 997 |
0 | FALSE | FALSE | FALSE | NO | NO |
0 | FALSE | FALSE | TRUE | NO | YES |
0 | FALSE | TRUE | FALSE | NO | NO |
0 | FALSE | TRUE | TRUE | NO | YES |
0 | TRUE | FALSE | FALSE | NO | NO |
0 | TRUE | FALSE | TRUE | NO | YES |
0 | TRUE | TRUE | FALSE | YES | NO |
0 | TRUE | TRUE | TRUE | YES | YES |
1 | FALSE | FALSE | FALSE | NO | NO |
1 | FALSE | FALSE | TRUE | NO | YES |
1 | FALSE | TRUE | FALSE | YES | NO |
1 | FALSE | TRUE | TRUE | YES | YES |
1 | TRUE | FALSE | FALSE | NO | NO |
1 | TRUE | FALSE | TRUE | NO | YES |
1 | TRUE | TRUE | FALSE | YES | NO |
1 | TRUE | TRUE | TRUE | YES | NO |
The following is a summary of how the CONTRL acknowledgment is generated in UN/EDIFACT depending on the OptAcknowledgment_IgnoreAckRequest option, EnableInterchangeAcknowledgment and EnableFunctionalAcknowledgment.
DE 0031 | OptAcknowledgment_IgnoreAckRequest | EnableInterchangeAcknowledgment | EnableFunctionalAcknowledgment | CONTRL |
0 | FALSE | FALSE | FALSE | NO |
0 | FALSE | FALSE | TRUE | YES |
0 | FALSE | TRUE | FALSE | YES |
0 | FALSE | TRUE | TRUE | YES |
0 | TRUE | FALSE | FALSE | NO |
0 | TRUE | FALSE | TRUE | YES |
0 | TRUE | TRUE | FALSE | NO |
0 | TRUE | TRUE | TRUE | YES |
1 | FALSE | FALSE | FALSE | YES |
1 | FALSE | FALSE | TRUE | YES |
1 | FALSE | TRUE | FALSE | YES |
1 | FALSE | TRUE | TRUE | YES |
1 | TRUE | FALSE | FALSE | NO |
1 | TRUE | FALSE | TRUE | YES |
1 | TRUE | TRUE | FALSE | YES |
1 | TRUE | TRUE | TRUE | YES |
Errors detected while processing the EDI document are mapped to acknowledgment error codes, and recorded. Internally, a hierarchical document tree is created that matches the hierarchical structure of the acknowledgment transaction set/message defined in the implementation guideline. Data is automatically populated with default values wherever a data segment and data element can be identified and their semantic meanings understood. Because data segments and data elements are organized hierarchically in a tree, methods and properties are provided such that they can be located, accessed and edited before saving the acknowledgment document to disk.
The Functional Acknowledgment reports syntactical errors to the sender. When the subject document is received, the receiver verifies it for syntactical correctness and reports back the error to the sender using the functional acknowledgment.
ASC/X12. The subject document is checked for syntactical correctness:
Errors are recorded in the functional acknowledgment transaction set (997) as follows:
UN/EDIFACT . The subject document is checked for syntactical correctness:
Errors are recorded in the service report message (CONTRL) as follows:
The interchange acknowledgment is used to notify the sender of interchange receipt, and what action has been taken on the subject document. The interchange envelope is also checked for correctness, and any syntactical errors are recorded in the interchange acknowledgment.
ASC/X12. Errors in the interchange envelope are recorded in the Interchange Acknowledgment (TA1) data segment.
UN/EDIFACT. Errors in the interchange envelope are recorded in the Interchange Response (UCI) data segment in the service report message (CONTRL).