Microsoft Dynamics AX Support

This blog contains posts by the Microsoft Dynamics AX Support Teams Worldwide

Calling the LedgerGeneralJournal Service in AX 2012

Below is an example of how to call the create operation on the GeneralJournalService in AX 2012.  My apologies for the way the code below is formatted!  This editor is clearly not made for code snippets.

GeneralJournalServiceClient client = new GeneralJournalServiceClient();

CallContext context = new CallContext();

context.Company =  “ceu”;

 

AxdLedgerGeneralJournal journal = new AxdLedgerGeneralJournal();

AxdEntity_LedgerJournalTable journalHeader = new AxdEntity_LedgerJournalTable();

journalHeader.JournalName = “GenJrn”;

AxdEntity_LedgerJournalTrans journalLine = new AxdEntity_LedgerJournalTrans();

journalLine.AccountType = AxdEnum_LedgerJournalACType.Ledger;

journalLine.AccountTypeSpecified = true;

journalLine.Company = “ceu”;

AxdType_MultiTypeAccount account = new AxdType_MultiTypeAccount();

account.Account = “131100”;

account.DisplayValue = “131100-OU_2311-OU_3569-Customer visit”;

AxdType_DimensionAttributeValue dimValue1 = new AxdType_DimensionAttributeValue();

dimValue1.Name = “Department”;

dimValue1.Value = “OU_2311″;

AxdType_DimensionAttributeValue dimValue2 = new AxdType_DimensionAttributeValue();

dimValue2.Name = “CostCenter”;

dimValue2.Value = “OU_3569″;

AxdType_DimensionAttributeValue dimValue3 = new AxdType_DimensionAttributeValue();

dimValue3.Name = “ExpensePurpose”;

dimValue3.Value = “Customer visit”;

account.Values = new AxdType_DimensionAttributeValue[3] { dimValue1, dimValue2, dimValue3 };

journalLine.LedgerDimension = account;

journalLine.AmountCurDebit = 120;

journalLine.AmountCurDebitSpecified = true;

journalHeader.LedgerJournalTrans = new AxdEntity_LedgerJournalTrans[1] { journalLine };

journal.LedgerJournalTable = new AxdEntity_LedgerJournalTable[1] { journalHeader };

try

           {

                client.create(context, journal);

            }

catch (Exception e)

            {

            string error = e.Message;

            }