Hi Crispin
This is the modification I did to the two methods as the following:
[SysEntryPointAttribute]
public void processReport()
{
InventTransOriginId inventTransOriginId;
QueryRun queryRun;
boolean isRecordAdded;
InventTransferTable inventTransferTable;
InventDim inventDim;
InventTransferLine inventTransferLine;
InventTrans inventTrans;
ProdTable prodTable;
SalesTable salesTable;
SalesLine salesLine;
InventTransferOrderOverviewContract contract = this.parmDataContract() as InventTransferOrderOverviewContract;
queryRun = new QueryRun(this.parmQuery());
//
select salesLine where salesLine.InventRefType == 7 && salesLine.InventRefId == inventTransferTable.TransferId;
//
while(queryRun.next())
{
inventTransferLine = queryRun.get(tableNum(InventTransferLine));
if (inventTransferLine.TableId == tableNum(InventTransferLine))
{
inventTransferTable = queryRun.get(tableNum(InventTransferTable));
inventTransOriginId = InventTransOrigin::findByInventTransId(inventTransferLine.InventTransId).RecId;
isRecordAdded = false;
if (contract.parmShowReservation())
{
while select inventTrans
where inventTrans.InventTransOrigin == inventTransOriginId &&
inventTrans.StatusIssue >= StatusIssue::Sold &&
inventTrans.StatusIssue <= StatusIssue::ReservOrdered &&
inventTrans.StatusReceipt == StatusReceipt::None
{
inventDim = InventDim::find(inventTrans.InventDimId);
this.insertTmpTable(inventTrans, inventDim, inventTransferLine, inventTransferTable,salesLine);
isRecordAdded = true;
}
}
if (!isRecordAdded)
{
inventDim = inventTransferLine.inventDim();
this.insertTmpTable(null, inventDim, inventTransferLine, inventTransferTable,salesLine);
}
}
}
}
======================================================================
private void insertTmpTable(
InventTrans _inventTrans,
InventDim _inventDim,
InventTransferLine _inventTransferLine,
InventTransferTable _inventTransferTable,
SalesLine _salesLine
)
{
inventTransferOrderOverviewTmp.SalesId = _salesLine.SalesId;
inventTransferOrderOverviewTmp.StatusIssue = _inventTrans.StatusIssue;
inventTransferOrderOverviewTmp.TransferId = _inventTransferLine.TransferId;
inventTransferOrderOverviewTmp.ItemId = _inventTransferLine.ItemId;
inventTransferOrderOverviewTmp.InventLocationIdFrom = _inventTransferTable.InventLocationIdFrom;
inventTransferOrderOverviewTmp.Quantity = _inventTrans.Qty;
inventTransferOrderOverviewTmp.QtyTransfer = _inventTransferLine.QtyTransfer;
inventTransferOrderOverviewTmp.QtyShipped = _inventTransferLine.QtyShipped;
inventTransferOrderOverviewTmp.QtyShipNow = _inventTransferLine.QtyShipNow;
inventTransferOrderOverviewTmp.ShipDate = _inventTransferLine.ShipDate;
inventTransferOrderOverviewTmp.InventLocationIdTo = _inventTransferTable.InventLocationIdTo;
inventTransferOrderOverviewTmp.ShipDate = _inventTransferTable.ShipDate;
inventTransferOrderOverviewTmp.ReceiveDate = _inventTransferTable.ReceiveDate;
inventTransferOrderOverviewTmp.TransferStatus = _inventTransferTable.TransferStatus;
inventTransferOrderOverviewTmp.LocationNameFrom = _inventTransferTable.locationNameFrom();
inventTransferOrderOverviewTmp.LocationNameTo = _inventTransferTable.locationNameTo();
inventTransferOrderOverviewTmp.ItemName = _inventTransferLine.itemName();
inventTransferOrderOverviewTmp.InventDimFieldsMap::initAllDimensionsFrom(_inventDim);
//added by azeem pit
inventTransferOrderOverviewTmp.InventColorName = _inventTransferLine.ItemColorName;
inventTransferOrderOverviewTmp.InventShapeNumber = _inventTransferLine.ItemShapeNumber;
inventTransferOrderOverviewTmp.modVolumeM3Total = (modGlobal::modVolumeM3(_inventTransferLine.ItemId,_inventTransferLine.inventDim())) * _inventTransferLine.QtyTransfer;
//
inventTransferOrderOverviewTmp.insert();
}
Best Regards
Jamil Alshaibani