Following is the sample job to show how we can create and post movement journal by making use of available api’s in the Dynamics Ax.
static void createMovJournal(Args _args)
{ 
  InventJournalTable journalTable;
  InventJournalTrans journalTrans;
  InventJournalTableData journalTableData;
  InventJournalTransData journalTransData;
  InventTable inventTable;
  InventDim inventDim;
  Counter cnt;
  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));
  // Init JournalTrans
  select firstonly inventTable;
  
  for(cnt=1;cnt<10;cnt++)
  {
    journalTrans.clear();
    journalTransData.initFromJournalTable();
    journalTrans.TransDate = systemdateget() + 1 div 2;
    journalTrans.ItemId = inventTable.ItemId;
    journalTrans.Qty = 100;
    journalTrans.CostAmount = 100;
    // Dimension details
    inventDim.InventLocationId = 'GW';
    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();
}
This post was found on http://learnax.blogspot.dk/2010/01/x-code-to-create-and-post-inventory.html
See also this post about posting through the Business Connector: http://kashperuk.blogspot.dk/2008/01/creating-and-posting-inventory.html
