Ledger Journal Import

static void GL_GJImport(Args _args)

{

    textBuffer tb = new textBuffer();

    int cnt;

    int numLines;

    int c;

    container inLine;

    boolean first = true;

    Dimension finDim;

    amount amount;

    LedgerJournalACType LedgerJournalACType;

    ledgerJournalName ledgerJournalName;

    journalID JournalID;

    axLedgerJournalTable axLedgerJournalTable;

    axledgerJournalTrans axLedgerJournalTrans;

    LedgerJournalType JournalType = ledgerJournalType::Daily;

    ;

    tb.fromFile(‘C:\\sampleGLImport.csv’);  //File name  with Path …

    numLines = tb.numLines();

    if(numLines)

    {

        ttsBegin;

        for(cnt = 0; cnt < numLines; ++cnt)

        {

            inLine = str2Con(tb.nextToken(true));

            if(conpeek(inLine, 1) && !first)  //first field don’t do anything if blank

            {

                if(!JournalID) //Create Journal Haader

                {

                    select firstonly ledgerJournalName

                        where ledgerJournalName.JournalType == JournalType;

                    axLedgerJournalTable = new axLedgerJournalTable();

                    axLedgerJournalTable.parmJournalName(ledgerJournalName.JournalName);

                    axLedgerJournalTable.parmJournalType(JournalType);

                    axLedgerJournalTable.parmName(“Journal Description”);

                    axLedgerJournalTable.save();

                    JournalID = axLedgerJournalTable.parmJournalNum();

                }

                //Create Trans …

                axLedgerJournalTrans = new axLedgerJournalTrans();

                axLedgerJournalTrans.parmJournalNum(JournalID);

                axLedgerJournalTrans.parmAccountType(  str2Enum(LedgerJournalACType, conPeek(inLine,    1)));

                axLedgerJournalTrans.parmAccountNum(conpeek(inLine, 2));

                axLedgerJournalTrans.parmOffsetAccountType(  str2Enum(LedgerJournalACType,  conpeek(inLine, 3)));

                axLedgerJournalTrans.parmOffsetAccount(conpeek(inLine, 4));

                finDim[1] = conPeek(inLine, 6);

                finDim[2] = conPeek(inLine, 7);

                axLedgerJournalTrans.parmDimension(finDim);

                amount = conpeek(inLine, 5);

                axLedgerJournalTrans.parmAmountCurCredit((amount > 0 ? abs(amount) : 0));

                axLedgerJournalTrans.parmAmountCurDebit((amount < 0 ? abs(amount) : 0));

                axLedgerJournalTrans.save();

                ++c;

            }

            first = false;

        }

        ttsCommit;

        info(strFmt(‘Imported %1 Items’, c));

    }

}

// Job End <–

Acct Type Acct Offset Type OffSet Acct Amount Department CostCenter
Bank USA Oper Ledger

300160

500

1201

Ledger

300160

Bank USA Oper

-250

1102