Just to provide some insight on IFS replication monitoring and data repairing for replication issues that is being performed for most deepwater drilling customers who maintain a replicating system(s). By definition, Replication makes it possible for several installations of IFS Applications to share basic data. One instance of IFS Applications can be the owner (master) of some basic data and other instances (slaves) can share the master’s data. Whenever data is created or modified at the master site the data is replicated to the slaves and the slave instances are updated.
When data is not replicated properly this will result in errors,
e.g. - Error: RecordNo=3 - ORA-20111: PurchaseRequisition.NOTEXIST2: The Requisition object does not exist.
If the above error arises in the Central/Onshore vessel then it has to be determined on whether the requisition object does not exist for real. If it does exist in the offshore/slave vessel (other instance) you can exclude this specific error by excluding the line. This can be done in the Message Viewer (In apps 9 it is shown as Bundled Message Viewer).
But if the record is not there in the Central/onshore vessel, please look for the operation that is being called in this application message. If it is a modify operation and this record is missing, this has to be added. You can simply copy the SQL as a text in the offshore rig and execute it using a test script clearing out the additional information on the copying (clear the prompt text details). Once done, commit the transaction to the database.
Please note this is directly relevant for modify operations in Onshore vessels. The same would apply for Offshore vessels to modify operations too. If it is a remove operation in Offshore, the record will have to be removed from the offshore database but make sure the operation is removed.
The above-mentioned process is to make data repair. In apps 9 it can directly be executed. But when it comes to IFS Apps 8 please enable the above trigger and disable it.
Repl_Util_Api.Set_Repl_Receive_Mode (true);
--Insert code here
Repl_Util_Api.Set_Repl_Receive_Mode (false);