static void Jimmy_priceDiscTableFromMOQ(Args _args)
{
priceDiscTable priceDiscTable;
test test;
int i;
;
ttsbegin;
test.selectForUpdate(true);
while select test order by test.ItemId
{
test.VendAccount = "";
test.Currency = "";
test.Price2 = 0;
test.Price01 = 0;
test.Price02 = 0;
test.Price03 = 0;
test.Price04 = 0;
test.Name = InventTable::find(test.ItemId).ItemName;
while select priceDiscTable
where priceDiscTable.ItemCode == TableGroupAll::Table
&& priceDiscTable.AccountCode == TableGroupAll::Table
&& priceDiscTable.relation == PriceType::PricePurch
&& priceDiscTable.Module == ModuleInventCustVend::Vend
&& priceDiscTable.ItemRelation == test.ItemId
&& (systemdateget() >= priceDiscTable.fromDate || !priceDiscTable.fromDate) &&
(systemdateget() <= priceDiscTable.toDate || !priceDiscTable.toDate )
&& (priceDiscTable.QuantityAmount == 1 || priceDiscTable.QuantityAmount == 2000
|| priceDiscTable.QuantityAmount == 5000 || priceDiscTable.QuantityAmount == 10000
|| priceDiscTable.QuantityAmount == 20000)
{
i++;
test.VendAccount = priceDiscTable.AccountRelation;
test.Currency = priceDiscTable.Currency;
switch(priceDiscTable.QuantityAmount)
{
case 1 :
test.Price2 = priceDiscTable.Amount;break;
case 2000 :
test.Price01 = priceDiscTable.Amount;break;
case 5000 :
test.Price02 = priceDiscTable.Amount;break;
case 10000 :
test.Price03 = priceDiscTable.Amount;break;
case 20000 :
test.Price04 = priceDiscTable.Amount;break;
default :
break;
}
}
test.doupdate();
}
ttscommit;
info(strfmt("Total updated %1 records!",i));
}