class BW_MovementJournalService
{
[
SysEntryPointAttribute(true),
AifCollectionTypeAttribute('_movementJournalContractList',Types::Class,classStr(BW_MovementJournalContract)),
AifCollectionTypeAttribute('return',Types::String)
]
public str createJournal(List _movementJournalContractList)
{
InventJournalTable inventJournalTable;
InventJournalTrans inventJournalTrans;
InventJournalNameId inventJournalName;
InventDim inventDim;
JournalCheckPost journalCheckPost;
Name msg;
BW_MovementJournalContract movementJournalContract;
ListEnumerator listEnumerator = _movementJournalContractList.getEnumerator();
try
{
ttsBegin;
if (!_movementJournalContractList.empty())
{
inventJournalTable.clear();
inventJournalName = InventJournalName::standardJournalName(InventJournalType::Transfer);
inventJournalTable.initFromInventJournalName(InventJournalName::find(inventJournalName ));
inventJournalTable.insert();
while (listEnumerator.moveNext())
{
movementJournalContract = listEnumerator.current();
inventJournalTrans.clear();
inventJournalTrans.initFromInventJournalTable(inventJournalTable);
inventJournalTrans.TransDate = systemDateGet();
inventJournalTrans.ItemId = movementJournalContract.parmItemId();
inventJournalTrans.initFromInventTable(InventTable::find(movementJournalContract.parmItemId()));
inventJournalTrans.Qty = movementJournalContract.parmQty();
inventDim.InventSiteId = movementJournalContract.parmInventSiteId();
inventDim.InventLocationId = movementJournalContract.parmInventLocationId();
//inventDim.wMSLocationId = 'BULK-001';
inventJournalTrans.InventDimId = inventDim::findOrCreate(inventDim).inventDimId;
inventJournalTrans.insert();
}
msg = strFmt("Movement journal %1 is created", inventJournalTable.JournalId);
//The below code posts the journal
//journalCheckPost = InventJournalCheckPost::newPostJournal(inventJournalTable);
//journalCheckPost.run();
}
else
{
throw error('Error:Empty contract');
}
ttsCommit;
}
catch
{
msg = infolog.text(infologLine());
infolog.clear();
}
return msg;
}
}
{
[
SysEntryPointAttribute(true),
AifCollectionTypeAttribute('_movementJournalContractList',Types::Class,classStr(BW_MovementJournalContract)),
AifCollectionTypeAttribute('return',Types::String)
]
public str createJournal(List _movementJournalContractList)
{
InventJournalTable inventJournalTable;
InventJournalTrans inventJournalTrans;
InventJournalNameId inventJournalName;
InventDim inventDim;
JournalCheckPost journalCheckPost;
Name msg;
BW_MovementJournalContract movementJournalContract;
ListEnumerator listEnumerator = _movementJournalContractList.getEnumerator();
try
{
ttsBegin;
if (!_movementJournalContractList.empty())
{
inventJournalTable.clear();
inventJournalName = InventJournalName::standardJournalName(InventJournalType::Transfer);
inventJournalTable.initFromInventJournalName(InventJournalName::find(inventJournalName ));
inventJournalTable.insert();
while (listEnumerator.moveNext())
{
movementJournalContract = listEnumerator.current();
inventJournalTrans.clear();
inventJournalTrans.initFromInventJournalTable(inventJournalTable);
inventJournalTrans.TransDate = systemDateGet();
inventJournalTrans.ItemId = movementJournalContract.parmItemId();
inventJournalTrans.initFromInventTable(InventTable::find(movementJournalContract.parmItemId()));
inventJournalTrans.Qty = movementJournalContract.parmQty();
inventDim.InventSiteId = movementJournalContract.parmInventSiteId();
inventDim.InventLocationId = movementJournalContract.parmInventLocationId();
//inventDim.wMSLocationId = 'BULK-001';
inventJournalTrans.InventDimId = inventDim::findOrCreate(inventDim).inventDimId;
inventJournalTrans.insert();
}
msg = strFmt("Movement journal %1 is created", inventJournalTable.JournalId);
//The below code posts the journal
//journalCheckPost = InventJournalCheckPost::newPostJournal(inventJournalTable);
//journalCheckPost.run();
}
else
{
throw error('Error:Empty contract');
}
ttsCommit;
}
catch
{
msg = infolog.text(infologLine());
infolog.clear();
}
return msg;
}
}
- add this service class to service object (add method in service operations which is required)
- add service object to service Group (auto deploy should be yes in group property)
Sample URL :
https://devaos.cloudax.dynamics.com/soap/services/[ServiceGroupName]?wsdl
Note : We don't find any In bound ports in D365 environment like AX2012
No comments:
Post a Comment