create financial dimension combination:
job:
static void FindorcreatefinancialDimesion(Args _args)
{
DimensionAttributeValue dimCostcenterVal,dimDepartmentVal,dimCountryVal;
DimensionAttribute dimAttrCostcenter,dimAttrDepartment, dimCountry;
DimensionAttributeValueSetStorage davss;
boolean isValidDimension = true;
DimensionDefault DefaultDimension;
davss = DimensionAttributeValueSetStorage::find(DefaultDimension);
dimAttrCostcenter = DimensionAttribute::findByName('CostCenter');
dimAttrDepartment = DimensionAttribute::findByName('Department');
//dimCountry = DimensionAttribute::findByName('Country');
dimCostcenterVal = DimensionAttributeValue::findByDimensionAttributeAndValueNoError(dimAttrCostcenter, "00000021", false , true);
dimDepartmentVal = DimensionAttributeValue::findByDimensionAttributeAndValueNoError(dimAttrDepartment, "00000042" , false, true);
//dimCountryVal = DimensionAttributeValue::findByDimensionAttributeAndValueNoError(dimCountry, _mSSalesTable.CountryRegionCode , false, true);
if(dimCostcenterVal )
{
davss.addItem(dimCostcenterVal);
}
if (dimDepartmentVal)
{
davss.addItem(dimDepartmentVal);
}
//davss.addItem(dimCountryVal);
if(dimCostcenterVal || dimDepartmentVal)
{
DefaultDimension = davss.save();
//return DefaultDimension;
info(strFmt("%1",DefaultDimension));
}
//else
// return "";
//}
}
sales table:
/// <summary>
/// Set the financial dimension based on customer details
/// </summary>
/// <param name="_mSSalesTable">
/// _mSSalesTable
/// </param>
/// <returns>
/// defaultDimension
/// </returns>
/// <remarks>
/// SO order manangement
/// </remarks>
/// <exception cref="Exception::Error">
/// exception
/// </exception>
private static DimensionDefault setFinancialDimension(MSSalesTable _mSSalesTable, SalesTable salesTable)
{
DimensionAttributeValue dimAttrRegionVal,dimAtrrSubProgramVal,dimCountryVal;
DimensionAttribute dimAttrRegion,dimAtrrSubProgram, dimCountry;
DimensionAttributeValueSetStorage davss;
boolean isValidDimension = true;
davss = DimensionAttributeValueSetStorage::find(salesTable.DefaultDimension);
dimAttrRegion = DimensionAttribute::findByName('Region');
dimAtrrSubProgram = DimensionAttribute::findByName('SubProgram');
dimCountry = DimensionAttribute::findByName('Country');
dimAttrRegionVal = DimensionAttributeValue::findByDimensionAttributeAndValueNoError(dimAttrRegion, _mSSalesTable.Region, false , true);
dimAtrrSubProgramVal = DimensionAttributeValue::findByDimensionAttributeAndValueNoError(dimAtrrSubProgram, _mSSalesTable.SubRegion , false, true);
dimCountryVal = DimensionAttributeValue::findByDimensionAttributeAndValueNoError(dimCountry, _mSSalesTable.CountryRegionCode , false, true);
if (!dimAttrRegionVal)
{
isValidDimension = false;
_mSSalesTable.Comments = strFmt("@MPR4954", _mSSalesTable.Region);
}
if (!dimAtrrSubProgramVal)
{
isValidDimension = false;
_mSSalesTable.Comments = _mSSalesTable.Comments + '\n' + strFmt("@MPR4955", _mSSalesTable.SubRegion);
}
if (!dimCountryVal)
{
isValidDimension = false;
_mSSalesTable.Comments = _mSSalesTable.Comments + '\n' + strFmt("@MPR4956", _mSSalesTable.CountryRegionCode);
}
if (!isValidDimension)
{
ttsBegin;
_mSSalesTable.selectForUpdate(true);
_mSSalesTable.update();
ttsCommit;
throw error("@MPR4959");
}
if(dimAttrRegionVal && dimAtrrSubProgramVal && dimCountryVal )
{
davss.addItem(dimAttrRegionVal);
davss.addItem(dimAtrrSubProgramVal);
davss.addItem(dimCountryVal);
return davss.save();
}
return 0;
}
my code in class:
/// <summary>
/// for getting dimension id
/// </summary>
/// <param name="_dataRecord">
/// 2009 data record
/// </param>
/// <returns>
/// returns financial dimension
/// </returns>
/// <remarks>
/// added by v-irsha for get dimension id
/// </remarks>
public DimensionDefault findDefaultDimId(AxeDataRecord _dataRecord)
{
DimensionAttributeValue dimCostcenterVal,dimDepartmentVal;
DimensionAttribute dimAttrCostcenter,dimAttrDepartment;
DimensionAttributeValueSetStorage davss;
boolean isValidDimension = true;
DimensionDefault DefaultDimension;
davss = DimensionAttributeValueSetStorage::find(DefaultDimension);
dimAttrCostcenter = DimensionAttribute::findByName('CostCenter');
dimAttrDepartment = DimensionAttribute::findByName('Department');
dimCostcenterVal = DimensionAttributeValue::findByDimensionAttributeAndValueNoError(dimAttrCostcenter, _dataRecord.value('Dimension2_'), false , true);
dimDepartmentVal = DimensionAttributeValue::findByDimensionAttributeAndValueNoError(dimAttrDepartment, _dataRecord.value('Dimension') , false, true);
if(dimCostcenterVal )
{
davss.addItem(dimCostcenterVal);
}
if (dimDepartmentVal)
{
davss.addItem(dimDepartmentVal);
}
if(dimCostcenterVal || dimDepartmentVal)
{
DefaultDimension = davss.save();
return DefaultDimension;
}
else
return 0;
}
No comments:
Post a Comment