BPM to prevent deleting lines if order>1 day old not triggering

Hi guys,
I’ve been asked to create a BPM to prevent deleting orders and lines if they are more than one day old (if you aren’t a sales manager).

I have the header part working, but can’t get the lines condition to trigger (it still lets me delete). The ttOrderDtl.Rowmod has been changed from any to “D” needed quotes around the D to compile, but it’s not picking it up in the condition (yet the message shows it’s a D).
Suggestions?

Also - Is there a better (more efficient) way I should do this? We have 30+ BPM’s on SalesOrder.Update already! Maybe something other than SalesOrder.Update (which is triggered all the time)?

image
image


image
image

Thanks for the help!

Hey Andris,

I’m not sure why your “any to D” condition isn’t firing, but have you tried using the “at least one deleted row” condition instead? It might achieve the same result you want.

You might want to set a data directive on OrderDtl to check things, probably an in transaction one rather than rely on the method directive.

I think your issue is:
if OrderDtl is deleted, give me the OrderHed.Entered date of the deleted row.

If you arent deleting the OrderHed, it work work

Thank you guys!
@Chris_Conn - Yup, that makes sense. :man_facepalming:
@MLamkin - Good idea. Somehow I’d have to tie into the order being more than 0 days old.
@knaderi - Thanks. I can try that.

I figured starting simple would be better, so now I’m just trying to make a condition to catch the deleted sales order line. Nothing seems to trigger. I put a message box to show what ttOrderDtl fields are returned, and they are empty. I’ve tried SalesOrder.Update pre, MasterUpdate, and the two Delete BO’s.

Seems like deleting a line does not set RowMod=D, but does put a deleted row into the trace dataset (I’m not sure how to work with that).

What am I missing? Thanks for the help!

image

image

Here’s a trace for just deleting a line:

  <businessObject>Erp.Proxy.BO.SalesOrderImpl</businessObject>
  <methodName>Update</methodName>
  <appServerUri>net.tcp://<MASKED></appServerUri>
  <returnType>System.Void</returnType>
  <localTime>7/10/2020 10:41:53:3344984 AM</localTime>
  <threadID>1</threadID>
  <correlationId>7928f7d0-8026-411b-b2a3-7a76aa067b35</correlationId>
  <executionTime total="523" roundTrip="503" channel="0" bpm="0" other="20" />
  <retries>0</retries>
  <parameters>
    <parameter name="ds" type="Erp.BO.SalesOrderDataSet">
      <SalesOrderDataSet xmlns="http://www.epicor.com/Ice/300/BO/SalesOrder/SalesOrder" />
    </parameter>
  </parameters>
  <paramDataSetChanges>
    <paramDataSet name="ds" useDataSetNbr="0">
      <deletedRow tableName="OrderDtl" rowState="Deleted" rowNum="1" />
      <deletedRow tableName="OrderRel" rowState="Deleted" rowNum="1" />
      <changedValue tableName="TaxConnectStatus" rowState="Modified" rowNum="0" colName="RowMod"><![CDATA[U]]></changedValue>
    </paramDataSet>
  </paramDataSetChanges>
</tracePacket>

Full Trace:

  <businessObject>Erp.Proxy.BO.SalesOrderImpl</businessObject>
  <methodName>GetJobProd</methodName>
  <appServerUri>net.tcp://<MASKED></appServerUri>
  <returnType>Erp.Tablesets.OrdRelJobProdTableset</returnType>
  <localTime>7/10/2020 10:41:49:4718439 AM</localTime>
  <threadID>1</threadID>
  <correlationId>2157e5d0-4e03-41e3-a559-f547d41104d9</correlationId>
  <executionTime total="22" roundTrip="13" channel="7" bpm="0" other="2" />
  <retries>0</retries>
  <parameters>
    <parameter name="iOrderNum" type="System.Int32"><![CDATA[7635126]]></parameter>
    <parameter name="iOrderLine" type="System.Int32"><![CDATA[2]]></parameter>
    <parameter name="pageSize" type="System.Int32"><![CDATA[1]]></parameter>
    <parameter name="absolutePage" type="System.Int32"><![CDATA[1]]></parameter>
    <parameter name="morePages" type="System.Boolean"><![CDATA[False]]></parameter>
  </parameters>
</tracePacket>

<tracePacket>
  <businessObject>Erp.Proxy.BO.SalesOrderImpl</businessObject>
  <methodName>Update</methodName>
  <appServerUri>net.tcp://<MASKED></appServerUri>
  <returnType>System.Void</returnType>
  <localTime>7/10/2020 10:41:53:3344984 AM</localTime>
  <threadID>1</threadID>
  <correlationId>7928f7d0-8026-411b-b2a3-7a76aa067b35</correlationId>
  <executionTime total="523" roundTrip="503" channel="0" bpm="0" other="20" />
  <retries>0</retries>
  <parameters>
    <parameter name="ds" type="Erp.BO.SalesOrderDataSet">
      <SalesOrderDataSet xmlns="http://www.epicor.com/Ice/300/BO/SalesOrder/SalesOrder" />
    </parameter>
  </parameters>
  <paramDataSetChanges>
    <paramDataSet name="ds" useDataSetNbr="0">
      <deletedRow tableName="OrderDtl" rowState="Deleted" rowNum="1" />
      <deletedRow tableName="OrderRel" rowState="Deleted" rowNum="1" />
      <changedValue tableName="TaxConnectStatus" rowState="Modified" rowNum="0" colName="RowMod"><![CDATA[U]]></changedValue>
    </paramDataSet>
  </paramDataSetChanges>
</tracePacket>

<tracePacket>
  <businessObject>Erp.Proxy.BO.SalesOrderImpl</businessObject>
  <methodName>CheckICPO</methodName>
  <appServerUri>net.tcp://<MASKED></appServerUri>
  <returnType>System.Void</returnType>
  <localTime>7/10/2020 10:41:53:8721688 AM</localTime>
  <threadID>1</threadID>
  <correlationId>6f31a8cd-6a0f-4ae6-851c-7c76922d711e</correlationId>
  <executionTime total="14" roundTrip="12" channel="0" bpm="0" other="2" />
  <retries>0</retries>
  <parameters>
    <parameter name="icpoFound" type="System.Boolean"><![CDATA[False]]></parameter>
  </parameters>
</tracePacket>

<tracePacket>
  <businessObject>Erp.Proxy.BO.SalesOrderImpl</businessObject>
  <methodName>GetByID</methodName>
  <appServerUri>net.tcp://<MASKED></appServerUri>
  <returnType>Erp.Tablesets.SalesOrderTableset</returnType>
  <localTime>7/10/2020 10:41:53:9291340 AM</localTime>
  <threadID>1</threadID>
  <correlationId>04497a7a-4303-4627-b2df-55728c04309f</correlationId>
  <executionTime total="56" roundTrip="43" channel="0" bpm="0" other="13" />
  <retries>0</retries>
  <parameters>
    <parameter name="orderNum" type="System.Int32"><![CDATA[7635126]]></parameter>
  </parameters>
</tracePacket>

<tracePacket>
  <businessObject>Ice.Proxy.BO.DynamicQueryImpl</businessObject>
  <methodName>ExecuteByID</methodName>
  <appServerUri>net.tcp://<MASKED></appServerUri>
  <returnType>System.Data.DataSet</returnType>
  <localTime>7/10/2020 10:41:53:9930957 AM</localTime>
  <threadID>1</threadID>
  <correlationId>45757262-e4ff-465a-a79e-5a82b7cf3ad8</correlationId>
  <executionTime total="524" roundTrip="517" channel="6" bpm="0" other="1" />
  <retries>0</retries>
  <parameters>
    <parameter name="queryID" type="System.String"><![CDATA[MarketingCampaignLookup]]></parameter>
    <parameter name="executionParams" type="Ice.BO.QueryExecutionDataSet">
      <QueryExecutionDataSet xmlns="http://www.epicor.com/Ice/300/BO/DynamicQuery/QueryExecution" />
    </parameter>
  </parameters>
  <paramDataSetChanges>
    <paramDataSet name="executionParams" useDataSetNbr="0">
      <changedValue tableName="ExecutionParameter" rowState="Added" rowNum="0" colName="ParameterID"><![CDATA[eventId]]></changedValue>
      <changedValue tableName="ExecutionParameter" rowState="Added" rowNum="0" colName="ParameterValue"><![CDATA[359]]></changedValue>
      <changedValue tableName="ExecutionParameter" rowState="Added" rowNum="0" colName="ValueType"><![CDATA[int]]></changedValue>
      <changedValue tableName="ExecutionParameter" rowState="Added" rowNum="0" colName="IsEmpty"><![CDATA[False]]></changedValue>
      <changedValue tableName="ExecutionParameter" rowState="Added" rowNum="0" colName="SysRowID"><![CDATA[00000000-0000-0000-0000-000000000000]]></changedValue>
      <changedValue tableName="ExecutionParameter" rowState="Added" rowNum="0" colName="RowMod"><![CDATA[A]]></changedValue>
    </paramDataSet>
  </paramDataSetChanges>
</tracePacket>

<tracePacket>
  <businessObject>Erp.Proxy.BO.SalesOrderImpl</businessObject>
  <methodName>InvoiceExists</methodName>
  <appServerUri>net.tcp://<MASKED></appServerUri>
  <returnType>System.Boolean</returnType>
  <localTime>7/10/2020 10:41:54:5227698 AM</localTime>
  <threadID>1</threadID>
  <correlationId>46ca41d4-245c-439a-97b8-d0576c8188bf</correlationId>
  <executionTime total="14" roundTrip="13" channel="0" bpm="0" other="1" />
  <retries>0</retries>
  <parameters>
    <parameter name="orderNum" type="System.Int32"><![CDATA[7635126]]></parameter>
  </parameters>
</tracePacket>

<tracePacket>
  <businessObject>Erp.Proxy.BO.PartImpl</businessObject>
  <methodName>GetByID</methodName>
  <appServerUri>net.tcp://<MASKED></appServerUri>
  <returnType>Erp.Tablesets.PartTableset</returnType>
  <localTime>7/10/2020 10:41:54:7176521 AM</localTime>
  <threadID>1</threadID>
  <correlationId>38b39f1f-ac17-439b-8399-c659b9261ff8</correlationId>
  <executionTime total="37" roundTrip="27" channel="6" bpm="0" other="4" />
  <retries>0</retries>
  <parameters>
    <parameter name="partNum" type="System.String"><![CDATA[110401]]></parameter>
  </parameters>
</tracePacket>

<tracePacket>
  <businessObject>Erp.Proxy.BO.UserFileImpl</businessObject>
  <methodName>GetRows</methodName>
  <appServerUri>net.tcp://<MASKED></appServerUri>
  <returnType>Erp.Tablesets.UserFileTableset</returnType>
  <localTime>7/10/2020 10:41:55:0504470 AM</localTime>
  <threadID>1</threadID>
  <correlationId>4f209098-a563-4039-a910-cbe205a0d346</correlationId>
  <executionTime total="12" roundTrip="4" channel="5" bpm="0" other="3" />
  <retries>0</retries>
  <parameters>
    <parameter name="whereClauseUserFile" type="System.String"><![CDATA[DcdUserID = 'ASKULTE']]></parameter>
    <parameter name="whereClauseUserComp" type="System.String"><![CDATA[]]></parameter>
    <parameter name="whereClauseUserCompExt" type="System.String"><![CDATA[]]></parameter>
    <parameter name="pageSize" type="System.Int32"><![CDATA[0]]></parameter>
    <parameter name="absolutePage" type="System.Int32"><![CDATA[0]]></parameter>
    <parameter name="morePages" type="System.Boolean"><![CDATA[False]]></parameter>
  </parameters>
</tracePacket>

<tracePacket>
  <businessObject>Erp.Proxy.BO.SalesOrderImpl</businessObject>
  <methodName>GetJobProd</methodName>
  <appServerUri>net.tcp://<MASKED></appServerUri>
  <returnType>Erp.Tablesets.OrdRelJobProdTableset</returnType>
  <localTime>7/10/2020 10:41:55:2533224 AM</localTime>
  <threadID>1</threadID>
  <correlationId>382879ce-b4fb-478d-8c14-d538968c4e10</correlationId>
  <executionTime total="14" roundTrip="13" channel="0" bpm="0" other="1" />
  <retries>0</retries>
  <parameters>
    <parameter name="iOrderNum" type="System.Int32"><![CDATA[7635126]]></parameter>
    <parameter name="iOrderLine" type="System.Int32"><![CDATA[1]]></parameter>
    <parameter name="pageSize" type="System.Int32"><![CDATA[1]]></parameter>
    <parameter name="absolutePage" type="System.Int32"><![CDATA[1]]></parameter>
    <parameter name="morePages" type="System.Boolean"><![CDATA[False]]></parameter>
  </parameters>
</tracePacket>

<tracePacket>
  <businessObject>Erp.Proxy.BO.SalesOrderImpl</businessObject>
  <methodName>CheckCustOnCreditHold</methodName>
  <appServerUri>net.tcp://<MASKED></appServerUri>
  <returnType>System.Void</returnType>
  <localTime>7/10/2020 10:41:55:2813038 AM</localTime>
  <threadID>1</threadID>
  <correlationId>b642c311-815f-495a-a6d5-81da761c9b7b</correlationId>
  <executionTime total="16" roundTrip="15" channel="0" bpm="0" other="1" />
  <retries>0</retries>
  <parameters>
    <parameter name="iOrderNum" type="System.Int32"><![CDATA[7635126]]></parameter>
    <parameter name="cCustID" type="System.String"><![CDATA[35]]></parameter>
    <parameter name="cCreditLimitMessage" type="System.String"><![CDATA[]]></parameter>
    <parameter name="cAgingMessage" type="System.String"><![CDATA[]]></parameter>
    <parameter name="lCustomerAllowed" type="System.Boolean"><![CDATA[False]]></parameter>
  </parameters>
</tracePacket>

<tracePacket>
  <businessObject>Erp.Proxy.BO.SalesOrderImpl</businessObject>
  <methodName>CheckOrderLinkToInterCompanyPO</methodName>
  <appServerUri>net.tcp://<MASKED></appServerUri>
  <returnType>System.Void</returnType>
  <localTime>7/10/2020 10:41:55:2972940 AM</localTime>
  <threadID>1</threadID>
  <correlationId>e357dc5c-5bf6-4cc5-95da-bd53e875ae27</correlationId>
  <executionTime total="13" roundTrip="12" channel="0" bpm="0" other="1" />
  <retries>0</retries>
  <parameters>
    <parameter name="iOrderNum" type="System.Int32"><![CDATA[7635126]]></parameter>
    <parameter name="cICPOLinkMessage" type="System.String"><![CDATA[]]></parameter>
  </parameters>
</tracePacket>

<tracePacket>
  <businessObject>Erp.Proxy.BO.SalesOrderImpl</businessObject>
  <methodName>OverCreditLimitUpdateAllowed</methodName>
  <appServerUri>net.tcp://<MASKED></appServerUri>
  <returnType>System.Void</returnType>
  <localTime>7/10/2020 10:41:55:3142835 AM</localTime>
  <threadID>1</threadID>
  <correlationId>f2782ec6-e75e-4fb9-8580-0be7430fa5d2</correlationId>
  <executionTime total="14" roundTrip="13" channel="0" bpm="0" other="1" />
  <retries>0</retries>
  <parameters>
    <parameter name="iOrderNum" type="System.Int32"><![CDATA[7635126]]></parameter>
    <parameter name="lUpdateAllowed" type="System.Boolean"><![CDATA[False]]></parameter>
  </parameters>
</tracePacket>

<tracePacket>
  <businessObject>Erp.Proxy.BO.UserFileImpl</businessObject>
  <methodName>GetRows</methodName>
  <appServerUri>net.tcp://<MASKED></appServerUri>
  <returnType>Erp.Tablesets.UserFileTableset</returnType>
  <localTime>7/10/2020 10:41:55:3352710 AM</localTime>
  <threadID>1</threadID>
  <correlationId>ad1e760c-6f4b-42a3-af38-0adda2c94a37</correlationId>
  <executionTime total="5" roundTrip="4" channel="0" bpm="0" other="1" />
  <retries>0</retries>
  <parameters>
    <parameter name="whereClauseUserFile" type="System.String"><![CDATA[DcdUserID = 'ASKULTE']]></parameter>
    <parameter name="whereClauseUserComp" type="System.String"><![CDATA[]]></parameter>
    <parameter name="whereClauseUserCompExt" type="System.String"><![CDATA[]]></parameter>
    <parameter name="pageSize" type="System.Int32"><![CDATA[0]]></parameter>
    <parameter name="absolutePage" type="System.Int32"><![CDATA[0]]></parameter>
    <parameter name="morePages" type="System.Boolean"><![CDATA[False]]></parameter>
  </parameters>
</tracePacket>

<tracePacket>
  <businessObject>Ice.Proxy.Lib.BOReaderImpl</businessObject>
  <methodName>GetList</methodName>
  <appServerUri>net.tcp://<MASKED></appServerUri>
  <returnType>System.Data.DataSet</returnType>
  <localTime>7/10/2020 10:41:55:4072266 AM</localTime>
  <threadID>1</threadID>
  <correlationId>412003f7-834f-461a-971b-384df360f573</correlationId>
  <executionTime total="14" roundTrip="8" channel="5" bpm="0" other="1" />
  <retries>0</retries>
  <parameters>
    <parameter name="serviceNamespace" type="System.String"><![CDATA[Erp:BO:ProjPhaseSearch]]></parameter>
    <parameter name="whereClause" type="System.String"><![CDATA[(ProjectID = '')]]></parameter>
    <parameter name="columnList" type="System.String"><![CDATA[SortSeq,PhaseID,Description]]></parameter>
  </parameters>
</tracePacket>

<tracePacket>
  <businessObject>Erp.Proxy.BO.UserFileImpl</businessObject>
  <methodName>GetRows</methodName>
  <appServerUri>net.tcp://<MASKED></appServerUri>
  <returnType>Erp.Tablesets.UserFileTableset</returnType>
  <localTime>7/10/2020 10:41:55:5251546 AM</localTime>
  <threadID>1</threadID>
  <correlationId>abffce76-a07b-4cb0-a43f-2073c85f86d1</correlationId>
  <executionTime total="5" roundTrip="4" channel="0" bpm="0" other="1" />
  <retries>0</retries>
  <parameters>
    <parameter name="whereClauseUserFile" type="System.String"><![CDATA[DcdUserID = 'ASKULTE']]></parameter>
    <parameter name="whereClauseUserComp" type="System.String"><![CDATA[]]></parameter>
    <parameter name="whereClauseUserCompExt" type="System.String"><![CDATA[]]></parameter>
    <parameter name="pageSize" type="System.Int32"><![CDATA[0]]></parameter>
    <parameter name="absolutePage" type="System.Int32"><![CDATA[0]]></parameter>
    <parameter name="morePages" type="System.Boolean"><![CDATA[False]]></parameter>
  </parameters>
</tracePacket>

<tracePacket>
  <businessObject>Erp.Proxy.BO.SalesOrderImpl</businessObject>
  <methodName>MasterUpdate</methodName>
  <appServerUri>net.tcp://<MASKED></appServerUri>
  <returnType>System.Void</returnType>
  <localTime>7/10/2020 10:41:55:7929899 AM</localTime>
  <threadID>1</threadID>
  <correlationId>4d9844f4-40e0-4e67-a798-c9388a0e9d65</correlationId>
  <executionTime total="5298" roundTrip="390" channel="0" bpm="4886" other="22" />
  <retries>0</retries>
  <parameters>
    <parameter name="lCheckForOrderChangedMsg" type="System.Boolean"><![CDATA[True]]></parameter>
    <parameter name="lcheckForResponse" type="System.Boolean"><![CDATA[True]]></parameter>
    <parameter name="cTableName" type="System.String"><![CDATA[OrderHed]]></parameter>
    <parameter name="iCustNum" type="System.Int32"><![CDATA[1316931]]></parameter>
    <parameter name="iOrderNum" type="System.Int32"><![CDATA[7635126]]></parameter>
    <parameter name="lweLicensed" type="System.Boolean"><![CDATA[False]]></parameter>
    <parameter name="lContinue" type="System.Boolean"><![CDATA[False]]></parameter>
    <parameter name="cResponseMsg" type="System.String"><![CDATA[]]></parameter>
    <parameter name="cCreditShipAction" type="System.String"><![CDATA[]]></parameter>
    <parameter name="cDisplayMsg" type="System.String"><![CDATA[]]></parameter>
    <parameter name="cCompliantMsg" type="System.String"><![CDATA[]]></parameter>
    <parameter name="cResponseMsgOrdRel" type="System.String"><![CDATA[]]></parameter>
    <parameter name="cAgingMessage" type="System.String"><![CDATA[]]></parameter>
    <parameter name="ds" type="Erp.BO.SalesOrderDataSet">
      <SalesOrderDataSet xmlns="http://www.epicor.com/Ice/300/BO/SalesOrder/SalesOrder" />
    </parameter>
  </parameters>
  <paramDataSetChanges>
    <paramDataSet name="ds" useDataSetNbr="0">
      <changedValue tableName="OrderHed" rowState="Modified" rowNum="0" colName="CurrencySwitch"><![CDATA[False]]></changedValue>
      <changedValue tableName="OrderHed" rowState="Modified" rowNum="0" colName="RowMod"><![CDATA[U]]></changedValue>
      <changedValue tableName="OrderHed" rowState="Modified" rowNum="0" colName="Number11_CBS_c"><![CDATA[14.900]]></changedValue>
      <changedValue tableName="OrderHed" rowState="Modified" rowNum="0" colName="Number14_CBS_c"><![CDATA[14.900]]></changedValue>
      <changedValue tableName="OrderHed" rowState="Modified" rowNum="0" colName="Number19_CBS_c"><![CDATA[14.900]]></changedValue>
      <changedValue tableName="OrderHed" rowState="Modified" rowNum="0" colName="Number20_CBS_c"><![CDATA[14.900]]></changedValue>
      <changedValue tableName="OrderHed" rowState="Modified" rowNum="0" colName="UD_SysRevID"><![CDATA[System.Byte[]]]></changedValue>
      <changedValue tableName="TaxConnectStatus" rowState="Modified" rowNum="0" colName="RowMod"><![CDATA[U]]></changedValue>
    </paramDataSet>
  </paramDataSetChanges>
</tracePacket>

<tracePacket>
  <businessObject>Erp.Proxy.BO.UserFileImpl</businessObject>
  <methodName>GetRows</methodName>
  <appServerUri>net.tcp://<MASKED></appServerUri>
  <returnType>Erp.Tablesets.UserFileTableset</returnType>
  <localTime>7/10/2020 10:42:01:1437078 AM</localTime>
  <threadID>1</threadID>
  <correlationId>fccf6dd2-e71d-43e4-af03-47e05e85e9ce</correlationId>
  <executionTime total="7" roundTrip="6" channel="0" bpm="0" other="1" />
  <retries>0</retries>
  <parameters>
    <parameter name="whereClauseUserFile" type="System.String"><![CDATA[DcdUserID = 'ASKULTE']]></parameter>
    <parameter name="whereClauseUserComp" type="System.String"><![CDATA[]]></parameter>
    <parameter name="whereClauseUserCompExt" type="System.String"><![CDATA[]]></parameter>
    <parameter name="pageSize" type="System.Int32"><![CDATA[0]]></parameter>
    <parameter name="absolutePage" type="System.Int32"><![CDATA[0]]></parameter>
    <parameter name="morePages" type="System.Boolean"><![CDATA[False]]></parameter>
  </parameters>
</tracePacket>

<tracePacket>
  <businessObject>Erp.Proxy.BO.SalesOrderImpl</businessObject>
  <methodName>SetReadyToCalc</methodName>
  <appServerUri>net.tcp://<MASKED></appServerUri>
  <returnType>System.Void</returnType>
  <localTime>7/10/2020 10:42:01:3305917 AM</localTime>
  <threadID>1</threadID>
  <correlationId>2c825bfb-e5d8-4148-868a-2fff5ad1aa8b</correlationId>
  <executionTime total="81" roundTrip="60" channel="0" bpm="0" other="21" />
  <retries>0</retries>
  <parameters>
    <parameter name="ipOrderNum" type="System.Int32"><![CDATA[7635126]]></parameter>
    <parameter name="ds" type="Erp.BO.SalesOrderDataSet">
      <SalesOrderDataSet xmlns="http://www.epicor.com/Ice/300/BO/SalesOrder/SalesOrder" />
    </parameter>
  </parameters>
</tracePacket>

<tracePacket>
  <businessObject>Erp.Proxy.BO.UserFileImpl</businessObject>
  <methodName>GetRows</methodName>
  <appServerUri>net.tcp://<MASKED></appServerUri>
  <returnType>Erp.Tablesets.UserFileTableset</returnType>
  <localTime>7/10/2020 10:42:01:4405247 AM</localTime>
  <threadID>1</threadID>
  <correlationId>a193427b-91df-4edd-b16e-2ab1afe4e7e4</correlationId>
  <executionTime total="6" roundTrip="4" channel="0" bpm="0" other="2" />
  <retries>0</retries>
  <parameters>
    <parameter name="whereClauseUserFile" type="System.String"><![CDATA[DcdUserID = 'ASKULTE']]></parameter>
    <parameter name="whereClauseUserComp" type="System.String"><![CDATA[]]></parameter>
    <parameter name="whereClauseUserCompExt" type="System.String"><![CDATA[]]></parameter>
    <parameter name="pageSize" type="System.Int32"><![CDATA[0]]></parameter>
    <parameter name="absolutePage" type="System.Int32"><![CDATA[0]]></parameter>
    <parameter name="morePages" type="System.Boolean"><![CDATA[False]]></parameter>
  </parameters>
</tracePacket>

<tracePacket>
  <businessObject>Erp.Proxy.BO.SalesOrderImpl</businessObject>
  <methodName>chkLtrOfCrdt</methodName>
  <appServerUri>net.tcp://<MASKED></appServerUri>
  <returnType>System.Void</returnType>
  <localTime>7/10/2020 10:42:01:6024257 AM</localTime>
  <threadID>1</threadID>
  <correlationId>131a6a61-b823-46e0-9931-ad18933f5f4f</correlationId>
  <executionTime total="15" roundTrip="13" channel="0" bpm="0" other="2" />
  <retries>0</retries>
  <parameters>
    <parameter name="iOrderNum" type="System.Int32"><![CDATA[7635126]]></parameter>
    <parameter name="cARLOCID" type="System.String"><![CDATA[]]></parameter>
    <parameter name="dTotalCharges" type="System.Decimal"><![CDATA[0]]></parameter>
    <parameter name="outMsg" type="System.String"><![CDATA[]]></parameter>
  </parameters>
</tracePacket>

<tracePacket>
  <businessObject>Erp.Proxy.BO.SalesOrderImpl</businessObject>
  <methodName>GetByID</methodName>
  <appServerUri>net.tcp://<MASKED></appServerUri>
  <returnType>Erp.Tablesets.SalesOrderTableset</returnType>
  <localTime>7/10/2020 10:42:01:6573917 AM</localTime>
  <threadID>1</threadID>
  <correlationId>6356cbb4-c961-4e03-9af3-ec2f8010d3cb</correlationId>
  <executionTime total="46" roundTrip="41" channel="0" bpm="0" other="5" />
  <retries>0</retries>
  <parameters>
    <parameter name="orderNum" type="System.Int32"><![CDATA[7635126]]></parameter>
  </parameters>
</tracePacket>

<tracePacket>
  <businessObject>Ice.Proxy.BO.DynamicQueryImpl</businessObject>
  <methodName>ExecuteByID</methodName>
  <appServerUri>net.tcp://<MASKED></appServerUri>
  <returnType>System.Data.DataSet</returnType>
  <localTime>7/10/2020 10:42:01:7283481 AM</localTime>
  <threadID>1</threadID>
  <correlationId>acfd5396-2f88-4e11-87ed-f7cba7ee0891</correlationId>
  <executionTime total="519" roundTrip="519" channel="0" bpm="0" other="0" />
  <retries>0</retries>
  <parameters>
    <parameter name="queryID" type="System.String"><![CDATA[MarketingCampaignLookup]]></parameter>
    <parameter name="executionParams" type="Ice.BO.QueryExecutionDataSet">
      <QueryExecutionDataSet xmlns="http://www.epicor.com/Ice/300/BO/DynamicQuery/QueryExecution" />
    </parameter>
  </parameters>
  <paramDataSetChanges>
    <paramDataSet name="executionParams" useDataSetNbr="0">
      <changedValue tableName="ExecutionParameter" rowState="Added" rowNum="0" colName="ParameterID"><![CDATA[eventId]]></changedValue>
      <changedValue tableName="ExecutionParameter" rowState="Added" rowNum="0" colName="ParameterValue"><![CDATA[359]]></changedValue>
      <changedValue tableName="ExecutionParameter" rowState="Added" rowNum="0" colName="ValueType"><![CDATA[int]]></changedValue>
      <changedValue tableName="ExecutionParameter" rowState="Added" rowNum="0" colName="IsEmpty"><![CDATA[False]]></changedValue>
      <changedValue tableName="ExecutionParameter" rowState="Added" rowNum="0" colName="SysRowID"><![CDATA[00000000-0000-0000-0000-000000000000]]></changedValue>
      <changedValue tableName="ExecutionParameter" rowState="Added" rowNum="0" colName="RowMod"><![CDATA[A]]></changedValue>
    </paramDataSet>
  </paramDataSetChanges>
</tracePacket>

<tracePacket>
  <businessObject>Erp.Proxy.BO.SalesOrderImpl</businessObject>
  <methodName>InvoiceExists</methodName>
  <appServerUri>net.tcp://<MASKED></appServerUri>
  <returnType>System.Boolean</returnType>
  <localTime>7/10/2020 10:42:02:2530254 AM</localTime>
  <threadID>1</threadID>
  <correlationId>6519b4bf-d4c0-4c39-990d-2f7923ac667e</correlationId>
  <executionTime total="14" roundTrip="13" channel="0" bpm="0" other="1" />
  <retries>0</retries>
  <parameters>
    <parameter name="orderNum" type="System.Int32"><![CDATA[7635126]]></parameter>
  </parameters>
</tracePacket>

<tracePacket>
  <businessObject>Erp.Proxy.BO.UserFileImpl</businessObject>
  <methodName>GetRows</methodName>
  <appServerUri>net.tcp://<MASKED></appServerUri>
  <returnType>Erp.Tablesets.UserFileTableset</returnType>
  <localTime>7/10/2020 10:42:02:7217388 AM</localTime>
  <threadID>1</threadID>
  <correlationId>3c9e6bbe-dd67-44a1-a875-d935d3155950</correlationId>
  <executionTime total="7" roundTrip="5" channel="0" bpm="0" other="2" />
  <retries>0</retries>
  <parameters>
    <parameter name="whereClauseUserFile" type="System.String"><![CDATA[DcdUserID = 'ASKULTE']]></parameter>
    <parameter name="whereClauseUserComp" type="System.String"><![CDATA[]]></parameter>
    <parameter name="whereClauseUserCompExt" type="System.String"><![CDATA[]]></parameter>
    <parameter name="pageSize" type="System.Int32"><![CDATA[0]]></parameter>
    <parameter name="absolutePage" type="System.Int32"><![CDATA[0]]></parameter>
    <parameter name="morePages" type="System.Boolean"><![CDATA[False]]></parameter>
  </parameters>
</tracePacket>

<tracePacket>
  <businessObject>Erp.Proxy.BO.SalesOrderImpl</businessObject>
  <methodName>GetJobProd</methodName>
  <appServerUri>net.tcp://<MASKED></appServerUri>
  <returnType>Erp.Tablesets.OrdRelJobProdTableset</returnType>
  <localTime>7/10/2020 10:42:02:9066260 AM</localTime>
  <threadID>1</threadID>
  <correlationId>dd672b13-e615-42c7-a0b6-5c995289e35f</correlationId>
  <executionTime total="14" roundTrip="13" channel="0" bpm="0" other="1" />
  <retries>0</retries>
  <parameters>
    <parameter name="iOrderNum" type="System.Int32"><![CDATA[7635126]]></parameter>
    <parameter name="iOrderLine" type="System.Int32"><![CDATA[1]]></parameter>
    <parameter name="pageSize" type="System.Int32"><![CDATA[1]]></parameter>
    <parameter name="absolutePage" type="System.Int32"><![CDATA[1]]></parameter>
    <parameter name="morePages" type="System.Boolean"><![CDATA[False]]></parameter>
  </parameters>
</tracePacket>

<tracePacket>
  <businessObject>Erp.Proxy.BO.SalesOrderImpl</businessObject>
  <methodName>CheckCustOnCreditHold</methodName>
  <appServerUri>net.tcp://<MASKED></appServerUri>
  <returnType>System.Void</returnType>
  <localTime>7/10/2020 10:42:02:9336083 AM</localTime>
  <threadID>1</threadID>
  <correlationId>dc2d4d7e-1646-4f0a-97a2-223a5ff2ffac</correlationId>
  <executionTime total="16" roundTrip="15" channel="0" bpm="0" other="1" />
  <retries>0</retries>
  <parameters>
    <parameter name="iOrderNum" type="System.Int32"><![CDATA[7635126]]></parameter>
    <parameter name="cCustID" type="System.String"><![CDATA[35]]></parameter>
    <parameter name="cCreditLimitMessage" type="System.String"><![CDATA[]]></parameter>
    <parameter name="cAgingMessage" type="System.String"><![CDATA[]]></parameter>
    <parameter name="lCustomerAllowed" type="System.Boolean"><![CDATA[False]]></parameter>
  </parameters>
</tracePacket>

<tracePacket>
  <businessObject>Erp.Proxy.BO.SalesOrderImpl</businessObject>
  <methodName>CheckOrderLinkToInterCompanyPO</methodName>
  <appServerUri>net.tcp://<MASKED></appServerUri>
  <returnType>System.Void</returnType>
  <localTime>7/10/2020 10:42:02:9505979 AM</localTime>
  <threadID>1</threadID>
  <correlationId>c4775ced-2512-40b3-91bb-266451dbd467</correlationId>
  <executionTime total="13" roundTrip="12" channel="0" bpm="0" other="1" />
  <retries>0</retries>
  <parameters>
    <parameter name="iOrderNum" type="System.Int32"><![CDATA[7635126]]></parameter>
    <parameter name="cICPOLinkMessage" type="System.String"><![CDATA[]]></parameter>
  </parameters>
</tracePacket>

<tracePacket>
  <businessObject>Erp.Proxy.BO.SalesOrderImpl</businessObject>
  <methodName>OverCreditLimitUpdateAllowed</methodName>
  <appServerUri>net.tcp://<MASKED></appServerUri>
  <returnType>System.Void</returnType>
  <localTime>7/10/2020 10:42:02:9675876 AM</localTime>
  <threadID>1</threadID>
  <correlationId>6ff86f0b-9483-42de-91b4-af788ba953bc</correlationId>
  <executionTime total="14" roundTrip="13" channel="0" bpm="0" other="1" />
  <retries>0</retries>
  <parameters>
    <parameter name="iOrderNum" type="System.Int32"><![CDATA[7635126]]></parameter>
    <parameter name="lUpdateAllowed" type="System.Boolean"><![CDATA[False]]></parameter>
  </parameters>
</tracePacket>

<tracePacket>
  <businessObject>Erp.Proxy.BO.UserFileImpl</businessObject>
  <methodName>GetRows</methodName>
  <appServerUri>net.tcp://<MASKED></appServerUri>
  <returnType>Erp.Tablesets.UserFileTableset</returnType>
  <localTime>7/10/2020 10:42:02:9935718 AM</localTime>
  <threadID>1</threadID>
  <correlationId>c3e7b46f-63ab-4345-9110-4f88d9064285</correlationId>
  <executionTime total="5" roundTrip="4" channel="0" bpm="0" other="1" />
  <retries>0</retries>
  <parameters>
    <parameter name="whereClauseUserFile" type="System.String"><![CDATA[DcdUserID = 'ASKULTE']]></parameter>
    <parameter name="whereClauseUserComp" type="System.String"><![CDATA[]]></parameter>
    <parameter name="whereClauseUserCompExt" type="System.String"><![CDATA[]]></parameter>
    <parameter name="pageSize" type="System.Int32"><![CDATA[0]]></parameter>
    <parameter name="absolutePage" type="System.Int32"><![CDATA[0]]></parameter>
    <parameter name="morePages" type="System.Boolean"><![CDATA[False]]></parameter>
  </parameters>
</tracePacket>

<tracePacket>
  <businessObject>Ice.Proxy.Lib.BOReaderImpl</businessObject>
  <methodName>GetList</methodName>
  <appServerUri>net.tcp://<MASKED></appServerUri>
  <returnType>System.Data.DataSet</returnType>
  <localTime>7/10/2020 10:42:03:0725230 AM</localTime>
  <threadID>1</threadID>
  <correlationId>ff85a0db-7448-4279-9f79-b240ebea0be8</correlationId>
  <executionTime total="3" roundTrip="3" channel="0" bpm="0" other="0" />
  <retries>0</retries>
  <parameters>
    <parameter name="serviceNamespace" type="System.String"><![CDATA[Erp:BO:ProjPhaseSearch]]></parameter>
    <parameter name="whereClause" type="System.String"><![CDATA[(ProjectID = '')]]></parameter>
    <parameter name="columnList" type="System.String"><![CDATA[SortSeq,PhaseID,Description]]></parameter>
  </parameters>
</tracePacket>

<tracePacket>
  <businessObject>Erp.Proxy.BO.UserFileImpl</businessObject>
  <methodName>GetRows</methodName>
  <appServerUri>net.tcp://<MASKED></appServerUri>
  <returnType>Erp.Tablesets.UserFileTableset</returnType>
  <localTime>7/10/2020 10:42:03:1644677 AM</localTime>
  <threadID>1</threadID>
  <correlationId>068cbe0c-7939-470e-8e01-5ef7b19eba88</correlationId>
  <executionTime total="12" roundTrip="4" channel="0" bpm="6" other="2" />
  <retries>0</retries>
  <parameters>
    <parameter name="whereClauseUserFile" type="System.String"><![CDATA[DcdUserID = 'ASKULTE']]></parameter>
    <parameter name="whereClauseUserComp" type="System.String"><![CDATA[]]></parameter>
    <parameter name="whereClauseUserCompExt" type="System.String"><![CDATA[]]></parameter>
    <parameter name="pageSize" type="System.Int32"><![CDATA[0]]></parameter>
    <parameter name="absolutePage" type="System.Int32"><![CDATA[0]]></parameter>
    <parameter name="morePages" type="System.Boolean"><![CDATA[False]]></parameter>
  </parameters>
</tracePacket>

You absolutely should be able to use a PreProc on Update to catch incoming rows for deletion by checking for RowMod = ‘D’

throw this in a code block and see what it does:

if(ttOrderDtl.Where(d => d.Deleted()).Any()) 
{
this.PublishInfoMessage("Got Deleted Dtl" ,Ice.Common.BusinessObjectMessageType.Information, Ice.Bpm.InfoMessageDisplayMode.Individual,"","");
}

@Chris_Conn - Thanks, I’ll give it a try.

In the spirit of trying anything, I got it to work using an In-Trans Data Directive on OrderDtl:

image


image