THK_blockSalesLines method from salesTable table
// VAR Changed on 11 Oct 2011 at 11:02:29 by THK7519
static void THK_blockSalesLines(SalesId _salesId, boolean _block = true)
{
#avifiles
SalesLine salesLine;
SysOperationProgress progress;
int i;
boolean updated;
;
ttsbegin;
select count(recId) from salesLine
where salesLine.SalesId == _salesId;
progress = SysOperationProgress::newGeneral(#aviupdate, "Stopping SO lines", salesLine.RecId);
while select forupdate salesLine
where salesLine.SalesId == _salesId
{
i++;
progress.setText(strfmt('Line %1, Item : %2',i,salesLine.ItemId));
progress.incCount();
if (_block)
{
TradeInterCompany::removeMarking(salesLine, null);
// VAR Changed on 11 Oct 2011 at 11:02:29 by THK7519 Begin
updated = SalesLine::THK_CannalRemainSOLineQty(salesLine);
// VAR Changed on 11 Oct 2011 at 11:02:29 by THK7519 End
}
salesLine.Blocked = _block;
salesLine.update();
}
if(updated)
ttscommit;
else
ttsabort;
}
static void THK_blockSalesLines(SalesId _salesId, boolean _block = true)
{
#avifiles
SalesLine salesLine;
SysOperationProgress progress;
int i;
boolean updated;
;
ttsbegin;
select count(recId) from salesLine
where salesLine.SalesId == _salesId;
progress = SysOperationProgress::newGeneral(#aviupdate, "Stopping SO lines", salesLine.RecId);
while select forupdate salesLine
where salesLine.SalesId == _salesId
{
i++;
progress.setText(strfmt('Line %1, Item : %2',i,salesLine.ItemId));
progress.incCount();
if (_block)
{
TradeInterCompany::removeMarking(salesLine, null);
// VAR Changed on 11 Oct 2011 at 11:02:29 by THK7519 Begin
updated = SalesLine::THK_CannalRemainSOLineQty(salesLine);
// VAR Changed on 11 Oct 2011 at 11:02:29 by THK7519 End
}
salesLine.Blocked = _block;
salesLine.update();
}
if(updated)
ttscommit;
else
ttsabort;
}
THK_CannalRemainSOLineQty method from salesLine table
// VAR Changed on 10 Oct 2011 at 21:18:49 by THK7519
static boolean THK_CannalRemainSOLineQty(SalesLine callerSalesLine)
{
FormDataSource FormDataSource;
InventQty diffRemainSalesPhysical;
InventQty diffRemainInventPhysical;
SalesLine salesLineLocal = SalesLine::findRecId(callerSalesLine.RecId);
InventQty THK_2nddiffRemainSalesPhysical;
InventQty THK_2nddiffRemainInventPhysical;
;
ttsbegin;
diffRemainSalesPhysical = salesLineLocal.RemainSalesPhysical - 0;
diffRemainInventPhysical = salesLineLocal.RemainInventPhysical - 0;
callerSalesLine.RemainSalesPhysical = 0;
callerSalesLine.RemainInventPhysical = 0;
THK_2nddiffRemainSalesPhysical = salesLineLocal.THK_2ndRemainSalesPhysical - 0;
THK_2nddiffRemainInventPhysical = salesLineLocal.THK_2ndRemainInventPhysical - 0;
callerSalesLine.THK_2ndRemainSalesPhysical = 0;
callerSalesLine.THK_2ndRemainInventPhysical = 0;
if (callerSalesLine.validateWrite() && callerSalesLine.salesTable().checkUpdate())
{
InterCompanyUpdateRemPhys::synchronize(callerSalesLine,
diffRemainInventPhysical,
diffRemainSalesPhysical,
InterCompanySkipUpdate::No,
THK_2nddiffRemainInventPhysical,
THK_2nddiffRemainSalesPhysical);
callerSalesLine.write();
}
else
{
ttsabort;
return false;
}
ttscommit;
return true;
}
static boolean THK_CannalRemainSOLineQty(SalesLine callerSalesLine)
{
FormDataSource FormDataSource;
InventQty diffRemainSalesPhysical;
InventQty diffRemainInventPhysical;
SalesLine salesLineLocal = SalesLine::findRecId(callerSalesLine.RecId);
InventQty THK_2nddiffRemainSalesPhysical;
InventQty THK_2nddiffRemainInventPhysical;
;
ttsbegin;
diffRemainSalesPhysical = salesLineLocal.RemainSalesPhysical - 0;
diffRemainInventPhysical = salesLineLocal.RemainInventPhysical - 0;
callerSalesLine.RemainSalesPhysical = 0;
callerSalesLine.RemainInventPhysical = 0;
THK_2nddiffRemainSalesPhysical = salesLineLocal.THK_2ndRemainSalesPhysical - 0;
THK_2nddiffRemainInventPhysical = salesLineLocal.THK_2ndRemainInventPhysical - 0;
callerSalesLine.THK_2ndRemainSalesPhysical = 0;
callerSalesLine.THK_2ndRemainInventPhysical = 0;
if (callerSalesLine.validateWrite() && callerSalesLine.salesTable().checkUpdate())
{
InterCompanyUpdateRemPhys::synchronize(callerSalesLine,
diffRemainInventPhysical,
diffRemainSalesPhysical,
InterCompanySkipUpdate::No,
THK_2nddiffRemainInventPhysical,
THK_2nddiffRemainSalesPhysical);
callerSalesLine.write();
}
else
{
ttsabort;
return false;
}
ttscommit;
return true;
}
static method removeMarking from TradeInterCompany in class
static void removeMarking(SalesLine _salesLine, Object _formRun)
{
InventMovement movement = InventMovement::construct(_salesLine);
InventTrans inventTrans;
SalesTable salesTable;
SalesLine salesLine;
PurchTable purchTable;
PurchLine purchLine;
InterCompanyPurchSalesReference interCompanyPurchSalesReference;
boolean inventTransFound;
;
ttsbegin;
salesTable = _salesLine.salesTable(true);
purchLine = PurchLine::findInventTransId(_salesLine.InventRefTransId,true);
purchTable = PurchTable::find(_salesLine.InventRefId,true);
while select forupdate inventTrans
index hint TransIdIdx
where inventTrans.InventTransId == movement.transId()
&& inventTrans.TransChildType == movement.transChildType()
&& inventTrans.TransChildRefId == movement.transChildRefId()
&& inventTrans.StatusReceipt == StatusReceipt::None
&& inventTrans.StatusIssue > StatusIssue::None
&& inventTrans.InventRefTransId
{
inventTransFound = true;
if (inventTrans.InventRefTransId)
{ // VAR Changed on 30 Jun 2009 by thk05 for add 2nd unit
InventTrans::deleteMarking(inventTrans.InventRefTransId,inventTrans.InventTransId,-inventTrans.Qty,-inventTrans.THK_2ndQty,true,null,null,false,true);
inventTrans.InventRefTransId = '';
}
if (inventTrans.StatusIssue >= StatusIssue::ReservPhysical)
inventTrans.StatusIssue = StatusIssue::OnOrder;
inventTrans.update();
if (movement.inventRefTransId())
{
movement.setInventRefFields(InventRefType::None,'','');
movement.updateDoBuffer();
}
}
if (purchLine)
{
purchLine.ItemRefType = InventRefType::None;
purchLine.InventRefId = '';
purchLine.InventRefTransId = '';
purchLine.InterCompanyOrigin = InterCompanyOrigin::Source;
purchLine.update();
}
if (!inventTransFound)
{
salesLine = SalesLine::findInventTransId(_salesLine.InventTransId,true);
if (salesLine)
{
salesLine.InventRefType = InventRefType::None;
salesLine.InventRefId = '';
salesLine.InventRefTransId = '';
salesLine.update();
}
}
if (purchTable)
{
select firstonly purchLine
index hint PurchLineIdx
where purchLine.PurchId == purchTable.PurchId
&& purchLine.ItemRefType == InventRefType::Sales
&& purchLine.InventRefId == salesTable.SalesId;
if (!purchLine)
{
delete_from interCompanyPurchSalesReference
index hint SalesPurchIdx
where interCompanyPurchSalesReference.SalesId == salesTable.SalesId
&& interCompanyPurchSalesReference.PurchId == purchTable.PurchId;
purchTable.InterCompanyOriginalSalesId = '';
purchTable.InterCompanyOriginalCustAccount = '';
purchTable.InterCompanyOrigin = InterCompanyOrigin::Source;
purchTable.update();
salesTable.InterCompanyAutoCreateOrders = false;
salesTable.update();
}
}
ttscommit;
if (_formRun) // VAR Changed on 22 Jul 2010 at 12:26:03 by 4054 - U045
_formRun.doRefresh();
}
{
InventMovement movement = InventMovement::construct(_salesLine);
InventTrans inventTrans;
SalesTable salesTable;
SalesLine salesLine;
PurchTable purchTable;
PurchLine purchLine;
InterCompanyPurchSalesReference interCompanyPurchSalesReference;
boolean inventTransFound;
;
ttsbegin;
salesTable = _salesLine.salesTable(true);
purchLine = PurchLine::findInventTransId(_salesLine.InventRefTransId,true);
purchTable = PurchTable::find(_salesLine.InventRefId,true);
while select forupdate inventTrans
index hint TransIdIdx
where inventTrans.InventTransId == movement.transId()
&& inventTrans.TransChildType == movement.transChildType()
&& inventTrans.TransChildRefId == movement.transChildRefId()
&& inventTrans.StatusReceipt == StatusReceipt::None
&& inventTrans.StatusIssue > StatusIssue::None
&& inventTrans.InventRefTransId
{
inventTransFound = true;
if (inventTrans.InventRefTransId)
{ // VAR Changed on 30 Jun 2009 by thk05 for add 2nd unit
InventTrans::deleteMarking(inventTrans.InventRefTransId,inventTrans.InventTransId,-inventTrans.Qty,-inventTrans.THK_2ndQty,true,null,null,false,true);
inventTrans.InventRefTransId = '';
}
if (inventTrans.StatusIssue >= StatusIssue::ReservPhysical)
inventTrans.StatusIssue = StatusIssue::OnOrder;
inventTrans.update();
if (movement.inventRefTransId())
{
movement.setInventRefFields(InventRefType::None,'','');
movement.updateDoBuffer();
}
}
if (purchLine)
{
purchLine.ItemRefType = InventRefType::None;
purchLine.InventRefId = '';
purchLine.InventRefTransId = '';
purchLine.InterCompanyOrigin = InterCompanyOrigin::Source;
purchLine.update();
}
if (!inventTransFound)
{
salesLine = SalesLine::findInventTransId(_salesLine.InventTransId,true);
if (salesLine)
{
salesLine.InventRefType = InventRefType::None;
salesLine.InventRefId = '';
salesLine.InventRefTransId = '';
salesLine.update();
}
}
if (purchTable)
{
select firstonly purchLine
index hint PurchLineIdx
where purchLine.PurchId == purchTable.PurchId
&& purchLine.ItemRefType == InventRefType::Sales
&& purchLine.InventRefId == salesTable.SalesId;
if (!purchLine)
{
delete_from interCompanyPurchSalesReference
index hint SalesPurchIdx
where interCompanyPurchSalesReference.SalesId == salesTable.SalesId
&& interCompanyPurchSalesReference.PurchId == purchTable.PurchId;
purchTable.InterCompanyOriginalSalesId = '';
purchTable.InterCompanyOriginalCustAccount = '';
purchTable.InterCompanyOrigin = InterCompanyOrigin::Source;
purchTable.update();
salesTable.InterCompanyAutoCreateOrders = false;
salesTable.update();
}
}
ttscommit;
if (_formRun) // VAR Changed on 22 Jul 2010 at 12:26:03 by 4054 - U045
_formRun.doRefresh();
}