I wrote a job to import the ledger alias in 2012. It is fairly straight forward if you have the DMF installed.
Create a csv file with the following:
End result will be:
Code:
static void importLedgerAccountAlias(Args _args)
{
AsciiIO asciiIO;
Filename filename;
NoYesId skipFirstLine;
Container line;
Dialog dialog;
DialogField dialogFileName, dialogSkipFirstLine, dialogCountryRegionId;
DimensionAlias dimensionAlias;
Ledger ledger;
DimensionAliasName aliasName;
DimensionAliasType aliasType;
LedgerName ledgerName;
DimensionDisplayValue accountDefinition;
str initialFocus;
int numProcessedRecords;
;
dialog = new Dialog("Import Ledger Account Alias");
dialogFileName = dialog.addField(extendedTypeStr(Filenameopen), "File name");
dialogSkipFirstLine = dialog.addField(extendedTypeStr(NoYesId), "Skip first line");
dialog.run();
if (dialog.run())
{
filename = dialogFileName.value();
skipFirstLine = dialogSkipFirstLine.value();
}
asciiIO = new AsciiIO(filename, 'R');
if (!asciiIO || asciiIO.status() != IO_Status::Ok )
{
throw error (strfmt("@SYS19312",filename));
}
asciiIO.inRecordDelimiter('\r\n');
asciiIO.inFieldDelimiter(',');
if (skipFirstLine)
line = asciiIO.read();
ttsBegin;
while (asciiIO.status() == IO_status::Ok)
{
line = asciiIO.read();
if (line)
{
aliasName = conpeek(line,1);
aliasType = conpeek(line,2);
ledgerName = conpeek(line,3);
accountDefinition = conpeek(line,4);
initialFocus = conpeek(line,5);
select ledger
where ledger.Name == ledgerName;
select firstonly dimensionAlias where dimensionAlias.Name == aliasName;
if (!dimensionAlias)
{
dimensionAlias.Name = aliasName;
dimensionAlias.AliasType = aliasType;
dimensionAlias.DimensionAttributeValueCombination = DMFDimensionHelper::generateDynamicDimension(accountDefinition);
dimensionAlias.LegalEntity = ledger.PrimaryForLegalEntity;
dimensionAlias.DimensionAttribute = DimensionAttribute::findByName(initialFocus).RecId;
dimensionAlias.insert();
numProcessedRecords++;
}
}
}
ttscommit;
info(strFmt("Imported: %1", numProcessedRecords));
}
This requires that you have the DMF installed on your environment.
If you are running R2. Make sure to have this fix as I am using the DMF dimension helper class.
http://domhk.blogspot.com.au/2013/06/data-import-export-framework-financial.html
Keep an eye on the next post. I will do the same with Data Import/Export Framework.