Well this is a pure data corruption case.
Reason - When we Run ITS, it will for sure check the Order Line workflow, and ITS expect the workflow of the line should be in SHIP_LINE "Notified" status. If it is so ITS complete the SHIP_LINE activity by calling wf_engine API and then Push the workflow to Deferred fulfill. Once it is done, it will update OE_ORDER_LINES_ALL table and set the oe_interfaced_flag = 'Y' in WSH_DELIVERY_DETAILS.
In case you feel ITS is complete but workflow for line is not close, then check
1. Shipped Quantity, actual_shipment date in OE_ORDER_LINES_ALL
2. oe_interfaced_flag in WSH_DELIVERY_DETAILS
If Step#1 is populated and Step# mark as "Y”, then you need to Progress the line workflow to Deferred_fulfill by Script (I suggest contact Oracle Support for that).From Deferred_fulfill workflow background engine will take care.