Hello,
Today I'll write about a more tricky part of the process we find in Dynamics Ax.
Creating a transfer journal in Dynamics Ax 2012. This will move inventory over inventory dimensions.
Open your Visual Studio, create a new Console project and use this:
private void InventTransferJourTest()
{
InventTransferJournal.CallContext callContext = new InventTransferJournal.CallContext();
InventTransferJournal.TransferJournalServiceClient servClient = new InventTransferJournal.TransferJournalServiceClient();
InventTransferJournal.AxdTransferJournal transjournal = new InventTransferJournal.AxdTransferJournal();
InventTransferJournal.AxdEntity_InventJournalTable journalheader = new InventTransferJournal.AxdEntity_InventJournalTable();
//Header
callContext.Company = "CEU";
journalheader.JournalNameId = "TransferJourId";
journalheader.Description = "Transfer Journal";
//End header
//Lines
InventTransferJournal.AxdEntity_InventJournalTrans journalLines = new InventTransferJournal.AxdEntity_InventJournalTrans();
journalLines.ItemId = "123456";
journalLines.Qty = 45;
journalLines.TransDate = DateTime.Now;
InventTransferJournal.AxdEntity_InventDimIssue inventDimIssue = new InventTransferJournal.AxdEntity_InventDimIssue();
inventDimIssue.InventBatchId = "RUT";
inventDimIssue.InventLocationId = "21";
inventDimIssue.InventSiteId = "1";
journalLines.InventDimIssue = new InventTransferJournal.AxdEntity_InventDimIssue[1] { inventDimIssue };
InventTransferJournal.AxdEntity_InventDimReceipt inventDimReceipt = new InventTransferJournal.AxdEntity_InventDimReceipt();
inventDimReceipt.InventSiteId = "2";
inventDimReceipt.InventLocationId = "11";
inventDimReceipt.InventBatchId = "RSR";
journalLines.InventDimReceipt = new InventTransferJournal.AxdEntity_InventDimReceipt[1] { inventDimReceipt };
//End Lines
journalheader.InventJournalTrans = new InventTransferJournal.AxdEntity_InventJournalTrans[1] { journalLines };
transjournal.InventJournalTable = new InventTransferJournal.AxdEntity_InventJournalTable[1] {journalheader};
try
{
servClient.create(callContext, transjournal);
}
catch (Exception e)
{
MessageBox.Show(e.InnerException.ToString());
}
}
This C# code will use our X++ code and create a new transfer journal.
That's all for today.
Thank you.
Today I'll write about a more tricky part of the process we find in Dynamics Ax.
Creating a transfer journal in Dynamics Ax 2012. This will move inventory over inventory dimensions.
Open your Visual Studio, create a new Console project and use this:
private void InventTransferJourTest()
{
InventTransferJournal.CallContext callContext = new InventTransferJournal.CallContext();
InventTransferJournal.TransferJournalServiceClient servClient = new InventTransferJournal.TransferJournalServiceClient();
InventTransferJournal.AxdTransferJournal transjournal = new InventTransferJournal.AxdTransferJournal();
InventTransferJournal.AxdEntity_InventJournalTable journalheader = new InventTransferJournal.AxdEntity_InventJournalTable();
//Header
callContext.Company = "CEU";
journalheader.JournalNameId = "TransferJourId";
journalheader.Description = "Transfer Journal";
//End header
//Lines
InventTransferJournal.AxdEntity_InventJournalTrans journalLines = new InventTransferJournal.AxdEntity_InventJournalTrans();
journalLines.ItemId = "123456";
journalLines.Qty = 45;
journalLines.TransDate = DateTime.Now;
InventTransferJournal.AxdEntity_InventDimIssue inventDimIssue = new InventTransferJournal.AxdEntity_InventDimIssue();
inventDimIssue.InventBatchId = "RUT";
inventDimIssue.InventLocationId = "21";
inventDimIssue.InventSiteId = "1";
journalLines.InventDimIssue = new InventTransferJournal.AxdEntity_InventDimIssue[1] { inventDimIssue };
InventTransferJournal.AxdEntity_InventDimReceipt inventDimReceipt = new InventTransferJournal.AxdEntity_InventDimReceipt();
inventDimReceipt.InventSiteId = "2";
inventDimReceipt.InventLocationId = "11";
inventDimReceipt.InventBatchId = "RSR";
journalLines.InventDimReceipt = new InventTransferJournal.AxdEntity_InventDimReceipt[1] { inventDimReceipt };
//End Lines
journalheader.InventJournalTrans = new InventTransferJournal.AxdEntity_InventJournalTrans[1] { journalLines };
transjournal.InventJournalTable = new InventTransferJournal.AxdEntity_InventJournalTable[1] {journalheader};
try
{
servClient.create(callContext, transjournal);
}
catch (Exception e)
{
MessageBox.Show(e.InnerException.ToString());
}
}
This C# code will use our X++ code and create a new transfer journal.
That's all for today.
Thank you.