I’ve seen bits and pieces of how to solve this on here, but wondering if anyone has a full solution. I’d like to set all Sales Order Line Releases to be Unfirm by default. I can set it for OrderRel via a Data Directive, but it still gets inserted into the PartDtl table as Firm and generates demand. I can’t find the correct place to hook into the order release creation to get it set as unfirm in both OrderRel and PartDtl. Thanks!
This is code from @timshuwy
int orderNum = 12345; //testing value
bool firmFlag = true; //testing value
using(var txScope = IceContext.CreateDefaultTransactionScope()) {
var dbOReleases = Db.OrderRel.With(LockHint.UpdLock).Where(o =>
o.Company == CompanyID &&
o.OrderNum == orderNum &&
o.FirmRelease == firmFlag);
foreach (var dbORel in dbOReleases) {
dbORel.FirmRelease = firmFlag;
var dbPartDetails = Db.PartDtl.With(LockHint.UpdLock).Where(p =>
p.Company == CompanyID &&
p.OrderNum == dbORel.OrderNum &&
p.OrderLine == dbORel.OrderLine &&
p.OrderRelNum == dbORel.OrderRelNum &&
p.FirmRelease != dbORel.FirmRelease);
foreach (var dbPartDtl in dbPartDetails) {
dbPartDtl.FirmRelease = dbORel.FirmRelease;
}
}
Db.Validate();
txScope.Complete();
}
This is on SalesOrder.MasterUpdate
- as he states code is untested.
Thread: MRP Suggestions for Unfirm Releases - ERP 10 - Epicor User Help Forum (epiusers.help)