Created
August 23, 2017 17:09
-
-
Save davidalencar/9d6b4e3f89a860fad14c2df2e445569e to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
private DimensionDefault createDimensionDefault(MainAccountNum _mainAccount, container _conData) | |
{ | |
int hierarchyCount; | |
int hierarchyIdx; | |
RecId dimAttId_MainAccount; | |
LedgerRecId ledgerRecId; | |
MainAccount mainAccount; | |
RefRecId recordvalue; | |
DimensionAttribute dimensionAttribute; | |
DimensionAttributeValue dimensionAttributeValue; | |
DimensionSetSegmentName DimensionSet; | |
DimensionStorage dimStorage; | |
LedgerAccountContract LedgerAccountContract = new LedgerAccountContract(); | |
DimensionAttributeValueContract ValueContract; | |
List valueContracts = new List(Types::Class); | |
dimensionAttributeValueCombination dimensionAttributeValueCombination; | |
mainAccount = MainAccount::findByMainAccountId(_mainAccount); | |
recordvalue = DimensionHierarchy::getAccountStructure(mainAccount.RecId,Ledger::current()); | |
hierarchyCount = DimensionHierarchy::getLevelCount(recordvalue); | |
DimensionSet = DimensionHierarchyLevel::getDimensionHierarchyLevelNames(recordvalue); | |
for(hierarchyIdx = 1;hierarchyIdx<=hierarchyCount;hierarchyIdx++) | |
{ | |
if(hierarchyIdx == 1) | |
continue; | |
dimensionAttribute = DimensionAttribute::findByLocalizedName(DimensionSet[hierarchyIdx]); | |
if(dimensionAttribute) | |
{ | |
dimensionAttributeValue = DimensionAttributeValue::findByDimensionAttributeAndValue(dimensionAttribute,conPeek(_conData,hierarchyIdx)); | |
if(dimensionAttributeValue) | |
{ | |
ValueContract = new DimensionAttributeValueContract(); | |
ValueContract.parmName(dimensionAttribute.Name) ; | |
ValueContract.parmValue(dimensionAttributeValue.CachedDisplayValue); | |
valueContracts.addEnd(ValueContract); | |
} | |
} | |
} | |
LedgerAccountContract.parmMainAccount(mainAccount.MainAccountId); | |
LedgerAccountContract.parmValues(valueContracts); | |
dimStorage = DimensionServiceProvider::buildDimensionStorageForLedgerAccount(LedgerAccountContract); | |
dimensionAttributeValueCombination = DimensionAttributeValueCombination::find(dimStorage.save()); | |
ledgerRecId = dimensionAttributeValueCombination.RecId; | |
return ledgerRecId; | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment