Unable to Delete Blank Row from the BOM tab

(Doc ID 1958235.1)

Last updated on NOVEMBER 19, 2016

Applies to:

Oracle Agile Product Collaboration - Version 9.3.3.0 to 9.3.4.0 [Release 9.3]
Information in this document applies to any platform.

Symptoms

On : 9.3.3.0 version

When attempting to remove a component from BOM tab, confirmation is received :" Row has been removed" but component is still on the BOM tab.

Create 2 fields for documents subclass

Enable fields Training Date, Training Status (List)  fields in Bom tab of the document object, The program is trying to clear this date when Training status is complete .
Script PX
import com.agile.agileDSL.ScriptObj.IBaseScriptObj;
import com.agile.agileDSL.ScriptObj.AgileDSLException;
import com.agile.agileDSL.ScriptObj.IUpdateTableScriptObj;
import com.agile.agileDSL.ScriptObj. IUpdateScriptObj;
import com.agile.px.IEventDirtyCell;
import com.agile.px.IUpdateTableEventInfo;
import com.agile.px.IEventDirtyRowUpdate;
import com.agile.px.IEventInfo;
import com.agile.px.IEventDirtyTable;
import com.agile.api.*;
import java.util.*;

void invokeScript(IUpdateTableScriptObj obj) {
   int TrainingStatusId=1636;//base id of the field
   int TrainingDueDateId=2170;/base id of the field
   IEventInfo req = obj.getPXEventInfo();
   
    if(!req instanceof IUpdateTableEventInfo)
          return;

    IUpdateTableEventInfo itinfo=(IUpdateTableEventInfo)req;
    IAgileSession session=obj.getAgileSDKSession();
    IDataObject tp = itinfo.getDataObject();
    IEventDirtyTable rbt=itinfo.getTable();
    int mods=0;
obj.logMonitor("<--before-->");
    for(Iterator ri=rbt.iterator();ri.hasNext();){
obj.logMonitor("<--inside-->");
         IEventDirtyRowUpdate row=(IEventDirtyRowUpdate)ri.next();
         if(row.getCell(TrainingStatusId)!=null && row.getCell(TrainingStatusId).getValue().toString().toLowerCase().contains("complete")){
            Date nulldate=null;
            row.setCell(TrainingDueDateId,nulldate);
            mods++;
         }
    }//

f(mods>0)

         obj.logMonitor("blanked "+mods+" Training Due Date(s)");

}

 

Create Event

Create Event subscriber with above event and event handler


The issue can be reproduced at will with the following steps:
1.BOM tab - icon with question mark
2.Select row | Delete
3. Removal is confirmed but row still there

Changes

The following script PX is enabled

 

Cause

Sign In with your My Oracle Support account

Don't have a My Oracle Support account? Click to get started

My Oracle Support provides customers with access to over a
Million Knowledge Articles and hundreds of Community platforms