Thanks for responding!
I am using the following code to create and ship a transfer order till picking status. The data is inserting into to th InventTransferLine table, but it still keeps showing the error of No lines for posting error. Kindly look into it, and help me resolve it :
public static void CreateTransferOrder(ItemId item, InventLocationId fromloc, InventLocationId toloc, inventDimId DimId)
{
InventSum inventSum;
InventQtyAvailPhysicalDim qty_ship;
inventTransferTable inventTransferTable;
inventTransferLine inventTransferLine;
numberSequenceReference numberSequenceReference;
InventTransferParmTable invTransParmTbl;
numberSeq numberSeq;
InventTransferUpdShip inventTransferUpdShip;
;
inventSum = InventSum::find(item, DimId, false);
qty_ship = inventSum.AvailPhysical;
ttsBegin;
inventTransferTable.clear();
inventTransferTable.initValue();
numberSequenceReference = InventParameters::numRefTransferId();
numberSeq = numberSeq::newGetNumFromCode(numberSequenceReference.numberSequenceTable().NumberSequence);
inventTransferTable.TransferId = numberSeq.num();
inventTransferTable.InventLocationIdFrom = fromloc;
inventTransferTable.modifiedField(fieldNum(InventTransferTable,InventLocationIdFrom));
inventTransferTable.InventLocationIdTo = toloc;
inventTransferTable.modifiedField(fieldNum(InventTransferTable,InventLocationIdTo));
inventTransferTable.TransferStatus = InventTransferStatus::Created;
inventTransferTable.insert();
ttsCommit;
ttsBegin;
inventTransferLine.clear();
inventTransferLine.initFromInventTransferTable(inventTransferTable,NoYes::Yes);
inventTransferLine.ItemId = item;
inventTransferLine.initFromInventTable(InventTable::find(item));
inventTransferLine.QtyTransfer = qty_ship;
inventTransferLine.QtyShipNow = 5;
inventTransferLine.QtyReceiveNow = 5;
inventTransferLine.LineNum = 1;
inventTransferLine.insert();
info(strFmt("@SHA179" , inventTransferTable.TransferId ));
ttsCommit;
invTransParmTbl.TransferId = inventTransferTable.TransferId;
invTransParmTbl.EditLines = true;
invTransParmTbl.AutoReceiveQty = true;
invTransParmTbl.UpdateType = InventTransferUpdateType::Shipment;
invTransParmTbl.ExplodeLines = NoYes::Yes;
invTransParmTbl.TransDate = today(); //shipment date
invTransParmTbl.InventDimFixedReceiveList = 0;
invTransParmTbl.PickUpdateQty = InventTransferPickUpdateQty::All;
invTransParmTbl.TransDate = systemDateGet();
inventTransferUpdShip = InventTransferUpdShip::newParmBuffer(invTransParmTbl);
inventTransferUpdShip.run();
P.S The transfer order does gets created