Reporting Syntactical Errors

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.

 

Generating Acknowledgments

Currently, FREDI can only generate the following acknowledgments for ASC/X12 and UN/EDIFACT.

To automatically generate an acknowledgment, take the following steps:

  1. The properties EnableFunctionalAcknowledgment and/or EnableInterchangeAcknowledgment  have to be set to TRUE to enable generation of the Functional Acknowledgment and/or Interchange Acknowledgment respectively.
  2. For the ASC/X12 Interchange Acknowledgment, if the acknowledgment option OptAcknowledgment_IgnoreAckRequest is disabled, the Interchange Acknowledgment is generated depending on the value of the Acknowledgment Requested Data Element (I13).  If the value of DEI13 is "1" then the Interchange Acknowledgment is enabled.

    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

  3. For the UN/EDIFACT Syntax and Service Report, if the option OptAcknowledgment_IgnoreAckRequest is disabled, the acknowledgment is generated depending on the value of the Acknowledgment Requested Data Element (0031).  If the value of DE0031 is "1" then the acknowledgment is enabled.

    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

  4. The implementation guideline provided and used to process the document must also have the ASC/X12 Transaction Set or UN/EDIFACT Message definition that will be used as a guideline to create the acknowledgment.

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.

 

Functional Acknowledgment

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:

 

Interchange Acknowledgment

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).