Wednesday, November 20, 2013

Code to get Default Dimension, Display value for dimension, LedgerDimension for Non-ledger account, LedgerDimension for Ledger account.

Hi guys, here is the code to get various values related to Dimensions

1.Default Dimension:


Struct                      struct = new Struct();
container                  ledgerDimension;
DimensionDefault     DimensionDefault;
DimensionValue      department, costCenter;
;

department = '02';
costCenter = '02-03';

ledgerDimension = conNull();
struct.remove('Department');
struct.remove(‘CostCenter’);
struct.add(‘Department', department);
struct.add(‘CostCenter’, costCenter);
ledgerDimension += struct.fields();
ledgerDimension += struct.fieldName(1);
ledgerDimension += struct.valueIndex(1);
ledgerDimension += struct.fieldName(2);
ledgerDimension += struct.valueIndex(2);

DimensionDefault = AxdDimensionUtil::getDimensionAttributeValueSetId(ledgerDimension);



2.Display value & LedgerDimension for Non-Ledger account:

LedgerDimensionAccount            ledgerDim;

ledgerDim = DimensionStorage::getDynamicAccount('AHLI-01', LedgerJournalACType::Bank); info(strFmt("%1 -%2", ledgerDim, DimensionAttributeValueCombination::find(ledgerDim).DisplayValue));



3.LedgerDimension for Ledger account:


LedgerDimensionAccount        ledgerDimension, ledgerDimension4;
Struct                                      struct = new Struct();
container                                 ledgerDimensionCon;
DimensionDefault                    DimensionDefault;
DimensionValue                     department, costCenter;

department = '01';
costCenter = '01-01'; 

ledgerDimensionCon = conNull();
struct.remove('Department');
struct.remove(‘CostCenter’);
struct.add('Department', department);
struct.add(‘CostCenter’, costCenter); 

ledgerDimensionCon += struct.fields();
ledgerDimensionCon += struct.fieldName(1);
ledgerDimensionCon += struct.valueIndex(1);
ledgerDimensionCon += struct.fieldName(2);
ledgerDimensionCon += struct.valueIndex(2);

DimensionDefault   = AxdDimensionUtil::getDimensionAttributeValueSetId(ledgerDimensionCon);
ledgerDimension    = DimensionStorage::getDefaultAccountForMainAccountNum("4100021");
ledgerDimension4  = DimensionDefaultingService::serviceCreateLedgerDimension(ledgerDimension, DimensionDefault); 

info(strFmt("%1", ledgerDimension4));