Monday, 28 July 2014

Change company Ax2012

The changeCompany statement is used to change company during runtime. The syntax of the statement is: changeCompany ( Expression ) Statement
 
Here is the code

while select * from Payrolltmplines order by Payrolltmplines.Company // group by Payrolltmplines.Company
    {
        if(Payrolltmplines.Company == "090")
        {
                changeCompany("090")
                {
                if(x==0)
                {
                        header = new AxLedgerJournalTable();
            //header.parmName(Payrollheader.Headername);
            header.parmJournalName(LedgerParameters::find().HS_journame);
            header.parmJournalType( LedgerJournalType::Daily);
            currency                    = Ledger::accountingCurrency(CompanyInfo::current());
            header.parmCurrencyCode(currency);
            header.parmOriginalCompany(Payrolltmplines.Company);
            header.save();
                }
        trans = new AxLedgerJournalTrans();
        trans.parmAccountType(LedgerJournalACType::Ledger);
        trans.parmJournalNum(header.ledgerJournalTable().JournalNum);
        //accode = ledge.Linedescription;
        ledgDimension1 = Payrolltmplines.Accountnum;
      //  ledgDimension2 = substr(accode, 9, 3);
        ledgerDimensions = ["Main account",ledgDimension1];
        trans.parmLedgerDimension(AxdDimensionUtil::getLedgerAccountId(ledgerDimensions));
        trans.parmAmountCurDebit(Payrolltmplines.Amt);
        trans.parmTxt(Payrolltmplines.Linesdescription);
        trans.parmCompany(Payrolltmplines.Company);
        trans.save();
                }
           
        }
        else
        {
        changeCompany("050")
                        {

                                if(x==0)
             {
            header = new AxLedgerJournalTable();
            //header.parmName(Payrollheader.Headername);
            header.parmJournalName(LedgerParameters::find().HS_journame);
            header.parmJournalType( LedgerJournalType::Daily);
            currency                    = Ledger::accountingCurrency(CompanyInfo::current());
            header.parmCurrencyCode(currency);
            header.parmOriginalCompany(Payrolltmplines.Company);
            header.save();
           }
          trans = new AxLedgerJournalTrans();
          trans.parmAccountType(LedgerJournalACType::Ledger);
        trans.parmJournalNum(header.ledgerJournalTable().JournalNum);
        //accode = ledge.Linedescription;
        ledgDimension1 = Payrolltmplines.Accountnum;
      //  ledgDimension2 = substr(accode, 9, 3);
        ledgerDimensions = ["Main account",ledgDimension1];
        trans.parmLedgerDimension(AxdDimensionUtil::getLedgerAccountId(ledgerDimensions));
        trans.parmAmountCurDebit(Payrolltmplines.Amt);
        trans.parmTxt(Payrolltmplines.Linesdescription);
        trans.parmCompany(Payrolltmplines.Company);
        trans.save();
                }
               
        }
        x++;
    }

No comments:

Post a Comment