Hello,
I want to modify the standard report "InventOnHand"
I want to add new column in this report.
1. I add new class extension of standard class"inventOnHandDP"
2. i add new method in this class "processReport" and insertTmpTable.
[ExtensionOf(classStr(InventOnhandDP))]
final public class ILBInventOnHandDP_Extension
{
private void insertTmpTableCus(InventSum _inventSum, InventDim _inventDim)
{
ILBReleasedProductMaterial ilbReleasedProductMaterial;
InventOnhandTmp inventOnHandSelected;
InventIAvailability inventAvailability = InventAvailabilityProvider::findBySumDim(_inventSum, _inventDim).parmInventAvailability();
while select MaterialDesc from ilbReleasedProductMaterial where ilbReleasedProductMaterial.ProductNumber == _inventSum.ItemId
{
select RecId from inventOnHandSelected where inventOnHandSelected.ItemId == _inventSum.ItemId
&& inventOnHandSelected.MaterialDescription == ilbReleasedProductMaterial.MaterialDesc;
if(!inventOnHandSelected)
{
inventOnhandTmp.ItemId = _inventSum.ItemId;
inventOnhandTmp.MaterialDescription = ilbReleasedProductMaterial.MaterialDesc;
inventOnhandTmp.Deducted = _inventSum.Deducted;
inventOnhandTmp.Ordered = inventAvailability.ordered();
inventOnhandTmp.PostedQty = _inventSum.PostedQty;
inventOnhandTmp.Received = _inventSum.Received;
inventOnhandTmp.AvailOrdered = inventAvailability.availTotal();
inventOnhandTmp.AvailPhysical = inventAvailability.availPhysical();
inventOnhandTmp.ReservOrdered = inventAvailability.reservOrdered();
inventOnhandTmp.ReservPhysical = inventAvailability.reservPhysical();
// Fields might not have been selected on the specified buffers, or might have been updated since selection
_inventDim.checkInvalidFieldAccess(false);
inventOnhandTmp.InventDimFieldsMap::initAllDimensionsFrom(_inventDim);
inventOnhandTmp.insert();
}
}
}
///
/// Processes the report business logic.
///
///
/// 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 .
///
public void processReportCus()
{
InventDim inventDim;
InventDimParm inventDimParmCriteria;
InventDimViewContract dimContract = this.parmDataContract() as InventDimViewContract;
InventDimParm inventDimParm = dimContract.parmInventDimParm();
inventDimParm.ItemIdFlag = NoYes::Yes;
inventDimParmCriteria.ClosedFlag = NoYes::No;
Query query = InventSum::newQuery(this.parmQuery(), '', null, inventDimParmCriteria, inventDimParm);
QueryRun queryRun = new QueryRun(query);
inventOnhandTmp.setConnection(this.parmUserConnection());
while (queryRun.next())
{
InventSum inventSum = queryRun.get(tableNum(InventSum));
if (InventTable::find(inventSum.ItemId).inventItemType().mustInventBeControlled())
{
inventDim = queryRun.get(tableNum(InventDim));
}
if (!InventTable::find(inventSum.ItemId).inventItemType().isServiceItem())
{
this.insertTmpTableCus(inventSum, inventDim);
inventDim.clear();
}
}
}
}
3. I duplicate the report "inventOnHand"
4. I want to modify the precision design, But I don't find it

How can I modify this table to add new column in report.