Developing the stock analysis report

The stock analysis custom report is developed in order to control the stock available in the warehouses. The report will show the stock items with their related current on-hand quantity. The current on-hand inventory must be classified according to the receiving date. The report should also show the time period as mentioned in the processing options, and the quantity related to the selected period. The report will show the record and calculate the total quantity according to the commodity.

Getting ready

You should install a fat client in order to use JD Edwards Object Management Workbench (OMW). Technical consultants should use the correct status for the development of new objects.

How to do it...

You should use the following technical specification in order to develop the stock analysis report. The following tables are used: F0101, F0111, F0006, F42021, F4101, F4108, and F4102. The developer should create the business view according to the report requirement:

  1. Fetch the field from F0111.NICK (F0111 table and NICK field) where F0111.AN8 = processing option 1, and F0101.ALPH where F0101.AN8 = processing option 1 by using the table design aid.
  2. Enter Stock Aging Analysis (report title).
  3. Print the "As of" and the description of the period will be entered in processing options 2 and 3.
  4. Read the Business Unit number from processing option 4 and pass it to F0006.MCU; print the description from F0006.DL01.
  5. Pass the Business Unit number from processing option 4 to F4102.MCU and get all the items that are based on their related F4102.PRP1 values. Pass F4102.PRP1 to F0005.KY (add seven spaces on the left for fetching the business unit code), where F0005.SY = 41 and F0005.RT = P1.
  6. Based on the condition mentioned in step 4, enter the Business Unit in processing option 4 to F4102.MCU and print F4102.LITM.
  7. For each item selected in step 6, pass F41021.LITM to F4101.LITM, and print F4101.DSC1 and F4101.DSC2.
  8. For each item selected in step 6, pass F41021.IMT to F4102.IMT and sum (F4102.PQOH) &" "& (pass F41021.IMT to F4101.IMT and get F4101.UOM1 then (pass F4101.UOM1 to F0005.KY (add seven spaces on the left) and print the description from F0005.DL01 where F0005.SY = 00 and F0005.RT = UM)).
  9. For each item selected in step 6, pass F41021.ITM to F4105.ITM and print F4105.UNCS, where F4105.LEDG = 02 and F4105.MCU = the business unit selected in step 4.
  10. Multiply Field 8 (Current Quantity) by Field 9 (Unit Cost).
  11. To print the report headings, the report should have two sections, Months and Years. Also, store processing option 2 in variable X and execute the following formula:

    In the Month section:

    While X != 1
    { Print X
    X-X-1
    Loop
    } Print X
    
  12. For the Years section, store processing option 3 in variable Y and print it in the column:
    Y-1, Y-2, Y-3, Y-4, Y-5
    
  13. For each item selected in field 6 (Item Number), get F4102.ITM; pass F4102.ITM and F4102.MCU to F41021.ITM and F4102.MCU. For each displayed row, if (PQOH >0), pass F41021.LOTN, F41021.ITM, F41021.MCU to F41021.LOTN, F4108.ITM, F4108.MCU, and get F4108.DLEJ.

    Compare the date in the DLEJ field with the combination of processing options 2 and 3. If DLEJ year value = processing option 3 value, then show it (F41021.PQOH) and ((F41021.PQOH) * field 9 (Unit Price)) in the Month section in the proper X value.

    If DLEJ year value ! = processing option 3 value, and then show it in the Year section in the proper Y value.

How to do it...

Note

AN8 stores Address Book Number and ALPH stores the Address Book Name.

How it works...

It is required to do the programming on OMW based on the given specification. The system generates the following code, which can be modified. In the Initialize Section, you will initialize the variable and in the Do Section you will do the main coding:

=====================================================================
SECTION: STOCK AGING ANALYSIS [GROUP SECTION] ()
=====================================================================
OBJECT: SECTION
EVENT: Initialize Section
-----------------------------------------------------------------------
0001 Set Selection Append Flag( <Yes>)
0002 If PO Company_CO is not equal to <Blank>
0003 Set User Selection(BC Company (F0006) (CO), <Equal To>, PO Company_CO, <And>)
0004 Else
0005 End If
0006 If PO CostCenter_MCU is not equal to <Blank>
0007 Set User Selection(BC Business Unit (F0006) (MCU), <Equal To>, PO CostCenter_MCU, <None>)
0008 End If
0009 //
0010 If PO YearOrMonth_FLAG is not equal to "M"
0011 Stop Section Processing
0012 Else
0013 End If
---------------------------------------------------------------------
EVENT: Do Section
---------------------------------------------------------------------
evt_CenturyFiscalYear_CFY
evt_LotEffectivityDate_DLEJ
evt_LotCenturyFiscalYear_CFY
evt_LotPeriodNo_PN
evt_LedgType_LEDG
evt_AmountUnitCost_UNCS
0001 //
0002 // §§§ Fetching Lot date, F4108
0003 F4108.Fetch Single
BC Lot/Serial Number (F41021) = TK Lot/Serial Number
BC Business Unit (F0006) = TK Business Unit
BC Item Number - Short (F4102) = TK Item Number - Short
VA evt_LotEffectivityDate_DLEJ <- TK Lot Effectivity Date
0004 // §§§- Fetching Lot date, F4108
0005 //
0006 // Unit Cost, F4105
0007 VA evt_LedgType_LEDG = "02"
0008 F4105.Fetch Single
BC Item Number - Short (F4102) = TK Item Number - Short
BC Business Unit (F0006) = TK Business Unit
VA evt_LedgType_LEDG = TK Cost Method
VA evt_AmountUnitCost_UNCS <- TK Amount - Unit Cost
0011 // Current Value
0012 RV CurrValue_MATH01 = BC Quantity on Hand - Primary units (F41021)*VA evt_AmountUnitCost_UNCS
0013 //
0014 VA evt_CenturyFiscalYear_CFY = concat(PO Century_CTRY,PO FiscalYear_FY)
0015 VA evt_LotCenturyFiscalYear_CFY = date_year(VA evt_LotEffectivityDate_DLEJ)
0016 VA evt_LotPeriodNo_PN = date_month(VA evt_LotEffectivityDate_DLEJ)
0017 //
0018 // §§§ January seperating QTY and VALUE
0019 If VA evt_LotPeriodNo_PN is equal to "1" And VA evt_LotPeriodNo_PN is less than or equal to PO PeriodNo_PN And VA evt_CenturyFiscalYear_CFY is equal to VA evt_LotCenturyFiscalYear_CFY
0020 RV Month01Qty_PQOH = BC Quantity on Hand - Primary units (F41021)
0021 RV Month01Value_MATH01 = VA evt_AmountUnitCost_UNCS*BC Quantity on Hand - Primary units (F41021)
0022 Else
0023 End If
0024 // §§§- January seperating QTY and VALUE
0025 //
0026 // §§§ Febuary seperating QTY and VALUE
0027 If VA evt_LotPeriodNo_PN is equal to "2" And VA evt_LotPeriodNo_PN is less than or equal to PO PeriodNo_PN And VA evt_CenturyFiscalYear_CFY is equal to VA evt_LotCenturyFiscalYear_CFY
0028 RV Month02Qty_PQOH = BC Quantity on Hand - Primary units (F41021)
0029 RV Month02Value_MATH01 = VA evt_AmountUnitCost_UNCS*BC Quantity on Hand - Primary units (F41021)
0030 Else
0031 End If
0032 // §§§- Febuary seperating QTY and VALUE
0033 //
0034 // §§§ March seperating QTY and VALUE
0035 If VA evt_LotPeriodNo_PN is equal to "3" And VA evt_LotPeriodNo_PN is less than or equal to PO PeriodNo_PN And VA evt_CenturyFiscalYear_CFY is equal to VA evt_LotCenturyFiscalYear_CFY
0036 RV Month03Qty_PQOH = BC Quantity on Hand - Primary units (F41021)
0037 RV Month03Value_MATH01 = VA evt_AmountUnitCost_UNCS*BC Quantity on Hand - Primary units (F41021)
0038 Else
0039 End If

Note

This code is not complete as it covers only the main areas where you initialize the variable and where you must do the main coding under the Do Section.

There's more…

The following processing options need to be defined:

  • Company Address Book Number (AN8)
  • Period number (PN), if left blank, then current month
  • Year Number (FY), if left blank, then current year
  • Business Unit, if left blank, then all

See also

  • Reconciliation of the item ledger with the account ledger report
..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset