Function Error: The type exists in both PriceLst vs. PriceLstParts. Trying to delete part from Price List

Good afternoon,

I’m trying to create a function that will delete a part number from a price list, but am getting the below error. I searched forum and it seems like this has appeared in BPMs, but not in functions.

I am mimicking the trace log. I used a DeleteByID, which worked AFTER getting a “Delete Not Allowed” error message.

Oddly enough to me, I get the “type exists in both” error only when I am trying to use “Fill Table By Query” to change the RowMod = “D”.

I appreciate any guidance! Thanks!

Trace Log:

<tracePacket>
  <businessObject>Erp.Proxy.BO.PriceLstHedImpl</businessObject>
  <methodName>GetByID</methodName>
  <appServerUri>https://warerptest.tecomet.com/EpicorTest10/</appServerUri>
  <returnType>Erp.Tablesets.PriceLstHedTableset</returnType>
  <localTime>12/1/2023 12:21:31:7101494 PM</localTime>
  <threadID>1</threadID>
  <correlationId>638a0695-abdd-4d67-ae70-b27638e0a498</correlationId>
  <executionTime total="26" roundTrip="24" channel="0" bpm="0" other="2" />
  <retries>0</retries>
  <parameters>
    <parameter name="listCode" type="System.String"><![CDATA[4C]]></parameter>
  </parameters>
</tracePacket>

<tracePacket>
  <businessObject>Erp.Proxy.BO.PriceLstPartsImpl</businessObject>
  <methodName>GetRows</methodName>
  <appServerUri>https://warerptest.tecomet.com/EpicorTest10/</appServerUri>
  <returnType>Erp.Tablesets.PriceLstPartsTableset</returnType>
  <localTime>12/1/2023 12:21:38:5842607 PM</localTime>
  <threadID>1</threadID>
  <correlationId>947f7317-bb1a-4366-bfaa-93a6ff5954f7</correlationId>
  <executionTime total="960" roundTrip="952" channel="0" bpm="0" other="8" />
  <retries>0</retries>
  <parameters>
    <parameter name="whereClausePriceLstParts" type="System.String"><![CDATA[(ListCode = '4C') AND PartNum >= '1158321' BY PartNum]]></parameter>
    <parameter name="whereClausePLPartBrk" type="System.String"><![CDATA[]]></parameter>
    <parameter name="pageSize" type="System.Int32"><![CDATA[100]]></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.PriceLstImpl</businessObject>
  <methodName>Update</methodName>
  <appServerUri>https://warerptest.tecomet.com/EpicorTest10/</appServerUri>
  <returnType>System.Void</returnType>
  <localTime>12/1/2023 12:21:53:4734669 PM</localTime>
  <threadID>1</threadID>
  <correlationId>f40651ca-bf38-4b99-bd7f-7f06973c8a07</correlationId>
  <executionTime total="145" roundTrip="133" channel="0" bpm="0" other="12" />
  <retries>0</retries>
  <parameters>
    <parameter name="ds" type="Erp.BO.PriceLstDataSet">
      <PriceLstDataSet xmlns="http://www.epicor.com/Ice/300/BO/PriceLst/PriceLst">
        <PriceLst>
          <Company>SMI</Company>
          <ListCode>4C</ListCode>
          <CurrencyCode>USD</CurrencyCode>
          <ListDescription>Smith &amp; Nephew C *2023*</ListDescription>
          <StartDate>2023-03-20T00:00:00-04:00</StartDate>
          <WarehouseList></WarehouseList>
          <GlobalPriceLst>false</GlobalPriceLst>
          <GlobalLock>false</GlobalLock>
          <ListType>B</ListType>
          <SysRevID>6117474159</SysRevID>
          <SysRowID>2ec2de9e-e89c-49e4-b9c2-324013ebebfb</SysRowID>
          <UseZeroPrice>false</UseZeroPrice>
          <WareHouseListDescription>02110 Raw Material-War~02120 Finished Goods-War~02180 Inspection~02190 DMR~02210 Raw Material-Clp~02220 Finished Goods-Clp~02310 Raw Material-SWD~02320 Finished Goods-SWD~TPI~02800-Eng Temp Hold Cost Disp~05110 Raw Material~05115 Consigned Inventory~05120 Finished Goods~05130 Remstar 130~05140 Remstar 140~05150 Remstar 150~05160 Remstar 160~05180 Inspection~05190 DMR~06110 Raw Material~06120 Finished Goods~06180 Inspection~06190 DMR~07110 Main Warehouse-SRC~07180 Inspection~07190 DMR~08110 RAW MATERIAL CRIB~08111 HILLBURN RAW MATERIAL~08115 DIE RAW MATERIAL~08120 FINISHED GOODS INVENTORY~08121 HILLBURN FINISHED GOODS~08130 COMPONENT INVENTORY~08140 JD FINISHED GOODS~08150 RWK INVENTORY LOCATION~08180 INSPECTION~08190 DMR~</WareHouseListDescription>
          <DspWareHouseList>02110~02120~02180~02190~02210~02220~02310~02320~02500~02800~05110~05115~05120~05130~05140~05150~05160~05180~05190~06110~06120~06180~06190~07110~07180~07190~08110~08111~08115~08120~08121~08130~08140~08150~08180~08190~</DspWareHouseList>
          <BitFlag>8</BitFlag>
          <CurrencyCodeCurrName>Base Currency.</CurrencyCodeCurrName>
          <CurrencyCodeCurrencyID>USD</CurrencyCodeCurrencyID>
          <CurrencyCodeDocumentDesc></CurrencyCodeDocumentDesc>
          <CurrencyCodeCurrSymbol></CurrencyCodeCurrSymbol>
          <CurrencyCodeCurrDesc>Base Currency.</CurrencyCodeCurrDesc>
          <RowMod></RowMod>
        </PriceLst>
      </PriceLstDataSet>
    </parameter>
  </parameters>
  <paramDataSetChanges>
    <paramDataSet name="ds" useDataSetNbr="0">
      <deletedRow tableName="PriceLstParts" rowState="Deleted" rowNum="0" />
      <deletedRow tableName="PLPartBrk" rowState="Deleted" rowNum="0" />
      <deletedRow tableName="PLPartBrk" rowState="Deleted" rowNum="1" />
      <deletedRow tableName="PLPartBrk" rowState="Deleted" rowNum="2" />
    </paramDataSet>
  </paramDataSetChanges>
</tracePacket>

Function References:

image

Disregard, I read here that you need to split the function into different libraries.

However, when I Fill Table By Query, map the RowMod field to “D” and call the update, it doesn’t delete.

I appreciate any guidance.

Try to fill SysRowID for that table

Thanks, Olga. Unfortunately I get the “Delete Not Allowed” error again. This time however, it DID NOT delete the part number from the price list.

You cannot use this PriceLst service to delete records, there must be another one, check what is used by the client.
(and maybe change this topic name)

1 Like

Thanks again, that was it! I had to use ERP:BO:PriceLst

image

1 Like