Movement journal creation and posting in X++


Job to create a movement journal and post using X++.

    InventJournalTable journalTable;
    InventJournalTrans journalTrans;
    InventJournalTableData journalTableData;
    InventJournalTransData journalTransData;
    InventTable inventTable;
    InventDim inventDim;
    InventJournalCheckPost journalCheckPost = new InventJournalCheckPost();
    ;

    journalTableData = JournalTableData::newTable(journalTable);
    journalTransData = journalTableData.journalStatic().newJournalTransData(journalTrans, journalTableData);

    // Init JournalTable

    journalTable.clear();

    journalTable.JournalId = journalTableData.nextJournalId();
    journalTable.JournalType = InventJournalType::Movement;
    journalTable.JournalNameId = journalTableData.journalStatic().standardJournalNameId(journalTable.JournalType);

    journalTableData.initFromJournalName(journalTableData.journalStatic().findJournalName(journalTable.JournalNameId));
   
    // Lines
    journalTrans.clear();
    journalTransData.initFromJournalTable();
    journalTrans.TransDate = systemdateget() + 1 div 2;
    journalTrans.ItemId = '61592';
    journalTrans.Qty = 1;
    journalTrans.LedgerAccountIdOffset = '91100';
    // Dimension details
    inventDim.InventSiteId = '2-US';
    inventDim.InventLocationId = 'Bellevue';
    inventDim.wmsLocationID = '1001';
    journalTrans.InventDimId = InventDim::findOrCreate(inventDim).inventDimId;
    journalTransData.create();

    journalTable.insert();

    // Call the static method to post the journal
    if(InventJournalCheckPost::newPostJournal(journalTable).validate())
    InventJournalCheckPost::newPostJournal(journalTable).run();

Comments

Popular posts from this blog

Dynamics 365 Finance & Operations Release pipelines import.

Attaching a user selected document to a purchase order using x++ job (Runnable class) in Dynamics 365 for Finance and Operations

Claude AI Models Comparison (Updated: July 2026): Haiku 4.5 vs Sonnet 5 vs Opus 4.8 vs Fable 5