Hi, Friends
I would Like to display the Order salesId in the transfer Report InventTransferOrderOverview
and I have added tow tables ProdTable and SalesTable to the query InventTransferOrderOverview
as the following :
![]()
And I have modified the class InventTransferOrderOverviewDP
the two lines writen by red clour
/// Inserts data into the temporary table.
/// </summary>
/// <param name="_inventTrans">
/// The table buffer of the <c>InventTrans</c> table.
/// </param>
/// <param name="_inventDim">
/// The table buffer of the <c>inventDim</c> table.
/// </param>
/// <param name="_inventTransferLine">
/// The table buffer of the <c>inventTransferLine</c> table.
/// </param>
/// <param name="_inventTransferTable">
/// The table buffer of the <c>inventTransferTable</c> table.
/// </param>
private void insertTmpTable(
InventTrans _inventTrans,
InventDim _inventDim,
InventTransferLine _inventTransferLine,
InventTransferTable _inventTransferTable,
ProdTable _prodTable
)
{
inventTransferOrderOverviewTmp.SalesId = _prodTable.modSalesIdRef;
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();
}
the second class that I have modified the following class:
/// <summary>
/// Processes the report business logic.
/// </summary>
/// <remarks>
/// Provides the ability to write the report business logic. This method will be called by at runtime.
/// The method should compute data and populate the data tables that will be returned to .
/// </remarks>
[SysEntryPointAttribute]
public void processReport()
{
InventTransOriginId inventTransOriginId;
QueryRun queryRun;
boolean isRecordAdded;
InventTransferTable inventTransferTable;
InventDim inventDim;
InventTransferLine inventTransferLine;
InventTrans inventTrans;
ProdTable prodTable;
SalesTable salesTable;
InventTransferOrderOverviewContract contract = this.parmDataContract() as InventTransferOrderOverviewContract;
queryRun = new QueryRun(this.parmQuery());
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,prodTable);
isRecordAdded = true;
}
}
if (!isRecordAdded)
{
inventDim = inventTransferLine.inventDim();
this.insertTmpTable(null, inventDim, inventTransferLine, inventTransferTable,null);
}
}
}
}
But I am getting no data found message and part of the transfer does not have saleorde becuse it enternal transfer it not asles order transer and some of the transfer is related to the sales order that is production order
waiting for your valuable answer whe I have gone wrong can any one help me
Best regards Jamil Alshaibani