class ASAPG_UpdateMissingField_ToInventTable
{
}
---------------------------------
public static void Main(Args _args)
{
Date _Currentdate;
utcDateTime _UtcStartPeriod;
utcDateTime _UtcEndPeriod;
container companieswithCostCenter = ['ASAB','SPDC','ALMA','ASAP','AGAP','AISI','CENT','IMPE','INDP'];
int ItemExists,i;
CompanyInfo companyInfo;
InventTable inventTable;
InventModelGroupItem modelGroup,updatemodelgroup;
InventTableModule updateTablemoduel;
InventModelGroupItem InventModelGroupItem;
InventModelGroupItem InventModelGroupItem2;
InventitemGroupItem InventitemGroupItem;
InventitemGroupItem InventitemGroupItem2;
// Legal Entity
DimensionAttributeValueSetStorage dimensionAttributeValueSetStorage;
DimensionAttribute dimensionAttribute;
DimensionValue oldDimensionValue;
DimensionValue newDimensionValue;
DimensionDefault newDimensionDefault;
#define.dimensionName("LegalEntity")
// legal Entity
_currentdate = today();
_UtcStartPeriod = DateTimeUtil::newDateTime(_currentdate,0);
_UtcEndPeriod = DateTimeUtil::newDateTime(_Currentdate,86400);
while select companyInfo
{
changeCompany ( companyInfo.DataArea)
{
while select crossCompany inventTable
order by inventTable.ItemId
where inventTable.createdDateTime >= _UtcStartPeriod && inventTable.createdDateTime <= _UtcEndPeriod
&& inventTable.dataAreaId == companyInfo.DataArea
{
//---------------------------- Legal Enity Starting
// Get current value
newDimensionValue = inventTable.dataAreaId;
// Build DimensionAttributeValueSetStorage
dimensionAttributeValueSetStorage = DimensionAttributeValueSetStorage::find(inventTable.DefaultDimension);
// Set new dimension value
if(newDimensionValue != "")
{
dimensionAttribute = DimensionAttribute::findByName(#dimensionName);
dimensionAttributeValueSetStorage.addItem(DimensionAttributeValue::findByDimensionAttributeAndValue(dimensionAttribute, newDimensionValue));
}
newDimensionDefault = dimensionAttributeValueSetStorage.save();
ttsbegin;
inventTable.selectForUpdate(true);
inventTable.DefaultDimension = newDimensionDefault;
inventTable.StandardConfigId = "Default";
inventTable.StandardInventColorId = "Default";
inventTable.StandardInventSizeId = "Default";
inventTable.StandardInventStyleId = "Default";
inventTable.update();
ttscommit;
///-------------------------------- Legal Entity End
// --------------------------- brand name inserting
ItemExists=0;
select firstOnly InventitemGroupItem2
where InventitemGroupItem2.ItemId == InventTable.ItemId
&& InventitemGroupItem2.ItemGroupDataAreaId == InventTable.dataareaid
&& InventitemGroupItem2.ItemDataAreaId == InventTable.dataAreaId;
if (InventitemGroupItem2.RecId)
{
ItemExists =1;
}
else
{
ttsBegin;
InventitemGroupItem.clear();
InventitemGroupItem.initValue();
InventitemGroupItem.ItemDataAreaId = InventTable.dataAreaId;
InventitemGroupItem.ItemGroupDataAreaId = InventTable.dataAreaId;
InventitemGroupItem.ItemId = InventTable.ItemId;
InventitemGroupItem.ItemGroupId = 'BRAND';
if (InventitemGroupItem.validateWrite())
{
InventitemGroupItem.insert();
}
ttsCommit;
}
//---------- brand name end
//------------------------------- weighted Avg inseritng
/* ItemExists=0;
select firstOnly InventModelGroupItem2
where InventModelGroupItem2.ItemId == InventTable.ItemId
&& InventModelGroupItem2.ItemDataAreaId == InventTable.dataareaid
&& InventModelGroupItem2.ModelGroupDataAreaId == InventTable.dataAreaId;
if (InventModelGroupItem2.RecId)
{
ItemExists =1;
}
else
{
ttsBegin;
InventModelGroupItem.clear();
InventModelGroupItem.initValue();
InventModelGroupItem.ItemDataAreaId = InventTable.dataareaid;
InventModelGroupItem.ModelGroupDataAreaId = InventTable.dataAreaId;
InventModelGroupItem.ItemId = InventTable.ItemId;
InventModelGroupItem.ModelGroupId = 'WAVGDATE';
if (InventModelGroupItem.validateWrite())
{
InventModelGroupItem.insert();
}
ttsCommit;
}
*/
// ------------- weighted avg ending
//--- unit id , price unit , item tax group starting ( purchase , sales and inventory )
select crossCompany updateTablemoduel where updateTablemoduel.ItemId == inventTable.ItemId
&& updateTablemoduel.ModuleType == ModuleInventPurchSales::Invent
&& updateTablemoduel.dataAreaId == inventTable.dataAreaId;
{
ttsBegin;
updateTablemoduel.selectForUpdate(true);
updateTablemoduel.TaxItemGroupId = "ITVAT";
updateTablemoduel.UnitId = "EA";
updateTablemoduel.PriceUnit = 1.00;
updateTablemoduel.update();
ttsCommit;
// info(strFmt("ItemId --%1 ", updateTablemoduel.ItemId));
}
select crossCompany updateTablemoduel where updateTablemoduel.ItemId == inventTable.ItemId
&& updateTablemoduel.ModuleType == ModuleInventPurchSales::Purch
&& updateTablemoduel.dataAreaId == inventTable.dataAreaId;
{
ttsBegin;
updateTablemoduel.selectForUpdate(true);
updateTablemoduel.TaxItemGroupId = "ITVAT";
updateTablemoduel.UnitId = "EA";
updateTablemoduel.PriceUnit = 1.00;
updateTablemoduel.update();
ttsCommit;
// info(strFmt("ItemId --%1 ", updateTablemoduel.ItemId));
}
select crossCompany updateTablemoduel where updateTablemoduel.ItemId == inventTable.ItemId
&& updateTablemoduel.ModuleType == ModuleInventPurchSales::Sales
&& updateTablemoduel.dataAreaId == inventTable.dataAreaId;
{
ttsBegin;
updateTablemoduel.selectForUpdate(true);
updateTablemoduel.TaxItemGroupId = "ITVAT";
updateTablemoduel.UnitId = "EA";
updateTablemoduel.PriceUnit = 1.00;
updateTablemoduel.update();
ttsCommit;
// info(strFmt("ItemId --%1 ", updateTablemoduel.ItemId));
}
//--- unit id , price unit , item tax group ending ( purchase , sales and inventory )
info(strFmt("Item id -- %1 , Legal Enity -- %2",inventTable.ItemId,inventTable.dataAreaId));
}
}
}
info("PROCESS COMPLETED");
}
No comments:
Post a Comment