Hi Epicor community,
I have tried using this code to put order on credit-hold in a Method directive on Post-Processing
I have checked and OrderNum and Company value are passed to Post Processing correctly.
company = callContextBpmData.Character01;
ordernum = (int)callContextBpmData.Number01;
foreach (var OrderHedRow in (from OrderHed_Row in Db.OrderHed
where OrderHed_Row.Company == company && OrderHed_Row.OrderNum == ordernum
select OrderHed_Row))
{
custnum = OrderHedRow.CustNum;
BTcustnum = OrderHedRow.BTCustNum;
foreach (var CustomerRow in (from Customer_Row in Db.Customer
where Customer_Row.Company == company && Customer_Row.CustNum == BTcustnum
select Customer_Row))
{
BTcustid = CustomerRow.CustID;
}
this.PublishInfoMessage("BTcustnum : "+ BTcustnum.ToString() + "----custnum : "+ custnum.ToString()+"----BTcustid : "+BTcustid, Ice.Common.BusinessObjectMessageType.Information, Ice.Bpm.InfoMessageDisplayMode.Individual, "FirstVar","SecondVar");
var CMsvc = Ice.Assemblies.ServiceRenderer.GetService<Erp.Contracts.CreditManagerSvcContract>(Db);
Erp.Tablesets.CMOrderHedTableset CMTs = new Erp.Tablesets.CMOrderHedTableset();
CMTs = CMsvc.GetOrders(BTcustid);
CMOrderHedRow ordersToRemoveHoldFrom = (from ordersOnHold in CMTs.CMOrderHed where ordersOnHold.OrderNum == ordernum select ordersOnHold).FirstOrDefault();
ordersToRemoveHoldFrom.CreditHold = true;
ordersToRemoveHoldFrom.CreditOverride = false;
ordersToRemoveHoldFrom.CreditOverrideLimit = 0;
ordersToRemoveHoldFrom.RowMod="U";
CMsvc.ChangeOrderCreditHold(ref CMTs);
CMsvc.UpdateCMOrderHed(BTcustnum,ref CMTs );
}
And it does not work.
Do you have any suggestions?
Kind Regards,