How to calculate On Hand Inventory Per Day

How to calculate On Hand Inventory Per Day


class KK_OnHandPerDay
{       
    /// <summary>
    /// Runs the class with the specified arguments.
    /// </summary>
    /// <param name = "_args">The specified arguments.</param>
    public static void main(Args _args)
    {       
        ItemId itemId;
        InventTrans inventTrans;
        InventDim inventDimCriteria, inventDimLoc;
        InventDimParm inventDimParm;
        InventSumDateDim inventSumDateDim;
        TransDate start, finish;
        int c;
        int onHandTotal;
        InventLocationId inventLocationIdLoc;

        start = str2date("6/24/2019", 213);//3/12/2019
        finish = str2date("6/25/2019", 213);//3/30/2019
        onHandTotal = 0;
        while(start != finish)
        {
            c++;
            //itemId = "00012B";
            itemId = "BOMRM2";
            while select inventTrans where inventTrans.ItemId == itemId
            {
                info(strFmt("ItemId-> %1--- InventDimId-> %2",inventTrans.ItemId, inventTrans.inventDimId));
                while select inventDimLoc where inventDimLoc.inventDimId == inventTrans.inventDimId
                {
                    info(strFmt("InventDimId-> %1--- InventLocationId-> %2", inventDimLoc.inventDimId,inventDimLoc.InventLocationId));
                    inventLocationIdLoc = inventDimLoc.InventLocationId;
                    inventDimCriteria.InventLocationId = inventLocationIdLoc;
                    info(strFmt("inventLocationIdLoc -> %1", inventLocationIdLoc));
                    inventDimParm.initFromInventDim(inventDimCriteria);
                    inventSumDateDim =
                        InventSumDateDim::newParameters(start,
                        itemId,
                        inventDimCriteria,
                        inventDimParm);

                    info(strfmt("Date: %1 on hand: %2", start, num2str(inventSumDateDim.postedQty() + inventSumDateDim.receivedQty() - inventSumDateDim.deductedQty(), 0, 2, 1, 1)));
                    info(strFmt("postedQty -%1 receivedQty -%2 deductedQty -%3",inventSumDateDim.postedQty(), inventSumDateDim.receivedQty(), inventSumDateDim.deductedQty()));
                    onHandTotal += (inventSumDateDim.postedQty() + inventSumDateDim.receivedQty() - inventSumDateDim.deductedQty());
                }
            }

            start += 1;
        }
        info(strfmt("Avg on hand per year: %1", onHandTotal / 365));

    }

}

Comments

Popular posts from this blog

How to Calculate Planned Purchase Order

How to Calculate Purch Totals in purchase order's Totals Form