Tuesday, February 28, 2012

InventAllBlank to default price

static void InventAllBlank(Args _args)
{
InventDimId InventDimId;
InventItemInventSetup InventItemInventSetup;
InventItemSalesSetup InventItemSalesSetup;
InventItemPurchSetup InventItemPurchSetup;
inventtable inventtable;


;

while select * from inventtable where inventTable.ItemId
{
//invent
select forupdate * from InventItemInventSetup where InventItemInventSetup.ItemId == inventtable.ItemId
&& InventItemInventSetup.InventDimId == "AllBlank"
&& InventItemInventSetup.InventDimIdDefault == "AllBlank";
if(!InventItemInventSetup.ItemId)
{
ttsbegin;
InventItemInventSetup.ItemId = inventtable.ItemId;
InventItemInventSetup.InventDimId = "AllBlank";
InventItemInventSetup.InventDimIdDefault = "AllBlank";
InventItemInventSetup.insert();
ttscommit;
}

// sales
select forupdate * from InventItemSalesSetup where InventItemSalesSetup.ItemId == inventtable.ItemId
&& InventItemSalesSetup.InventDimId == "AllBlank"
&& InventItemSalesSetup.InventDimIdDefault == "AllBlank";
if(!InventItemSalesSetup.ItemId)
{
ttsbegin;
InventItemSalesSetup.ItemId = inventtable.ItemId;
InventItemSalesSetup.InventDimId = "AllBlank";
InventItemSalesSetup.InventDimIdDefault = "AllBlank";
InventItemSalesSetup.insert();
ttscommit;
}
//purchase
select forupdate * from InventItemPurchSetup where InventItemPurchSetup.ItemId == inventtable.ItemId
&& InventItemPurchSetup.InventDimId == "AllBlank"
&& InventItemPurchSetup.InventDimIdDefault == "AllBlank";
if(!InventItemPurchSetup.ItemId)
{
ttsbegin;
InventItemPurchSetup.ItemId = inventtable.ItemId;
InventItemPurchSetup.InventDimId = "AllBlank";
InventItemPurchSetup.InventDimIdDefault = "AllBlank";
InventItemPurchSetup.insert();
ttscommit;
}

}

}

Saturday, February 25, 2012

Production order reset

static void Job72(Args _args)
{
//1045_074

ProdTable prodTable;
ProdMultiStartUp prodMultiStartup;
ProdMultiStatusDecrease ProdMultiStatusDecrease;
ProdParmStatusDecrease ProdParmStatusDecrease;
;
// //find ProdTable, not nessary in your case
prodTable = ProdTable::find("1066_074");
prodTable.ProdStatus = prodStatus::StartedUp;


select * from prodTable where prodTable.ProdId == "1066_074";
ProdParmStatusDecrease.initFromProdTable(prodTable);
ProdParmStatusDecrease.initParmDefault();
ProdParmStatusDecrease.insert();

ttsbegin;
select forupdate * from ProdParmStatusDecrease where ProdParmStatusDecrease.ProdId == "1066_074";
if(ProdParmStatusDecrease)
{
ProdParmStatusDecrease.WantedStatus = ProdStatus::Released;
ProdParmStatusDecrease.doUpdate();
}
ttscommit;

// //init ProdStartup
ProdMultiStatusDecrease = ProdMultiStatusDecrease::construct(new args());
// //init default parameter
RunBaseMultiParm::initParm(ProdMultiStatusDecrease);
// //parm ProdTable, you can do this muliple times in case you want to update
//// more than one production at a time
ProdMultiStatusDecrease.insert(prodTable, ProdParmStatusDecrease);
// //Do update
ProdMultiStatusDecrease.run();

//ProdTable.status().runStartUp(prodParmStartUp);

//prodTable.autoUpdate(prodStatus::Released);


}

Production order reset

static void Job72(Args _args)
{
//1045_074

ProdTable prodTable;
ProdMultiStartUp prodMultiStartup;
ProdMultiStatusDecrease ProdMultiStatusDecrease;
ProdParmStatusDecrease ProdParmStatusDecrease;
;
// //find ProdTable, not nessary in your case
prodTable = ProdTable::find("1066_074");
prodTable.ProdStatus = prodStatus::StartedUp;


select * from prodTable where prodTable.ProdId == "1066_074";
ProdParmStatusDecrease.initFromProdTable(prodTable);
ProdParmStatusDecrease.initParmDefault();
ProdParmStatusDecrease.insert();

ttsbegin;
select forupdate * from ProdParmStatusDecrease where ProdParmStatusDecrease.ProdId == "1066_074";
if(ProdParmStatusDecrease)
{
ProdParmStatusDecrease.WantedStatus = ProdStatus::Released;
ProdParmStatusDecrease.doUpdate();
}
ttscommit;

// //init ProdStartup
ProdMultiStatusDecrease = ProdMultiStatusDecrease::construct(new args());
// //init default parameter
RunBaseMultiParm::initParm(ProdMultiStatusDecrease);
// //parm ProdTable, you can do this muliple times in case you want to update
//// more than one production at a time
ProdMultiStatusDecrease.insert(prodTable, ProdParmStatusDecrease);
// //Do update
ProdMultiStatusDecrease.run();

//ProdTable.status().runStartUp(prodParmStartUp);

//prodTable.autoUpdate(prodStatus::Released);


}

How to identify the user that was used to change an object from AOT in AX2012

Get the object name for which we need to track these (user and date&time) information's. Login to SQL Server Management Studio an...