static void FAN_GLImport(Args _args) { AxLedgerJournalTable header = new AxLedgerJournalTable(); AxLedgerJournalTrans trans = new AxLedgerJournalTrans(); container ledgerDim, offsetDim; LedgerJournalNameId ledgerJournalNameId = "GeneralJR"; DimensionAttributeValueCombination ledgerDimension; LedgerJournalACType accType, offsetAccType; BankAccountTable bankAccountTable; ; accType = LedgerJournalACType::Ledger; offsetAccType = LedgerJournalACType::Bank; header.parmJournalName(ledgerJournalNameId); header.save(); trans.parmAccountType(accType); trans.parmJournalNum(header.ledgerJournalTable().JournalNum); //If account type is Ledger ledgerDim = ["142102-C-ADMIN","142102","C","ADMIN"];//First is Display value, followed by Main Account and then dimensions. //If account type is other than ledger then Switch case statement can be written to get RecId from DimensionAttributeValueCombination Table. trans.parmLedgerDimension(AxdDimensionUtil::getLedgerAccountId(ledgerDim)); trans.parmAmountCurDebit(230); trans.parmOffsetAccountType(offsetAccType); switch(offsetAccType) { case LedgerJournalACType::Bank : select firstOnly bankAccountTable join RecId from ledgerDimension where ledgerDimension.DisplayValue == bankAccountTable.AccountID && bankAccountTable.AccountID == "ICICI Bank"; trans.parmOffsetLedgerDimension(ledgerDimension.RecId); //Same cases has to be written for others like Vendor, Customer. Except Account type ledger //If offset account type is ledger then trans.parmOffsetLedgerDimension() will only be supported. } //trans.parmOffsetLedgerDimension(AxdDimensionUtil::getLedgerAccountId(offsetDim)); trans.save(); }