Find below code will help you with Dimensions when you create GL Journal lines.
public void createJournalLines()
{
LedgerJournalTrans
ledgerJournalTrans;
HcmWorker
HcmWorker;
Amount
tmpAmount = 100;
LedgerJournalTransTaxExtensionIN
ledgerJournalTransTaxExtensionIN;
LedgerDimensionAccount ledgerAccount;
Boolean isLedgerTransaction
= false;
accountNum ledgerAccountNum_NonLedgerType;
ledgerJournalCheckPost
ledgerJournalCheckPost;
#ISOCountryRegionCodes
ledgerJournalTrans.Voucher = NumberSeq::newGetVoucherFromCode(numberSequenceTable.NumberSequence).voucher();
ledgerJournalTrans.JournalNum = headerJournal.JournalNum; //From Journal Header Table;
//NumberSeq::newGetNum(LedgerParameters::numRefJournalNum()).num(); ledgerJournalTrans.CurrencyCode = CompanyInfoHelper::standardCurrency();
ledgerJournalTrans.ExchRate = ExchangeRateHelper::exchRate(ledgerJournalTrans.CurrencyCode);
//if (General
Ledger Journal – Type is Ledger)
{
ledgerJournalTrans.AccountType
= LedgerJournalACType::Ledger;
}
{
ledgerJournalTrans.AccountType
= LedgerJournalACType::Vendor; // select appropriate type based on input of Ledger dimension and
account type of Posting profile.
isLedgerTransaction = false;
}
if (isLedgerTransaction)
{
ledgerAccount = LedgerDimensionFacade::serviceCreateLedgerDimension(_ledgerJournalTrans.JournalNum, ledgerJournalTrans.DefaultDimension);
else
{
ledgerAccountNum_
NonLedgerType = LedgerDimensionFacade::getDisplayValueForLedgerDimension(ledgerAccount);
// either vendor, customer or bank id
}
{
ledgerJournalTrans.AmountCurDebit
= CurrencyExchangeHelper::amount(100, ledgerJournalTrans.CurrencyCode);
}
// else -- if
credit amount.
{
ledgerJournalTrans.AmountCurCredit
= CurrencyExchangeHelper::amount(100, ledgerjournalTrans.CurrencyCode);
}
ledgerJournalTrans.Txt = "Create a Journal Line";
ledgerJournalTrans.BankNegInstRecipientName = HcmWorker.name();
ledgerJournalTrans.insert();
if (SysCountryRegionCode::isLegalEntityInCountryRegion([#isoIN]))
{
ledgerJournalTransTaxExtensionIN.TaxModelDocLineExtensionIN::initFromBaseTable (ledgerJournalTrans);
ledgerJournalTransTaxExtensionIN.TaxModelDocLineExtensionIN::initFromExtensionTable(LedgerJournalTransTaxExtensionIN::findByLedgerJournalTrans(ledgerJournalTrans.RecId));
ledgerJournalTransTaxExtensionIN.insert();
}
// If post this journal..
//Post the
Journal
ledgerJournalCheckPost = ledgerJournalCheckPost::newLedgerJournalTable(ledgerJournalTable,NoYes::Yes); // Header Journal Table.
ledgerJournalCheckPost.run();
}