Validation Check of Incoming Message
Prior to updating the transmission status of the reports, the application identifies the type of incoming message and validates the incoming message. The ICSR service processes all the incoming messages located in a folder either in incoming EDI directory or physical media directory. Incoming ICSR Messages are retrieved as SGML from a shared directory. The incoming folder is configurable in Oracle Argus Interchange Mapping Utility. ICSR message is parsed to check the validity of the SGML file using the correct version of DTD. The incoming message is saved after checking that message is in compliance with DTD.
The recipient of the ICSR message acknowledges receipt of message and notifies the sender about the validity and usability of the data in the reports. The acknowledgment message is called as ICSR Acknowledgment Message. When a message is acknowledged, workflow status of the ICSR report is updated with one of the following three status:
- All reports loaded into recipient database
- ICSR Error, not all reports loaded into database
- SGML parsing error no data extracted
The acknowledgement contains two sections, one concerning the validity of the message as a whole and the second containing comments on the validity of the individual reports within the message. Create a folder and configure it through the Oracle Argus Interchange Mapping Utility, where all the incoming messages can be stored. The Interchange service processes the received message and moves it in the Archive folder.
The message is validated based on the ICH ICSR acknowledgement specifications and the format of the message identified by DTD version. Correctness of receiver and sender identifier present in the message header is also validated to verify that the message is not sent to the wrong recipient.
The content of the message is validated based on the following:
- Required Data
- Data Type
- Data Length
- Field Value
The system identifies message type (acknowledgement) and the DTD version of the message. If the application is unable to identify the message type or DTD version, then the error is logged in the log table and further processing is stopped. The application sends an email to configured email address indicating the failure to read the message.
Application checks for the presence of the duplicate in the system based on the ‘Sender identifier' and ‘Acknowledgement Message Tracking #'. Processing of the acknowledgement is stopped, if duplicate message is found in the database and an error is logged into the log table.
The following table describes the error messages and reasons for the occurrence of corresponding errors.
Process | Error message | Possible Reason of error |
---|---|---|
Read the Incoming message from the folder |
XML File not in path. |
File is removed. |
Identification of the incoming message type |
<<File Name>> not a valid XML File |
File format is not as per ICH guidelines. |
Identification of the incoming message type |
Not valid ICH ICSR message Tag ‘<ichicsrmessageheader>' not found |
File does not contain the valid ICH Message Header. |
Identification of the incoming message type |
Failure to identify the type of incoming message. Either Tag <messagetype> is missing/misspelled or tag does not contain valid value. The valid values are ICHICSR, ICHICSRACK |
The incoming file is identified as a message or acknowledgment. The identification value is wrong. |
Identification of the incoming message type |
Record not found in CFG_PROFILE table for DTD version '2.0', DTD release '1.0', Active profile = 'Y' and profile type starts 'ACK%' |
Profile does not exist in cfg_profile table. |
Validation of the incoming message type |
M2 Validation failed for incoming message. The following are the elements and values:<<Element, value>> |
M2 validation failed on the message header. |
Identification of the incoming acknowledgement type |
Invalid ICH ICSR message Tag ‘<messageacknowledgment>' not found. |
File does not contain the valid ICH Acknowledgment Header. |
Processing acknowledgment |
Record not found in MESSAGES table for the ICSRMESSAGE number <<MessageNum>> ICSRMESSAGE receiver identifier <<receiver info>> for the received acknowledgment |
Record is deleted from the database. |
Processing acknowledgment |
Duplicate acknowledgment received for ICSRMESSAGE number <<message number>> and ICSRMESSAGE RECEIVER IDENTIFIER <<receiver info>> |
Acknowledgment already exists for this message number. |
Processing acknowledgment |
<reportacknowledgment> section is missing from the received acknowledgment, MESSAGE number <<message number>> |
Acknowledgment does not contain the report acknowledgment body. |
Processing acknowledgment |
Record not found in SAFETYREPORT table for company number <<Company Number>> and msg_id <<message id>> |
Record is deleted from SAFETYREPORT table from database. |
Refer to the sample email messages that are sent to the configured email address in case of message validation failure:
- In case of invalid XML
format:
From: ICSR service user Subject: <<file name>> not valid XML formats file Content: This mail has been sent by the system to notify that the system has failed to identify the file <<file name>> as a valid XML file. Error has occurred on Line: <<line no>>, Source Text <<Error Text>>, Error Code <<Parsing Error Code>>, Error Reason <<Error Reason>> Thanks, << ICSR service user >>
- In case the application fails to identify the incoming
message:
From: ICSR service user Subject: Failure to Identify the Type of Incoming Message. Content: This mail has been sent by the system to notify that the system has failed to identify the type of the incoming message (Acknowledgement or a Message) present in the file <<Incoming Message File Name>>. Thanks, << ICSR service user >>
- In case of validation failure of the incoming
acknowledgement:
From: ICSR service user Subject: Validation Failure of the Incoming Acknowledgement. Content: This mail has been sent by the system to notify that the system has failed to further process the incoming acknowledgement present in the file <<Incoming Message File Name>>. The following are the reasons for this failure: #<n>. <<Insert the corresponding relevant error message.>> Thanks, << ICSR service user >>
You can view the acknowledgement information of a report such as acknowledgement message tracking #, acknowledgement report tracking #, date acknowledge initiated, company ICSR message, and error reported by receiver, in the Report Details Dialog.
The status of the each ICSR report is updated based on the information extracted from the ICSR acknowledgment, irrespective of the transmission status (Success or Failure). Refer to the section, Viewing Acknowledgement Information, for viewing the acknowledgement information.
Parent topic: Monitor ICSR Receive Status