<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: rerarding selection screen in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/rerarding-selection-screen/m-p/2572791#M587629</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;U can display matnr and material group corresponding to the plant entered by selecting the matnr and material group for entered plant in AT SELECTION SCREEN ON VALUE REQUEST EVENT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Check below program...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT  Z_PURMATERIAL_ANALYSIS                          .&lt;/P&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Report       : Z_PURMATERIAL_ANALYSIS                               *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Author       : AREEVES                                              *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Date Written : 16.07.2007                                           *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Requested by : Jeanette                                             *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Description  : This report to pick up required data of materials to *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;analyze purchasing performance and monitoring of stock and spend    *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;levels of the materials in the given date range for the invoice type*&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;'ZF2'                                                               *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Program Specifications:                                             *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Mod date    Programmer          Reference   Description             *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;16/07/2007  AREEVES             EPUK903024  Initial Development     *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Tables statement                                                    *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;P&gt;TABLES:&lt;/P&gt;&lt;P&gt;  KNVH,                                " Customer Hierarchy&lt;/P&gt;&lt;P&gt;  MARA,                                " Material Master&lt;/P&gt;&lt;P&gt;  SSCRFIELDS.                          " Fields on selection screens&lt;/P&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Structure declarations                                              *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Structure for Corporate&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DATA:&lt;/P&gt;&lt;P&gt;  BEGIN OF FS_CORP,&lt;/P&gt;&lt;P&gt;    KUNNR TYPE KNA1-KUNNR,             " Corporate&lt;/P&gt;&lt;P&gt;  END OF FS_CORP,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Structure for Soldto&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  BEGIN OF FS_SOLDTO,&lt;/P&gt;&lt;P&gt;    SOLDTO TYPE KNA1-KUNNR,            " Sold To Party&lt;/P&gt;&lt;P&gt;    HKUNNR TYPE KNVH-HKUNNR,           " Higher level customer&lt;/P&gt;&lt;P&gt;  END OF FS_SOLDTO,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Billing Document header&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  BEGIN OF FS_VBRK,&lt;/P&gt;&lt;P&gt;    VBELN TYPE VBRK-VBELN,             " Billing Document&lt;/P&gt;&lt;P&gt;    WAERK TYPE VBRK-WAERK,             " Doc Currency&lt;/P&gt;&lt;P&gt;    FKDAT TYPE VBRK-FKDAT,             " Billing Document date&lt;/P&gt;&lt;P&gt;  END OF FS_VBRK,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Invoice list orders&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  BEGIN OF FS_VBFA,&lt;/P&gt;&lt;P&gt;    VBELN TYPE VBFA-VBELN,             " Billing Document&lt;/P&gt;&lt;P&gt;  END OF FS_VBFA,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Item data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  BEGIN OF FS_ITEM,&lt;/P&gt;&lt;P&gt;    MATNR TYPE VBRP-MATNR,             " Material&lt;/P&gt;&lt;P&gt;    MATKL TYPE VBRP-MATKL,             " Material Group&lt;/P&gt;&lt;P&gt;    FKDAT TYPE VBRK-FKDAT,             " Billing date&lt;/P&gt;&lt;P&gt;    FKIMG TYPE VBRP-FKIMG,             " Usage&lt;/P&gt;&lt;P&gt;    WAVWR TYPE VBRP-NETWR,             " Cost&lt;/P&gt;&lt;P&gt;    NETWR TYPE VBRP-NETWR,             " Sell value&lt;/P&gt;&lt;P&gt;  END OF FS_ITEM,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Material Data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  BEGIN OF FS_MARA,&lt;/P&gt;&lt;P&gt;    MATNR TYPE MARA-MATNR,             " Material&lt;/P&gt;&lt;P&gt;    LVORM TYPE MARA-LVORM,             " Deletion Flag&lt;/P&gt;&lt;P&gt;    MEINS TYPE MARA-MEINS,             " UOM&lt;/P&gt;&lt;P&gt;    BSTME TYPE MARA-BSTME,             " Other Unit&lt;/P&gt;&lt;P&gt;    PRDHA TYPE MARA-PRDHA,             " Prodh Hierarchy&lt;/P&gt;&lt;P&gt;    KZUMW TYPE MARA-KZUMW,             " Environment&lt;/P&gt;&lt;P&gt;  END OF FS_MARA,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Material Description&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  BEGIN OF FS_MAKT,&lt;/P&gt;&lt;P&gt;    MATNR TYPE MARA-MATNR,             " Material&lt;/P&gt;&lt;P&gt;    MAKTX TYPE MAKT-MAKTX,             " Material Description&lt;/P&gt;&lt;P&gt;  END OF FS_MAKT,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Sales Data for Material&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  BEGIN OF FS_MVKE,&lt;/P&gt;&lt;P&gt;    MATNR TYPE MVKE-MATNR,             " Material&lt;/P&gt;&lt;P&gt;    MTPOS TYPE MVKE-MTPOS,             " Category&lt;/P&gt;&lt;P&gt;    MVGR1 TYPE MVKE-MVGR1,             " Material Grp1&lt;/P&gt;&lt;P&gt;    MVGR2 TYPE MVKE-MVGR2,             " Material Grp2&lt;/P&gt;&lt;P&gt;  END OF FS_MVKE,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MRP Controller&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  BEGIN OF FS_MARC,&lt;/P&gt;&lt;P&gt;    MATNR TYPE MARC-MATNR,             " Material&lt;/P&gt;&lt;P&gt;    DISPO TYPE MARC-DISPO,             " Category&lt;/P&gt;&lt;P&gt;  END OF FS_MARC,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Moving AVG price&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  BEGIN OF FS_MBEW,&lt;/P&gt;&lt;P&gt;    MATNR TYPE MARA-MATNR,             " Material&lt;/P&gt;&lt;P&gt;    VERPR TYPE MBEW-VERPR,             " Moving AVG Price&lt;/P&gt;&lt;P&gt;  END OF FS_MBEW,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Product Supercession code&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  BEGIN OF FS_SCODE,&lt;/P&gt;&lt;P&gt;    MATNR TYPE MARA-MATNR,             " Substitute Material&lt;/P&gt;&lt;P&gt;    MATWA TYPE MARA-MATNR,             " Material&lt;/P&gt;&lt;P&gt;  END OF FS_SCODE,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Purchase Order data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  BEGIN OF FS_PODAT,&lt;/P&gt;&lt;P&gt;    MATNR  TYPE EINA-MATNR,            " Material&lt;/P&gt;&lt;P&gt;    DATLB  TYPE EINE-DATLB,            " Purchase Order date&lt;/P&gt;&lt;P&gt;    POOUT  TYPE EKPO-MENGE,            " Out standing qty&lt;/P&gt;&lt;P&gt;    POQTY  TYPE EKBE-MENGE,            " PO qty&lt;/P&gt;&lt;P&gt;    POCOST TYPE EKPO-NETWR,            " PO cost&lt;/P&gt;&lt;P&gt;  END OF FS_PODAT,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Info record&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  BEGIN OF FS_KONP,&lt;/P&gt;&lt;P&gt;    MATNR TYPE A017-MATNR,             " Material&lt;/P&gt;&lt;P&gt;    LIFNR TYPE A017-LIFNR,             " Vendor&lt;/P&gt;&lt;P&gt;    KBETR TYPE KONP-KBETR,             " Rate&lt;/P&gt;&lt;P&gt;    KONWA TYPE KONP-KONWA,             " Currency&lt;/P&gt;&lt;P&gt;  END OF FS_KONP,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Min and Max values&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  BEGIN OF FS_MARD,&lt;/P&gt;&lt;P&gt;    MATNR  TYPE MARD-MATNR,            " Material&lt;/P&gt;&lt;P&gt;    MINQTY TYPE MARD-LABST,            " Minimum val&lt;/P&gt;&lt;P&gt;    MAXQTY TYPE MARD-LABST,            " Maximum val&lt;/P&gt;&lt;P&gt;  END OF FS_MARD,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Six months used stock&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  BEGIN OF FS_FUSTOCK,&lt;/P&gt;&lt;P&gt;    MATNR  TYPE MARA-MATNR,            " Material&lt;/P&gt;&lt;P&gt;    MATKL  TYPE VBRP-MATKL,            " Material Group&lt;/P&gt;&lt;P&gt;    MON1   TYPE VBRP-FKIMG,            " First Month&lt;/P&gt;&lt;P&gt;    MON2   TYPE VBRP-FKIMG,            " Second Month&lt;/P&gt;&lt;P&gt;    MON3   TYPE VBRP-FKIMG,            " Third Month&lt;/P&gt;&lt;P&gt;    MON4   TYPE VBRP-FKIMG,            " Fourth Month&lt;/P&gt;&lt;P&gt;    MON5   TYPE VBRP-FKIMG,            " Fifth Month&lt;/P&gt;&lt;P&gt;    MON6   TYPE VBRP-FKIMG,            " Sixth Month&lt;/P&gt;&lt;P&gt;    SFKIMG TYPE VBRP-FKIMG,            " Six Months&lt;/P&gt;&lt;P&gt;    YFKIMG TYPE VBRP-FKIMG,            " Year Total&lt;/P&gt;&lt;P&gt;    SNETWR TYPE VBRP-NETWR,            " Six Months&lt;/P&gt;&lt;P&gt;    YNETWR TYPE VBRP-NETWR,            " Year Total&lt;/P&gt;&lt;P&gt;    SWAVWR TYPE VBRP-NETWR,            " Six Months&lt;/P&gt;&lt;P&gt;    YWAVWR TYPE VBRP-NETWR,            " Year Total&lt;/P&gt;&lt;P&gt;  END OF FS_FUSTOCK,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Months&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  BEGIN OF FS_MONTH,&lt;/P&gt;&lt;P&gt;    MONTH(2) TYPE N,                   " Month&lt;/P&gt;&lt;P&gt;    YEAR(4)  TYPE C,                   " Year&lt;/P&gt;&lt;P&gt;  END OF FS_MONTH,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Month names&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  BEGIN OF FS_MNAME,&lt;/P&gt;&lt;P&gt;    MONTH(2) TYPE N,                   " Month&lt;/P&gt;&lt;P&gt;    TXT(3)   TYPE C,                   " Text&lt;/P&gt;&lt;P&gt;  END OF FS_MNAME,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Final Table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  BEGIN OF FS_FINAL,&lt;/P&gt;&lt;P&gt;    MATNR  TYPE MARA-MATNR,            " Material&lt;/P&gt;&lt;P&gt;    MAKTX  TYPE MAKT-MAKTX,            " Desc&lt;/P&gt;&lt;P&gt;    MTPOS  TYPE MVKE-MTPOS,            " Category&lt;/P&gt;&lt;P&gt;    MATKL  TYPE MARA-MATKL,            " Material group&lt;/P&gt;&lt;P&gt;    PRDHA1 TYPE MARA-PRDHA,            " Product Heirarchy1&lt;/P&gt;&lt;P&gt;    PRDHA2 TYPE MARA-PRDHA,            " Product Heirarchy2&lt;/P&gt;&lt;P&gt;    KZUMW  TYPE MARA-KZUMW,            " Environment&lt;/P&gt;&lt;P&gt;    MVGR1  TYPE MVKE-MVGR1,            " Material Group1&lt;/P&gt;&lt;P&gt;    MVGR2  TYPE MVKE-MVGR2,            " Material Group2&lt;/P&gt;&lt;P&gt;    DISPO  TYPE MARC-DISPO,            " MRP Controller&lt;/P&gt;&lt;P&gt;    BSTME  TYPE MARA-BSTME,            " Purchase Unit&lt;/P&gt;&lt;P&gt;    KBETR  TYPE KONP-KBETR,            " Cost Info&lt;/P&gt;&lt;P&gt;    KONWA  TYPE KONP-KONWA,            " Currency&lt;/P&gt;&lt;P&gt;    VERPR  TYPE MBEW-VERPR,            " Moving Avg Price&lt;/P&gt;&lt;P&gt;    LIFNR  TYPE A017-LIFNR,            " Current Vendor&lt;/P&gt;&lt;P&gt;    MON1   TYPE VBRP-FKIMG,            " Sixth Mon&lt;/P&gt;&lt;P&gt;    MON2   TYPE VBRP-FKIMG,            " Fifth Mon&lt;/P&gt;&lt;P&gt;    MON3   TYPE VBRP-FKIMG,            " Fourth Mon&lt;/P&gt;&lt;P&gt;    MON4   TYPE VBRP-FKIMG,            " Third Mon&lt;/P&gt;&lt;P&gt;    MON5   TYPE VBRP-FKIMG,            " Second Mon&lt;/P&gt;&lt;P&gt;    MON6   TYPE VBRP-FKIMG,            " Current Mon&lt;/P&gt;&lt;P&gt;    SFKIMG TYPE VBRP-FKIMG,            " Total 6 Mons&lt;/P&gt;&lt;P&gt;    YFKIMG TYPE VBRP-FKIMG,            " Year&lt;/P&gt;&lt;P&gt;    SNETWR TYPE VBRP-NETWR,            " Total 6 Mons&lt;/P&gt;&lt;P&gt;    YNETWR TYPE VBRP-NETWR,            " Year&lt;/P&gt;&lt;P&gt;    SWAVWR TYPE VBRP-NETWR,            " Total 6 Mons&lt;/P&gt;&lt;P&gt;    YWAVWR TYPE VBRP-NETWR,            " Year&lt;/P&gt;&lt;P&gt;    MINQTY TYPE MARD-LABST,            " Min Stock&lt;/P&gt;&lt;P&gt;    MAXQTY TYPE MARD-LABST,            " Max Stock&lt;/P&gt;&lt;P&gt;    MATWA  TYPE VBAP-MATWA,            " Material Entered&lt;/P&gt;&lt;P&gt;    DATLB  TYPE EINE-DATLB,            " PO date&lt;/P&gt;&lt;P&gt;    POQTY  TYPE EKPO-MENGE,            " PO qty&lt;/P&gt;&lt;P&gt;    POCOST TYPE EKPO-NETWR,            " PO cost&lt;/P&gt;&lt;P&gt;    POOUT  TYPE EKPO-MENGE,            " PO out standing&lt;/P&gt;&lt;P&gt;    LVORM  TYPE MARA-LVORM,            " Deletion flag&lt;/P&gt;&lt;P&gt;  END OF FS_FINAL,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Filed catalog&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  FS_FLDCAT  TYPE LVC_S_FCAT,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Layout in Grid&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  FS_LAYOUT  TYPE LVC_S_LAYO.&lt;/P&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Internal tables                                                     *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;P&gt;DATA:&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Corporates under division&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  T_CORP    LIKE STANDARD TABLE OF FS_CORP,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Sold to parties&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  T_SOLDTO  LIKE STANDARD TABLE OF FS_SOLDTO,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Billing Document header&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  T_VBRK    LIKE STANDARD TABLE OF FS_VBRK,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Invoice list orders&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  T_VBFA    LIKE STANDARD TABLE OF FS_VBFA,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Item data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  T_ITEM    LIKE STANDARD TABLE OF FS_ITEM,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Temp Item Data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  T_TITEM   LIKE STANDARD TABLE OF FS_ITEM,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Material Data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  T_MARA    LIKE STANDARD TABLE OF FS_MARA,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Material descriptions&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  T_MAKT    LIKE STANDARD TABLE OF FS_MAKT,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Sales Data for Material&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  T_MVKE    LIKE STANDARD TABLE OF FS_MVKE,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MRP Controller&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  T_MARC    LIKE STANDARD TABLE OF FS_MARC,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Moving AVG price&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  T_MBEW    LIKE STANDARD TABLE OF FS_MBEW,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Supercession code&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  T_SCODE   LIKE STANDARD TABLE OF FS_SCODE,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Purchase Order data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  T_PODAT   LIKE STANDARD TABLE OF FS_PODAT,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Info Record&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  T_KONP    LIKE STANDARD TABLE OF FS_KONP,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Min and Max stock values&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  T_MARD    LIKE STANDARD TABLE OF FS_MARD,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Used Stock&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  T_FUSTOCK LIKE STANDARD TABLE OF FS_FUSTOCK,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Months tables&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  T_MONTH   LIKE STANDARD TABLE OF FS_MONTH,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Month names&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  T_MNAME   LIKE STANDARD TABLE OF FS_MNAME,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Final table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  T_FINAL   LIKE STANDARD TABLE OF FS_FINAL,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Field Catalog table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  T_FLDCAT  TYPE LVC_T_FCAT.&lt;/P&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Data declarations and constants                                     *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;P&gt;DATA:&lt;/P&gt;&lt;P&gt;  W_CUSTOM_CONTAINER TYPE REF TO CL_GUI_CUSTOM_CONTAINER,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                     " Container class&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  W_GRID             TYPE REF TO CL_GUI_ALV_GRID,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                     " Grid class&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  W_MYCONTAINER      TYPE SCRFNAME     " Container Name&lt;/P&gt;&lt;P&gt;                     VALUE 'CONTAINER',&lt;/P&gt;&lt;P&gt;  W_OKCODE           TYPE SY-UCOMM,    " Ok Code&lt;/P&gt;&lt;P&gt;  W_DATE             TYPE SY-DATUM,    " Date&lt;/P&gt;&lt;P&gt;  W_VARIANT          TYPE DISVARIANT.  " Variant&lt;/P&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Constants                                                           *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Constants&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;CONSTANTS:&lt;/P&gt;&lt;P&gt;  C_HITYP TYPE KNVH-HITYP              " Customer hierarchy type&lt;/P&gt;&lt;P&gt;          VALUE 'E',&lt;/P&gt;&lt;P&gt;  C_VKORG TYPE KNVH-VKORG              " Sales Organization&lt;/P&gt;&lt;P&gt;          VALUE '1000',&lt;/P&gt;&lt;P&gt;  C_VTWEG TYPE KNVH-VTWEG              " Distribution channel&lt;/P&gt;&lt;P&gt;          VALUE '01',&lt;/P&gt;&lt;P&gt;  C_NOSYS TYPE C VALUE 'X',            " Non System generated&lt;/P&gt;&lt;P&gt;  C_WERKS TYPE WERKS VALUE '1000',     " Plant&lt;/P&gt;&lt;P&gt;  C_A     TYPE C VALUE 'A'.            " Constant 'A'&lt;/P&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Selection screen                                                    *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Parameters&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;PARAMETERS:&lt;/P&gt;&lt;P&gt;  P_DIV   TYPE  SPART OBLIGATORY,      " Division&lt;/P&gt;&lt;P&gt;  P_CORP  TYPE  KNVH-KUNNR OBLIGATORY. " Corporate&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Select options&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;SELECT-OPTIONS:&lt;/P&gt;&lt;P&gt;  S_MATGR FOR MARA-MATKL               " Material group&lt;/P&gt;&lt;P&gt;          NO INTERVALS NO-EXTENSION,&lt;/P&gt;&lt;P&gt;  S_DATE  FOR SY-DATUM,                " Date&lt;/P&gt;&lt;P&gt;  S_MATNR FOR MARA-MATNR NO-DISPLAY.   " Material&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN SKIP 1.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Optional Buttons&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Materials&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF BLOCK B2 WITH FRAME TITLE TEXT-002.&lt;/P&gt;&lt;P&gt;PARAMETERS:&lt;/P&gt;&lt;P&gt;  P_SYS    RADIOBUTTON GROUP RAD       " System generated materials&lt;/P&gt;&lt;P&gt;           USER-COMMAND SYS DEFAULT 'X',&lt;/P&gt;&lt;P&gt;  P_NOSYS  RADIOBUTTON GROUP RAD,      " Non-System generated materials&lt;/P&gt;&lt;P&gt;  P_SPR    RADIOBUTTON GROUP RAD,      " Spicer materials&lt;/P&gt;&lt;P&gt;  P_ALL    RADIOBUTTON GROUP RAD.      " All&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK B2.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF BLOCK B3 WITH FRAME TITLE TEXT-037.&lt;/P&gt;&lt;P&gt;PARAMETERS:&lt;/P&gt;&lt;P&gt; P_VARI  TYPE LTDX-VARIANT.            " Variant&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK B3.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK B1.&lt;/P&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Initialization                                                      *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;P&gt;INITIALIZATION.&lt;/P&gt;&lt;P&gt;  S_DATE-HIGH = SY-DATUM.&lt;/P&gt;&lt;P&gt;  S_DATE-LOW  = SY-DATUM.&lt;/P&gt;&lt;P&gt;  S_DATE-LOW&lt;EM&gt;0(4) = SY-DATUM&lt;/EM&gt;0(4) - 1.&lt;/P&gt;&lt;P&gt;  S_DATE-SIGN = 'I'.&lt;/P&gt;&lt;P&gt;  S_DATE-OPTION = 'BT'.&lt;/P&gt;&lt;P&gt;  APPEND S_DATE.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get Alpha numeric materials&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM APPEND_MATNR.&lt;/P&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;At Selection Screen events                                          *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN ON P_DIV.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Validate the Division&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM VALIDATE_DIV.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN ON P_CORP.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Validate the Corporate&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM VALIDATE_CORP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN ON S_MATGR.&lt;/P&gt;&lt;P&gt;  IF S_MATGR IS NOT INITIAL.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Validate the Material Group&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    PERFORM VALIDATE_MATGR.&lt;/P&gt;&lt;P&gt;  ENDIF.                               " IF S_MATGR&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN ON P_VARI.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Validates the display variant&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  IF P_VARI IS NOT INITIAL.&lt;/P&gt;&lt;P&gt;    PERFORM VALIDATE_VARIANT.&lt;/P&gt;&lt;P&gt;  ENDIF.                               " IF P_VARI IS NOT INITIAL&lt;/P&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;At Selection Screen on value request                                *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;F4 help for Corporate&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_CORP.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get Corporates for selected division&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM GET_CORP.&lt;/P&gt;&lt;P&gt;  PERFORM F4HELP_CORP.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;F4 help for variant&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_VARI.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;To get the existing values for the display variant&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM F4_ON_DISPLAY_VARIANT CHANGING P_VARI.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Start of Selection                                                  *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;P&gt;START-OF-SELECTION.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get the required data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM FETCH_REQUIREDDATA.&lt;/P&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;End of Selection                                                    *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;P&gt;END-OF-SELECTION.&lt;/P&gt;&lt;P&gt;  IF T_FUSTOCK[] IS NOT INITIAL.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Prepare Final data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    PERFORM PREPARE_FINALDATA.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Build field catalog&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    PERFORM PREPARE_FIELDCAT.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Display Data on grid&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    CALL SCREEN 100.&lt;/P&gt;&lt;P&gt;  ENDIF.                               " IF T_FUSTOCK[] IS..&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  APPEND_MATNR&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Fill select-option to get alpha numeric materials&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;There are no interface parameters to be passed to this routine&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM APPEND_MATNR .&lt;/P&gt;&lt;P&gt;  S_MATNR-OPTION = 'CP'.&lt;/P&gt;&lt;P&gt;  S_MATNR-SIGN = 'I'.&lt;/P&gt;&lt;P&gt;  S_MATNR-LOW = '&lt;STRONG&gt;A&lt;/STRONG&gt;'.&lt;/P&gt;&lt;P&gt;  APPEND S_MATNR.&lt;/P&gt;&lt;P&gt;  S_MATNR-LOW = '&lt;STRONG&gt;B&lt;/STRONG&gt;'.&lt;/P&gt;&lt;P&gt;  APPEND S_MATNR.&lt;/P&gt;&lt;P&gt;  S_MATNR-LOW = '&lt;STRONG&gt;C&lt;/STRONG&gt;'.&lt;/P&gt;&lt;P&gt;  APPEND S_MATNR.&lt;/P&gt;&lt;P&gt;  S_MATNR-LOW = '&lt;STRONG&gt;D&lt;/STRONG&gt;'.&lt;/P&gt;&lt;P&gt;  APPEND S_MATNR.&lt;/P&gt;&lt;P&gt;  S_MATNR-LOW = '&lt;STRONG&gt;E&lt;/STRONG&gt;'.&lt;/P&gt;&lt;P&gt;  APPEND S_MATNR.&lt;/P&gt;&lt;P&gt;  S_MATNR-LOW = '&lt;STRONG&gt;F&lt;/STRONG&gt;'.&lt;/P&gt;&lt;P&gt;  APPEND S_MATNR.&lt;/P&gt;&lt;P&gt;  S_MATNR-LOW = '&lt;STRONG&gt;G&lt;/STRONG&gt;'.&lt;/P&gt;&lt;P&gt;  APPEND S_MATNR.&lt;/P&gt;&lt;P&gt;  S_MATNR-LOW = '&lt;STRONG&gt;H&lt;/STRONG&gt;'.&lt;/P&gt;&lt;P&gt;  APPEND S_MATNR.&lt;/P&gt;&lt;P&gt;  S_MATNR-LOW = '&lt;STRONG&gt;I&lt;/STRONG&gt;'.&lt;/P&gt;&lt;P&gt;  APPEND S_MATNR.&lt;/P&gt;&lt;P&gt;  S_MATNR-LOW = '&lt;STRONG&gt;J&lt;/STRONG&gt;'.&lt;/P&gt;&lt;P&gt;  APPEND S_MATNR.&lt;/P&gt;&lt;P&gt;  S_MATNR-LOW = '&lt;STRONG&gt;K&lt;/STRONG&gt;'.&lt;/P&gt;&lt;P&gt;  APPEND S_MATNR.&lt;/P&gt;&lt;P&gt;  S_MATNR-LOW = '&lt;STRONG&gt;L&lt;/STRONG&gt;'.&lt;/P&gt;&lt;P&gt;  APPEND S_MATNR.&lt;/P&gt;&lt;P&gt;  S_MATNR-LOW = '&lt;STRONG&gt;M&lt;/STRONG&gt;'.&lt;/P&gt;&lt;P&gt;  APPEND S_MATNR.&lt;/P&gt;&lt;P&gt;  S_MATNR-LOW = '&lt;STRONG&gt;N&lt;/STRONG&gt;'.&lt;/P&gt;&lt;P&gt;  APPEND S_MATNR.&lt;/P&gt;&lt;P&gt;  S_MATNR-LOW = '&lt;STRONG&gt;O&lt;/STRONG&gt;'.&lt;/P&gt;&lt;P&gt;  APPEND S_MATNR.&lt;/P&gt;&lt;P&gt;  S_MATNR-LOW = '&lt;STRONG&gt;P&lt;/STRONG&gt;'.&lt;/P&gt;&lt;P&gt;  APPEND S_MATNR.&lt;/P&gt;&lt;P&gt;  S_MATNR-LOW = '&lt;STRONG&gt;Q&lt;/STRONG&gt;'.&lt;/P&gt;&lt;P&gt;  APPEND S_MATNR.&lt;/P&gt;&lt;P&gt;  S_MATNR-LOW = '&lt;STRONG&gt;R&lt;/STRONG&gt;'.&lt;/P&gt;&lt;P&gt;  APPEND S_MATNR.&lt;/P&gt;&lt;P&gt;  S_MATNR-LOW = '&lt;STRONG&gt;S&lt;/STRONG&gt;'.&lt;/P&gt;&lt;P&gt;  APPEND S_MATNR.&lt;/P&gt;&lt;P&gt;  S_MATNR-LOW = '&lt;STRONG&gt;T&lt;/STRONG&gt;'.&lt;/P&gt;&lt;P&gt;  APPEND S_MATNR.&lt;/P&gt;&lt;P&gt;  S_MATNR-LOW = '&lt;STRONG&gt;U&lt;/STRONG&gt;'.&lt;/P&gt;&lt;P&gt;  APPEND S_MATNR.&lt;/P&gt;&lt;P&gt;  S_MATNR-LOW = '&lt;STRONG&gt;V&lt;/STRONG&gt;'.&lt;/P&gt;&lt;P&gt;  APPEND S_MATNR.&lt;/P&gt;&lt;P&gt;  S_MATNR-LOW = '&lt;STRONG&gt;W&lt;/STRONG&gt;'.&lt;/P&gt;&lt;P&gt;  APPEND S_MATNR.&lt;/P&gt;&lt;P&gt;  S_MATNR-LOW = '&lt;STRONG&gt;X&lt;/STRONG&gt;'.&lt;/P&gt;&lt;P&gt;  APPEND S_MATNR.&lt;/P&gt;&lt;P&gt;  S_MATNR-LOW = '&lt;STRONG&gt;Y&lt;/STRONG&gt;'.&lt;/P&gt;&lt;P&gt;  APPEND S_MATNR.&lt;/P&gt;&lt;P&gt;  S_MATNR-LOW = '&lt;STRONG&gt;Z&lt;/STRONG&gt;'.&lt;/P&gt;&lt;P&gt;  APPEND S_MATNR.&lt;/P&gt;&lt;P&gt;ENDFORM.                               " APPEND_MATNR&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  VALIDATE_DIV&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Validate the division&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;There are no interface parameters to be passed to this routine&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM VALIDATE_DIV .&lt;/P&gt;&lt;P&gt;  DATA:&lt;/P&gt;&lt;P&gt;    LV_SPART TYPE SPART.               " Division&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  MOVE SY-UCOMM TO SSCRFIELDS-UCOMM.&lt;/P&gt;&lt;P&gt;  SELECT SINGLE SPART                  " Division&lt;/P&gt;&lt;P&gt;    FROM TSPA&lt;/P&gt;&lt;P&gt;    INTO LV_SPART&lt;/P&gt;&lt;P&gt;   WHERE SPART EQ P_DIV.&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC NE 0.&lt;/P&gt;&lt;P&gt;    CLEAR: SSCRFIELDS.&lt;/P&gt;&lt;P&gt;    MESSAGE E127(/ISDFPS/MM).&lt;/P&gt;&lt;P&gt;  ENDIF.                               " IF SY-SUBRC EQ 0&lt;/P&gt;&lt;P&gt;ENDFORM.                               " FORM VALIDATE_DIV&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  VALIDATE_CORP&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Validate the corporate&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;There are no interface parameters to be passed to this routine&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM VALIDATE_CORP .&lt;/P&gt;&lt;P&gt;  DATA:&lt;/P&gt;&lt;P&gt;    LV_KUNNR TYPE KNA1-KUNNR.          " Corporate&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CONSTANTS:&lt;/P&gt;&lt;P&gt;      LV_KTOKD LIKE KNA1-KTOKD         " Corporate Acc&lt;/P&gt;&lt;P&gt;               VALUE 'Z012'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECT SINGLE KUNNR                  " Customer Number&lt;/P&gt;&lt;P&gt;    FROM KNA1&lt;/P&gt;&lt;P&gt;    INTO LV_KUNNR&lt;/P&gt;&lt;P&gt;   WHERE KUNNR EQ P_CORP&lt;/P&gt;&lt;P&gt;     AND KTOKD EQ LV_KTOKD.&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC NE 0.&lt;/P&gt;&lt;P&gt;    CLEAR: SSCRFIELDS,LV_KUNNR.&lt;/P&gt;&lt;P&gt;    MESSAGE E100(RA) WITH TEXT-038.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    CLEAR LV_KUNNR.&lt;/P&gt;&lt;P&gt;    SELECT KUNNR                       " Customer Number&lt;/P&gt;&lt;P&gt;      UP TO 1 ROWS&lt;/P&gt;&lt;P&gt;      FROM KNVH&lt;/P&gt;&lt;P&gt;      INTO LV_KUNNR&lt;/P&gt;&lt;P&gt;     WHERE HITYP  EQ C_HITYP&lt;/P&gt;&lt;P&gt;       AND KUNNR  EQ P_CORP&lt;/P&gt;&lt;P&gt;       AND VKORG  EQ C_VKORG&lt;/P&gt;&lt;P&gt;       AND VTWEG  EQ C_VTWEG&lt;/P&gt;&lt;P&gt;       AND SPART  EQ P_DIV&lt;/P&gt;&lt;P&gt;       AND DATAB  LE SY-DATUM&lt;/P&gt;&lt;P&gt;       AND DATBI  GE SY-DATUM.&lt;/P&gt;&lt;P&gt;    ENDSELECT.                         " SELECT KUNNR&lt;/P&gt;&lt;P&gt;    IF SY-SUBRC NE 0.&lt;/P&gt;&lt;P&gt;      CLEAR: SSCRFIELDS.&lt;/P&gt;&lt;P&gt;      MESSAGE E531(0U) WITH TEXT-003.&lt;/P&gt;&lt;P&gt;    ENDIF.                             " IF SY-SUBRC NE 0&lt;/P&gt;&lt;P&gt;  ENDIF.                               " IF SY-SUBRC NE 0&lt;/P&gt;&lt;P&gt;ENDFORM.                               " VALIDATE_CORP&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  VALIDATE_MATGR&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Validate the Material Group&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;There are no interface parameters to be passed to this routine&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM VALIDATE_MATGR .&lt;/P&gt;&lt;P&gt;  DATA:&lt;/P&gt;&lt;P&gt;    LV_MATGR TYPE MARA-MATKL.          " Material group&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  MOVE SY-UCOMM TO SSCRFIELDS-UCOMM.&lt;/P&gt;&lt;P&gt;  SELECT MATKL                         " Material group&lt;/P&gt;&lt;P&gt;    FROM T023&lt;/P&gt;&lt;P&gt;    UP TO 1 ROWS&lt;/P&gt;&lt;P&gt;    INTO LV_MATGR&lt;/P&gt;&lt;P&gt;   WHERE MATKL IN S_MATGR.&lt;/P&gt;&lt;P&gt;  ENDSELECT.&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC NE 0.&lt;/P&gt;&lt;P&gt;    CLEAR: SSCRFIELDS.&lt;/P&gt;&lt;P&gt;    MESSAGE E292(MW).&lt;/P&gt;&lt;P&gt;  ENDIF.                               " IF SY-SUBRC EQ 0&lt;/P&gt;&lt;P&gt;ENDFORM.                               " VALIDATE_MATGR&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  GET_CORP&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get the corporates for the selected division&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;There are no interface parameters to be passed to this routine&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM GET_CORP .&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Table for conglomerate&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  DATA:&lt;/P&gt;&lt;P&gt;    LT_CONG      LIKE STANDARD TABLE OF FS_CORP,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Fields of current screen&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    LFS_DYNPREAD TYPE DYNPREAD,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Table for current Screen fields&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    LT_DYNPREAD  LIKE STANDARD TABLE OF LFS_DYNPREAD.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LFS_DYNPREAD-FIELDNAME = 'P_DIV'.&lt;/P&gt;&lt;P&gt;  APPEND LFS_DYNPREAD TO LT_DYNPREAD.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get selection screen value for division&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CALL FUNCTION 'DYNP_VALUES_READ'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      DYNAME               = SY-REPID&lt;/P&gt;&lt;P&gt;      DYNUMB               = SY-DYNNR&lt;/P&gt;&lt;P&gt;    TABLES&lt;/P&gt;&lt;P&gt;      DYNPFIELDS           = LT_DYNPREAD&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      INVALID_ABAPWORKAREA = 1&lt;/P&gt;&lt;P&gt;      INVALID_DYNPROFIELD  = 2&lt;/P&gt;&lt;P&gt;      INVALID_DYNPRONAME   = 3&lt;/P&gt;&lt;P&gt;      INVALID_DYNPRONUMMER = 4&lt;/P&gt;&lt;P&gt;      INVALID_REQUEST      = 5&lt;/P&gt;&lt;P&gt;      NO_FIELDDESCRIPTION  = 6&lt;/P&gt;&lt;P&gt;      INVALID_PARAMETER    = 7&lt;/P&gt;&lt;P&gt;      UNDEFIND_ERROR       = 8&lt;/P&gt;&lt;P&gt;      DOUBLE_CONVERSION    = 9&lt;/P&gt;&lt;P&gt;      STEPL_NOT_FOUND      = 10&lt;/P&gt;&lt;P&gt;      OTHERS               = 11.&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC EQ 0.&lt;/P&gt;&lt;P&gt;    READ TABLE LT_DYNPREAD INTO LFS_DYNPREAD INDEX 1.&lt;/P&gt;&lt;P&gt;    IF SY-SUBRC EQ 0.&lt;/P&gt;&lt;P&gt;      P_DIV = LFS_DYNPREAD-FIELDVALUE.&lt;/P&gt;&lt;P&gt;    ENDIF.                             " IF SY-SUBRC EQ 0&lt;/P&gt;&lt;P&gt;  ENDIF.                               " IF SY-SUBRC EQ 0&lt;/P&gt;&lt;P&gt;  REFRESH T_CORP.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get the conglomerate for the selected division&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  SELECT KUNNR                         " Conglomerate&lt;/P&gt;&lt;P&gt;    FROM KNVH&lt;/P&gt;&lt;P&gt;    INTO TABLE  LT_CONG&lt;/P&gt;&lt;P&gt;   WHERE HITYP  EQ C_HITYP&lt;/P&gt;&lt;P&gt;     AND VKORG  EQ C_VKORG&lt;/P&gt;&lt;P&gt;     AND VTWEG  EQ C_VTWEG&lt;/P&gt;&lt;P&gt;     AND SPART  EQ P_DIV&lt;/P&gt;&lt;P&gt;     AND DATAB  LE SY-DATUM&lt;/P&gt;&lt;P&gt;     AND DATBI  GE SY-DATUM&lt;/P&gt;&lt;P&gt;     AND HKUNNR EQ SPACE.&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC EQ 0.&lt;/P&gt;&lt;P&gt;    SORT LT_CONG BY KUNNR.&lt;/P&gt;&lt;P&gt;    DELETE ADJACENT DUPLICATES FROM LT_CONG&lt;/P&gt;&lt;P&gt;                    COMPARING KUNNR.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get the corporates for the selected conglomerates&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    SELECT KUNNR                       " Customer Number&lt;/P&gt;&lt;P&gt;      FROM KNVH&lt;/P&gt;&lt;P&gt;      INTO TABLE  T_CORP&lt;/P&gt;&lt;P&gt;       FOR ALL ENTRIES IN LT_CONG&lt;/P&gt;&lt;P&gt;     WHERE HITYP  EQ C_HITYP&lt;/P&gt;&lt;P&gt;       AND VKORG  EQ C_VKORG&lt;/P&gt;&lt;P&gt;       AND VTWEG  EQ C_VTWEG&lt;/P&gt;&lt;P&gt;       AND SPART  EQ P_DIV&lt;/P&gt;&lt;P&gt;       AND DATAB  LE SY-DATUM&lt;/P&gt;&lt;P&gt;       AND DATBI  GE SY-DATUM&lt;/P&gt;&lt;P&gt;       AND HKUNNR EQ LT_CONG-KUNNR.&lt;/P&gt;&lt;P&gt;    IF SY-SUBRC NE 0.&lt;/P&gt;&lt;P&gt;      CLEAR: SSCRFIELDS.&lt;/P&gt;&lt;P&gt;      MESSAGE I531(0U) WITH TEXT-005.&lt;/P&gt;&lt;P&gt;      STOP.&lt;/P&gt;&lt;P&gt;    ENDIF.                             " IF SY-SUBRC NE 0&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    CLEAR: SSCRFIELDS.&lt;/P&gt;&lt;P&gt;    MESSAGE I531(0U) WITH TEXT-004.&lt;/P&gt;&lt;P&gt;    STOP.&lt;/P&gt;&lt;P&gt;  ENDIF.                               " IF SY-SUBRC EQ 0&lt;/P&gt;&lt;P&gt;ENDFORM.                               " GET_CORP&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  F4HELP_CORP&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;F4 help for corporate&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;There are no interface parameters to be passed to this routine&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM F4HELP_CORP .&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;F4 help for corporate&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      RETFIELD        = 'KUNNR'&lt;/P&gt;&lt;P&gt;      DYNPPROG        = 'Z_EXCESS_USAGE'&lt;/P&gt;&lt;P&gt;      DYNPNR          = '1000'&lt;/P&gt;&lt;P&gt;      DYNPROFIELD     = 'P_CORP'&lt;/P&gt;&lt;P&gt;      VALUE_ORG       = 'S'&lt;/P&gt;&lt;P&gt;    TABLES&lt;/P&gt;&lt;P&gt;      VALUE_TAB       = T_CORP&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      PARAMETER_ERROR = 1&lt;/P&gt;&lt;P&gt;      NO_VALUES_FOUND = 2&lt;/P&gt;&lt;P&gt;      OTHERS          = 3.&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC EQ 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Do nothing&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  ENDIF.                               " IF SY-SUBRC EQ 0&lt;/P&gt;&lt;P&gt;ENDFORM.                               " F4HELP_CORP&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  FETCH_REQUIREDDATA&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get the required details like invoice details, material details, stock&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;and cost details, minimum and maximum stock, purchase order details,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;moving avg price&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;There are no interface parameters to be passed to this routine&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM FETCH_REQUIREDDATA .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Constants&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CONSTANTS:&lt;/P&gt;&lt;P&gt;    LC_FKART TYPE VBRK-FKART           " Document type&lt;/P&gt;&lt;P&gt;             VALUE 'ZF2',&lt;/P&gt;&lt;P&gt;    LC_VBTYP TYPE VBFA-VBTYP_N         " Doc Category of subseq doc&lt;/P&gt;&lt;P&gt;             VALUE '3'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Fetch required data&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get the sold-to party details&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  SELECT KUNNR                         " Sold-to&lt;/P&gt;&lt;P&gt;         HKUNNR                        " Higher level customer&lt;/P&gt;&lt;P&gt;    FROM KNVH&lt;/P&gt;&lt;P&gt;    INTO TABLE T_SOLDTO&lt;/P&gt;&lt;P&gt;   WHERE HITYP  EQ C_HITYP&lt;/P&gt;&lt;P&gt;     AND DATAB  LE SY-DATUM&lt;/P&gt;&lt;P&gt;     AND DATBI  GE SY-DATUM&lt;/P&gt;&lt;P&gt;     AND HKUNNR EQ P_CORP.&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC EQ 0.&lt;/P&gt;&lt;P&gt;    SORT T_SOLDTO BY SOLDTO.&lt;/P&gt;&lt;P&gt;    DELETE ADJACENT DUPLICATES FROM T_SOLDTO.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get Billing documents&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    SELECT VBELN                       " Billing Document&lt;/P&gt;&lt;P&gt;           WAERK                       " Doc currency&lt;/P&gt;&lt;P&gt;           FKDAT                       " Billing date&lt;/P&gt;&lt;P&gt;      FROM VBRK&lt;/P&gt;&lt;P&gt;      INTO TABLE T_VBRK&lt;/P&gt;&lt;P&gt;       FOR ALL ENTRIES IN T_SOLDTO&lt;/P&gt;&lt;P&gt;     WHERE FKART EQ LC_FKART&lt;/P&gt;&lt;P&gt;       AND FKDAT IN S_DATE&lt;/P&gt;&lt;P&gt;       AND KUNAG EQ T_SOLDTO-SOLDTO.&lt;/P&gt;&lt;P&gt;    IF SY-SUBRC EQ 0.&lt;/P&gt;&lt;P&gt;      SORT T_VBRK BY VBELN.&lt;/P&gt;&lt;P&gt;      SELECT VBELV                     " Sales document&lt;/P&gt;&lt;P&gt;        FROM VBFA&lt;/P&gt;&lt;P&gt;        INTO TABLE T_VBFA&lt;/P&gt;&lt;P&gt;         FOR ALL ENTRIES IN T_VBRK&lt;/P&gt;&lt;P&gt;       WHERE VBELV   EQ T_VBRK-VBELN&lt;/P&gt;&lt;P&gt;         AND VBTYP_N EQ LC_VBTYP.&lt;/P&gt;&lt;P&gt;      IF SY-SUBRC EQ 0.&lt;/P&gt;&lt;P&gt;        SORT T_VBFA BY VBELN.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get Last Six month date&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        PERFORM GOBACK_MONTH CHANGING W_DATE.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get Item Data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        PERFORM FETCH_ITEMDATA.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get Used stock&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        PERFORM FETCH_USEDSTOCK.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get Material Data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        PERFORM FETCH_MATDATA.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get Moving Avg Price&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        PERFORM FETCH_AVGPRICE.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get Supersession code&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        PERFORM FETCH_SOCDE.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get Purchase order data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        PERFORM FETCH_PODATA.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get Current Vendor&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        PERFORM FETCH_VENDOR.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get Min and Max Stock level&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        PERFORM FETCH_STOCK.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Prepare dates&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        PERFORM FETCH_MONTHS.&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;P&gt;        MESSAGE I026(8I).&lt;/P&gt;&lt;P&gt;        STOP.&lt;/P&gt;&lt;P&gt;      ENDIF.                           " IF SY-SUBRC EQ 0&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;      MESSAGE I026(8I).&lt;/P&gt;&lt;P&gt;      STOP.&lt;/P&gt;&lt;P&gt;    ENDIF.                             " IF SY-SUBRC EQ 0&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    MESSAGE I531(0U) WITH TEXT-006.&lt;/P&gt;&lt;P&gt;    STOP.&lt;/P&gt;&lt;P&gt;  ENDIF.                               " IF SY-SUBRC EQ 0&lt;/P&gt;&lt;P&gt;ENDFORM.                               " FORM FETCH_REQUIREDDATA&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  FETCH_ITEMDATA&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get the item details for the selected order and radio button chosen&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;There are no interface parameters to be passed to this routine&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM FETCH_ITEMDATA .&lt;/P&gt;&lt;P&gt;  DATA:&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Item details&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    BEGIN OF LFS_VBRP,&lt;/P&gt;&lt;P&gt;      VBELN TYPE VBRP-VBELN,           " Sales Doc&lt;/P&gt;&lt;P&gt;      POSNR TYPE VBRP-POSNR,           " Item Number&lt;/P&gt;&lt;P&gt;      FKIMG TYPE VBRP-FKIMG,           " Actual Invoiced Quantity&lt;/P&gt;&lt;P&gt;      VRKME TYPE VBRP-VRKME,           " Sales Unit&lt;/P&gt;&lt;P&gt;      MEINS TYPE VBRP-MEINS,           " Base Unit of measure&lt;/P&gt;&lt;P&gt;      NETWR TYPE VBRP-NETWR,           " Net value&lt;/P&gt;&lt;P&gt;      MATNR TYPE VBRP-MATNR,           " Material&lt;/P&gt;&lt;P&gt;      MATKL TYPE VBRP-MATKL,           " Material Group&lt;/P&gt;&lt;P&gt;      WAVWR TYPE VBRP-NETWR,           " Cost in document currency&lt;/P&gt;&lt;P&gt;    END OF LFS_VBRP,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Table Item details&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    LT_VBRP  LIKE STANDARD TABLE OF LFS_VBRP,&lt;/P&gt;&lt;P&gt;    LT_TVBRP LIKE STANDARD TABLE OF LFS_VBRP.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Constants&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CONSTANTS:&lt;/P&gt;&lt;P&gt;    LC_SP  TYPE MARA-MATNR             " Material&lt;/P&gt;&lt;P&gt;           VALUE 'SP%',&lt;/P&gt;&lt;P&gt;    LC_GBP TYPE VBRK-WAERK             " Currency&lt;/P&gt;&lt;P&gt;           VALUE 'GBP'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get Item data for Non-System generated materials&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  IF P_NOSYS EQ C_NOSYS.&lt;/P&gt;&lt;P&gt;    SELECT VBELN                       " Sales Doc&lt;/P&gt;&lt;P&gt;           POSNR                       " Item Number&lt;/P&gt;&lt;P&gt;           FKIMG                       " Actual Invoiced Quantity&lt;/P&gt;&lt;P&gt;           VRKME                       " Sales Unit&lt;/P&gt;&lt;P&gt;           MEINS                       " Base Unit of measure&lt;/P&gt;&lt;P&gt;           NETWR                       " Net value&lt;/P&gt;&lt;P&gt;           MATNR                       " Material&lt;/P&gt;&lt;P&gt;           MATKL                       " Material Group&lt;/P&gt;&lt;P&gt;           WAVWR                       " Cost in document currency&lt;/P&gt;&lt;P&gt;      FROM VBRP&lt;/P&gt;&lt;P&gt;      INTO TABLE LT_VBRP&lt;/P&gt;&lt;P&gt;       FOR ALL ENTRIES IN T_VBFA&lt;/P&gt;&lt;P&gt;     WHERE VBELN EQ T_VBFA-VBELN&lt;/P&gt;&lt;P&gt;       AND MATNR IN S_MATNR&lt;/P&gt;&lt;P&gt;       AND MATKL IN S_MATGR.&lt;/P&gt;&lt;P&gt;    IF SY-SUBRC EQ 0.&lt;/P&gt;&lt;P&gt;      SORT LT_VBRP BY VBELN POSNR.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Remove Spicer materials&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      LOOP AT LT_VBRP INTO LFS_VBRP.&lt;/P&gt;&lt;P&gt;        IF NOT ( LFS_VBRP-MATNR CP 'SP*' ).&lt;/P&gt;&lt;P&gt;          APPEND LFS_VBRP TO LT_TVBRP.&lt;/P&gt;&lt;P&gt;          CLEAR LFS_VBRP.&lt;/P&gt;&lt;P&gt;        ENDIF.                         " IF NOT LFS_VBRP_MATNR&lt;/P&gt;&lt;P&gt;      ENDLOOP.                         " LOOP AT LT_VBRP&lt;/P&gt;&lt;P&gt;      REFRESH LT_VBRP.&lt;/P&gt;&lt;P&gt;      LT_VBRP[] = LT_TVBRP[].&lt;/P&gt;&lt;P&gt;      FREE LT_TVBRP.&lt;/P&gt;&lt;P&gt;      SORT LT_VBRP BY VBELN POSNR.&lt;/P&gt;&lt;P&gt;    ENDIF.                             " IF SY-SUBRC EQ 0&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get Item data for System generated materials&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  ELSEIF P_SYS EQ C_NOSYS.&lt;/P&gt;&lt;P&gt;    SELECT VBELN                       " Sales Doc&lt;/P&gt;&lt;P&gt;           POSNR                       " Item Number&lt;/P&gt;&lt;P&gt;           FKIMG                       " Actual Invoiced Quantity&lt;/P&gt;&lt;P&gt;           VRKME                       " Sales Unit&lt;/P&gt;&lt;P&gt;           MEINS                       " Base Unit of measure&lt;/P&gt;&lt;P&gt;           NETWR                       " Net value&lt;/P&gt;&lt;P&gt;           MATNR                       " Material&lt;/P&gt;&lt;P&gt;           MATKL                       " Material Group&lt;/P&gt;&lt;P&gt;           WAVWR                       " Cost in document currency&lt;/P&gt;&lt;P&gt;      FROM VBRP&lt;/P&gt;&lt;P&gt;      INTO TABLE LT_VBRP&lt;/P&gt;&lt;P&gt;       FOR ALL ENTRIES IN T_VBFA&lt;/P&gt;&lt;P&gt;     WHERE VBELN EQ T_VBFA-VBELN&lt;/P&gt;&lt;P&gt;       AND MATNR NOT IN S_MATNR&lt;/P&gt;&lt;P&gt;       AND MATKL IN S_MATGR.&lt;/P&gt;&lt;P&gt;    IF SY-SUBRC EQ 0.&lt;/P&gt;&lt;P&gt;      SORT LT_VBRP BY VBELN POSNR.&lt;/P&gt;&lt;P&gt;    ENDIF.                             " IF SY-SUBRC EQ 0&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get Item data for Spicer materials&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  ELSEIF P_SPR EQ C_NOSYS.&lt;/P&gt;&lt;P&gt;    SELECT VBELN                       " Sales Doc&lt;/P&gt;&lt;P&gt;           POSNR                       " Item Number&lt;/P&gt;&lt;P&gt;           FKIMG                       " Actual Invoiced Quantity&lt;/P&gt;&lt;P&gt;           VRKME                       " Sales Unit&lt;/P&gt;&lt;P&gt;           MEINS                       " Base Unit of measure&lt;/P&gt;&lt;P&gt;           NETWR                       " Net value&lt;/P&gt;&lt;P&gt;           MATNR                       " Material&lt;/P&gt;&lt;P&gt;           MATKL                       " Material Group&lt;/P&gt;&lt;P&gt;           WAVWR                       " Cost in document currency&lt;/P&gt;&lt;P&gt;      FROM VBRP&lt;/P&gt;&lt;P&gt;      INTO TABLE LT_VBRP&lt;/P&gt;&lt;P&gt;       FOR ALL ENTRIES IN T_VBFA&lt;/P&gt;&lt;P&gt;     WHERE VBELN EQ T_VBFA-VBELN&lt;/P&gt;&lt;P&gt;       AND MATNR LIKE LC_SP&lt;/P&gt;&lt;P&gt;       AND MATKL IN S_MATGR.&lt;/P&gt;&lt;P&gt;    IF SY-SUBRC EQ 0.&lt;/P&gt;&lt;P&gt;      SORT LT_VBRP BY VBELN POSNR.&lt;/P&gt;&lt;P&gt;    ENDIF.                             " IF SY-SUBRC EQ 0&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get Item data for All materials&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  ELSEIF P_ALL EQ C_NOSYS .&lt;/P&gt;&lt;P&gt;    SELECT VBELN                       " Sales Doc&lt;/P&gt;&lt;P&gt;           POSNR                       " Item Number&lt;/P&gt;&lt;P&gt;           FKIMG                       " Actual Invoiced Quantity&lt;/P&gt;&lt;P&gt;           VRKME                       " Sales Unit&lt;/P&gt;&lt;P&gt;           MEINS                       " Base Unit of measure&lt;/P&gt;&lt;P&gt;           NETWR                       " Net value&lt;/P&gt;&lt;P&gt;           MATNR                       " Material&lt;/P&gt;&lt;P&gt;           MATKL                       " Material Group&lt;/P&gt;&lt;P&gt;           WAVWR                       " Cost in document currency&lt;/P&gt;&lt;P&gt;      FROM VBRP&lt;/P&gt;&lt;P&gt;      INTO TABLE LT_VBRP&lt;/P&gt;&lt;P&gt;       FOR ALL ENTRIES IN T_VBFA&lt;/P&gt;&lt;P&gt;     WHERE VBELN EQ T_VBFA-VBELN&lt;/P&gt;&lt;P&gt;       AND MATKL IN S_MATGR.&lt;/P&gt;&lt;P&gt;    IF SY-SUBRC EQ 0.&lt;/P&gt;&lt;P&gt;      SORT LT_VBRP BY VBELN POSNR.&lt;/P&gt;&lt;P&gt;    ENDIF.                             " IF SY-SUBRC EQ 0&lt;/P&gt;&lt;P&gt;  ENDIF.                               " P_NOSYS EQ C_NOSYS&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Segregate the item data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  IF LT_VBRP[] IS INITIAL.&lt;/P&gt;&lt;P&gt;    MESSAGE I109(WP).&lt;/P&gt;&lt;P&gt;    STOP.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    LOOP AT LT_VBRP INTO LFS_VBRP.&lt;/P&gt;&lt;P&gt;      READ TABLE T_VBFA INTO FS_VBFA WITH KEY&lt;/P&gt;&lt;P&gt;            VBELN = LFS_VBRP-VBELN BINARY SEARCH.&lt;/P&gt;&lt;P&gt;      IF SY-SUBRC EQ 0.&lt;/P&gt;&lt;P&gt;        READ TABLE T_VBRK INTO FS_VBRK WITH KEY&lt;/P&gt;&lt;P&gt;           VBELN = FS_VBFA-VBELN BINARY SEARCH.&lt;/P&gt;&lt;P&gt;        IF SY-SUBRC EQ 0.&lt;/P&gt;&lt;P&gt;          MOVE:&lt;/P&gt;&lt;P&gt;            FS_VBRK-FKDAT  TO FS_ITEM-FKDAT,&lt;/P&gt;&lt;P&gt;            LFS_VBRP-MATNR TO FS_ITEM-MATNR,&lt;/P&gt;&lt;P&gt;            LFS_VBRP-MATKL TO FS_ITEM-MATKL.&lt;/P&gt;&lt;P&gt;          IF FS_VBRK-WAERK NE LC_GBP.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Convert Cost and Cell value to Local Currency&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;            PERFORM CURRENCY_CONVERSION USING LFS_VBRP-NETWR&lt;/P&gt;&lt;P&gt;                                              FS_VBRK-WAERK&lt;/P&gt;&lt;P&gt;                                              LC_GBP&lt;/P&gt;&lt;P&gt;                                              FS_VBRK-FKDAT&lt;/P&gt;&lt;P&gt;                                     CHANGING FS_ITEM-NETWR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            PERFORM CURRENCY_CONVERSION USING LFS_VBRP-WAVWR&lt;/P&gt;&lt;P&gt;                                              FS_VBRK-WAERK&lt;/P&gt;&lt;P&gt;                                              LC_GBP&lt;/P&gt;&lt;P&gt;                                              FS_VBRK-FKDAT&lt;/P&gt;&lt;P&gt;                                     CHANGING FS_ITEM-WAVWR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          ELSE.&lt;/P&gt;&lt;P&gt;            MOVE: LFS_VBRP-NETWR TO FS_ITEM-NETWR,&lt;/P&gt;&lt;P&gt;                  LFS_VBRP-WAVWR TO FS_ITEM-WAVWR.&lt;/P&gt;&lt;P&gt;          ENDIF.                       " IF FS_VBRK-WAERK&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          IF LFS_VBRP-VRKME NE LFS_VBRP-MEINS.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Convert Usage to Base Unit&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;            PERFORM UNIT_CONVERSION USING LFS_VBRP-MATNR&lt;/P&gt;&lt;P&gt;                                          LFS_VBRP-FKIMG&lt;/P&gt;&lt;P&gt;                                          LFS_VBRP-VRKME&lt;/P&gt;&lt;P&gt;                                          LFS_VBRP-MEINS&lt;/P&gt;&lt;P&gt;                                 CHANGING FS_ITEM-FKIMG.&lt;/P&gt;&lt;P&gt;          ELSE.&lt;/P&gt;&lt;P&gt;            MOVE LFS_VBRP-FKIMG TO FS_ITEM-FKIMG.&lt;/P&gt;&lt;P&gt;          ENDIF.                       " IF FS_VBRP-VRKME..&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          APPEND FS_ITEM TO T_ITEM.&lt;/P&gt;&lt;P&gt;          CLEAR: FS_ITEM,LFS_VBRP,FS_VBRK,FS_VBFA.&lt;/P&gt;&lt;P&gt;        ENDIF.                         " IF SY-SUBRC EQ 0&lt;/P&gt;&lt;P&gt;      ENDIF.                           " IF SY-SUBRC EQ 0&lt;/P&gt;&lt;P&gt;    ENDLOOP.                           " LOOP AT T_VBRP[]&lt;/P&gt;&lt;P&gt;    T_TITEM[] = T_ITEM[].&lt;/P&gt;&lt;P&gt;  ENDIF.                               " IF LT_VBRP[] IS INITIAL&lt;/P&gt;&lt;P&gt;ENDFORM.                               " FETCH_ITEMDATA&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  UNIT_CONVERSION&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Convert free stock of the material into pallets&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_LFS_VBRP_MATNR  Material&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_LFS_VBRP_FKIMG  Usage&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_LFS_VBRP_VRKME  Sales Unit&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_LFS_VBRP-MEINS  Base Unit of measure&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     &amp;lt;--P_LFS_VBRP-FKIMG  Usage&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM UNIT_CONVERSION  USING    P_LFS_VBRP_MATNR  TYPE VBRP-MATNR&lt;/P&gt;&lt;P&gt;                               P_LFS_VBRP_FKIMG  TYPE VBRP-FKIMG&lt;/P&gt;&lt;P&gt;                               P_LFS_VBRP_VRKME  TYPE VBRP-VRKME&lt;/P&gt;&lt;P&gt;                               P_LFS_VBRP_MEINS  TYPE VBRP-MEINS&lt;/P&gt;&lt;P&gt;                      CHANGING P_LFS_VBRP_CFKIMG TYPE VBRP-FKIMG.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'MD_CONVERT_MATERIAL_UNIT'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      I_MATNR              = P_LFS_VBRP_MATNR&lt;/P&gt;&lt;P&gt;      I_IN_ME              = P_LFS_VBRP_VRKME&lt;/P&gt;&lt;P&gt;      I_OUT_ME             = P_LFS_VBRP_MEINS&lt;/P&gt;&lt;P&gt;      I_MENGE              = P_LFS_VBRP_FKIMG&lt;/P&gt;&lt;P&gt;    IMPORTING&lt;/P&gt;&lt;P&gt;      E_MENGE              = P_LFS_VBRP_CFKIMG&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      ERROR_IN_APPLICATION = 1&lt;/P&gt;&lt;P&gt;      ERROR                = 2&lt;/P&gt;&lt;P&gt;      OTHERS               = 3.&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC NE 0.&lt;/P&gt;&lt;P&gt;    CLEAR P_LFS_VBRP_CFKIMG.&lt;/P&gt;&lt;P&gt;  ENDIF.                               " IF SY-SUBRC NE 0&lt;/P&gt;&lt;P&gt;ENDFORM.                               " UNIT_CONVERSION&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  CURRENCY_CONVERSION&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Convert free stock of the material into pallets&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_LFS_VBRP_NETWR  Sell value/Cost&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_LFS_VBRK_WAERS  Currency&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_LC_GBP          Local Currency&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_LFS_VBRK_FKDAT  Billing Date&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     &amp;lt;--P_LFS_VBRP_CNETWR Sell value/Cost&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM CURRENCY_CONVERSION USING P_LFS_VBRP_NETWR  TYPE VBRP-NETWR&lt;/P&gt;&lt;P&gt;                               P_LFS_VBRK_WAERK  TYPE VBRK-WAERK&lt;/P&gt;&lt;P&gt;                               P_LC_GBP          TYPE VBRK-WAERK&lt;/P&gt;&lt;P&gt;                               P_FS_VBRK_FKDAT   TYPE SY-DATUM&lt;/P&gt;&lt;P&gt;                      CHANGING P_LFS_VBRP_CNETWR TYPE VBRP-NETWR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'CONVERT_TO_LOCAL_CURRENCY'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      DATE             = P_FS_VBRK_FKDAT&lt;/P&gt;&lt;P&gt;      FOREIGN_AMOUNT   = P_LFS_VBRP_NETWR&lt;/P&gt;&lt;P&gt;      FOREIGN_CURRENCY = P_LFS_VBRK_WAERK&lt;/P&gt;&lt;P&gt;      LOCAL_CURRENCY   = P_LC_GBP&lt;/P&gt;&lt;P&gt;    IMPORTING&lt;/P&gt;&lt;P&gt;      LOCAL_AMOUNT     = P_LFS_VBRP_CNETWR&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      NO_RATE_FOUND    = 1&lt;/P&gt;&lt;P&gt;      OVERFLOW         = 2&lt;/P&gt;&lt;P&gt;      NO_FACTORS_FOUND = 3&lt;/P&gt;&lt;P&gt;      NO_SPREAD_FOUND  = 4&lt;/P&gt;&lt;P&gt;      DERIVED_2_TIMES  = 5&lt;/P&gt;&lt;P&gt;      OTHERS           = 6.&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC NE 0.&lt;/P&gt;&lt;P&gt;    CLEAR P_LFS_VBRP_CNETWR.&lt;/P&gt;&lt;P&gt;  ENDIF.                               " IF SY-SUBRC NE 0&lt;/P&gt;&lt;P&gt;ENDFORM.                               " FORM CURRENCY_CONVERSION&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  FETCH_MATDATA&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get the materials details and description for the selected materials&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;There are no interface parameters to be passed to this routine&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM FETCH_MATDATA .&lt;/P&gt;&lt;P&gt;  SORT T_TITEM BY MATNR.&lt;/P&gt;&lt;P&gt;  DELETE ADJACENT DUPLICATES FROM T_TITEM COMPARING MATNR.&lt;/P&gt;&lt;P&gt;  IF T_TITEM[] IS NOT INITIAL.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Material Details&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    SELECT MATNR                       " Material&lt;/P&gt;&lt;P&gt;           LVORM                       " Deletion Flag&lt;/P&gt;&lt;P&gt;           MEINS                       " UOM&lt;/P&gt;&lt;P&gt;           BSTME                       " Order Unit&lt;/P&gt;&lt;P&gt;           PRDHA                       " Prdh Hier&lt;/P&gt;&lt;P&gt;           KZUMW                       " Environment&lt;/P&gt;&lt;P&gt;      FROM MARA&lt;/P&gt;&lt;P&gt;      INTO TABLE T_MARA&lt;/P&gt;&lt;P&gt;       FOR ALL ENTRIES IN T_TITEM&lt;/P&gt;&lt;P&gt;     WHERE MATNR EQ T_TITEM-MATNR.&lt;/P&gt;&lt;P&gt;    IF SY-SUBRC EQ 0.&lt;/P&gt;&lt;P&gt;      SORT T_MARA BY MATNR.&lt;/P&gt;&lt;P&gt;    ENDIF.                             " IF SY-SUBRC EQ 0&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Material Description&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    SELECT MATNR                       " Material&lt;/P&gt;&lt;P&gt;           MAKTX                       " Material Desc&lt;/P&gt;&lt;P&gt;      FROM MAKT&lt;/P&gt;&lt;P&gt;      INTO TABLE T_MAKT&lt;/P&gt;&lt;P&gt;       FOR ALL ENTRIES IN T_TITEM&lt;/P&gt;&lt;P&gt;     WHERE MATNR EQ T_TITEM-MATNR&lt;/P&gt;&lt;P&gt;       AND SPRAS EQ SY-LANGU.&lt;/P&gt;&lt;P&gt;    IF SY-SUBRC EQ 0.&lt;/P&gt;&lt;P&gt;      SORT T_MAKT BY MATNR.&lt;/P&gt;&lt;P&gt;    ENDIF.                             " IF SY-SUBRC EQ 0&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Sales Data for Material&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    SELECT MATNR                       " Material&lt;/P&gt;&lt;P&gt;           MTPOS                       " Category&lt;/P&gt;&lt;P&gt;           MVGR1                       " Material Grp1&lt;/P&gt;&lt;P&gt;           MVGR2                       " Material Grp2&lt;/P&gt;&lt;P&gt;      FROM MVKE&lt;/P&gt;&lt;P&gt;      INTO TABLE T_MVKE&lt;/P&gt;&lt;P&gt;       FOR ALL ENTRIES IN T_TITEM&lt;/P&gt;&lt;P&gt;     WHERE MATNR EQ T_TITEM-MATNR.&lt;/P&gt;&lt;P&gt;    IF SY-SUBRC EQ 0.&lt;/P&gt;&lt;P&gt;      SORT T_MVKE BY MATNR.&lt;/P&gt;&lt;P&gt;    ENDIF.                             " IF SY-SUBRC EQ 0&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MRP Controller&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    SELECT MATNR                       " Material&lt;/P&gt;&lt;P&gt;           DISPO                       " MRP Controller&lt;/P&gt;&lt;P&gt;      FROM MARC&lt;/P&gt;&lt;P&gt;      INTO TABLE T_MARC&lt;/P&gt;&lt;P&gt;       FOR ALL ENTRIES IN T_TITEM&lt;/P&gt;&lt;P&gt;     WHERE MATNR EQ T_TITEM-MATNR&lt;/P&gt;&lt;P&gt;       AND WERKS EQ C_WERKS.&lt;/P&gt;&lt;P&gt;    IF SY-SUBRC EQ 0.&lt;/P&gt;&lt;P&gt;      SORT T_MARC BY MATNR.&lt;/P&gt;&lt;P&gt;    ENDIF.                             " IF SY-SUBRC EQ 0&lt;/P&gt;&lt;P&gt;  ENDIF.                               " IF T_TITEM[]..&lt;/P&gt;&lt;P&gt;ENDFORM.                               " FETCH_MATDESC&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  FETCH_AVGPRICE&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get the Moving Average Price of the material&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;There are no interface parameters to be passed to this routine&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM FETCH_AVGPRICE .&lt;/P&gt;&lt;P&gt;  CONSTANTS:&lt;/P&gt;&lt;P&gt;    LC_BWKEY TYPE MBEW-BWKEY           " Valuation area&lt;/P&gt;&lt;P&gt;             VALUE '1000'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Moving Avg Price&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  SELECT MATNR                         " Material Number&lt;/P&gt;&lt;P&gt;         VERPR                         " Moving Average Price&lt;/P&gt;&lt;P&gt;    FROM MBEW&lt;/P&gt;&lt;P&gt;    INTO TABLE T_MBEW&lt;/P&gt;&lt;P&gt;     FOR ALL ENTRIES IN T_TITEM&lt;/P&gt;&lt;P&gt;   WHERE MATNR EQ T_TITEM-MATNR&lt;/P&gt;&lt;P&gt;     AND BWKEY EQ LC_BWKEY.&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC EQ 0.&lt;/P&gt;&lt;P&gt;    SORT T_MBEW BY MATNR.&lt;/P&gt;&lt;P&gt;  ENDIF.                               " IF SY-SUBRC EQ 0&lt;/P&gt;&lt;P&gt;ENDFORM.                               " FETCH_AVGPRICE&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  FETCH_SOCDE&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Fetch Supercession code for the selected materials&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;There are no interface parameters to be passed to this routine&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM FETCH_SOCDE .&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Structure for Material substitution&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  DATA:&lt;/P&gt;&lt;P&gt;    BEGIN OF LFS_KONDD,&lt;/P&gt;&lt;P&gt;     KNUMH TYPE KONDD-KNUMH,           " Condition Record&lt;/P&gt;&lt;P&gt;     MATNR TYPE KONDD-SMATN,           " Substitute Material&lt;/P&gt;&lt;P&gt;    END OF LFS_KONDD,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Structure for Conditions&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    BEGIN OF LFS_KOTD001,&lt;/P&gt;&lt;P&gt;     MATWA TYPE KOTD001-MATWA,         " Material Entered&lt;/P&gt;&lt;P&gt;     KNUMH TYPE KONDD-KNUMH,           " Condition Record&lt;/P&gt;&lt;P&gt;    END OF LFS_KOTD001,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Structure for Material&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    BEGIN OF LFS_SMATN,&lt;/P&gt;&lt;P&gt;     MATNR TYPE KONDD-SMATN,           " Substitute Material&lt;/P&gt;&lt;P&gt;     MATWA TYPE KOTD001-MATWA,         " Material Entered&lt;/P&gt;&lt;P&gt;    END OF LFS_SMATN,&lt;/P&gt;&lt;P&gt;    LT_KONDD   LIKE STANDARD TABLE OF LFS_KONDD,&lt;/P&gt;&lt;P&gt;    LT_KOTD001 LIKE STANDARD TABLE OF LFS_KOTD001,&lt;/P&gt;&lt;P&gt;    LT_SMATN   LIKE STANDARD TABLE OF LFS_SMATN,&lt;/P&gt;&lt;P&gt;    LV_CNT     TYPE I.                 " Counter&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Constants&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CONSTANTS:&lt;/P&gt;&lt;P&gt;    LC_KAPPL TYPE KOTD001-KAPPL        " Application&lt;/P&gt;&lt;P&gt;             VALUE 'V',&lt;/P&gt;&lt;P&gt;    LC_KSCHL TYPE KOTD001-KSCHL        " Material det type&lt;/P&gt;&lt;P&gt;             VALUE 'A001',&lt;/P&gt;&lt;P&gt;    LC_ONE   TYPE C VALUE '1'.         " One&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get substitute materials&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  SELECT KNUMH                         " Condition record&lt;/P&gt;&lt;P&gt;         SMATN                         " Material&lt;/P&gt;&lt;P&gt;    FROM KONDD&lt;/P&gt;&lt;P&gt;    INTO TABLE LT_KONDD&lt;/P&gt;&lt;P&gt;     FOR ALL ENTRIES IN T_TITEM&lt;/P&gt;&lt;P&gt;   WHERE SMATN EQ T_TITEM-MATNR.&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC EQ 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get Condition records&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    SORT LT_KONDD BY KNUMH.&lt;/P&gt;&lt;P&gt;    SELECT MATWA                       " Material Entered&lt;/P&gt;&lt;P&gt;           KNUMH                       " Condition record&lt;/P&gt;&lt;P&gt;      FROM KOTD001&lt;/P&gt;&lt;P&gt;      INTO TABLE LT_KOTD001&lt;/P&gt;&lt;P&gt;       FOR ALL ENTRIES IN LT_KONDD&lt;/P&gt;&lt;P&gt;     WHERE KAPPL EQ LC_KAPPL&lt;/P&gt;&lt;P&gt;       AND KSCHL EQ LC_KSCHL&lt;/P&gt;&lt;P&gt;       AND DATBI GE SY-DATUM&lt;/P&gt;&lt;P&gt;       AND DATAB LE SY-DATUM&lt;/P&gt;&lt;P&gt;       AND KNUMH EQ LT_KONDD-KNUMH.&lt;/P&gt;&lt;P&gt;    IF SY-SUBRC EQ 0.&lt;/P&gt;&lt;P&gt;      SORT LT_KOTD001 BY KNUMH.&lt;/P&gt;&lt;P&gt;      LOOP AT LT_KOTD001 INTO LFS_KOTD001.&lt;/P&gt;&lt;P&gt;        READ TABLE LT_KONDD INTO LFS_KONDD WITH KEY&lt;/P&gt;&lt;P&gt;                   KNUMH = LFS_KOTD001-KNUMH BINARY SEARCH.&lt;/P&gt;&lt;P&gt;        IF SY-SUBRC EQ 0.&lt;/P&gt;&lt;P&gt;          MOVE: LFS_KONDD-MATNR TO LFS_SMATN-MATNR,&lt;/P&gt;&lt;P&gt;                LFS_KOTD001-MATWA TO LFS_SMATN-MATWA.&lt;/P&gt;&lt;P&gt;          APPEND LFS_SMATN TO LT_SMATN.&lt;/P&gt;&lt;P&gt;          CLEAR:LFS_SMATN,LFS_KONDD.&lt;/P&gt;&lt;P&gt;        ENDIF.                         " IF SY-SUBRC EQ 0&lt;/P&gt;&lt;P&gt;      ENDLOOP.                         " LOOP AT LT_KTODD01&lt;/P&gt;&lt;P&gt;    ENDIF.                             " IF SY-SUBRC EQ 0&lt;/P&gt;&lt;P&gt;  ENDIF.                               " IF SY-SUBRC EQ 0&lt;/P&gt;&lt;P&gt;  SORT LT_SMATN BY MATNR MATWA.&lt;/P&gt;&lt;P&gt;  DELETE ADJACENT DUPLICATES FROM LT_SMATN&lt;/P&gt;&lt;P&gt;                     COMPARING MATNR MATWA.&lt;/P&gt;&lt;P&gt;  LOOP AT LT_SMATN INTO LFS_SMATN.&lt;/P&gt;&lt;P&gt;    LV_CNT = LV_CNT + 1.&lt;/P&gt;&lt;P&gt;    MOVE LFS_SMATN-MATWA TO FS_SCODE-MATWA.&lt;/P&gt;&lt;P&gt;    AT END OF MATNR.&lt;/P&gt;&lt;P&gt;      IF LV_CNT EQ LC_ONE.&lt;/P&gt;&lt;P&gt;        MOVE LFS_SMATN-MATNR TO FS_SCODE-MATNR.&lt;/P&gt;&lt;P&gt;        APPEND FS_SCODE TO T_SCODE.&lt;/P&gt;&lt;P&gt;        CLEAR: FS_SCODE,LV_CNT.&lt;/P&gt;&lt;P&gt;      ENDIF.                           " IF LC_CNT EQ 1&lt;/P&gt;&lt;P&gt;    ENDAT.                             " AT END OF MATNR&lt;/P&gt;&lt;P&gt;  ENDLOOP.                             " LOOP AT LT_SMATN&lt;/P&gt;&lt;P&gt;ENDFORM.                               " FETCH_SOCDE&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  FETCH_PODATA&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get the purchase order data for selected materials&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;There are no interface parameters to be passed to this routine&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM FETCH_PODATA .&lt;/P&gt;&lt;P&gt;  DATA:&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Info records for materials&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    BEGIN OF LFS_EINA,&lt;/P&gt;&lt;P&gt;      INFNR TYPE EINA-INFNR,           " Info record&lt;/P&gt;&lt;P&gt;      MATNR TYPE EINA-MATNR,           " Material&lt;/P&gt;&lt;P&gt;    END OF LFS_EINA,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Purchase orders for inforecords&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    BEGIN OF LFS_EINE,&lt;/P&gt;&lt;P&gt;      INFNR TYPE EINE-INFNR,           " Info record&lt;/P&gt;&lt;P&gt;      EBELN TYPE EINE-EBELN,           " Purchase order&lt;/P&gt;&lt;P&gt;      DATLB TYPE EINE-DATLB,           " Purchase Order date&lt;/P&gt;&lt;P&gt;    END OF LFS_EINE,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Purchase Order item details&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    BEGIN OF LFS_EKPO,&lt;/P&gt;&lt;P&gt;      EBELN TYPE EKPO-EBELN,           " PO Doc&lt;/P&gt;&lt;P&gt;      EBELP TYPE EKPO-EBELP,           " Item&lt;/P&gt;&lt;P&gt;      MATNR TYPE EKPO-MATNR,           " Material&lt;/P&gt;&lt;P&gt;      MENGE TYPE EKPO-MENGE,           " Quantity&lt;/P&gt;&lt;P&gt;      NETWR TYPE EKPO-NETWR,           " Cost&lt;/P&gt;&lt;P&gt;    END OF LFS_EKPO,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Purchase and material data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    BEGIN OF LFS_PODAT,&lt;/P&gt;&lt;P&gt;      MATNR TYPE EINA-MATNR,           " Material&lt;/P&gt;&lt;P&gt;      DATLB TYPE EINE-DATLB,           " Purchase Order date&lt;/P&gt;&lt;P&gt;      EBELN TYPE EINE-EBELN,           " Purchase order&lt;/P&gt;&lt;P&gt;    END OF LFS_PODAT,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;PGI data for Purchase orders&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    BEGIN OF LFS_EKBE,&lt;/P&gt;&lt;P&gt;      EBELN TYPE EKBE-EBELN,           " PO Doc&lt;/P&gt;&lt;P&gt;      EBELP TYPE EKBE-EBELP,           " Item&lt;/P&gt;&lt;P&gt;      ZEKKN TYPE EKBE-ZEKKN,           " Seq Num&lt;/P&gt;&lt;P&gt;      VGABE TYPE EKBE-VGABE,           " Transaction/event type&lt;/P&gt;&lt;P&gt;      GJAHR TYPE EKBE-GJAHR,           " Mat Doc Year&lt;/P&gt;&lt;P&gt;      BELNR TYPE EKBE-BELNR,           " Num of Mat Doc&lt;/P&gt;&lt;P&gt;      BUZEI TYPE EKBE-BUZEI,           " Item of Mat Doc&lt;/P&gt;&lt;P&gt;      MENGE TYPE EKBE-MENGE,           " Quantity&lt;/P&gt;&lt;P&gt;    END OF LFS_EKBE,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Purchase Order item details&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    BEGIN OF LFS_FEKPO,&lt;/P&gt;&lt;P&gt;      EBELN TYPE EKPO-EBELN,           " PO Doc&lt;/P&gt;&lt;P&gt;      MATNR TYPE EKPO-MATNR,           " Material&lt;/P&gt;&lt;P&gt;      MENGE TYPE EKPO-MENGE,           " Quantity&lt;/P&gt;&lt;P&gt;      NETWR TYPE EKPO-NETWR,           " Cost&lt;/P&gt;&lt;P&gt;    END OF LFS_FEKPO,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Purchase Order item details&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    BEGIN OF LFS_FEKBE,&lt;/P&gt;&lt;P&gt;      EBELN TYPE EKBE-EBELN,           " PO Doc&lt;/P&gt;&lt;P&gt;      MATNR TYPE EKPO-MATNR,           " Material&lt;/P&gt;&lt;P&gt;      MENGE TYPE EKBE-MENGE,           " Quantity&lt;/P&gt;&lt;P&gt;    END OF LFS_FEKBE,&lt;/P&gt;&lt;P&gt;    LT_EINA   LIKE STANDARD TABLE OF LFS_EINA,&lt;/P&gt;&lt;P&gt;    LT_EINE   LIKE STANDARD TABLE OF LFS_EINE,&lt;/P&gt;&lt;P&gt;    LT_EKPO   LIKE STANDARD TABLE OF LFS_EKPO,&lt;/P&gt;&lt;P&gt;    LT_PODAT  LIKE STANDARD TABLE OF LFS_PODAT,&lt;/P&gt;&lt;P&gt;    LT_EKBE   LIKE STANDARD TABLE OF LFS_EKBE,&lt;/P&gt;&lt;P&gt;    LT_FEKBE  LIKE STANDARD TABLE OF LFS_FEKBE,&lt;/P&gt;&lt;P&gt;    LT_FEKPO  LIKE STANDARD TABLE OF LFS_FEKPO.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Constants:&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CONSTANTS:&lt;/P&gt;&lt;P&gt;    LC_BWART TYPE EKBE-BWART           " Movement Type&lt;/P&gt;&lt;P&gt;             VALUE '101',&lt;/P&gt;&lt;P&gt;    LC_LOEKZ TYPE EKPO-LOEKZ           " Deletion Flag&lt;/P&gt;&lt;P&gt;             VALUE 'L'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get Info records for the selected materials&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  SELECT INFNR                         " Info record&lt;/P&gt;&lt;P&gt;         MATNR                         " Material&lt;/P&gt;&lt;P&gt;    FROM EINA&lt;/P&gt;&lt;P&gt;    INTO TABLE LT_EINA&lt;/P&gt;&lt;P&gt;     FOR ALL ENTRIES IN T_TITEM&lt;/P&gt;&lt;P&gt;   WHERE MATNR EQ T_TITEM-MATNR.&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC EQ 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get Last purchase orders for the selected info records&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    SORT LT_EINA BY INFNR.&lt;/P&gt;&lt;P&gt;    SELECT INFNR                       " Info record&lt;/P&gt;&lt;P&gt;           EBELN                       " Purchase order&lt;/P&gt;&lt;P&gt;           DATLB                       " Purchase Order date&lt;/P&gt;&lt;P&gt;      FROM EINE&lt;/P&gt;&lt;P&gt;      INTO TABLE LT_EINE&lt;/P&gt;&lt;P&gt;       FOR ALL ENTRIES IN LT_EINA&lt;/P&gt;&lt;P&gt;     WHERE INFNR EQ LT_EINA-INFNR&lt;/P&gt;&lt;P&gt;       AND EBELN NE SPACE.&lt;/P&gt;&lt;P&gt;    IF SY-SUBRC EQ 0.&lt;/P&gt;&lt;P&gt;      LOOP AT LT_EINA INTO LFS_EINA.&lt;/P&gt;&lt;P&gt;        READ TABLE LT_EINE INTO LFS_EINE WITH KEY&lt;/P&gt;&lt;P&gt;                     INFNR = LFS_EINA-INFNR BINARY SEARCH.&lt;/P&gt;&lt;P&gt;        IF SY-SUBRC EQ 0.&lt;/P&gt;&lt;P&gt;          MOVE: LFS_EINA-MATNR TO LFS_PODAT-MATNR,&lt;/P&gt;&lt;P&gt;                LFS_EINE-EBELN TO LFS_PODAT-EBELN,&lt;/P&gt;&lt;P&gt;                LFS_EINE-DATLB TO LFS_PODAT-DATLB.&lt;/P&gt;&lt;P&gt;          APPEND LFS_PODAT TO LT_PODAT.&lt;/P&gt;&lt;P&gt;          CLEAR: LFS_PODAT,LFS_EINE.&lt;/P&gt;&lt;P&gt;        ENDIF.                         " IF SY-SUBRC EQ 0&lt;/P&gt;&lt;P&gt;      ENDLOOP.                         " LOOP AT LT_EINA&lt;/P&gt;&lt;P&gt;      SORT LT_PODAT BY MATNR ASCENDING DATLB DESCENDING.&lt;/P&gt;&lt;P&gt;      DELETE ADJACENT DUPLICATES FROM LT_PODAT&lt;/P&gt;&lt;P&gt;                      COMPARING MATNR.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get Purchase order details&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      SELECT EBELN                     " PO Doc&lt;/P&gt;&lt;P&gt;             EBELP                     " Item&lt;/P&gt;&lt;P&gt;             MATNR                     " Material&lt;/P&gt;&lt;P&gt;             MENGE                     " Quantity&lt;/P&gt;&lt;P&gt;             NETWR                     " Cost&lt;/P&gt;&lt;P&gt;        FROM EKPO&lt;/P&gt;&lt;P&gt;        INTO TABLE LT_EKPO&lt;/P&gt;&lt;P&gt;         FOR ALL ENTRIES IN LT_PODAT&lt;/P&gt;&lt;P&gt;       WHERE EBELN EQ LT_PODAT-EBELN&lt;/P&gt;&lt;P&gt;         AND LOEKZ NE LC_LOEKZ&lt;/P&gt;&lt;P&gt;         AND MATNR EQ LT_PODAT-MATNR.&lt;/P&gt;&lt;P&gt;      IF SY-SUBRC EQ 0.&lt;/P&gt;&lt;P&gt;        SORT: LT_EKPO BY EBELN EBELP.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get PGI Qty of PO&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        SELECT EBELN                   " PO doc&lt;/P&gt;&lt;P&gt;               EBELP                   " Item&lt;/P&gt;&lt;P&gt;               ZEKKN                   " Seq Num&lt;/P&gt;&lt;P&gt;               VGABE                   " Transaction/event type&lt;/P&gt;&lt;P&gt;               GJAHR                   " Mat Doc Year&lt;/P&gt;&lt;P&gt;               BELNR                   " Num of Mat Doc&lt;/P&gt;&lt;P&gt;               BUZEI                   " Item of Mat Doc&lt;/P&gt;&lt;P&gt;               MENGE                   " Quantity&lt;/P&gt;&lt;P&gt;          FROM EKBE&lt;/P&gt;&lt;P&gt;          INTO TABLE LT_EKBE&lt;/P&gt;&lt;P&gt;           FOR ALL ENTRIES IN LT_EKPO&lt;/P&gt;&lt;P&gt;         WHERE EBELN EQ LT_EKPO-EBELN&lt;/P&gt;&lt;P&gt;           AND EBELP EQ LT_EKPO-EBELP&lt;/P&gt;&lt;P&gt;           AND BWART EQ LC_BWART.&lt;/P&gt;&lt;P&gt;        IF SY-SUBRC EQ 0.&lt;/P&gt;&lt;P&gt;          SORT LT_EKBE BY EBELN EBELP.&lt;/P&gt;&lt;P&gt;          LOOP AT LT_EKBE INTO LFS_EKBE.&lt;/P&gt;&lt;P&gt;            READ TABLE LT_EKPO INTO LFS_EKPO WITH KEY&lt;/P&gt;&lt;P&gt;                         EBELN = LFS_EKBE-EBELN&lt;/P&gt;&lt;P&gt;                         EBELP = LFS_EKBE-EBELP&lt;/P&gt;&lt;P&gt;                         BINARY SEARCH.&lt;/P&gt;&lt;P&gt;            IF SY-SUBRC EQ 0.&lt;/P&gt;&lt;P&gt;              MOVE: LFS_EKBE-EBELN TO LFS_FEKBE-EBELN,&lt;/P&gt;&lt;P&gt;                    LFS_EKPO-MATNR TO LFS_FEKBE-MATNR,&lt;/P&gt;&lt;P&gt;                    LFS_EKBE-MENGE TO LFS_FEKBE-MENGE .&lt;/P&gt;&lt;P&gt;              COLLECT LFS_FEKBE INTO LT_FEKBE.&lt;/P&gt;&lt;P&gt;              CLEAR LFS_FEKBE.&lt;/P&gt;&lt;P&gt;            ENDIF.                     " IF SY-SUBRC EQ 0&lt;/P&gt;&lt;P&gt;          ENDLOOP.                     " LOOP AT LT_EKBE&lt;/P&gt;&lt;P&gt;        ENDIF.                         " IF SY-SUBRC EQ 0&lt;/P&gt;&lt;P&gt;      ENDIF.                           " IF SY-SUBRC EQ 0&lt;/P&gt;&lt;P&gt;    ENDIF.                             " IF SY-SUBRC EQ 0&lt;/P&gt;&lt;P&gt;  ENDIF.                               " IF SY-SUBRC EQ 0&lt;/P&gt;&lt;P&gt;  LOOP AT LT_EKPO INTO LFS_EKPO.&lt;/P&gt;&lt;P&gt;    MOVE: LFS_EKPO-EBELN TO LFS_FEKPO-EBELN,&lt;/P&gt;&lt;P&gt;          LFS_EKPO-MATNR TO LFS_FEKPO-MATNR,&lt;/P&gt;&lt;P&gt;          LFS_EKPO-MENGE TO LFS_FEKPO-MENGE,&lt;/P&gt;&lt;P&gt;          LFS_EKPO-NETWR TO LFS_FEKPO-NETWR.&lt;/P&gt;&lt;P&gt;    COLLECT LFS_FEKPO INTO LT_FEKPO.&lt;/P&gt;&lt;P&gt;    CLEAR LFS_FEKPO.&lt;/P&gt;&lt;P&gt;  ENDLOOP.                             " LOOP AT LT_EKPO&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Final PO data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  SORT: LT_FEKPO BY MATNR,&lt;/P&gt;&lt;P&gt;        LT_FEKBE BY MATNR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT LT_PODAT INTO LFS_PODAT.&lt;/P&gt;&lt;P&gt;    MOVE: LFS_PODAT-MATNR TO FS_PODAT-MATNR,&lt;/P&gt;&lt;P&gt;          LFS_PODAT-DATLB TO FS_PODAT-DATLB.&lt;/P&gt;&lt;P&gt;    READ TABLE LT_FEKPO INTO LFS_FEKPO WITH KEY&lt;/P&gt;&lt;P&gt;               MATNR = LFS_PODAT-MATNR BINARY SEARCH.&lt;/P&gt;&lt;P&gt;    IF SY-SUBRC EQ 0.&lt;/P&gt;&lt;P&gt;      READ TABLE LT_FEKBE INTO LFS_FEKBE WITH KEY&lt;/P&gt;&lt;P&gt;                 MATNR = LFS_PODAT-MATNR BINARY SEARCH.&lt;/P&gt;&lt;P&gt;      IF SY-SUBRC EQ 0.&lt;/P&gt;&lt;P&gt;        MOVE LFS_FEKBE-MENGE TO FS_PODAT-POOUT.&lt;/P&gt;&lt;P&gt;        CLEAR LFS_FEKBE.&lt;/P&gt;&lt;P&gt;      ENDIF.                           " IF SY-SYBRC EQ 0&lt;/P&gt;&lt;P&gt;      MOVE: LFS_FEKPO-MENGE TO FS_PODAT-POQTY,&lt;/P&gt;&lt;P&gt;            LFS_FEKPO-NETWR TO FS_PODAT-POCOST.&lt;/P&gt;&lt;P&gt;      FS_PODAT-POOUT = FS_PODAT-POQTY - FS_PODAT-POOUT.&lt;/P&gt;&lt;P&gt;      APPEND FS_PODAT TO T_PODAT.&lt;/P&gt;&lt;P&gt;      CLEAR: LFS_FEKPO,FS_PODAT.&lt;/P&gt;&lt;P&gt;    ENDIF.                             " IF SY-SYBRC EQ 0&lt;/P&gt;&lt;P&gt;  ENDLOOP.                             " LOOP AT LT_PODAT&lt;/P&gt;&lt;P&gt;ENDFORM.                               " FETCH_PODATA&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  FETCH_VENDOR&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get the Current Vendor,Purchase info record and conditional&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;value(Rate)&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;There are no interface parameters to be passed to this routine&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM FETCH_VENDOR .&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Purchasing Source List&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  DATA:&lt;/P&gt;&lt;P&gt;    BEGIN OF LFS_EORD,&lt;/P&gt;&lt;P&gt;      MATNR TYPE MARA-MATNR,           " Material&lt;/P&gt;&lt;P&gt;      LIFNR TYPE EORD-LIFNR,           " Vendor&lt;/P&gt;&lt;P&gt;    END OF LFS_EORD,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Material Info Record (Plant-Specific)&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    BEGIN OF LFS_A017,&lt;/P&gt;&lt;P&gt;      LIFNR TYPE EORD-LIFNR,           " Vendor&lt;/P&gt;&lt;P&gt;      MATNR TYPE MARA-MATNR,           " Material&lt;/P&gt;&lt;P&gt;      DATAB TYPE A017-DATAB,           " Validity Start date&lt;/P&gt;&lt;P&gt;      KNUMH TYPE A017-KNUMH,           " Condition Record&lt;/P&gt;&lt;P&gt;    END OF LFS_A017,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Materials&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    BEGIN OF LFS_MATNR,&lt;/P&gt;&lt;P&gt;      MATNR TYPE MARA-MATNR,           " Material&lt;/P&gt;&lt;P&gt;    END OF LFS_MATNR,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Info Records&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    BEGIN OF LFS_KONP,&lt;/P&gt;&lt;P&gt;      KNUMH TYPE KONP-KNUMH,           " Condition record&lt;/P&gt;&lt;P&gt;      KBETR TYPE KONP-KBETR,           " Price&lt;/P&gt;&lt;P&gt;      KONWA TYPE KONP-KONWA,           " Currency&lt;/P&gt;&lt;P&gt;    END OF LFS_KONP,&lt;/P&gt;&lt;P&gt;    LT_EORD  LIKE STANDARD TABLE OF LFS_EORD,&lt;/P&gt;&lt;P&gt;    LT_A017  LIKE STANDARD TABLE OF LFS_A017,&lt;/P&gt;&lt;P&gt;    LT_MATNR LIKE STANDARD TABLE OF LFS_MATNR,&lt;/P&gt;&lt;P&gt;    LT_KONP  LIKE STANDARD TABLE OF LFS_KONP.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Constants&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CONSTANTS:&lt;/P&gt;&lt;P&gt;    LC_KAPPL TYPE A017-KAPPL           " Application&lt;/P&gt;&lt;P&gt;             VALUE 'M',&lt;/P&gt;&lt;P&gt;    LC_KSCHL TYPE A017-KSCHL           " Condition Type&lt;/P&gt;&lt;P&gt;             VALUE 'PB00',&lt;/P&gt;&lt;P&gt;    LC_EKORG TYPE A017-EKORG           " Sales Org&lt;/P&gt;&lt;P&gt;             VALUE '1000'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get Purchase Info records&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  SELECT MATNR                         " Material Number&lt;/P&gt;&lt;P&gt;         LIFNR                         " Vendor Number&lt;/P&gt;&lt;P&gt;    FROM EORD&lt;/P&gt;&lt;P&gt;    INTO TABLE LT_EORD&lt;/P&gt;&lt;P&gt;     FOR ALL ENTRIES IN T_TITEM&lt;/P&gt;&lt;P&gt;   WHERE MATNR EQ T_TITEM-MATNR&lt;/P&gt;&lt;P&gt;     AND WERKS EQ C_WERKS&lt;/P&gt;&lt;P&gt;     AND FLIFN EQ C_NOSYS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC EQ 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Fetch the info records for the material&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    SELECT LIFNR                       " Vendor&lt;/P&gt;&lt;P&gt;           MATNR                       " Material&lt;/P&gt;&lt;P&gt;           DATAB                       " Validity Start date&lt;/P&gt;&lt;P&gt;           KNUMH                       " Condition Record&lt;/P&gt;&lt;P&gt;      FROM A017&lt;/P&gt;&lt;P&gt;      INTO TABLE LT_A017&lt;/P&gt;&lt;P&gt;       FOR ALL ENTRIES IN LT_EORD&lt;/P&gt;&lt;P&gt;     WHERE KAPPL EQ LC_KAPPL&lt;/P&gt;&lt;P&gt;       AND KSCHL EQ LC_KSCHL&lt;/P&gt;&lt;P&gt;       AND LIFNR EQ LT_EORD-LIFNR&lt;/P&gt;&lt;P&gt;       AND MATNR EQ LT_EORD-MATNR&lt;/P&gt;&lt;P&gt;       AND EKORG EQ LC_EKORG&lt;/P&gt;&lt;P&gt;       AND WERKS EQ C_WERKS&lt;/P&gt;&lt;P&gt;       AND DATBI GE SY-DATUM&lt;/P&gt;&lt;P&gt;       AND DATAB LE SY-DATUM.&lt;/P&gt;&lt;P&gt;  ENDIF.                               " IF SY-SUBRC EQ 0&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SORT LT_A017 BY MATNR.&lt;/P&gt;&lt;P&gt;  LOOP AT T_TITEM INTO FS_ITEM.&lt;/P&gt;&lt;P&gt;    READ TABLE LT_A017 INTO LFS_A017 WITH KEY&lt;/P&gt;&lt;P&gt;               MATNR = FS_ITEM-MATNR BINARY SEARCH.&lt;/P&gt;&lt;P&gt;    IF SY-SUBRC NE 0.&lt;/P&gt;&lt;P&gt;      MOVE FS_ITEM-MATNR TO LFS_MATNR-MATNR.&lt;/P&gt;&lt;P&gt;      APPEND LFS_MATNR TO LT_MATNR.&lt;/P&gt;&lt;P&gt;      CLEAR: LFS_MATNR,LFS_A017.&lt;/P&gt;&lt;P&gt;    ENDIF.                             " IF SY-SUBRC NE 0&lt;/P&gt;&lt;P&gt;  ENDLOOP.                             " LOOP AT T_TITEM&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Fetch the info records for the material&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  IF LT_MATNR[] IS NOT INITIAL.&lt;/P&gt;&lt;P&gt;    SORT LT_MATNR BY MATNR.&lt;/P&gt;&lt;P&gt;    SELECT LIFNR                       " Vendor&lt;/P&gt;&lt;P&gt;           MATNR                       " Material&lt;/P&gt;&lt;P&gt;           DATAB                       " Validate Start Date&lt;/P&gt;&lt;P&gt;           KNUMH                       " Condition Record&lt;/P&gt;&lt;P&gt;      FROM A017&lt;/P&gt;&lt;P&gt; APPENDING TABLE LT_A017&lt;/P&gt;&lt;P&gt;       FOR ALL ENTRIES IN LT_MATNR&lt;/P&gt;&lt;P&gt;     WHERE KAPPL EQ LC_KAPPL&lt;/P&gt;&lt;P&gt;       AND KSCHL EQ LC_KSCHL&lt;/P&gt;&lt;P&gt;       AND MATNR EQ LT_MATNR-MATNR&lt;/P&gt;&lt;P&gt;       AND EKORG EQ LC_EKORG&lt;/P&gt;&lt;P&gt;       AND WERKS EQ C_WERKS&lt;/P&gt;&lt;P&gt;       AND DATBI GE SY-DATUM&lt;/P&gt;&lt;P&gt;       AND DATAB LE SY-DATUM.&lt;/P&gt;&lt;P&gt;  ENDIF.                               " IF LT_MATNR[] IS ..&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get Cost from Info record&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  IF LT_A017[] IS NOT INITIAL.&lt;/P&gt;&lt;P&gt;    SORT LT_A017 BY LIFNR MATNR ASCENDING&lt;/P&gt;&lt;P&gt;                    DATAB DESCENDING.&lt;/P&gt;&lt;P&gt;    DELETE ADJACENT DUPLICATES FROM LT_A017&lt;/P&gt;&lt;P&gt;           COMPARING LIFNR MATNR DATAB.&lt;/P&gt;&lt;P&gt;    SORT LT_A017 BY KNUMH.&lt;/P&gt;&lt;P&gt;    SELECT  KNUMH                      " Condition record&lt;/P&gt;&lt;P&gt;            KBETR                      " Price&lt;/P&gt;&lt;P&gt;            KONWA                      " Currency&lt;/P&gt;&lt;P&gt;       FROM KONP&lt;/P&gt;&lt;P&gt;       INTO TABLE LT_KONP&lt;/P&gt;&lt;P&gt;        FOR ALL ENTRIES IN LT_A017&lt;/P&gt;&lt;P&gt;      WHERE KNUMH    EQ LT_A017-KNUMH&lt;/P&gt;&lt;P&gt;        AND KAPPL    EQ LC_KAPPL&lt;/P&gt;&lt;P&gt;        AND LOEVM_KO NE C_NOSYS.&lt;/P&gt;&lt;P&gt;    IF SY-SUBRC EQ 0.&lt;/P&gt;&lt;P&gt;      SORT: LT_A017 BY MATNR,&lt;/P&gt;&lt;P&gt;            LT_KONP BY KNUMH.&lt;/P&gt;&lt;P&gt;      LOOP AT LT_A017 INTO LFS_A017.&lt;/P&gt;&lt;P&gt;        READ TABLE LT_KONP INTO LFS_KONP WITH KEY&lt;/P&gt;&lt;P&gt;                KNUMH = LFS_A017-KNUMH BINARY SEARCH.&lt;/P&gt;&lt;P&gt;        IF SY-SUBRC EQ 0.&lt;/P&gt;&lt;P&gt;          MOVE:LFS_A017-MATNR TO FS_KONP-MATNR,&lt;/P&gt;&lt;P&gt;               LFS_A017-LIFNR TO FS_KONP-LIFNR,&lt;/P&gt;&lt;P&gt;               LFS_KONP-KBETR TO FS_KONP-KBETR,&lt;/P&gt;&lt;P&gt;               LFS_KONP-KONWA TO FS_KONP-KONWA.&lt;/P&gt;&lt;P&gt;          APPEND FS_KONP TO T_KONP.&lt;/P&gt;&lt;P&gt;          CLEAR:FS_KONP,LFS_A017.&lt;/P&gt;&lt;P&gt;        ENDIF.                         " IF SY-SUBRC EQ 0&lt;/P&gt;&lt;P&gt;      ENDLOOP.                         " LOOP AT LT_A017&lt;/P&gt;&lt;P&gt;    ENDIF.                             " IF SY-SUBRC EQ 0&lt;/P&gt;&lt;P&gt;  ENDIF.                               " IF SY-SUBRC EQ 0&lt;/P&gt;&lt;P&gt;ENDFORM.                               " FETCH_VENDOR&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  FETCH_STOCK&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get Minimum and Maximum stock values for the selected Materials&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;There are no interface parameters to be passed to this routine&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM FETCH_STOCK .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Material Stock data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  DATA:&lt;/P&gt;&lt;P&gt;    BEGIN OF LFS_MARD,&lt;/P&gt;&lt;P&gt;      MATNR TYPE MARD-MATNR,           " Material&lt;/P&gt;&lt;P&gt;      LFGJA TYPE MARD-LFGJA,           " Year&lt;/P&gt;&lt;P&gt;      LFMON TYPE MARD-LFMON,           " Period&lt;/P&gt;&lt;P&gt;      LABST TYPE MARD-LABST,           " Unrestricted Stock&lt;/P&gt;&lt;P&gt;    END OF LFS_MARD,&lt;/P&gt;&lt;P&gt;    LT_MARD  LIKE STANDARD TABLE OF LFS_MARD,&lt;/P&gt;&lt;P&gt;    LT_MARD1 LIKE STANDARD TABLE OF LFS_MARD.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Local Variables&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  DATA:&lt;/P&gt;&lt;P&gt;    LV_FLAG TYPE C.                    " Flag&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get Material Data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  SELECT MATNR                         " Material&lt;/P&gt;&lt;P&gt;         LFGJA                         " Year&lt;/P&gt;&lt;P&gt;         LFMON                         " Period&lt;/P&gt;&lt;P&gt;         LABST                         " Unrestricted Stock&lt;/P&gt;&lt;P&gt;    FROM MARD&lt;/P&gt;&lt;P&gt;    INTO TABLE LT_MARD&lt;/P&gt;&lt;P&gt;     FOR ALL ENTRIES IN T_TITEM&lt;/P&gt;&lt;P&gt;   WHERE MATNR EQ T_TITEM-MATNR&lt;/P&gt;&lt;P&gt;     AND WERKS EQ C_WERKS&lt;/P&gt;&lt;P&gt;     AND LFGJA BETWEEN W_DATE(4)   AND SY-DATUM(4)&lt;/P&gt;&lt;P&gt;     AND LFMON BETWEEN W_DATE&lt;EM&gt;4(2) AND SY-DATUM&lt;/EM&gt;4(2).&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC EQ 0.&lt;/P&gt;&lt;P&gt;    LOOP AT LT_MARD INTO LFS_MARD.&lt;/P&gt;&lt;P&gt;      COLLECT LFS_MARD INTO LT_MARD1.&lt;/P&gt;&lt;P&gt;      CLEAR LFS_MARD.&lt;/P&gt;&lt;P&gt;    ENDLOOP.                           " LOOP AT LT_MARD&lt;/P&gt;&lt;P&gt;    REFRESH LT_MARD.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Perious Stock data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    SELECT MATNR                       " Material&lt;/P&gt;&lt;P&gt;           LFGJA                       " Year&lt;/P&gt;&lt;P&gt;           LFMON                       " Period&lt;/P&gt;&lt;P&gt;           LABST                       " Unrestricted Stock&lt;/P&gt;&lt;P&gt;      FROM MARDH&lt;/P&gt;&lt;P&gt;      INTO TABLE LT_MARD&lt;/P&gt;&lt;P&gt;       FOR ALL ENTRIES IN T_TITEM&lt;/P&gt;&lt;P&gt;     WHERE MATNR EQ T_TITEM-MATNR&lt;/P&gt;&lt;P&gt;       AND WERKS EQ C_WERKS&lt;/P&gt;&lt;P&gt;       AND LFGJA BETWEEN W_DATE(4)   AND SY-DATUM(4)&lt;/P&gt;&lt;P&gt;       AND LFMON BETWEEN W_DATE&lt;EM&gt;4(2) AND SY-DATUM&lt;/EM&gt;4(2).&lt;/P&gt;&lt;P&gt;    IF SY-SUBRC EQ 0.&lt;/P&gt;&lt;P&gt;      LOOP AT LT_MARD INTO LFS_MARD.&lt;/P&gt;&lt;P&gt;        COLLECT LFS_MARD INTO LT_MARD1.&lt;/P&gt;&lt;P&gt;        CLEAR LFS_MARD.&lt;/P&gt;&lt;P&gt;      ENDLOOP.                         " LOOP AT LT_MARD&lt;/P&gt;&lt;P&gt;    ENDIF.                             " IF SY-SUBRC EQ 0&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Min and Max values of the material&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    SORT LT_MARD1 BY MATNR LABST.&lt;/P&gt;&lt;P&gt;    LOOP AT LT_MARD1 INTO LFS_MARD.&lt;/P&gt;&lt;P&gt;      AT NEW MATNR.&lt;/P&gt;&lt;P&gt;        LV_FLAG = C_NOSYS.&lt;/P&gt;&lt;P&gt;      ENDAT.                           " AT NEW MATNR&lt;/P&gt;&lt;P&gt;      IF LV_FLAG EQ C_NOSYS.&lt;/P&gt;&lt;P&gt;        MOVE LFS_MARD-LABST TO FS_MARD-MINQTY.&lt;/P&gt;&lt;P&gt;        CLEAR LV_FLAG.&lt;/P&gt;&lt;P&gt;      ENDIF.                           " IF LV_FLAG..&lt;/P&gt;&lt;P&gt;      MOVE LFS_MARD-LABST TO FS_MARD-MAXQTY.&lt;/P&gt;&lt;P&gt;      AT END OF MATNR.&lt;/P&gt;&lt;P&gt;        MOVE LFS_MARD-MATNR TO FS_MARD-MATNR.&lt;/P&gt;&lt;P&gt;        APPEND FS_MARD TO T_MARD.&lt;/P&gt;&lt;P&gt;        CLEAR: FS_MARD.&lt;/P&gt;&lt;P&gt;      ENDAT.                           " AT END OF MATNR&lt;/P&gt;&lt;P&gt;    ENDLOOP.                           " LOOP AT LT_MARD1&lt;/P&gt;&lt;P&gt;  ENDIF.                               " IF SY-SUBRC EQ 0&lt;/P&gt;&lt;P&gt;ENDFORM.                               " FETCH_STOCK&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  GOBACK_MONTH&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get the last sixth month date&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     &amp;lt;--P_W_DATE  Date&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM GOBACK_MONTH  CHANGING P_W_DATE TYPE SY-DATUM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'CCM_GO_BACK_MONTHS'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      CURRDATE   = SY-DATUM&lt;/P&gt;&lt;P&gt;      BACKMONTHS = 5&lt;/P&gt;&lt;P&gt;    IMPORTING&lt;/P&gt;&lt;P&gt;      NEWDATE    = P_W_DATE.&lt;/P&gt;&lt;P&gt;ENDFORM.                               " GOBACK_MONTH&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  FETCH_USEDSTOCK&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Segregate the used stock monthly&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;There are no interface parameters to be passed to this routine&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM FETCH_USEDSTOCK .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Variables&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  DATA:&lt;/P&gt;&lt;P&gt;    LV_MON2(6) TYPE C,                 " Second month&lt;/P&gt;&lt;P&gt;    LV_MON3(6) TYPE C,                 " Third  month&lt;/P&gt;&lt;P&gt;    LV_MON4(6) TYPE C,                 " Fourth month&lt;/P&gt;&lt;P&gt;    LV_MON5(6) TYPE C,                 " Fifth  month&lt;/P&gt;&lt;P&gt;    LV_MON6(6) TYPE C.                 " Sixth  month&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Internal tables&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  DATA:&lt;/P&gt;&lt;P&gt;    BEGIN OF LFS_MITEM,&lt;/P&gt;&lt;P&gt;      MATNR    TYPE VBRP-MATNR,        " Material&lt;/P&gt;&lt;P&gt;      MATKL    TYPE VBRP-MATKL,        " Material Group&lt;/P&gt;&lt;P&gt;      MONTH(6) TYPE C,                 " Month&lt;/P&gt;&lt;P&gt;      FKIMG    TYPE VBRP-FKIMG,        " Usage&lt;/P&gt;&lt;P&gt;      WAVWR    TYPE VBRP-WAVWR,        " Cost&lt;/P&gt;&lt;P&gt;      NETWR    TYPE VBRP-NETWR,        " Sell Value&lt;/P&gt;&lt;P&gt;    END OF LFS_MITEM,&lt;/P&gt;&lt;P&gt;    LT_MITEM LIKE STANDARD TABLE OF LFS_MITEM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get Monthly stock usage&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  SORT T_ITEM BY MATNR MATKL FKDAT.&lt;/P&gt;&lt;P&gt;  LOOP AT T_ITEM INTO FS_ITEM.&lt;/P&gt;&lt;P&gt;    LFS_MITEM-FKIMG = LFS_MITEM-FKIMG + FS_ITEM-FKIMG.&lt;/P&gt;&lt;P&gt;    LFS_MITEM-WAVWR = LFS_MITEM-WAVWR + FS_ITEM-WAVWR.&lt;/P&gt;&lt;P&gt;    LFS_MITEM-NETWR = LFS_MITEM-NETWR + FS_ITEM-NETWR.&lt;/P&gt;&lt;P&gt;    AT END OF FKDAT(6).&lt;/P&gt;&lt;P&gt;      MOVE: FS_ITEM-MATNR    TO LFS_MITEM-MATNR,&lt;/P&gt;&lt;P&gt;            FS_ITEM-MATKL    TO LFS_MITEM-MATKL,&lt;/P&gt;&lt;P&gt;            FS_ITEM-FKDAT(6) TO LFS_MITEM-MONTH.&lt;/P&gt;&lt;P&gt;      APPEND LFS_MITEM TO LT_MITEM.&lt;/P&gt;&lt;P&gt;      CLEAR LFS_MITEM.&lt;/P&gt;&lt;P&gt;    ENDAT.                             " AT END OF FKDAT.&lt;/P&gt;&lt;P&gt;  ENDLOOP.                             " LOOP AT T_ITEM&lt;/P&gt;&lt;P&gt;  SORT LT_MITEM BY MATNR MATKL MONTH.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get last six months stock&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM CLC_MONTH USING W_DATE&lt;/P&gt;&lt;P&gt;                 CHANGING LV_MON2&lt;/P&gt;&lt;P&gt;                          LV_MON3&lt;/P&gt;&lt;P&gt;                          LV_MON4&lt;/P&gt;&lt;P&gt;                          LV_MON5&lt;/P&gt;&lt;P&gt;                          LV_MON6.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Prepare Monthly data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  LOOP AT LT_MITEM INTO LFS_MITEM.&lt;/P&gt;&lt;P&gt;    IF LFS_MITEM-MONTH EQ W_DATE(6).&lt;/P&gt;&lt;P&gt;      FS_FUSTOCK-MON1   = FS_FUSTOCK-MON1 + LFS_MITEM-FKIMG.&lt;/P&gt;&lt;P&gt;      FS_FUSTOCK-SFKIMG = FS_FUSTOCK-SFKIMG + LFS_MITEM-FKIMG.&lt;/P&gt;&lt;P&gt;      FS_FUSTOCK-YFKIMG = FS_FUSTOCK-YFKIMG + LFS_MITEM-FKIMG.&lt;/P&gt;&lt;P&gt;      FS_FUSTOCK-SNETWR = FS_FUSTOCK-SNETWR + LFS_MITEM-NETWR.&lt;/P&gt;&lt;P&gt;      FS_FUSTOCK-YNETWR = FS_FUSTOCK-YNETWR + LFS_MITEM-NETWR.&lt;/P&gt;&lt;P&gt;      FS_FUSTOCK-SWAVWR = FS_FUSTOCK-SWAVWR + LFS_MITEM-WAVWR.&lt;/P&gt;&lt;P&gt;      FS_FUSTOCK-YWAVWR = FS_FUSTOCK-YWAVWR + LFS_MITEM-WAVWR.&lt;/P&gt;&lt;P&gt;    ELSEIF LFS_MITEM-MONTH EQ LV_MON2.&lt;/P&gt;&lt;P&gt;      FS_FUSTOCK-MON2   = FS_FUSTOCK-MON2 + LFS_MITEM-FKIMG.&lt;/P&gt;&lt;P&gt;      FS_FUSTOCK-SFKIMG = FS_FUSTOCK-SFKIMG + LFS_MITEM-FKIMG.&lt;/P&gt;&lt;P&gt;      FS_FUSTOCK-YFKIMG = FS_FUSTOCK-YFKIMG + LFS_MITEM-FKIMG.&lt;/P&gt;&lt;P&gt;      FS_FUSTOCK-SNETWR = FS_FUSTOCK-SNETWR + LFS_MITEM-NETWR.&lt;/P&gt;&lt;P&gt;      FS_FUSTOCK-YNETWR = FS_FUSTOCK-YNETWR + LFS_MITEM-NETWR.&lt;/P&gt;&lt;P&gt;      FS_FUSTOCK-SWAVWR = FS_FUSTOCK-SWAVWR + LFS_MITEM-WAVWR.&lt;/P&gt;&lt;P&gt;      FS_FUSTOCK-YWAVWR = FS_FUSTOCK-YWAVWR + LFS_MITEM-WAVWR.&lt;/P&gt;&lt;P&gt;    ELSEIF LFS_MITEM-MONTH EQ LV_MON3.&lt;/P&gt;&lt;P&gt;      FS_FUSTOCK-MON3   = FS_FUSTOCK-MON3 + LFS_MITEM-FKIMG.&lt;/P&gt;&lt;P&gt;      FS_FUSTOCK-SFKIMG = FS_FUSTOCK-SFKIMG + LFS_MITEM-FKIMG.&lt;/P&gt;&lt;P&gt;      FS_FUSTOCK-YFKIMG = FS_FUSTOCK-YFKIMG + LFS_MITEM-FKIMG.&lt;/P&gt;&lt;P&gt;      FS_FUSTOCK-SNETWR = FS_FUSTOCK-SNETWR + LFS_MITEM-NETWR.&lt;/P&gt;&lt;P&gt;      FS_FUSTOCK-YNETWR = FS_FUSTOCK-YNETWR + LFS_MITEM-NETWR.&lt;/P&gt;&lt;P&gt;      FS_FUSTOCK-SWAVWR = FS_FUSTOCK-SWAVWR + LFS_MITEM-WAVWR.&lt;/P&gt;&lt;P&gt;      FS_FUSTOCK-YWAVWR = FS_FUSTOCK-YWAVWR + LFS_MITEM-WAVWR.&lt;/P&gt;&lt;P&gt;    ELSEIF LFS_MITEM-MONTH EQ LV_MON4.&lt;/P&gt;&lt;P&gt;      FS_FUSTOCK-MON4   = FS_FUSTOCK-MON4 + LFS_MITEM-FKIMG.&lt;/P&gt;&lt;P&gt;      FS_FUSTOCK-SFKIMG = FS_FUSTOCK-SFKIMG + LFS_MITEM-FKIMG.&lt;/P&gt;&lt;P&gt;      FS_FUSTOCK-YFKIMG = FS_FUSTOCK-YFKIMG + LFS_MITEM-FKIMG.&lt;/P&gt;&lt;P&gt;      FS_FUSTOCK-SNETWR = FS_FUSTOCK-SNETWR + LFS_MITEM-NETWR.&lt;/P&gt;&lt;P&gt;      FS_FUSTOCK-YNETWR = FS_FUSTOCK-YNETWR + LFS_MITEM-NETWR.&lt;/P&gt;&lt;P&gt;      FS_FUSTOCK-SWAVWR = FS_FUSTOCK-SWAVWR + LFS_MITEM-WAVWR.&lt;/P&gt;&lt;P&gt;      FS_FUSTOCK-YWAVWR = FS_FUSTOCK-YWAVWR + LFS_MITEM-WAVWR.&lt;/P&gt;&lt;P&gt;    ELSEIF LFS_MITEM-MONTH EQ LV_MON5.&lt;/P&gt;&lt;P&gt;      FS_FUSTOCK-MON5   = FS_FUSTOCK-MON5 + LFS_MITEM-FKIMG.&lt;/P&gt;&lt;P&gt;      FS_FUSTOCK-SFKIMG = FS_FUSTOCK-SFKIMG + LFS_MITEM-FKIMG.&lt;/P&gt;&lt;P&gt;      FS_FUSTOCK-YFKIMG = FS_FUSTOCK-YFKIMG + LFS_MITEM-FKIMG.&lt;/P&gt;&lt;P&gt;      FS_FUSTOCK-SNETWR = FS_FUSTOCK-SNETWR + LFS_MITEM-NETWR.&lt;/P&gt;&lt;P&gt;      FS_FUSTOCK-YNETWR = FS_FUSTOCK-YNETWR + LFS_MITEM-NETWR.&lt;/P&gt;&lt;P&gt;      FS_FUSTOCK-SWAVWR = FS_FUSTOCK-SWAVWR + LFS_MITEM-WAVWR.&lt;/P&gt;&lt;P&gt;      FS_FUSTOCK-YWAVWR = FS_FUSTOCK-YWAVWR + LFS_MITEM-WAVWR.&lt;/P&gt;&lt;P&gt;    ELSEIF LFS_MITEM-MONTH EQ LV_MON6.&lt;/P&gt;&lt;P&gt;      FS_FUSTOCK-MON6   = FS_FUSTOCK-MON6 + LFS_MITEM-FKIMG.&lt;/P&gt;&lt;P&gt;      FS_FUSTOCK-SFKIMG = FS_FUSTOCK-SFKIMG + LFS_MITEM-FKIMG.&lt;/P&gt;&lt;P&gt;      FS_FUSTOCK-YFKIMG = FS_FUSTOCK-YFKIMG + LFS_MITEM-FKIMG.&lt;/P&gt;&lt;P&gt;      FS_FUSTOCK-SNETWR = FS_FUSTOCK-SNETWR + LFS_MITEM-NETWR.&lt;/P&gt;&lt;P&gt;      FS_FUSTOCK-YNETWR = FS_FUSTOCK-YNETWR + LFS_MITEM-NETWR.&lt;/P&gt;&lt;P&gt;      FS_FUSTOCK-SWAVWR = FS_FUSTOCK-SWAVWR + LFS_MITEM-WAVWR.&lt;/P&gt;&lt;P&gt;      FS_FUSTOCK-YWAVWR = FS_FUSTOCK-YWAVWR + LFS_MITEM-WAVWR.&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;      FS_FUSTOCK-YFKIMG = FS_FUSTOCK-YFKIMG + LFS_MITEM-FKIMG.&lt;/P&gt;&lt;P&gt;      FS_FUSTOCK-YNETWR = FS_FUSTOCK-YNETWR + LFS_MITEM-NETWR.&lt;/P&gt;&lt;P&gt;      FS_FUSTOCK-YWAVWR = FS_FUSTOCK-YWAVWR + LFS_MITEM-WAVWR.&lt;/P&gt;&lt;P&gt;    ENDIF.                             " IF LFS_MITEM&lt;/P&gt;&lt;P&gt;    AT END OF MATKL.&lt;/P&gt;&lt;P&gt;      MOVE:LFS_MITEM-MATKL TO FS_FUSTOCK-MATKL,&lt;/P&gt;&lt;P&gt;           LFS_MITEM-MATNR TO FS_FUSTOCK-MATNR.&lt;/P&gt;&lt;P&gt;      APPEND FS_FUSTOCK TO T_FUSTOCK.&lt;/P&gt;&lt;P&gt;      CLEAR FS_FUSTOCK.&lt;/P&gt;&lt;P&gt;    ENDAT.                             " AT END OF MATNR&lt;/P&gt;&lt;P&gt;  ENDLOOP.                             " LOOP AT LT_MITEM&lt;/P&gt;&lt;P&gt;ENDFORM.                               " FETCH_USEDSTOCK&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  CLC_MONTH&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Calculate month values from last six month to current month&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_LV_DATUM Month&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     &amp;lt;--P_LV_MON2  Fifth   month&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     &amp;lt;--P_LV_MON3  Fourth  month&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     &amp;lt;--P_LV_MON4  Third   month&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     &amp;lt;--P_LV_MON5  Second  month&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     &amp;lt;--P_LV_MON6  Current month&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM CLC_MONTH  USING    P_LV_DATUM  TYPE SY-DATUM&lt;/P&gt;&lt;P&gt;                CHANGING P_LV_MON2   TYPE C&lt;/P&gt;&lt;P&gt;                         P_LV_MON3   TYPE C&lt;/P&gt;&lt;P&gt;                         P_LV_MON4   TYPE C&lt;/P&gt;&lt;P&gt;                         P_LV_MON5   TYPE C&lt;/P&gt;&lt;P&gt;                         P_LV_MON6   TYPE C.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Local Variables&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  DATA: LV_MON(2)  TYPE N,             " Month&lt;/P&gt;&lt;P&gt;        LV_YEAR(4) TYPE N.             " Year&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Constants&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CONSTANTS:&lt;/P&gt;&lt;P&gt;    LC_ONE(2)    TYPE C VALUE '01',    " One&lt;/P&gt;&lt;P&gt;    LC_TWO(2)    TYPE C VALUE '02',    " Two&lt;/P&gt;&lt;P&gt;    LC_THREE(2)  TYPE C VALUE '03',    " Three&lt;/P&gt;&lt;P&gt;    LC_FOUR(2)   TYPE C VALUE '04',    " Four&lt;/P&gt;&lt;P&gt;    LC_FIVE(2)   TYPE C VALUE '05',    " Five&lt;/P&gt;&lt;P&gt;    LC_EONE(2)   TYPE C VALUE '13',    " Mon val&lt;/P&gt;&lt;P&gt;    LC_ETWO(2)   TYPE C VALUE '14',    " Mon val&lt;/P&gt;&lt;P&gt;    LC_ETHREE(2) TYPE C VALUE '15',    " Mon val&lt;/P&gt;&lt;P&gt;    LC_EFOUR(2)  TYPE C VALUE '16',    " Mon val&lt;/P&gt;&lt;P&gt;    LC_EFIVE(2)  TYPE C VALUE '17'.    " Mon val&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LV_MON = P_LV_DATUM+4(2) + LC_ONE.&lt;/P&gt;&lt;P&gt;  LV_YEAR = P_LV_DATUM(4) + 1.&lt;/P&gt;&lt;P&gt;  IF LV_MON = LC_EONE.&lt;/P&gt;&lt;P&gt;    CONCATENATE LV_YEAR LC_ONE INTO P_LV_MON2.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    CONCATENATE P_LV_DATUM(4) LV_MON INTO P_LV_MON2.&lt;/P&gt;&lt;P&gt;  ENDIF.                               " IF LV_MON = 13&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LV_MON = P_LV_DATUM+4(2) + LC_TWO.&lt;/P&gt;&lt;P&gt;  IF LV_MON = LC_EONE.&lt;/P&gt;&lt;P&gt;    CONCATENATE LV_YEAR LC_ONE INTO P_LV_MON3.&lt;/P&gt;&lt;P&gt;  ELSEIF LV_MON = LC_ETWO.&lt;/P&gt;&lt;P&gt;    CONCATENATE LV_YEAR LC_TWO INTO P_LV_MON3.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    CONCATENATE P_LV_DATUM(4) LV_MON INTO P_LV_MON3.&lt;/P&gt;&lt;P&gt;  ENDIF.                               " IF LV_MON = 14&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LV_MON = P_LV_DATUM+4(2) + LC_THREE.&lt;/P&gt;&lt;P&gt;  IF LV_MON = LC_EONE.&lt;/P&gt;&lt;P&gt;    CONCATENATE LV_YEAR LC_ONE INTO P_LV_MON4.&lt;/P&gt;&lt;P&gt;  ELSEIF LV_MON = LC_ETWO.&lt;/P&gt;&lt;P&gt;    CONCATENATE LV_YEAR LC_TWO INTO P_LV_MON4.&lt;/P&gt;&lt;P&gt;  ELSEIF LV_MON = LC_ETHREE.&lt;/P&gt;&lt;P&gt;    CONCATENATE LV_YEAR LC_THREE INTO P_LV_MON4.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    CONCATENATE P_LV_DATUM(4) LV_MON INTO P_LV_MON4.&lt;/P&gt;&lt;P&gt;  ENDIF.                               " IF LV_MON = 15&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LV_MON = P_LV_DATUM+4(2) + LC_FOUR.&lt;/P&gt;&lt;P&gt;  IF LV_MON = LC_EONE.&lt;/P&gt;&lt;P&gt;    CONCATENATE LV_YEAR LC_ONE INTO P_LV_MON5.&lt;/P&gt;&lt;P&gt;  ELSEIF LV_MON = LC_ETWO.&lt;/P&gt;&lt;P&gt;    CONCATENATE LV_YEAR LC_TWO INTO P_LV_MON5.&lt;/P&gt;&lt;P&gt;  ELSEIF LV_MON = LC_ETHREE.&lt;/P&gt;&lt;P&gt;    CONCATENATE LV_YEAR LC_THREE INTO P_LV_MON5.&lt;/P&gt;&lt;P&gt;  ELSEIF LV_MON = LC_EFOUR.&lt;/P&gt;&lt;P&gt;    CONCATENATE LV_YEAR LC_FOUR INTO P_LV_MON5.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    CONCATENATE P_LV_DATUM(4) LV_MON INTO P_LV_MON5.&lt;/P&gt;&lt;P&gt;  ENDIF.                               " IF LV_MON = 16&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LV_MON = P_LV_DATUM+4(2) + LC_FIVE.&lt;/P&gt;&lt;P&gt;  IF LV_MON = LC_EONE.&lt;/P&gt;&lt;P&gt;    CONCATENATE LV_YEAR LC_ONE INTO P_LV_MON6.&lt;/P&gt;&lt;P&gt;  ELSEIF LV_MON = LC_ETWO.&lt;/P&gt;&lt;P&gt;    CONCATENATE LV_YEAR LC_TWO INTO P_LV_MON6.&lt;/P&gt;&lt;P&gt;  ELSEIF LV_MON = LC_ETHREE.&lt;/P&gt;&lt;P&gt;    CONCATENATE LV_YEAR LC_THREE INTO P_LV_MON6.&lt;/P&gt;&lt;P&gt;  ELSEIF LV_MON = LC_EFOUR.&lt;/P&gt;&lt;P&gt;    CONCATENATE LV_YEAR LC_FOUR INTO P_LV_MON6.&lt;/P&gt;&lt;P&gt;  ELSEIF LV_MON = LC_EFIVE.&lt;/P&gt;&lt;P&gt;    CONCATENATE LV_YEAR LC_FIVE INTO P_LV_MON6.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    CONCATENATE P_LV_DATUM(4) LV_MON INTO P_LV_MON6.&lt;/P&gt;&lt;P&gt;  ENDIF.                               " IF LV_MON = 17&lt;/P&gt;&lt;P&gt;ENDFORM.                               " CLC_MONTH&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  FETCH_MONTHS&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get the last six months from current date&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;There are no interface parameters to be passed to this routine&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM FETCH_MONTHS .&lt;/P&gt;&lt;P&gt;  DATA:&lt;/P&gt;&lt;P&gt;    LV_MONTH(2) TYPE N,                " Month&lt;/P&gt;&lt;P&gt;    LV_YEAR(4)  TYPE C,                " Year&lt;/P&gt;&lt;P&gt;    LV_TEMP     TYPE I.                " Rem&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  MOVE W_DATE+4(2) TO FS_MONTH-MONTH.&lt;/P&gt;&lt;P&gt;  MOVE W_DATE(4)   TO FS_MONTH-YEAR.&lt;/P&gt;&lt;P&gt;  APPEND FS_MONTH  TO T_MONTH.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LV_MONTH = W_DATE+4(2).&lt;/P&gt;&lt;P&gt;  LV_YEAR = W_DATE(4).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DO 5 TIMES.&lt;/P&gt;&lt;P&gt;    LV_MONTH = LV_MONTH + 1.&lt;/P&gt;&lt;P&gt;    LV_TEMP   = LV_MONTH MOD 12 .&lt;/P&gt;&lt;P&gt;    IF LV_TEMP EQ 1.&lt;/P&gt;&lt;P&gt;      MOVE '01' TO LV_MONTH.&lt;/P&gt;&lt;P&gt;      LV_YEAR = LV_YEAR + 1.&lt;/P&gt;&lt;P&gt;    ENDIF.                             " IF LV_TEMP EQ 1&lt;/P&gt;&lt;P&gt;    MOVE LV_MONTH TO FS_MONTH-MONTH.&lt;/P&gt;&lt;P&gt;    MOVE LV_YEAR  TO FS_MONTH-YEAR.&lt;/P&gt;&lt;P&gt;    APPEND FS_MONTH TO T_MONTH.&lt;/P&gt;&lt;P&gt;    CLEAR FS_MONTH.&lt;/P&gt;&lt;P&gt;  ENDDO.                               " DO 5 TIMES&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF T_MONTH[] IS NOT INITIAL.&lt;/P&gt;&lt;P&gt;    SELECT MONUM                       " Month number&lt;/P&gt;&lt;P&gt;           MONAM                       " Month name&lt;/P&gt;&lt;P&gt;      FROM T015M&lt;/P&gt;&lt;P&gt;      INTO TABLE T_MNAME&lt;/P&gt;&lt;P&gt;      FOR ALL ENTRIES IN T_MONTH&lt;/P&gt;&lt;P&gt;     WHERE MONUM EQ T_MONTH-MONTH&lt;/P&gt;&lt;P&gt;       AND SPRAS EQ SY-LANGU.&lt;/P&gt;&lt;P&gt;    IF SY-SUBRC EQ 0.&lt;/P&gt;&lt;P&gt;      SORT T_MNAME BY MONTH.&lt;/P&gt;&lt;P&gt;    ENDIF.                             " IF SY-SUBRC EQ 0&lt;/P&gt;&lt;P&gt;  ENDIF.                               " IF T_MONTH[].&lt;/P&gt;&lt;P&gt;ENDFORM.                               " FETCH_MONTHS&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  PREPARE_FINALDATA&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Prepare final data in the specified order to display on grid&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;There are no interface parameters to be passed to this routine&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM PREPARE_FINALDATA .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SORT:T_SCODE   BY MATNR,&lt;/P&gt;&lt;P&gt;       T_PODAT   BY MATNR,&lt;/P&gt;&lt;P&gt;       T_KONP    BY MATNR,&lt;/P&gt;&lt;P&gt;       T_MARD    BY MATNR,&lt;/P&gt;&lt;P&gt;       T_FUSTOCK BY MATNR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT T_FUSTOCK INTO FS_FUSTOCK.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get Used Stock&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    MOVE:&lt;/P&gt;&lt;P&gt;      FS_FUSTOCK-MATNR  TO FS_FINAL-MATNR,&lt;/P&gt;&lt;P&gt;      FS_FUSTOCK-MATKL  TO FS_FINAL-MATKL,&lt;/P&gt;&lt;P&gt;      FS_FUSTOCK-MON1   TO FS_FINAL-MON1,&lt;/P&gt;&lt;P&gt;      FS_FUSTOCK-MON2   TO FS_FINAL-MON2,&lt;/P&gt;&lt;P&gt;      FS_FUSTOCK-MON3   TO FS_FINAL-MON3,&lt;/P&gt;&lt;P&gt;      FS_FUSTOCK-MON4   TO FS_FINAL-MON4,&lt;/P&gt;&lt;P&gt;      FS_FUSTOCK-MON5   TO FS_FINAL-MON5,&lt;/P&gt;&lt;P&gt;      FS_FUSTOCK-MON6   TO FS_FINAL-MON6,&lt;/P&gt;&lt;P&gt;      FS_FUSTOCK-SFKIMG TO FS_FINAL-SFKIMG,&lt;/P&gt;&lt;P&gt;      FS_FUSTOCK-YFKIMG TO FS_FINAL-YFKIMG,&lt;/P&gt;&lt;P&gt;      FS_FUSTOCK-SNETWR TO FS_FINAL-SNETWR,&lt;/P&gt;&lt;P&gt;      FS_FUSTOCK-YNETWR TO FS_FINAL-YNETWR,&lt;/P&gt;&lt;P&gt;      FS_FUSTOCK-SWAVWR TO FS_FINAL-SWAVWR,&lt;/P&gt;&lt;P&gt;      FS_FUSTOCK-YWAVWR TO FS_FINAL-YWAVWR.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Read Material Data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    READ TABLE T_MARA INTO FS_MARA WITH KEY&lt;/P&gt;&lt;P&gt;            MATNR = FS_FUSTOCK-MATNR BINARY SEARCH.&lt;/P&gt;&lt;P&gt;    IF SY-SUBRC EQ 0.&lt;/P&gt;&lt;P&gt;      MOVE:FS_MARA-LVORM      TO FS_FINAL-LVORM,&lt;/P&gt;&lt;P&gt;           FS_MARA-PRDHA(5)   TO FS_FINAL-PRDHA1,&lt;/P&gt;&lt;P&gt;           FS_MARA-PRDHA+5(5) TO FS_FINAL-PRDHA2,&lt;/P&gt;&lt;P&gt;           FS_MARA-KZUMW TO FS_FINAL-KZUMW.&lt;/P&gt;&lt;P&gt;      IF FS_MARA-BSTME IS INITIAL.&lt;/P&gt;&lt;P&gt;        MOVE FS_MARA-MEINS TO FS_FINAL-BSTME.&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;P&gt;        MOVE FS_MARA-BSTME TO FS_FINAL-BSTME.&lt;/P&gt;&lt;P&gt;      ENDIF.                           " IF FS_MARA-BSTME&lt;/P&gt;&lt;P&gt;    ENDIF.                             " IF SY_SUBRC EQ 0&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Read Material Description&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    READ TABLE T_MAKT INTO FS_MAKT WITH KEY&lt;/P&gt;&lt;P&gt;            MATNR = FS_FUSTOCK-MATNR BINARY SEARCH.&lt;/P&gt;&lt;P&gt;    IF SY-SUBRC EQ 0.&lt;/P&gt;&lt;P&gt;      MOVE FS_MAKT-MAKTX TO FS_FINAL-MAKTX.&lt;/P&gt;&lt;P&gt;    ENDIF.                             " IF SY_SUBRC EQ 0&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Read Sales data for Material&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    READ TABLE T_MVKE INTO FS_MVKE WITH KEY&lt;/P&gt;&lt;P&gt;            MATNR = FS_FUSTOCK-MATNR BINARY SEARCH.&lt;/P&gt;&lt;P&gt;    IF SY-SUBRC EQ 0.&lt;/P&gt;&lt;P&gt;      MOVE:FS_MVKE-MTPOS TO FS_FINAL-MTPOS,&lt;/P&gt;&lt;P&gt;           FS_MVKE-MVGR1 TO FS_FINAL-MVGR1,&lt;/P&gt;&lt;P&gt;           FS_MVKE-MVGR2 TO FS_FINAL-MVGR2.&lt;/P&gt;&lt;P&gt;    ENDIF.                             " IF SY_SUBRC EQ 0&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Read MRP Controller&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    READ TABLE T_MARC INTO FS_MARC WITH KEY&lt;/P&gt;&lt;P&gt;            MATNR = FS_FUSTOCK-MATNR BINARY SEARCH.&lt;/P&gt;&lt;P&gt;    IF SY-SUBRC EQ 0.&lt;/P&gt;&lt;P&gt;      MOVE FS_MARC-DISPO TO FS_FINAL-DISPO.&lt;/P&gt;&lt;P&gt;    ENDIF.                             " IF SY_SUBRC EQ 0&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Read Moving Avg Price&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    READ TABLE T_MBEW INTO FS_MBEW WITH KEY&lt;/P&gt;&lt;P&gt;            MATNR = FS_FUSTOCK-MATNR BINARY SEARCH.&lt;/P&gt;&lt;P&gt;    IF SY-SUBRC EQ 0.&lt;/P&gt;&lt;P&gt;      MOVE FS_MBEW-VERPR TO FS_FINAL-VERPR.&lt;/P&gt;&lt;P&gt;    ENDIF.                             " IF SY_SUBRC EQ 0&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Read Product Supercession Code&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    READ TABLE T_SCODE INTO FS_SCODE WITH KEY&lt;/P&gt;&lt;P&gt;            MATNR = FS_FUSTOCK-MATNR BINARY SEARCH.&lt;/P&gt;&lt;P&gt;    IF SY-SUBRC EQ 0.&lt;/P&gt;&lt;P&gt;      MOVE FS_SCODE-MATWA TO FS_FINAL-MATWA.&lt;/P&gt;&lt;P&gt;    ENDIF.                             " IF SY_SUBRC EQ 0&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Read Purchase Order Data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    READ TABLE T_PODAT INTO FS_PODAT WITH KEY&lt;/P&gt;&lt;P&gt;            MATNR = FS_FUSTOCK-MATNR BINARY SEARCH.&lt;/P&gt;&lt;P&gt;    IF SY-SUBRC EQ 0.&lt;/P&gt;&lt;P&gt;      MOVE: FS_PODAT-DATLB  TO FS_FINAL-DATLB,&lt;/P&gt;&lt;P&gt;            FS_PODAT-POOUT  TO FS_FINAL-POOUT,&lt;/P&gt;&lt;P&gt;            FS_PODAT-POQTY  TO FS_FINAL-POQTY,&lt;/P&gt;&lt;P&gt;            FS_PODAT-POCOST TO FS_FINAL-POCOST.&lt;/P&gt;&lt;P&gt;    ENDIF.                             " IF SY_SUBRC EQ 0&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Read Info Record&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    READ TABLE T_KONP INTO FS_KONP WITH KEY&lt;/P&gt;&lt;P&gt;            MATNR = FS_FUSTOCK-MATNR BINARY SEARCH.&lt;/P&gt;&lt;P&gt;    IF SY-SUBRC EQ 0.&lt;/P&gt;&lt;P&gt;      MOVE: FS_KONP-LIFNR  TO FS_FINAL-LIFNR,&lt;/P&gt;&lt;P&gt;            FS_KONP-KBETR  TO FS_FINAL-KBETR,&lt;/P&gt;&lt;P&gt;            FS_KONP-KONWA  TO FS_FINAL-KONWA.&lt;/P&gt;&lt;P&gt;    ENDIF.                             " IF SY_SUBRC EQ 0&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Read Min And Max Stocks&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    READ TABLE T_MARD INTO FS_MARD WITH KEY&lt;/P&gt;&lt;P&gt;            MATNR = FS_FUSTOCK-MATNR BINARY SEARCH.&lt;/P&gt;&lt;P&gt;    IF SY-SUBRC EQ 0.&lt;/P&gt;&lt;P&gt;      MOVE: FS_MARD-MINQTY TO FS_FINAL-MINQTY,&lt;/P&gt;&lt;P&gt;            FS_MARD-MAXQTY TO FS_FINAL-MAXQTY.&lt;/P&gt;&lt;P&gt;    ENDIF.                             " IF SY_SUBRC EQ 0&lt;/P&gt;&lt;P&gt;    APPEND FS_FINAL TO T_FINAL.&lt;/P&gt;&lt;P&gt;    CLEAR:FS_FINAL,FS_MARD,FS_KONP,FS_PODAT,FS_SCODE,&lt;/P&gt;&lt;P&gt;          FS_MBEW,FS_MARC,FS_MVKE,FS_MARA,FS_MAKT.&lt;/P&gt;&lt;P&gt;  ENDLOOP.                             " LOOP AT T_FUSTOCK&lt;/P&gt;&lt;P&gt;  REFRESH: T_CORP,T_SOLDTO,T_VBRK,T_VBFA,T_ITEM,T_TITEM,&lt;/P&gt;&lt;P&gt;           T_MARA,T_MAKT,T_MVKE,T_MARC,T_SCODE,T_PODAT,T_KONP,&lt;/P&gt;&lt;P&gt;           T_MARD,T_FUSTOCK.&lt;/P&gt;&lt;P&gt;ENDFORM.                               " PREPARE_FINALDATA&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  PREPARE_FIELDCAT&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Prepare field catalog data for final table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;There are no interface parameters to be passed to this routine&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM PREPARE_FIELDCAT .&lt;/P&gt;&lt;P&gt;  CONSTANTS:&lt;/P&gt;&lt;P&gt;    LC_SEP(1) TYPE C VALUE '-'.        " Separator&lt;/P&gt;&lt;P&gt;  DATA:&lt;/P&gt;&lt;P&gt;    LV_TEXT(7) TYPE C.                 " Text&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Material&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM BUILD_FIELD_CATALOG USING&lt;/P&gt;&lt;P&gt;    'MATNR' TEXT-007 'T_FINAL' '' 'X' 'X'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Desc&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM BUILD_FIELD_CATALOG USING&lt;/P&gt;&lt;P&gt;    'MAKTX' TEXT-008 'T_FINAL' '' '' ''.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Category&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM BUILD_FIELD_CATALOG USING&lt;/P&gt;&lt;P&gt;    'MTPOS' TEXT-009 'T_FINAL' '' '' ''.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Material Group&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM BUILD_FIELD_CATALOG USING&lt;/P&gt;&lt;P&gt;    'MATKL' TEXT-010 'T_FINAL' '' '' ''.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Product Heirarchy1&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM BUILD_FIELD_CATALOG USING&lt;/P&gt;&lt;P&gt;    'PRDHA1' TEXT-011 'T_FINAL' '' '' ''.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Product Heirarchy2&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM BUILD_FIELD_CATALOG USING&lt;/P&gt;&lt;P&gt;    'PRDHA2' TEXT-012 'T_FINAL' '' '' ''.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Environment&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM BUILD_FIELD_CATALOG USING&lt;/P&gt;&lt;P&gt;    'KZUMW' TEXT-013 'T_FINAL' '' '' ''.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Material Group1&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM BUILD_FIELD_CATALOG USING&lt;/P&gt;&lt;P&gt;    'MVGR1' TEXT-014 'T_FINAL' '' '' ''.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Material Group2&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM BUILD_FIELD_CATALOG USING&lt;/P&gt;&lt;P&gt;    'MVGR2' TEXT-015 'T_FINAL' '' '' ''.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MRP Controller&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM BUILD_FIELD_CATALOG USING&lt;/P&gt;&lt;P&gt;    'DISPO' TEXT-016 'T_FINAL' '' '' ''.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Purchase Unit&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM BUILD_FIELD_CATALOG USING&lt;/P&gt;&lt;P&gt;    'BSTME' TEXT-017 'T_FINAL' '' '' ''.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Cost Info&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM BUILD_FIELD_CATALOG USING&lt;/P&gt;&lt;P&gt;    'KBETR' TEXT-018 'T_FINAL' 'R' 'X' ''.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Currency&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM BUILD_FIELD_CATALOG USING&lt;/P&gt;&lt;P&gt;    'KONWA' TEXT-034 'T_FINAL' '' '' ''.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Moving Avg price&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM BUILD_FIELD_CATALOG USING&lt;/P&gt;&lt;P&gt;    'VERPR' TEXT-019 'T_FINAL' 'R' 'X' ''.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Current Vendor&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM BUILD_FIELD_CATALOG USING&lt;/P&gt;&lt;P&gt;    'LIFNR' TEXT-020 'T_FINAL' '' 'X' ''.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Months Data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  LOOP AT T_MONTH INTO FS_MONTH.&lt;/P&gt;&lt;P&gt;    CASE SY-TABIX.&lt;/P&gt;&lt;P&gt;      WHEN 1.&lt;/P&gt;&lt;P&gt;        READ TABLE T_MNAME INTO FS_MNAME WITH KEY&lt;/P&gt;&lt;P&gt;                           MONTH = FS_MONTH-MONTH.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Sixth Mon&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        IF SY-SUBRC EQ 0.&lt;/P&gt;&lt;P&gt;          CONCATENATE FS_MNAME-TXT FS_MONTH-YEAR+2(2)&lt;/P&gt;&lt;P&gt;                     INTO LV_TEXT SEPARATED BY LC_SEP.&lt;/P&gt;&lt;P&gt;          CLEAR FS_FLDCAT.&lt;/P&gt;&lt;P&gt;          FS_FLDCAT-FIELDNAME = 'MON1'.&lt;/P&gt;&lt;P&gt;          FS_FLDCAT-COLTEXT   = LV_TEXT.&lt;/P&gt;&lt;P&gt;          FS_FLDCAT-TABNAME   = 'T_FINAL' .&lt;/P&gt;&lt;P&gt;          FS_FLDCAT-JUST      = 'R'.&lt;/P&gt;&lt;P&gt;          FS_FLDCAT-NO_ZERO   = 'X'.&lt;/P&gt;&lt;P&gt;          FS_FLDCAT-KEY       = SPACE.&lt;/P&gt;&lt;P&gt;          APPEND FS_FLDCAT TO T_FLDCAT.&lt;/P&gt;&lt;P&gt;        ENDIF.                         " IF SY-SUBRC EQ 0&lt;/P&gt;&lt;P&gt;      WHEN 2.&lt;/P&gt;&lt;P&gt;        READ TABLE T_MNAME INTO FS_MNAME WITH KEY&lt;/P&gt;&lt;P&gt;                           MONTH = FS_MONTH-MONTH.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Fifth Mon&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        IF SY-SUBRC EQ 0.&lt;/P&gt;&lt;P&gt;          CONCATENATE FS_MNAME-TXT FS_MONTH-YEAR+2(2)&lt;/P&gt;&lt;P&gt;                    INTO LV_TEXT SEPARATED BY LC_SEP.&lt;/P&gt;&lt;P&gt;          CLEAR FS_FLDCAT.&lt;/P&gt;&lt;P&gt;          FS_FLDCAT-FIELDNAME = 'MON2'.&lt;/P&gt;&lt;P&gt;          FS_FLDCAT-COLTEXT   = LV_TEXT.&lt;/P&gt;&lt;P&gt;          FS_FLDCAT-TABNAME   = 'T_FINAL' .&lt;/P&gt;&lt;P&gt;          FS_FLDCAT-JUST      = 'R'.&lt;/P&gt;&lt;P&gt;          FS_FLDCAT-NO_ZERO   = 'X'.&lt;/P&gt;&lt;P&gt;          FS_FLDCAT-KEY       = SPACE.&lt;/P&gt;&lt;P&gt;          APPEND FS_FLDCAT TO T_FLDCAT.&lt;/P&gt;&lt;P&gt;        ENDIF.                         " IF SY-SUBRC EQ 0&lt;/P&gt;&lt;P&gt;      WHEN 3.&lt;/P&gt;&lt;P&gt;        READ TABLE T_MNAME INTO FS_MNAME WITH KEY&lt;/P&gt;&lt;P&gt;                   MONTH = FS_MONTH-MONTH.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Fourth Mon&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        IF SY-SUBRC EQ 0.&lt;/P&gt;&lt;P&gt;          CONCATENATE FS_MNAME-TXT FS_MONTH-YEAR+2(2)&lt;/P&gt;&lt;P&gt;                    INTO LV_TEXT SEPARATED BY LC_SEP.&lt;/P&gt;&lt;P&gt;          CLEAR FS_FLDCAT.&lt;/P&gt;&lt;P&gt;          FS_FLDCAT-FIELDNAME = 'MON3'.&lt;/P&gt;&lt;P&gt;          FS_FLDCAT-COLTEXT   = LV_TEXT.&lt;/P&gt;&lt;P&gt;          FS_FLDCAT-TABNAME   = 'T_FINAL' .&lt;/P&gt;&lt;P&gt;          FS_FLDCAT-JUST      = 'R'.&lt;/P&gt;&lt;P&gt;          FS_FLDCAT-NO_ZERO   = 'X'.&lt;/P&gt;&lt;P&gt;          FS_FLDCAT-KEY       = SPACE.&lt;/P&gt;&lt;P&gt;          APPEND FS_FLDCAT TO T_FLDCAT.&lt;/P&gt;&lt;P&gt;        ENDIF.                         " IF SY-SUBRC EQ 0&lt;/P&gt;&lt;P&gt;      WHEN 4.&lt;/P&gt;&lt;P&gt;        READ TABLE T_MNAME INTO FS_MNAME WITH KEY&lt;/P&gt;&lt;P&gt;                           MONTH = FS_MONTH-MONTH.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Third Month&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        IF SY-SUBRC EQ 0.&lt;/P&gt;&lt;P&gt;          CONCATENATE FS_MNAME-TXT FS_MONTH-YEAR+2(2)&lt;/P&gt;&lt;P&gt;                     INTO LV_TEXT SEPARATED BY LC_SEP.&lt;/P&gt;&lt;P&gt;          CLEAR FS_FLDCAT.&lt;/P&gt;&lt;P&gt;          FS_FLDCAT-FIELDNAME = 'MON4'.&lt;/P&gt;&lt;P&gt;          FS_FLDCAT-COLTEXT   = LV_TEXT.&lt;/P&gt;&lt;P&gt;          FS_FLDCAT-TABNAME   = 'T_FINAL' .&lt;/P&gt;&lt;P&gt;          FS_FLDCAT-JUST      = 'R'.&lt;/P&gt;&lt;P&gt;          FS_FLDCAT-NO_ZERO   = 'X'.&lt;/P&gt;&lt;P&gt;          FS_FLDCAT-KEY       = SPACE.&lt;/P&gt;&lt;P&gt;          APPEND FS_FLDCAT TO T_FLDCAT.&lt;/P&gt;&lt;P&gt;        ENDIF.                         " IF SY-SUBRC EQ 0&lt;/P&gt;&lt;P&gt;      WHEN 5.&lt;/P&gt;&lt;P&gt;        READ TABLE T_MNAME INTO FS_MNAME WITH KEY&lt;/P&gt;&lt;P&gt;                           MONTH = FS_MONTH-MONTH.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Second Mon&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        IF SY-SUBRC EQ 0.&lt;/P&gt;&lt;P&gt;          CONCATENATE FS_MNAME-TXT FS_MONTH-YEAR+2(2)&lt;/P&gt;&lt;P&gt;                    INTO LV_TEXT SEPARATED BY LC_SEP.&lt;/P&gt;&lt;P&gt;          CLEAR FS_FLDCAT.&lt;/P&gt;&lt;P&gt;          FS_FLDCAT-FIELDNAME = 'MON5'.&lt;/P&gt;&lt;P&gt;          FS_FLDCAT-COLTEXT   = LV_TEXT.&lt;/P&gt;&lt;P&gt;          FS_FLDCAT-TABNAME   = 'T_FINAL' .&lt;/P&gt;&lt;P&gt;          FS_FLDCAT-JUST      = 'R'.&lt;/P&gt;&lt;P&gt;          FS_FLDCAT-NO_ZERO   = 'X'.&lt;/P&gt;&lt;P&gt;          FS_FLDCAT-KEY       = SPACE.&lt;/P&gt;&lt;P&gt;          APPEND FS_FLDCAT TO T_FLDCAT.&lt;/P&gt;&lt;P&gt;        ENDIF.                         " IF SY-SUBRC EQ 0&lt;/P&gt;&lt;P&gt;      WHEN 6.&lt;/P&gt;&lt;P&gt;        READ TABLE T_MNAME INTO FS_MNAME WITH KEY&lt;/P&gt;&lt;P&gt;                           MONTH = FS_MONTH-MONTH.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;First Mon&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        IF SY-SUBRC EQ 0.&lt;/P&gt;&lt;P&gt;          CONCATENATE FS_MNAME-TXT FS_MONTH-YEAR+2(2)&lt;/P&gt;&lt;P&gt;                    INTO LV_TEXT SEPARATED BY LC_SEP.&lt;/P&gt;&lt;P&gt;          CLEAR FS_FLDCAT.&lt;/P&gt;&lt;P&gt;          FS_FLDCAT-FIELDNAME = 'MON6'.&lt;/P&gt;&lt;P&gt;          FS_FLDCAT-COLTEXT   = LV_TEXT.&lt;/P&gt;&lt;P&gt;          FS_FLDCAT-TABNAME   = 'T_FINAL' .&lt;/P&gt;&lt;P&gt;          FS_FLDCAT-JUST      = 'R'.&lt;/P&gt;&lt;P&gt;          FS_FLDCAT-NO_ZERO   = 'X'.&lt;/P&gt;&lt;P&gt;          FS_FLDCAT-KEY       = SPACE.&lt;/P&gt;&lt;P&gt;          APPEND FS_FLDCAT TO T_FLDCAT.&lt;/P&gt;&lt;P&gt;        ENDIF.                         " IF SY-SUBRC EQ 0&lt;/P&gt;&lt;P&gt;    ENDCASE.                           " CASE SY-TABIX&lt;/P&gt;&lt;P&gt;  ENDLOOP.                             " LOOP AT T_MONTH&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Six Months Usage&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM BUILD_FIELD_CATALOG USING&lt;/P&gt;&lt;P&gt;    'SFKIMG' TEXT-021 'T_FINAL' 'R' 'X' ''.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Six Months Cost&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM BUILD_FIELD_CATALOG USING&lt;/P&gt;&lt;P&gt;    'SWAVWR' TEXT-022 'T_FINAL' 'R' 'X' ''.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Six Months Net Value&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM BUILD_FIELD_CATALOG USING&lt;/P&gt;&lt;P&gt;    'SNETWR' TEXT-023 'T_FINAL' 'R' 'X' ''.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;One Year Usage&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM BUILD_FIELD_CATALOG USING&lt;/P&gt;&lt;P&gt;    'YFKIMG' TEXT-024 'T_FINAL' 'R' 'X' ''.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;One Year Cost&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM BUILD_FIELD_CATALOG USING&lt;/P&gt;&lt;P&gt;    'YWAVWR' TEXT-025 'T_FINAL' 'R' 'X' ''.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;One Year Net Value&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM BUILD_FIELD_CATALOG USING&lt;/P&gt;&lt;P&gt;    'YNETWR' TEXT-026 'T_FINAL' 'R' 'X' ''.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Min Stock&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM BUILD_FIELD_CATALOG USING&lt;/P&gt;&lt;P&gt;    'MINQTY' TEXT-027 'T_FINAL' 'R' 'X' ''.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Max Stock&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM BUILD_FIELD_CATALOG USING&lt;/P&gt;&lt;P&gt;    'MAXQTY' TEXT-028 'T_FINAL' 'R' 'X' ''.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Product Supercession code&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM BUILD_FIELD_CATALOG USING&lt;/P&gt;&lt;P&gt;    'MATWA' TEXT-029 'T_FINAL' '' 'X' ''.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;PO Date&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM BUILD_FIELD_CATALOG USING&lt;/P&gt;&lt;P&gt;    'DATLB' TEXT-030 'T_FINAL' '' '' ''.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;PO Qty&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM BUILD_FIELD_CATALOG USING&lt;/P&gt;&lt;P&gt;    'POQTY' TEXT-031 'T_FINAL' 'R' 'X' ''.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;PO Cost&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM BUILD_FIELD_CATALOG USING&lt;/P&gt;&lt;P&gt;    'POCOST' TEXT-032 'T_FINAL' 'R' 'X' ''.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;PO Outstand&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM BUILD_FIELD_CATALOG USING&lt;/P&gt;&lt;P&gt;    'POOUT' TEXT-033 'T_FINAL' 'R' 'X' ''.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Deletion Flag&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM BUILD_FIELD_CATALOG USING&lt;/P&gt;&lt;P&gt;    'LVORM' TEXT-035 'T_FINAL' '' '' ''.&lt;/P&gt;&lt;P&gt;  REFRESH: T_MONTH,T_MNAME.&lt;/P&gt;&lt;P&gt;ENDFORM.                               " PREPARE_FIELDCAT&lt;/P&gt;&lt;P&gt;                           " STATUS_0100  &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Sankar&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Mon, 30 Jul 2007 10:26:22 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2007-07-30T10:26:22Z</dc:date>
    <item>
      <title>rerarding selection screen</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/rerarding-selection-screen/m-p/2572790#M587628</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;in selection screen i have the 3 screen fields plant, matnr and material group.&lt;/P&gt;&lt;P&gt;if i input plant how do i get the material number and material group based on palnt dynamically??????&lt;/P&gt;&lt;P&gt;explaing with example..........&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 30 Jul 2007 10:24:12 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/rerarding-selection-screen/m-p/2572790#M587628</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-07-30T10:24:12Z</dc:date>
    </item>
    <item>
      <title>Re: rerarding selection screen</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/rerarding-selection-screen/m-p/2572791#M587629</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;U can display matnr and material group corresponding to the plant entered by selecting the matnr and material group for entered plant in AT SELECTION SCREEN ON VALUE REQUEST EVENT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Check below program...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT  Z_PURMATERIAL_ANALYSIS                          .&lt;/P&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Report       : Z_PURMATERIAL_ANALYSIS                               *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Author       : AREEVES                                              *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Date Written : 16.07.2007                                           *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Requested by : Jeanette                                             *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Description  : This report to pick up required data of materials to *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;analyze purchasing performance and monitoring of stock and spend    *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;levels of the materials in the given date range for the invoice type*&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;'ZF2'                                                               *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Program Specifications:                                             *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Mod date    Programmer          Reference   Description             *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;16/07/2007  AREEVES             EPUK903024  Initial Development     *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Tables statement                                                    *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;P&gt;TABLES:&lt;/P&gt;&lt;P&gt;  KNVH,                                " Customer Hierarchy&lt;/P&gt;&lt;P&gt;  MARA,                                " Material Master&lt;/P&gt;&lt;P&gt;  SSCRFIELDS.                          " Fields on selection screens&lt;/P&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Structure declarations                                              *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Structure for Corporate&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DATA:&lt;/P&gt;&lt;P&gt;  BEGIN OF FS_CORP,&lt;/P&gt;&lt;P&gt;    KUNNR TYPE KNA1-KUNNR,             " Corporate&lt;/P&gt;&lt;P&gt;  END OF FS_CORP,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Structure for Soldto&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  BEGIN OF FS_SOLDTO,&lt;/P&gt;&lt;P&gt;    SOLDTO TYPE KNA1-KUNNR,            " Sold To Party&lt;/P&gt;&lt;P&gt;    HKUNNR TYPE KNVH-HKUNNR,           " Higher level customer&lt;/P&gt;&lt;P&gt;  END OF FS_SOLDTO,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Billing Document header&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  BEGIN OF FS_VBRK,&lt;/P&gt;&lt;P&gt;    VBELN TYPE VBRK-VBELN,             " Billing Document&lt;/P&gt;&lt;P&gt;    WAERK TYPE VBRK-WAERK,             " Doc Currency&lt;/P&gt;&lt;P&gt;    FKDAT TYPE VBRK-FKDAT,             " Billing Document date&lt;/P&gt;&lt;P&gt;  END OF FS_VBRK,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Invoice list orders&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  BEGIN OF FS_VBFA,&lt;/P&gt;&lt;P&gt;    VBELN TYPE VBFA-VBELN,             " Billing Document&lt;/P&gt;&lt;P&gt;  END OF FS_VBFA,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Item data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  BEGIN OF FS_ITEM,&lt;/P&gt;&lt;P&gt;    MATNR TYPE VBRP-MATNR,             " Material&lt;/P&gt;&lt;P&gt;    MATKL TYPE VBRP-MATKL,             " Material Group&lt;/P&gt;&lt;P&gt;    FKDAT TYPE VBRK-FKDAT,             " Billing date&lt;/P&gt;&lt;P&gt;    FKIMG TYPE VBRP-FKIMG,             " Usage&lt;/P&gt;&lt;P&gt;    WAVWR TYPE VBRP-NETWR,             " Cost&lt;/P&gt;&lt;P&gt;    NETWR TYPE VBRP-NETWR,             " Sell value&lt;/P&gt;&lt;P&gt;  END OF FS_ITEM,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Material Data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  BEGIN OF FS_MARA,&lt;/P&gt;&lt;P&gt;    MATNR TYPE MARA-MATNR,             " Material&lt;/P&gt;&lt;P&gt;    LVORM TYPE MARA-LVORM,             " Deletion Flag&lt;/P&gt;&lt;P&gt;    MEINS TYPE MARA-MEINS,             " UOM&lt;/P&gt;&lt;P&gt;    BSTME TYPE MARA-BSTME,             " Other Unit&lt;/P&gt;&lt;P&gt;    PRDHA TYPE MARA-PRDHA,             " Prodh Hierarchy&lt;/P&gt;&lt;P&gt;    KZUMW TYPE MARA-KZUMW,             " Environment&lt;/P&gt;&lt;P&gt;  END OF FS_MARA,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Material Description&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  BEGIN OF FS_MAKT,&lt;/P&gt;&lt;P&gt;    MATNR TYPE MARA-MATNR,             " Material&lt;/P&gt;&lt;P&gt;    MAKTX TYPE MAKT-MAKTX,             " Material Description&lt;/P&gt;&lt;P&gt;  END OF FS_MAKT,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Sales Data for Material&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  BEGIN OF FS_MVKE,&lt;/P&gt;&lt;P&gt;    MATNR TYPE MVKE-MATNR,             " Material&lt;/P&gt;&lt;P&gt;    MTPOS TYPE MVKE-MTPOS,             " Category&lt;/P&gt;&lt;P&gt;    MVGR1 TYPE MVKE-MVGR1,             " Material Grp1&lt;/P&gt;&lt;P&gt;    MVGR2 TYPE MVKE-MVGR2,             " Material Grp2&lt;/P&gt;&lt;P&gt;  END OF FS_MVKE,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MRP Controller&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  BEGIN OF FS_MARC,&lt;/P&gt;&lt;P&gt;    MATNR TYPE MARC-MATNR,             " Material&lt;/P&gt;&lt;P&gt;    DISPO TYPE MARC-DISPO,             " Category&lt;/P&gt;&lt;P&gt;  END OF FS_MARC,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Moving AVG price&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  BEGIN OF FS_MBEW,&lt;/P&gt;&lt;P&gt;    MATNR TYPE MARA-MATNR,             " Material&lt;/P&gt;&lt;P&gt;    VERPR TYPE MBEW-VERPR,             " Moving AVG Price&lt;/P&gt;&lt;P&gt;  END OF FS_MBEW,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Product Supercession code&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  BEGIN OF FS_SCODE,&lt;/P&gt;&lt;P&gt;    MATNR TYPE MARA-MATNR,             " Substitute Material&lt;/P&gt;&lt;P&gt;    MATWA TYPE MARA-MATNR,             " Material&lt;/P&gt;&lt;P&gt;  END OF FS_SCODE,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Purchase Order data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  BEGIN OF FS_PODAT,&lt;/P&gt;&lt;P&gt;    MATNR  TYPE EINA-MATNR,            " Material&lt;/P&gt;&lt;P&gt;    DATLB  TYPE EINE-DATLB,            " Purchase Order date&lt;/P&gt;&lt;P&gt;    POOUT  TYPE EKPO-MENGE,            " Out standing qty&lt;/P&gt;&lt;P&gt;    POQTY  TYPE EKBE-MENGE,            " PO qty&lt;/P&gt;&lt;P&gt;    POCOST TYPE EKPO-NETWR,            " PO cost&lt;/P&gt;&lt;P&gt;  END OF FS_PODAT,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Info record&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  BEGIN OF FS_KONP,&lt;/P&gt;&lt;P&gt;    MATNR TYPE A017-MATNR,             " Material&lt;/P&gt;&lt;P&gt;    LIFNR TYPE A017-LIFNR,             " Vendor&lt;/P&gt;&lt;P&gt;    KBETR TYPE KONP-KBETR,             " Rate&lt;/P&gt;&lt;P&gt;    KONWA TYPE KONP-KONWA,             " Currency&lt;/P&gt;&lt;P&gt;  END OF FS_KONP,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Min and Max values&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  BEGIN OF FS_MARD,&lt;/P&gt;&lt;P&gt;    MATNR  TYPE MARD-MATNR,            " Material&lt;/P&gt;&lt;P&gt;    MINQTY TYPE MARD-LABST,            " Minimum val&lt;/P&gt;&lt;P&gt;    MAXQTY TYPE MARD-LABST,            " Maximum val&lt;/P&gt;&lt;P&gt;  END OF FS_MARD,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Six months used stock&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  BEGIN OF FS_FUSTOCK,&lt;/P&gt;&lt;P&gt;    MATNR  TYPE MARA-MATNR,            " Material&lt;/P&gt;&lt;P&gt;    MATKL  TYPE VBRP-MATKL,            " Material Group&lt;/P&gt;&lt;P&gt;    MON1   TYPE VBRP-FKIMG,            " First Month&lt;/P&gt;&lt;P&gt;    MON2   TYPE VBRP-FKIMG,            " Second Month&lt;/P&gt;&lt;P&gt;    MON3   TYPE VBRP-FKIMG,            " Third Month&lt;/P&gt;&lt;P&gt;    MON4   TYPE VBRP-FKIMG,            " Fourth Month&lt;/P&gt;&lt;P&gt;    MON5   TYPE VBRP-FKIMG,            " Fifth Month&lt;/P&gt;&lt;P&gt;    MON6   TYPE VBRP-FKIMG,            " Sixth Month&lt;/P&gt;&lt;P&gt;    SFKIMG TYPE VBRP-FKIMG,            " Six Months&lt;/P&gt;&lt;P&gt;    YFKIMG TYPE VBRP-FKIMG,            " Year Total&lt;/P&gt;&lt;P&gt;    SNETWR TYPE VBRP-NETWR,            " Six Months&lt;/P&gt;&lt;P&gt;    YNETWR TYPE VBRP-NETWR,            " Year Total&lt;/P&gt;&lt;P&gt;    SWAVWR TYPE VBRP-NETWR,            " Six Months&lt;/P&gt;&lt;P&gt;    YWAVWR TYPE VBRP-NETWR,            " Year Total&lt;/P&gt;&lt;P&gt;  END OF FS_FUSTOCK,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Months&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  BEGIN OF FS_MONTH,&lt;/P&gt;&lt;P&gt;    MONTH(2) TYPE N,                   " Month&lt;/P&gt;&lt;P&gt;    YEAR(4)  TYPE C,                   " Year&lt;/P&gt;&lt;P&gt;  END OF FS_MONTH,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Month names&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  BEGIN OF FS_MNAME,&lt;/P&gt;&lt;P&gt;    MONTH(2) TYPE N,                   " Month&lt;/P&gt;&lt;P&gt;    TXT(3)   TYPE C,                   " Text&lt;/P&gt;&lt;P&gt;  END OF FS_MNAME,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Final Table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  BEGIN OF FS_FINAL,&lt;/P&gt;&lt;P&gt;    MATNR  TYPE MARA-MATNR,            " Material&lt;/P&gt;&lt;P&gt;    MAKTX  TYPE MAKT-MAKTX,            " Desc&lt;/P&gt;&lt;P&gt;    MTPOS  TYPE MVKE-MTPOS,            " Category&lt;/P&gt;&lt;P&gt;    MATKL  TYPE MARA-MATKL,            " Material group&lt;/P&gt;&lt;P&gt;    PRDHA1 TYPE MARA-PRDHA,            " Product Heirarchy1&lt;/P&gt;&lt;P&gt;    PRDHA2 TYPE MARA-PRDHA,            " Product Heirarchy2&lt;/P&gt;&lt;P&gt;    KZUMW  TYPE MARA-KZUMW,            " Environment&lt;/P&gt;&lt;P&gt;    MVGR1  TYPE MVKE-MVGR1,            " Material Group1&lt;/P&gt;&lt;P&gt;    MVGR2  TYPE MVKE-MVGR2,            " Material Group2&lt;/P&gt;&lt;P&gt;    DISPO  TYPE MARC-DISPO,            " MRP Controller&lt;/P&gt;&lt;P&gt;    BSTME  TYPE MARA-BSTME,            " Purchase Unit&lt;/P&gt;&lt;P&gt;    KBETR  TYPE KONP-KBETR,            " Cost Info&lt;/P&gt;&lt;P&gt;    KONWA  TYPE KONP-KONWA,            " Currency&lt;/P&gt;&lt;P&gt;    VERPR  TYPE MBEW-VERPR,            " Moving Avg Price&lt;/P&gt;&lt;P&gt;    LIFNR  TYPE A017-LIFNR,            " Current Vendor&lt;/P&gt;&lt;P&gt;    MON1   TYPE VBRP-FKIMG,            " Sixth Mon&lt;/P&gt;&lt;P&gt;    MON2   TYPE VBRP-FKIMG,            " Fifth Mon&lt;/P&gt;&lt;P&gt;    MON3   TYPE VBRP-FKIMG,            " Fourth Mon&lt;/P&gt;&lt;P&gt;    MON4   TYPE VBRP-FKIMG,            " Third Mon&lt;/P&gt;&lt;P&gt;    MON5   TYPE VBRP-FKIMG,            " Second Mon&lt;/P&gt;&lt;P&gt;    MON6   TYPE VBRP-FKIMG,            " Current Mon&lt;/P&gt;&lt;P&gt;    SFKIMG TYPE VBRP-FKIMG,            " Total 6 Mons&lt;/P&gt;&lt;P&gt;    YFKIMG TYPE VBRP-FKIMG,            " Year&lt;/P&gt;&lt;P&gt;    SNETWR TYPE VBRP-NETWR,            " Total 6 Mons&lt;/P&gt;&lt;P&gt;    YNETWR TYPE VBRP-NETWR,            " Year&lt;/P&gt;&lt;P&gt;    SWAVWR TYPE VBRP-NETWR,            " Total 6 Mons&lt;/P&gt;&lt;P&gt;    YWAVWR TYPE VBRP-NETWR,            " Year&lt;/P&gt;&lt;P&gt;    MINQTY TYPE MARD-LABST,            " Min Stock&lt;/P&gt;&lt;P&gt;    MAXQTY TYPE MARD-LABST,            " Max Stock&lt;/P&gt;&lt;P&gt;    MATWA  TYPE VBAP-MATWA,            " Material Entered&lt;/P&gt;&lt;P&gt;    DATLB  TYPE EINE-DATLB,            " PO date&lt;/P&gt;&lt;P&gt;    POQTY  TYPE EKPO-MENGE,            " PO qty&lt;/P&gt;&lt;P&gt;    POCOST TYPE EKPO-NETWR,            " PO cost&lt;/P&gt;&lt;P&gt;    POOUT  TYPE EKPO-MENGE,            " PO out standing&lt;/P&gt;&lt;P&gt;    LVORM  TYPE MARA-LVORM,            " Deletion flag&lt;/P&gt;&lt;P&gt;  END OF FS_FINAL,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Filed catalog&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  FS_FLDCAT  TYPE LVC_S_FCAT,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Layout in Grid&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  FS_LAYOUT  TYPE LVC_S_LAYO.&lt;/P&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Internal tables                                                     *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;P&gt;DATA:&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Corporates under division&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  T_CORP    LIKE STANDARD TABLE OF FS_CORP,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Sold to parties&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  T_SOLDTO  LIKE STANDARD TABLE OF FS_SOLDTO,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Billing Document header&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  T_VBRK    LIKE STANDARD TABLE OF FS_VBRK,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Invoice list orders&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  T_VBFA    LIKE STANDARD TABLE OF FS_VBFA,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Item data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  T_ITEM    LIKE STANDARD TABLE OF FS_ITEM,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Temp Item Data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  T_TITEM   LIKE STANDARD TABLE OF FS_ITEM,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Material Data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  T_MARA    LIKE STANDARD TABLE OF FS_MARA,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Material descriptions&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  T_MAKT    LIKE STANDARD TABLE OF FS_MAKT,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Sales Data for Material&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  T_MVKE    LIKE STANDARD TABLE OF FS_MVKE,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MRP Controller&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  T_MARC    LIKE STANDARD TABLE OF FS_MARC,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Moving AVG price&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  T_MBEW    LIKE STANDARD TABLE OF FS_MBEW,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Supercession code&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  T_SCODE   LIKE STANDARD TABLE OF FS_SCODE,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Purchase Order data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  T_PODAT   LIKE STANDARD TABLE OF FS_PODAT,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Info Record&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  T_KONP    LIKE STANDARD TABLE OF FS_KONP,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Min and Max stock values&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  T_MARD    LIKE STANDARD TABLE OF FS_MARD,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Used Stock&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  T_FUSTOCK LIKE STANDARD TABLE OF FS_FUSTOCK,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Months tables&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  T_MONTH   LIKE STANDARD TABLE OF FS_MONTH,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Month names&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  T_MNAME   LIKE STANDARD TABLE OF FS_MNAME,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Final table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  T_FINAL   LIKE STANDARD TABLE OF FS_FINAL,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Field Catalog table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  T_FLDCAT  TYPE LVC_T_FCAT.&lt;/P&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Data declarations and constants                                     *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;P&gt;DATA:&lt;/P&gt;&lt;P&gt;  W_CUSTOM_CONTAINER TYPE REF TO CL_GUI_CUSTOM_CONTAINER,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                     " Container class&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  W_GRID             TYPE REF TO CL_GUI_ALV_GRID,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                     " Grid class&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  W_MYCONTAINER      TYPE SCRFNAME     " Container Name&lt;/P&gt;&lt;P&gt;                     VALUE 'CONTAINER',&lt;/P&gt;&lt;P&gt;  W_OKCODE           TYPE SY-UCOMM,    " Ok Code&lt;/P&gt;&lt;P&gt;  W_DATE             TYPE SY-DATUM,    " Date&lt;/P&gt;&lt;P&gt;  W_VARIANT          TYPE DISVARIANT.  " Variant&lt;/P&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Constants                                                           *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Constants&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;CONSTANTS:&lt;/P&gt;&lt;P&gt;  C_HITYP TYPE KNVH-HITYP              " Customer hierarchy type&lt;/P&gt;&lt;P&gt;          VALUE 'E',&lt;/P&gt;&lt;P&gt;  C_VKORG TYPE KNVH-VKORG              " Sales Organization&lt;/P&gt;&lt;P&gt;          VALUE '1000',&lt;/P&gt;&lt;P&gt;  C_VTWEG TYPE KNVH-VTWEG              " Distribution channel&lt;/P&gt;&lt;P&gt;          VALUE '01',&lt;/P&gt;&lt;P&gt;  C_NOSYS TYPE C VALUE 'X',            " Non System generated&lt;/P&gt;&lt;P&gt;  C_WERKS TYPE WERKS VALUE '1000',     " Plant&lt;/P&gt;&lt;P&gt;  C_A     TYPE C VALUE 'A'.            " Constant 'A'&lt;/P&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Selection screen                                                    *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Parameters&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;PARAMETERS:&lt;/P&gt;&lt;P&gt;  P_DIV   TYPE  SPART OBLIGATORY,      " Division&lt;/P&gt;&lt;P&gt;  P_CORP  TYPE  KNVH-KUNNR OBLIGATORY. " Corporate&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Select options&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;SELECT-OPTIONS:&lt;/P&gt;&lt;P&gt;  S_MATGR FOR MARA-MATKL               " Material group&lt;/P&gt;&lt;P&gt;          NO INTERVALS NO-EXTENSION,&lt;/P&gt;&lt;P&gt;  S_DATE  FOR SY-DATUM,                " Date&lt;/P&gt;&lt;P&gt;  S_MATNR FOR MARA-MATNR NO-DISPLAY.   " Material&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN SKIP 1.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Optional Buttons&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Materials&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF BLOCK B2 WITH FRAME TITLE TEXT-002.&lt;/P&gt;&lt;P&gt;PARAMETERS:&lt;/P&gt;&lt;P&gt;  P_SYS    RADIOBUTTON GROUP RAD       " System generated materials&lt;/P&gt;&lt;P&gt;           USER-COMMAND SYS DEFAULT 'X',&lt;/P&gt;&lt;P&gt;  P_NOSYS  RADIOBUTTON GROUP RAD,      " Non-System generated materials&lt;/P&gt;&lt;P&gt;  P_SPR    RADIOBUTTON GROUP RAD,      " Spicer materials&lt;/P&gt;&lt;P&gt;  P_ALL    RADIOBUTTON GROUP RAD.      " All&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK B2.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF BLOCK B3 WITH FRAME TITLE TEXT-037.&lt;/P&gt;&lt;P&gt;PARAMETERS:&lt;/P&gt;&lt;P&gt; P_VARI  TYPE LTDX-VARIANT.            " Variant&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK B3.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK B1.&lt;/P&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Initialization                                                      *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;P&gt;INITIALIZATION.&lt;/P&gt;&lt;P&gt;  S_DATE-HIGH = SY-DATUM.&lt;/P&gt;&lt;P&gt;  S_DATE-LOW  = SY-DATUM.&lt;/P&gt;&lt;P&gt;  S_DATE-LOW&lt;EM&gt;0(4) = SY-DATUM&lt;/EM&gt;0(4) - 1.&lt;/P&gt;&lt;P&gt;  S_DATE-SIGN = 'I'.&lt;/P&gt;&lt;P&gt;  S_DATE-OPTION = 'BT'.&lt;/P&gt;&lt;P&gt;  APPEND S_DATE.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get Alpha numeric materials&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM APPEND_MATNR.&lt;/P&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;At Selection Screen events                                          *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN ON P_DIV.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Validate the Division&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM VALIDATE_DIV.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN ON P_CORP.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Validate the Corporate&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM VALIDATE_CORP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN ON S_MATGR.&lt;/P&gt;&lt;P&gt;  IF S_MATGR IS NOT INITIAL.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Validate the Material Group&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    PERFORM VALIDATE_MATGR.&lt;/P&gt;&lt;P&gt;  ENDIF.                               " IF S_MATGR&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN ON P_VARI.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Validates the display variant&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  IF P_VARI IS NOT INITIAL.&lt;/P&gt;&lt;P&gt;    PERFORM VALIDATE_VARIANT.&lt;/P&gt;&lt;P&gt;  ENDIF.                               " IF P_VARI IS NOT INITIAL&lt;/P&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;At Selection Screen on value request                                *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;F4 help for Corporate&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_CORP.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get Corporates for selected division&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM GET_CORP.&lt;/P&gt;&lt;P&gt;  PERFORM F4HELP_CORP.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;F4 help for variant&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_VARI.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;To get the existing values for the display variant&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM F4_ON_DISPLAY_VARIANT CHANGING P_VARI.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Start of Selection                                                  *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;P&gt;START-OF-SELECTION.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get the required data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM FETCH_REQUIREDDATA.&lt;/P&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;End of Selection                                                    *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;P&gt;END-OF-SELECTION.&lt;/P&gt;&lt;P&gt;  IF T_FUSTOCK[] IS NOT INITIAL.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Prepare Final data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    PERFORM PREPARE_FINALDATA.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Build field catalog&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    PERFORM PREPARE_FIELDCAT.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Display Data on grid&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    CALL SCREEN 100.&lt;/P&gt;&lt;P&gt;  ENDIF.                               " IF T_FUSTOCK[] IS..&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  APPEND_MATNR&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Fill select-option to get alpha numeric materials&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;There are no interface parameters to be passed to this routine&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM APPEND_MATNR .&lt;/P&gt;&lt;P&gt;  S_MATNR-OPTION = 'CP'.&lt;/P&gt;&lt;P&gt;  S_MATNR-SIGN = 'I'.&lt;/P&gt;&lt;P&gt;  S_MATNR-LOW = '&lt;STRONG&gt;A&lt;/STRONG&gt;'.&lt;/P&gt;&lt;P&gt;  APPEND S_MATNR.&lt;/P&gt;&lt;P&gt;  S_MATNR-LOW = '&lt;STRONG&gt;B&lt;/STRONG&gt;'.&lt;/P&gt;&lt;P&gt;  APPEND S_MATNR.&lt;/P&gt;&lt;P&gt;  S_MATNR-LOW = '&lt;STRONG&gt;C&lt;/STRONG&gt;'.&lt;/P&gt;&lt;P&gt;  APPEND S_MATNR.&lt;/P&gt;&lt;P&gt;  S_MATNR-LOW = '&lt;STRONG&gt;D&lt;/STRONG&gt;'.&lt;/P&gt;&lt;P&gt;  APPEND S_MATNR.&lt;/P&gt;&lt;P&gt;  S_MATNR-LOW = '&lt;STRONG&gt;E&lt;/STRONG&gt;'.&lt;/P&gt;&lt;P&gt;  APPEND S_MATNR.&lt;/P&gt;&lt;P&gt;  S_MATNR-LOW = '&lt;STRONG&gt;F&lt;/STRONG&gt;'.&lt;/P&gt;&lt;P&gt;  APPEND S_MATNR.&lt;/P&gt;&lt;P&gt;  S_MATNR-LOW = '&lt;STRONG&gt;G&lt;/STRONG&gt;'.&lt;/P&gt;&lt;P&gt;  APPEND S_MATNR.&lt;/P&gt;&lt;P&gt;  S_MATNR-LOW = '&lt;STRONG&gt;H&lt;/STRONG&gt;'.&lt;/P&gt;&lt;P&gt;  APPEND S_MATNR.&lt;/P&gt;&lt;P&gt;  S_MATNR-LOW = '&lt;STRONG&gt;I&lt;/STRONG&gt;'.&lt;/P&gt;&lt;P&gt;  APPEND S_MATNR.&lt;/P&gt;&lt;P&gt;  S_MATNR-LOW = '&lt;STRONG&gt;J&lt;/STRONG&gt;'.&lt;/P&gt;&lt;P&gt;  APPEND S_MATNR.&lt;/P&gt;&lt;P&gt;  S_MATNR-LOW = '&lt;STRONG&gt;K&lt;/STRONG&gt;'.&lt;/P&gt;&lt;P&gt;  APPEND S_MATNR.&lt;/P&gt;&lt;P&gt;  S_MATNR-LOW = '&lt;STRONG&gt;L&lt;/STRONG&gt;'.&lt;/P&gt;&lt;P&gt;  APPEND S_MATNR.&lt;/P&gt;&lt;P&gt;  S_MATNR-LOW = '&lt;STRONG&gt;M&lt;/STRONG&gt;'.&lt;/P&gt;&lt;P&gt;  APPEND S_MATNR.&lt;/P&gt;&lt;P&gt;  S_MATNR-LOW = '&lt;STRONG&gt;N&lt;/STRONG&gt;'.&lt;/P&gt;&lt;P&gt;  APPEND S_MATNR.&lt;/P&gt;&lt;P&gt;  S_MATNR-LOW = '&lt;STRONG&gt;O&lt;/STRONG&gt;'.&lt;/P&gt;&lt;P&gt;  APPEND S_MATNR.&lt;/P&gt;&lt;P&gt;  S_MATNR-LOW = '&lt;STRONG&gt;P&lt;/STRONG&gt;'.&lt;/P&gt;&lt;P&gt;  APPEND S_MATNR.&lt;/P&gt;&lt;P&gt;  S_MATNR-LOW = '&lt;STRONG&gt;Q&lt;/STRONG&gt;'.&lt;/P&gt;&lt;P&gt;  APPEND S_MATNR.&lt;/P&gt;&lt;P&gt;  S_MATNR-LOW = '&lt;STRONG&gt;R&lt;/STRONG&gt;'.&lt;/P&gt;&lt;P&gt;  APPEND S_MATNR.&lt;/P&gt;&lt;P&gt;  S_MATNR-LOW = '&lt;STRONG&gt;S&lt;/STRONG&gt;'.&lt;/P&gt;&lt;P&gt;  APPEND S_MATNR.&lt;/P&gt;&lt;P&gt;  S_MATNR-LOW = '&lt;STRONG&gt;T&lt;/STRONG&gt;'.&lt;/P&gt;&lt;P&gt;  APPEND S_MATNR.&lt;/P&gt;&lt;P&gt;  S_MATNR-LOW = '&lt;STRONG&gt;U&lt;/STRONG&gt;'.&lt;/P&gt;&lt;P&gt;  APPEND S_MATNR.&lt;/P&gt;&lt;P&gt;  S_MATNR-LOW = '&lt;STRONG&gt;V&lt;/STRONG&gt;'.&lt;/P&gt;&lt;P&gt;  APPEND S_MATNR.&lt;/P&gt;&lt;P&gt;  S_MATNR-LOW = '&lt;STRONG&gt;W&lt;/STRONG&gt;'.&lt;/P&gt;&lt;P&gt;  APPEND S_MATNR.&lt;/P&gt;&lt;P&gt;  S_MATNR-LOW = '&lt;STRONG&gt;X&lt;/STRONG&gt;'.&lt;/P&gt;&lt;P&gt;  APPEND S_MATNR.&lt;/P&gt;&lt;P&gt;  S_MATNR-LOW = '&lt;STRONG&gt;Y&lt;/STRONG&gt;'.&lt;/P&gt;&lt;P&gt;  APPEND S_MATNR.&lt;/P&gt;&lt;P&gt;  S_MATNR-LOW = '&lt;STRONG&gt;Z&lt;/STRONG&gt;'.&lt;/P&gt;&lt;P&gt;  APPEND S_MATNR.&lt;/P&gt;&lt;P&gt;ENDFORM.                               " APPEND_MATNR&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  VALIDATE_DIV&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Validate the division&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;There are no interface parameters to be passed to this routine&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM VALIDATE_DIV .&lt;/P&gt;&lt;P&gt;  DATA:&lt;/P&gt;&lt;P&gt;    LV_SPART TYPE SPART.               " Division&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  MOVE SY-UCOMM TO SSCRFIELDS-UCOMM.&lt;/P&gt;&lt;P&gt;  SELECT SINGLE SPART                  " Division&lt;/P&gt;&lt;P&gt;    FROM TSPA&lt;/P&gt;&lt;P&gt;    INTO LV_SPART&lt;/P&gt;&lt;P&gt;   WHERE SPART EQ P_DIV.&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC NE 0.&lt;/P&gt;&lt;P&gt;    CLEAR: SSCRFIELDS.&lt;/P&gt;&lt;P&gt;    MESSAGE E127(/ISDFPS/MM).&lt;/P&gt;&lt;P&gt;  ENDIF.                               " IF SY-SUBRC EQ 0&lt;/P&gt;&lt;P&gt;ENDFORM.                               " FORM VALIDATE_DIV&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  VALIDATE_CORP&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Validate the corporate&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;There are no interface parameters to be passed to this routine&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM VALIDATE_CORP .&lt;/P&gt;&lt;P&gt;  DATA:&lt;/P&gt;&lt;P&gt;    LV_KUNNR TYPE KNA1-KUNNR.          " Corporate&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CONSTANTS:&lt;/P&gt;&lt;P&gt;      LV_KTOKD LIKE KNA1-KTOKD         " Corporate Acc&lt;/P&gt;&lt;P&gt;               VALUE 'Z012'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECT SINGLE KUNNR                  " Customer Number&lt;/P&gt;&lt;P&gt;    FROM KNA1&lt;/P&gt;&lt;P&gt;    INTO LV_KUNNR&lt;/P&gt;&lt;P&gt;   WHERE KUNNR EQ P_CORP&lt;/P&gt;&lt;P&gt;     AND KTOKD EQ LV_KTOKD.&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC NE 0.&lt;/P&gt;&lt;P&gt;    CLEAR: SSCRFIELDS,LV_KUNNR.&lt;/P&gt;&lt;P&gt;    MESSAGE E100(RA) WITH TEXT-038.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    CLEAR LV_KUNNR.&lt;/P&gt;&lt;P&gt;    SELECT KUNNR                       " Customer Number&lt;/P&gt;&lt;P&gt;      UP TO 1 ROWS&lt;/P&gt;&lt;P&gt;      FROM KNVH&lt;/P&gt;&lt;P&gt;      INTO LV_KUNNR&lt;/P&gt;&lt;P&gt;     WHERE HITYP  EQ C_HITYP&lt;/P&gt;&lt;P&gt;       AND KUNNR  EQ P_CORP&lt;/P&gt;&lt;P&gt;       AND VKORG  EQ C_VKORG&lt;/P&gt;&lt;P&gt;       AND VTWEG  EQ C_VTWEG&lt;/P&gt;&lt;P&gt;       AND SPART  EQ P_DIV&lt;/P&gt;&lt;P&gt;       AND DATAB  LE SY-DATUM&lt;/P&gt;&lt;P&gt;       AND DATBI  GE SY-DATUM.&lt;/P&gt;&lt;P&gt;    ENDSELECT.                         " SELECT KUNNR&lt;/P&gt;&lt;P&gt;    IF SY-SUBRC NE 0.&lt;/P&gt;&lt;P&gt;      CLEAR: SSCRFIELDS.&lt;/P&gt;&lt;P&gt;      MESSAGE E531(0U) WITH TEXT-003.&lt;/P&gt;&lt;P&gt;    ENDIF.                             " IF SY-SUBRC NE 0&lt;/P&gt;&lt;P&gt;  ENDIF.                               " IF SY-SUBRC NE 0&lt;/P&gt;&lt;P&gt;ENDFORM.                               " VALIDATE_CORP&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  VALIDATE_MATGR&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Validate the Material Group&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;There are no interface parameters to be passed to this routine&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM VALIDATE_MATGR .&lt;/P&gt;&lt;P&gt;  DATA:&lt;/P&gt;&lt;P&gt;    LV_MATGR TYPE MARA-MATKL.          " Material group&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  MOVE SY-UCOMM TO SSCRFIELDS-UCOMM.&lt;/P&gt;&lt;P&gt;  SELECT MATKL                         " Material group&lt;/P&gt;&lt;P&gt;    FROM T023&lt;/P&gt;&lt;P&gt;    UP TO 1 ROWS&lt;/P&gt;&lt;P&gt;    INTO LV_MATGR&lt;/P&gt;&lt;P&gt;   WHERE MATKL IN S_MATGR.&lt;/P&gt;&lt;P&gt;  ENDSELECT.&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC NE 0.&lt;/P&gt;&lt;P&gt;    CLEAR: SSCRFIELDS.&lt;/P&gt;&lt;P&gt;    MESSAGE E292(MW).&lt;/P&gt;&lt;P&gt;  ENDIF.                               " IF SY-SUBRC EQ 0&lt;/P&gt;&lt;P&gt;ENDFORM.                               " VALIDATE_MATGR&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  GET_CORP&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get the corporates for the selected division&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;There are no interface parameters to be passed to this routine&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM GET_CORP .&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Table for conglomerate&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  DATA:&lt;/P&gt;&lt;P&gt;    LT_CONG      LIKE STANDARD TABLE OF FS_CORP,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Fields of current screen&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    LFS_DYNPREAD TYPE DYNPREAD,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Table for current Screen fields&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    LT_DYNPREAD  LIKE STANDARD TABLE OF LFS_DYNPREAD.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LFS_DYNPREAD-FIELDNAME = 'P_DIV'.&lt;/P&gt;&lt;P&gt;  APPEND LFS_DYNPREAD TO LT_DYNPREAD.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get selection screen value for division&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CALL FUNCTION 'DYNP_VALUES_READ'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      DYNAME               = SY-REPID&lt;/P&gt;&lt;P&gt;      DYNUMB               = SY-DYNNR&lt;/P&gt;&lt;P&gt;    TABLES&lt;/P&gt;&lt;P&gt;      DYNPFIELDS           = LT_DYNPREAD&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      INVALID_ABAPWORKAREA = 1&lt;/P&gt;&lt;P&gt;      INVALID_DYNPROFIELD  = 2&lt;/P&gt;&lt;P&gt;      INVALID_DYNPRONAME   = 3&lt;/P&gt;&lt;P&gt;      INVALID_DYNPRONUMMER = 4&lt;/P&gt;&lt;P&gt;      INVALID_REQUEST      = 5&lt;/P&gt;&lt;P&gt;      NO_FIELDDESCRIPTION  = 6&lt;/P&gt;&lt;P&gt;      INVALID_PARAMETER    = 7&lt;/P&gt;&lt;P&gt;      UNDEFIND_ERROR       = 8&lt;/P&gt;&lt;P&gt;      DOUBLE_CONVERSION    = 9&lt;/P&gt;&lt;P&gt;      STEPL_NOT_FOUND      = 10&lt;/P&gt;&lt;P&gt;      OTHERS               = 11.&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC EQ 0.&lt;/P&gt;&lt;P&gt;    READ TABLE LT_DYNPREAD INTO LFS_DYNPREAD INDEX 1.&lt;/P&gt;&lt;P&gt;    IF SY-SUBRC EQ 0.&lt;/P&gt;&lt;P&gt;      P_DIV = LFS_DYNPREAD-FIELDVALUE.&lt;/P&gt;&lt;P&gt;    ENDIF.                             " IF SY-SUBRC EQ 0&lt;/P&gt;&lt;P&gt;  ENDIF.                               " IF SY-SUBRC EQ 0&lt;/P&gt;&lt;P&gt;  REFRESH T_CORP.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get the conglomerate for the selected division&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  SELECT KUNNR                         " Conglomerate&lt;/P&gt;&lt;P&gt;    FROM KNVH&lt;/P&gt;&lt;P&gt;    INTO TABLE  LT_CONG&lt;/P&gt;&lt;P&gt;   WHERE HITYP  EQ C_HITYP&lt;/P&gt;&lt;P&gt;     AND VKORG  EQ C_VKORG&lt;/P&gt;&lt;P&gt;     AND VTWEG  EQ C_VTWEG&lt;/P&gt;&lt;P&gt;     AND SPART  EQ P_DIV&lt;/P&gt;&lt;P&gt;     AND DATAB  LE SY-DATUM&lt;/P&gt;&lt;P&gt;     AND DATBI  GE SY-DATUM&lt;/P&gt;&lt;P&gt;     AND HKUNNR EQ SPACE.&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC EQ 0.&lt;/P&gt;&lt;P&gt;    SORT LT_CONG BY KUNNR.&lt;/P&gt;&lt;P&gt;    DELETE ADJACENT DUPLICATES FROM LT_CONG&lt;/P&gt;&lt;P&gt;                    COMPARING KUNNR.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get the corporates for the selected conglomerates&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    SELECT KUNNR                       " Customer Number&lt;/P&gt;&lt;P&gt;      FROM KNVH&lt;/P&gt;&lt;P&gt;      INTO TABLE  T_CORP&lt;/P&gt;&lt;P&gt;       FOR ALL ENTRIES IN LT_CONG&lt;/P&gt;&lt;P&gt;     WHERE HITYP  EQ C_HITYP&lt;/P&gt;&lt;P&gt;       AND VKORG  EQ C_VKORG&lt;/P&gt;&lt;P&gt;       AND VTWEG  EQ C_VTWEG&lt;/P&gt;&lt;P&gt;       AND SPART  EQ P_DIV&lt;/P&gt;&lt;P&gt;       AND DATAB  LE SY-DATUM&lt;/P&gt;&lt;P&gt;       AND DATBI  GE SY-DATUM&lt;/P&gt;&lt;P&gt;       AND HKUNNR EQ LT_CONG-KUNNR.&lt;/P&gt;&lt;P&gt;    IF SY-SUBRC NE 0.&lt;/P&gt;&lt;P&gt;      CLEAR: SSCRFIELDS.&lt;/P&gt;&lt;P&gt;      MESSAGE I531(0U) WITH TEXT-005.&lt;/P&gt;&lt;P&gt;      STOP.&lt;/P&gt;&lt;P&gt;    ENDIF.                             " IF SY-SUBRC NE 0&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    CLEAR: SSCRFIELDS.&lt;/P&gt;&lt;P&gt;    MESSAGE I531(0U) WITH TEXT-004.&lt;/P&gt;&lt;P&gt;    STOP.&lt;/P&gt;&lt;P&gt;  ENDIF.                               " IF SY-SUBRC EQ 0&lt;/P&gt;&lt;P&gt;ENDFORM.                               " GET_CORP&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  F4HELP_CORP&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;F4 help for corporate&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;There are no interface parameters to be passed to this routine&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM F4HELP_CORP .&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;F4 help for corporate&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      RETFIELD        = 'KUNNR'&lt;/P&gt;&lt;P&gt;      DYNPPROG        = 'Z_EXCESS_USAGE'&lt;/P&gt;&lt;P&gt;      DYNPNR          = '1000'&lt;/P&gt;&lt;P&gt;      DYNPROFIELD     = 'P_CORP'&lt;/P&gt;&lt;P&gt;      VALUE_ORG       = 'S'&lt;/P&gt;&lt;P&gt;    TABLES&lt;/P&gt;&lt;P&gt;      VALUE_TAB       = T_CORP&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      PARAMETER_ERROR = 1&lt;/P&gt;&lt;P&gt;      NO_VALUES_FOUND = 2&lt;/P&gt;&lt;P&gt;      OTHERS          = 3.&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC EQ 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Do nothing&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  ENDIF.                               " IF SY-SUBRC EQ 0&lt;/P&gt;&lt;P&gt;ENDFORM.                               " F4HELP_CORP&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  FETCH_REQUIREDDATA&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get the required details like invoice details, material details, stock&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;and cost details, minimum and maximum stock, purchase order details,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;moving avg price&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;There are no interface parameters to be passed to this routine&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM FETCH_REQUIREDDATA .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Constants&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CONSTANTS:&lt;/P&gt;&lt;P&gt;    LC_FKART TYPE VBRK-FKART           " Document type&lt;/P&gt;&lt;P&gt;             VALUE 'ZF2',&lt;/P&gt;&lt;P&gt;    LC_VBTYP TYPE VBFA-VBTYP_N         " Doc Category of subseq doc&lt;/P&gt;&lt;P&gt;             VALUE '3'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Fetch required data&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get the sold-to party details&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  SELECT KUNNR                         " Sold-to&lt;/P&gt;&lt;P&gt;         HKUNNR                        " Higher level customer&lt;/P&gt;&lt;P&gt;    FROM KNVH&lt;/P&gt;&lt;P&gt;    INTO TABLE T_SOLDTO&lt;/P&gt;&lt;P&gt;   WHERE HITYP  EQ C_HITYP&lt;/P&gt;&lt;P&gt;     AND DATAB  LE SY-DATUM&lt;/P&gt;&lt;P&gt;     AND DATBI  GE SY-DATUM&lt;/P&gt;&lt;P&gt;     AND HKUNNR EQ P_CORP.&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC EQ 0.&lt;/P&gt;&lt;P&gt;    SORT T_SOLDTO BY SOLDTO.&lt;/P&gt;&lt;P&gt;    DELETE ADJACENT DUPLICATES FROM T_SOLDTO.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get Billing documents&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    SELECT VBELN                       " Billing Document&lt;/P&gt;&lt;P&gt;           WAERK                       " Doc currency&lt;/P&gt;&lt;P&gt;           FKDAT                       " Billing date&lt;/P&gt;&lt;P&gt;      FROM VBRK&lt;/P&gt;&lt;P&gt;      INTO TABLE T_VBRK&lt;/P&gt;&lt;P&gt;       FOR ALL ENTRIES IN T_SOLDTO&lt;/P&gt;&lt;P&gt;     WHERE FKART EQ LC_FKART&lt;/P&gt;&lt;P&gt;       AND FKDAT IN S_DATE&lt;/P&gt;&lt;P&gt;       AND KUNAG EQ T_SOLDTO-SOLDTO.&lt;/P&gt;&lt;P&gt;    IF SY-SUBRC EQ 0.&lt;/P&gt;&lt;P&gt;      SORT T_VBRK BY VBELN.&lt;/P&gt;&lt;P&gt;      SELECT VBELV                     " Sales document&lt;/P&gt;&lt;P&gt;        FROM VBFA&lt;/P&gt;&lt;P&gt;        INTO TABLE T_VBFA&lt;/P&gt;&lt;P&gt;         FOR ALL ENTRIES IN T_VBRK&lt;/P&gt;&lt;P&gt;       WHERE VBELV   EQ T_VBRK-VBELN&lt;/P&gt;&lt;P&gt;         AND VBTYP_N EQ LC_VBTYP.&lt;/P&gt;&lt;P&gt;      IF SY-SUBRC EQ 0.&lt;/P&gt;&lt;P&gt;        SORT T_VBFA BY VBELN.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get Last Six month date&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        PERFORM GOBACK_MONTH CHANGING W_DATE.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get Item Data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        PERFORM FETCH_ITEMDATA.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get Used stock&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        PERFORM FETCH_USEDSTOCK.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get Material Data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        PERFORM FETCH_MATDATA.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get Moving Avg Price&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        PERFORM FETCH_AVGPRICE.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get Supersession code&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        PERFORM FETCH_SOCDE.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get Purchase order data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        PERFORM FETCH_PODATA.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get Current Vendor&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        PERFORM FETCH_VENDOR.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get Min and Max Stock level&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        PERFORM FETCH_STOCK.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Prepare dates&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        PERFORM FETCH_MONTHS.&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;P&gt;        MESSAGE I026(8I).&lt;/P&gt;&lt;P&gt;        STOP.&lt;/P&gt;&lt;P&gt;      ENDIF.                           " IF SY-SUBRC EQ 0&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;      MESSAGE I026(8I).&lt;/P&gt;&lt;P&gt;      STOP.&lt;/P&gt;&lt;P&gt;    ENDIF.                             " IF SY-SUBRC EQ 0&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    MESSAGE I531(0U) WITH TEXT-006.&lt;/P&gt;&lt;P&gt;    STOP.&lt;/P&gt;&lt;P&gt;  ENDIF.                               " IF SY-SUBRC EQ 0&lt;/P&gt;&lt;P&gt;ENDFORM.                               " FORM FETCH_REQUIREDDATA&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  FETCH_ITEMDATA&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get the item details for the selected order and radio button chosen&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;There are no interface parameters to be passed to this routine&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM FETCH_ITEMDATA .&lt;/P&gt;&lt;P&gt;  DATA:&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Item details&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    BEGIN OF LFS_VBRP,&lt;/P&gt;&lt;P&gt;      VBELN TYPE VBRP-VBELN,           " Sales Doc&lt;/P&gt;&lt;P&gt;      POSNR TYPE VBRP-POSNR,           " Item Number&lt;/P&gt;&lt;P&gt;      FKIMG TYPE VBRP-FKIMG,           " Actual Invoiced Quantity&lt;/P&gt;&lt;P&gt;      VRKME TYPE VBRP-VRKME,           " Sales Unit&lt;/P&gt;&lt;P&gt;      MEINS TYPE VBRP-MEINS,           " Base Unit of measure&lt;/P&gt;&lt;P&gt;      NETWR TYPE VBRP-NETWR,           " Net value&lt;/P&gt;&lt;P&gt;      MATNR TYPE VBRP-MATNR,           " Material&lt;/P&gt;&lt;P&gt;      MATKL TYPE VBRP-MATKL,           " Material Group&lt;/P&gt;&lt;P&gt;      WAVWR TYPE VBRP-NETWR,           " Cost in document currency&lt;/P&gt;&lt;P&gt;    END OF LFS_VBRP,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Table Item details&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    LT_VBRP  LIKE STANDARD TABLE OF LFS_VBRP,&lt;/P&gt;&lt;P&gt;    LT_TVBRP LIKE STANDARD TABLE OF LFS_VBRP.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Constants&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CONSTANTS:&lt;/P&gt;&lt;P&gt;    LC_SP  TYPE MARA-MATNR             " Material&lt;/P&gt;&lt;P&gt;           VALUE 'SP%',&lt;/P&gt;&lt;P&gt;    LC_GBP TYPE VBRK-WAERK             " Currency&lt;/P&gt;&lt;P&gt;           VALUE 'GBP'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get Item data for Non-System generated materials&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  IF P_NOSYS EQ C_NOSYS.&lt;/P&gt;&lt;P&gt;    SELECT VBELN                       " Sales Doc&lt;/P&gt;&lt;P&gt;           POSNR                       " Item Number&lt;/P&gt;&lt;P&gt;           FKIMG                       " Actual Invoiced Quantity&lt;/P&gt;&lt;P&gt;           VRKME                       " Sales Unit&lt;/P&gt;&lt;P&gt;           MEINS                       " Base Unit of measure&lt;/P&gt;&lt;P&gt;           NETWR                       " Net value&lt;/P&gt;&lt;P&gt;           MATNR                       " Material&lt;/P&gt;&lt;P&gt;           MATKL                       " Material Group&lt;/P&gt;&lt;P&gt;           WAVWR                       " Cost in document currency&lt;/P&gt;&lt;P&gt;      FROM VBRP&lt;/P&gt;&lt;P&gt;      INTO TABLE LT_VBRP&lt;/P&gt;&lt;P&gt;       FOR ALL ENTRIES IN T_VBFA&lt;/P&gt;&lt;P&gt;     WHERE VBELN EQ T_VBFA-VBELN&lt;/P&gt;&lt;P&gt;       AND MATNR IN S_MATNR&lt;/P&gt;&lt;P&gt;       AND MATKL IN S_MATGR.&lt;/P&gt;&lt;P&gt;    IF SY-SUBRC EQ 0.&lt;/P&gt;&lt;P&gt;      SORT LT_VBRP BY VBELN POSNR.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Remove Spicer materials&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      LOOP AT LT_VBRP INTO LFS_VBRP.&lt;/P&gt;&lt;P&gt;        IF NOT ( LFS_VBRP-MATNR CP 'SP*' ).&lt;/P&gt;&lt;P&gt;          APPEND LFS_VBRP TO LT_TVBRP.&lt;/P&gt;&lt;P&gt;          CLEAR LFS_VBRP.&lt;/P&gt;&lt;P&gt;        ENDIF.                         " IF NOT LFS_VBRP_MATNR&lt;/P&gt;&lt;P&gt;      ENDLOOP.                         " LOOP AT LT_VBRP&lt;/P&gt;&lt;P&gt;      REFRESH LT_VBRP.&lt;/P&gt;&lt;P&gt;      LT_VBRP[] = LT_TVBRP[].&lt;/P&gt;&lt;P&gt;      FREE LT_TVBRP.&lt;/P&gt;&lt;P&gt;      SORT LT_VBRP BY VBELN POSNR.&lt;/P&gt;&lt;P&gt;    ENDIF.                             " IF SY-SUBRC EQ 0&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get Item data for System generated materials&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  ELSEIF P_SYS EQ C_NOSYS.&lt;/P&gt;&lt;P&gt;    SELECT VBELN                       " Sales Doc&lt;/P&gt;&lt;P&gt;           POSNR                       " Item Number&lt;/P&gt;&lt;P&gt;           FKIMG                       " Actual Invoiced Quantity&lt;/P&gt;&lt;P&gt;           VRKME                       " Sales Unit&lt;/P&gt;&lt;P&gt;           MEINS                       " Base Unit of measure&lt;/P&gt;&lt;P&gt;           NETWR                       " Net value&lt;/P&gt;&lt;P&gt;           MATNR                       " Material&lt;/P&gt;&lt;P&gt;           MATKL                       " Material Group&lt;/P&gt;&lt;P&gt;           WAVWR                       " Cost in document currency&lt;/P&gt;&lt;P&gt;      FROM VBRP&lt;/P&gt;&lt;P&gt;      INTO TABLE LT_VBRP&lt;/P&gt;&lt;P&gt;       FOR ALL ENTRIES IN T_VBFA&lt;/P&gt;&lt;P&gt;     WHERE VBELN EQ T_VBFA-VBELN&lt;/P&gt;&lt;P&gt;       AND MATNR NOT IN S_MATNR&lt;/P&gt;&lt;P&gt;       AND MATKL IN S_MATGR.&lt;/P&gt;&lt;P&gt;    IF SY-SUBRC EQ 0.&lt;/P&gt;&lt;P&gt;      SORT LT_VBRP BY VBELN POSNR.&lt;/P&gt;&lt;P&gt;    ENDIF.                             " IF SY-SUBRC EQ 0&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get Item data for Spicer materials&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  ELSEIF P_SPR EQ C_NOSYS.&lt;/P&gt;&lt;P&gt;    SELECT VBELN                       " Sales Doc&lt;/P&gt;&lt;P&gt;           POSNR                       " Item Number&lt;/P&gt;&lt;P&gt;           FKIMG                       " Actual Invoiced Quantity&lt;/P&gt;&lt;P&gt;           VRKME                       " Sales Unit&lt;/P&gt;&lt;P&gt;           MEINS                       " Base Unit of measure&lt;/P&gt;&lt;P&gt;           NETWR                       " Net value&lt;/P&gt;&lt;P&gt;           MATNR                       " Material&lt;/P&gt;&lt;P&gt;           MATKL                       " Material Group&lt;/P&gt;&lt;P&gt;           WAVWR                       " Cost in document currency&lt;/P&gt;&lt;P&gt;      FROM VBRP&lt;/P&gt;&lt;P&gt;      INTO TABLE LT_VBRP&lt;/P&gt;&lt;P&gt;       FOR ALL ENTRIES IN T_VBFA&lt;/P&gt;&lt;P&gt;     WHERE VBELN EQ T_VBFA-VBELN&lt;/P&gt;&lt;P&gt;       AND MATNR LIKE LC_SP&lt;/P&gt;&lt;P&gt;       AND MATKL IN S_MATGR.&lt;/P&gt;&lt;P&gt;    IF SY-SUBRC EQ 0.&lt;/P&gt;&lt;P&gt;      SORT LT_VBRP BY VBELN POSNR.&lt;/P&gt;&lt;P&gt;    ENDIF.                             " IF SY-SUBRC EQ 0&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get Item data for All materials&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  ELSEIF P_ALL EQ C_NOSYS .&lt;/P&gt;&lt;P&gt;    SELECT VBELN                       " Sales Doc&lt;/P&gt;&lt;P&gt;           POSNR                       " Item Number&lt;/P&gt;&lt;P&gt;           FKIMG                       " Actual Invoiced Quantity&lt;/P&gt;&lt;P&gt;           VRKME                       " Sales Unit&lt;/P&gt;&lt;P&gt;           MEINS                       " Base Unit of measure&lt;/P&gt;&lt;P&gt;           NETWR                       " Net value&lt;/P&gt;&lt;P&gt;           MATNR                       " Material&lt;/P&gt;&lt;P&gt;           MATKL                       " Material Group&lt;/P&gt;&lt;P&gt;           WAVWR                       " Cost in document currency&lt;/P&gt;&lt;P&gt;      FROM VBRP&lt;/P&gt;&lt;P&gt;      INTO TABLE LT_VBRP&lt;/P&gt;&lt;P&gt;       FOR ALL ENTRIES IN T_VBFA&lt;/P&gt;&lt;P&gt;     WHERE VBELN EQ T_VBFA-VBELN&lt;/P&gt;&lt;P&gt;       AND MATKL IN S_MATGR.&lt;/P&gt;&lt;P&gt;    IF SY-SUBRC EQ 0.&lt;/P&gt;&lt;P&gt;      SORT LT_VBRP BY VBELN POSNR.&lt;/P&gt;&lt;P&gt;    ENDIF.                             " IF SY-SUBRC EQ 0&lt;/P&gt;&lt;P&gt;  ENDIF.                               " P_NOSYS EQ C_NOSYS&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Segregate the item data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  IF LT_VBRP[] IS INITIAL.&lt;/P&gt;&lt;P&gt;    MESSAGE I109(WP).&lt;/P&gt;&lt;P&gt;    STOP.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    LOOP AT LT_VBRP INTO LFS_VBRP.&lt;/P&gt;&lt;P&gt;      READ TABLE T_VBFA INTO FS_VBFA WITH KEY&lt;/P&gt;&lt;P&gt;            VBELN = LFS_VBRP-VBELN BINARY SEARCH.&lt;/P&gt;&lt;P&gt;      IF SY-SUBRC EQ 0.&lt;/P&gt;&lt;P&gt;        READ TABLE T_VBRK INTO FS_VBRK WITH KEY&lt;/P&gt;&lt;P&gt;           VBELN = FS_VBFA-VBELN BINARY SEARCH.&lt;/P&gt;&lt;P&gt;        IF SY-SUBRC EQ 0.&lt;/P&gt;&lt;P&gt;          MOVE:&lt;/P&gt;&lt;P&gt;            FS_VBRK-FKDAT  TO FS_ITEM-FKDAT,&lt;/P&gt;&lt;P&gt;            LFS_VBRP-MATNR TO FS_ITEM-MATNR,&lt;/P&gt;&lt;P&gt;            LFS_VBRP-MATKL TO FS_ITEM-MATKL.&lt;/P&gt;&lt;P&gt;          IF FS_VBRK-WAERK NE LC_GBP.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Convert Cost and Cell value to Local Currency&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;            PERFORM CURRENCY_CONVERSION USING LFS_VBRP-NETWR&lt;/P&gt;&lt;P&gt;                                              FS_VBRK-WAERK&lt;/P&gt;&lt;P&gt;                                              LC_GBP&lt;/P&gt;&lt;P&gt;                                              FS_VBRK-FKDAT&lt;/P&gt;&lt;P&gt;                                     CHANGING FS_ITEM-NETWR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            PERFORM CURRENCY_CONVERSION USING LFS_VBRP-WAVWR&lt;/P&gt;&lt;P&gt;                                              FS_VBRK-WAERK&lt;/P&gt;&lt;P&gt;                                              LC_GBP&lt;/P&gt;&lt;P&gt;                                              FS_VBRK-FKDAT&lt;/P&gt;&lt;P&gt;                                     CHANGING FS_ITEM-WAVWR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          ELSE.&lt;/P&gt;&lt;P&gt;            MOVE: LFS_VBRP-NETWR TO FS_ITEM-NETWR,&lt;/P&gt;&lt;P&gt;                  LFS_VBRP-WAVWR TO FS_ITEM-WAVWR.&lt;/P&gt;&lt;P&gt;          ENDIF.                       " IF FS_VBRK-WAERK&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          IF LFS_VBRP-VRKME NE LFS_VBRP-MEINS.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Convert Usage to Base Unit&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;            PERFORM UNIT_CONVERSION USING LFS_VBRP-MATNR&lt;/P&gt;&lt;P&gt;                                          LFS_VBRP-FKIMG&lt;/P&gt;&lt;P&gt;                                          LFS_VBRP-VRKME&lt;/P&gt;&lt;P&gt;                                          LFS_VBRP-MEINS&lt;/P&gt;&lt;P&gt;                                 CHANGING FS_ITEM-FKIMG.&lt;/P&gt;&lt;P&gt;          ELSE.&lt;/P&gt;&lt;P&gt;            MOVE LFS_VBRP-FKIMG TO FS_ITEM-FKIMG.&lt;/P&gt;&lt;P&gt;          ENDIF.                       " IF FS_VBRP-VRKME..&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          APPEND FS_ITEM TO T_ITEM.&lt;/P&gt;&lt;P&gt;          CLEAR: FS_ITEM,LFS_VBRP,FS_VBRK,FS_VBFA.&lt;/P&gt;&lt;P&gt;        ENDIF.                         " IF SY-SUBRC EQ 0&lt;/P&gt;&lt;P&gt;      ENDIF.                           " IF SY-SUBRC EQ 0&lt;/P&gt;&lt;P&gt;    ENDLOOP.                           " LOOP AT T_VBRP[]&lt;/P&gt;&lt;P&gt;    T_TITEM[] = T_ITEM[].&lt;/P&gt;&lt;P&gt;  ENDIF.                               " IF LT_VBRP[] IS INITIAL&lt;/P&gt;&lt;P&gt;ENDFORM.                               " FETCH_ITEMDATA&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  UNIT_CONVERSION&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Convert free stock of the material into pallets&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_LFS_VBRP_MATNR  Material&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_LFS_VBRP_FKIMG  Usage&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_LFS_VBRP_VRKME  Sales Unit&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_LFS_VBRP-MEINS  Base Unit of measure&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     &amp;lt;--P_LFS_VBRP-FKIMG  Usage&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM UNIT_CONVERSION  USING    P_LFS_VBRP_MATNR  TYPE VBRP-MATNR&lt;/P&gt;&lt;P&gt;                               P_LFS_VBRP_FKIMG  TYPE VBRP-FKIMG&lt;/P&gt;&lt;P&gt;                               P_LFS_VBRP_VRKME  TYPE VBRP-VRKME&lt;/P&gt;&lt;P&gt;                               P_LFS_VBRP_MEINS  TYPE VBRP-MEINS&lt;/P&gt;&lt;P&gt;                      CHANGING P_LFS_VBRP_CFKIMG TYPE VBRP-FKIMG.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'MD_CONVERT_MATERIAL_UNIT'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      I_MATNR              = P_LFS_VBRP_MATNR&lt;/P&gt;&lt;P&gt;      I_IN_ME              = P_LFS_VBRP_VRKME&lt;/P&gt;&lt;P&gt;      I_OUT_ME             = P_LFS_VBRP_MEINS&lt;/P&gt;&lt;P&gt;      I_MENGE              = P_LFS_VBRP_FKIMG&lt;/P&gt;&lt;P&gt;    IMPORTING&lt;/P&gt;&lt;P&gt;      E_MENGE              = P_LFS_VBRP_CFKIMG&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      ERROR_IN_APPLICATION = 1&lt;/P&gt;&lt;P&gt;      ERROR                = 2&lt;/P&gt;&lt;P&gt;      OTHERS               = 3.&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC NE 0.&lt;/P&gt;&lt;P&gt;    CLEAR P_LFS_VBRP_CFKIMG.&lt;/P&gt;&lt;P&gt;  ENDIF.                               " IF SY-SUBRC NE 0&lt;/P&gt;&lt;P&gt;ENDFORM.                               " UNIT_CONVERSION&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  CURRENCY_CONVERSION&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Convert free stock of the material into pallets&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_LFS_VBRP_NETWR  Sell value/Cost&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_LFS_VBRK_WAERS  Currency&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_LC_GBP          Local Currency&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_LFS_VBRK_FKDAT  Billing Date&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     &amp;lt;--P_LFS_VBRP_CNETWR Sell value/Cost&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM CURRENCY_CONVERSION USING P_LFS_VBRP_NETWR  TYPE VBRP-NETWR&lt;/P&gt;&lt;P&gt;                               P_LFS_VBRK_WAERK  TYPE VBRK-WAERK&lt;/P&gt;&lt;P&gt;                               P_LC_GBP          TYPE VBRK-WAERK&lt;/P&gt;&lt;P&gt;                               P_FS_VBRK_FKDAT   TYPE SY-DATUM&lt;/P&gt;&lt;P&gt;                      CHANGING P_LFS_VBRP_CNETWR TYPE VBRP-NETWR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'CONVERT_TO_LOCAL_CURRENCY'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      DATE             = P_FS_VBRK_FKDAT&lt;/P&gt;&lt;P&gt;      FOREIGN_AMOUNT   = P_LFS_VBRP_NETWR&lt;/P&gt;&lt;P&gt;      FOREIGN_CURRENCY = P_LFS_VBRK_WAERK&lt;/P&gt;&lt;P&gt;      LOCAL_CURRENCY   = P_LC_GBP&lt;/P&gt;&lt;P&gt;    IMPORTING&lt;/P&gt;&lt;P&gt;      LOCAL_AMOUNT     = P_LFS_VBRP_CNETWR&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      NO_RATE_FOUND    = 1&lt;/P&gt;&lt;P&gt;      OVERFLOW         = 2&lt;/P&gt;&lt;P&gt;      NO_FACTORS_FOUND = 3&lt;/P&gt;&lt;P&gt;      NO_SPREAD_FOUND  = 4&lt;/P&gt;&lt;P&gt;      DERIVED_2_TIMES  = 5&lt;/P&gt;&lt;P&gt;      OTHERS           = 6.&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC NE 0.&lt;/P&gt;&lt;P&gt;    CLEAR P_LFS_VBRP_CNETWR.&lt;/P&gt;&lt;P&gt;  ENDIF.                               " IF SY-SUBRC NE 0&lt;/P&gt;&lt;P&gt;ENDFORM.                               " FORM CURRENCY_CONVERSION&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  FETCH_MATDATA&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get the materials details and description for the selected materials&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;There are no interface parameters to be passed to this routine&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM FETCH_MATDATA .&lt;/P&gt;&lt;P&gt;  SORT T_TITEM BY MATNR.&lt;/P&gt;&lt;P&gt;  DELETE ADJACENT DUPLICATES FROM T_TITEM COMPARING MATNR.&lt;/P&gt;&lt;P&gt;  IF T_TITEM[] IS NOT INITIAL.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Material Details&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    SELECT MATNR                       " Material&lt;/P&gt;&lt;P&gt;           LVORM                       " Deletion Flag&lt;/P&gt;&lt;P&gt;           MEINS                       " UOM&lt;/P&gt;&lt;P&gt;           BSTME                       " Order Unit&lt;/P&gt;&lt;P&gt;           PRDHA                       " Prdh Hier&lt;/P&gt;&lt;P&gt;           KZUMW                       " Environment&lt;/P&gt;&lt;P&gt;      FROM MARA&lt;/P&gt;&lt;P&gt;      INTO TABLE T_MARA&lt;/P&gt;&lt;P&gt;       FOR ALL ENTRIES IN T_TITEM&lt;/P&gt;&lt;P&gt;     WHERE MATNR EQ T_TITEM-MATNR.&lt;/P&gt;&lt;P&gt;    IF SY-SUBRC EQ 0.&lt;/P&gt;&lt;P&gt;      SORT T_MARA BY MATNR.&lt;/P&gt;&lt;P&gt;    ENDIF.                             " IF SY-SUBRC EQ 0&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Material Description&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    SELECT MATNR                       " Material&lt;/P&gt;&lt;P&gt;           MAKTX                       " Material Desc&lt;/P&gt;&lt;P&gt;      FROM MAKT&lt;/P&gt;&lt;P&gt;      INTO TABLE T_MAKT&lt;/P&gt;&lt;P&gt;       FOR ALL ENTRIES IN T_TITEM&lt;/P&gt;&lt;P&gt;     WHERE MATNR EQ T_TITEM-MATNR&lt;/P&gt;&lt;P&gt;       AND SPRAS EQ SY-LANGU.&lt;/P&gt;&lt;P&gt;    IF SY-SUBRC EQ 0.&lt;/P&gt;&lt;P&gt;      SORT T_MAKT BY MATNR.&lt;/P&gt;&lt;P&gt;    ENDIF.                             " IF SY-SUBRC EQ 0&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Sales Data for Material&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    SELECT MATNR                       " Material&lt;/P&gt;&lt;P&gt;           MTPOS                       " Category&lt;/P&gt;&lt;P&gt;           MVGR1                       " Material Grp1&lt;/P&gt;&lt;P&gt;           MVGR2                       " Material Grp2&lt;/P&gt;&lt;P&gt;      FROM MVKE&lt;/P&gt;&lt;P&gt;      INTO TABLE T_MVKE&lt;/P&gt;&lt;P&gt;       FOR ALL ENTRIES IN T_TITEM&lt;/P&gt;&lt;P&gt;     WHERE MATNR EQ T_TITEM-MATNR.&lt;/P&gt;&lt;P&gt;    IF SY-SUBRC EQ 0.&lt;/P&gt;&lt;P&gt;      SORT T_MVKE BY MATNR.&lt;/P&gt;&lt;P&gt;    ENDIF.                             " IF SY-SUBRC EQ 0&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MRP Controller&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    SELECT MATNR                       " Material&lt;/P&gt;&lt;P&gt;           DISPO                       " MRP Controller&lt;/P&gt;&lt;P&gt;      FROM MARC&lt;/P&gt;&lt;P&gt;      INTO TABLE T_MARC&lt;/P&gt;&lt;P&gt;       FOR ALL ENTRIES IN T_TITEM&lt;/P&gt;&lt;P&gt;     WHERE MATNR EQ T_TITEM-MATNR&lt;/P&gt;&lt;P&gt;       AND WERKS EQ C_WERKS.&lt;/P&gt;&lt;P&gt;    IF SY-SUBRC EQ 0.&lt;/P&gt;&lt;P&gt;      SORT T_MARC BY MATNR.&lt;/P&gt;&lt;P&gt;    ENDIF.                             " IF SY-SUBRC EQ 0&lt;/P&gt;&lt;P&gt;  ENDIF.                               " IF T_TITEM[]..&lt;/P&gt;&lt;P&gt;ENDFORM.                               " FETCH_MATDESC&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  FETCH_AVGPRICE&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get the Moving Average Price of the material&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;There are no interface parameters to be passed to this routine&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM FETCH_AVGPRICE .&lt;/P&gt;&lt;P&gt;  CONSTANTS:&lt;/P&gt;&lt;P&gt;    LC_BWKEY TYPE MBEW-BWKEY           " Valuation area&lt;/P&gt;&lt;P&gt;             VALUE '1000'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Moving Avg Price&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  SELECT MATNR                         " Material Number&lt;/P&gt;&lt;P&gt;         VERPR                         " Moving Average Price&lt;/P&gt;&lt;P&gt;    FROM MBEW&lt;/P&gt;&lt;P&gt;    INTO TABLE T_MBEW&lt;/P&gt;&lt;P&gt;     FOR ALL ENTRIES IN T_TITEM&lt;/P&gt;&lt;P&gt;   WHERE MATNR EQ T_TITEM-MATNR&lt;/P&gt;&lt;P&gt;     AND BWKEY EQ LC_BWKEY.&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC EQ 0.&lt;/P&gt;&lt;P&gt;    SORT T_MBEW BY MATNR.&lt;/P&gt;&lt;P&gt;  ENDIF.                               " IF SY-SUBRC EQ 0&lt;/P&gt;&lt;P&gt;ENDFORM.                               " FETCH_AVGPRICE&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  FETCH_SOCDE&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Fetch Supercession code for the selected materials&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;There are no interface parameters to be passed to this routine&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM FETCH_SOCDE .&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Structure for Material substitution&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  DATA:&lt;/P&gt;&lt;P&gt;    BEGIN OF LFS_KONDD,&lt;/P&gt;&lt;P&gt;     KNUMH TYPE KONDD-KNUMH,           " Condition Record&lt;/P&gt;&lt;P&gt;     MATNR TYPE KONDD-SMATN,           " Substitute Material&lt;/P&gt;&lt;P&gt;    END OF LFS_KONDD,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Structure for Conditions&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    BEGIN OF LFS_KOTD001,&lt;/P&gt;&lt;P&gt;     MATWA TYPE KOTD001-MATWA,         " Material Entered&lt;/P&gt;&lt;P&gt;     KNUMH TYPE KONDD-KNUMH,           " Condition Record&lt;/P&gt;&lt;P&gt;    END OF LFS_KOTD001,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Structure for Material&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    BEGIN OF LFS_SMATN,&lt;/P&gt;&lt;P&gt;     MATNR TYPE KONDD-SMATN,           " Substitute Material&lt;/P&gt;&lt;P&gt;     MATWA TYPE KOTD001-MATWA,         " Material Entered&lt;/P&gt;&lt;P&gt;    END OF LFS_SMATN,&lt;/P&gt;&lt;P&gt;    LT_KONDD   LIKE STANDARD TABLE OF LFS_KONDD,&lt;/P&gt;&lt;P&gt;    LT_KOTD001 LIKE STANDARD TABLE OF LFS_KOTD001,&lt;/P&gt;&lt;P&gt;    LT_SMATN   LIKE STANDARD TABLE OF LFS_SMATN,&lt;/P&gt;&lt;P&gt;    LV_CNT     TYPE I.                 " Counter&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Constants&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CONSTANTS:&lt;/P&gt;&lt;P&gt;    LC_KAPPL TYPE KOTD001-KAPPL        " Application&lt;/P&gt;&lt;P&gt;             VALUE 'V',&lt;/P&gt;&lt;P&gt;    LC_KSCHL TYPE KOTD001-KSCHL        " Material det type&lt;/P&gt;&lt;P&gt;             VALUE 'A001',&lt;/P&gt;&lt;P&gt;    LC_ONE   TYPE C VALUE '1'.         " One&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get substitute materials&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  SELECT KNUMH                         " Condition record&lt;/P&gt;&lt;P&gt;         SMATN                         " Material&lt;/P&gt;&lt;P&gt;    FROM KONDD&lt;/P&gt;&lt;P&gt;    INTO TABLE LT_KONDD&lt;/P&gt;&lt;P&gt;     FOR ALL ENTRIES IN T_TITEM&lt;/P&gt;&lt;P&gt;   WHERE SMATN EQ T_TITEM-MATNR.&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC EQ 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get Condition records&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    SORT LT_KONDD BY KNUMH.&lt;/P&gt;&lt;P&gt;    SELECT MATWA                       " Material Entered&lt;/P&gt;&lt;P&gt;           KNUMH                       " Condition record&lt;/P&gt;&lt;P&gt;      FROM KOTD001&lt;/P&gt;&lt;P&gt;      INTO TABLE LT_KOTD001&lt;/P&gt;&lt;P&gt;       FOR ALL ENTRIES IN LT_KONDD&lt;/P&gt;&lt;P&gt;     WHERE KAPPL EQ LC_KAPPL&lt;/P&gt;&lt;P&gt;       AND KSCHL EQ LC_KSCHL&lt;/P&gt;&lt;P&gt;       AND DATBI GE SY-DATUM&lt;/P&gt;&lt;P&gt;       AND DATAB LE SY-DATUM&lt;/P&gt;&lt;P&gt;       AND KNUMH EQ LT_KONDD-KNUMH.&lt;/P&gt;&lt;P&gt;    IF SY-SUBRC EQ 0.&lt;/P&gt;&lt;P&gt;      SORT LT_KOTD001 BY KNUMH.&lt;/P&gt;&lt;P&gt;      LOOP AT LT_KOTD001 INTO LFS_KOTD001.&lt;/P&gt;&lt;P&gt;        READ TABLE LT_KONDD INTO LFS_KONDD WITH KEY&lt;/P&gt;&lt;P&gt;                   KNUMH = LFS_KOTD001-KNUMH BINARY SEARCH.&lt;/P&gt;&lt;P&gt;        IF SY-SUBRC EQ 0.&lt;/P&gt;&lt;P&gt;          MOVE: LFS_KONDD-MATNR TO LFS_SMATN-MATNR,&lt;/P&gt;&lt;P&gt;                LFS_KOTD001-MATWA TO LFS_SMATN-MATWA.&lt;/P&gt;&lt;P&gt;          APPEND LFS_SMATN TO LT_SMATN.&lt;/P&gt;&lt;P&gt;          CLEAR:LFS_SMATN,LFS_KONDD.&lt;/P&gt;&lt;P&gt;        ENDIF.                         " IF SY-SUBRC EQ 0&lt;/P&gt;&lt;P&gt;      ENDLOOP.                         " LOOP AT LT_KTODD01&lt;/P&gt;&lt;P&gt;    ENDIF.                             " IF SY-SUBRC EQ 0&lt;/P&gt;&lt;P&gt;  ENDIF.                               " IF SY-SUBRC EQ 0&lt;/P&gt;&lt;P&gt;  SORT LT_SMATN BY MATNR MATWA.&lt;/P&gt;&lt;P&gt;  DELETE ADJACENT DUPLICATES FROM LT_SMATN&lt;/P&gt;&lt;P&gt;                     COMPARING MATNR MATWA.&lt;/P&gt;&lt;P&gt;  LOOP AT LT_SMATN INTO LFS_SMATN.&lt;/P&gt;&lt;P&gt;    LV_CNT = LV_CNT + 1.&lt;/P&gt;&lt;P&gt;    MOVE LFS_SMATN-MATWA TO FS_SCODE-MATWA.&lt;/P&gt;&lt;P&gt;    AT END OF MATNR.&lt;/P&gt;&lt;P&gt;      IF LV_CNT EQ LC_ONE.&lt;/P&gt;&lt;P&gt;        MOVE LFS_SMATN-MATNR TO FS_SCODE-MATNR.&lt;/P&gt;&lt;P&gt;        APPEND FS_SCODE TO T_SCODE.&lt;/P&gt;&lt;P&gt;        CLEAR: FS_SCODE,LV_CNT.&lt;/P&gt;&lt;P&gt;      ENDIF.                           " IF LC_CNT EQ 1&lt;/P&gt;&lt;P&gt;    ENDAT.                             " AT END OF MATNR&lt;/P&gt;&lt;P&gt;  ENDLOOP.                             " LOOP AT LT_SMATN&lt;/P&gt;&lt;P&gt;ENDFORM.                               " FETCH_SOCDE&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  FETCH_PODATA&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get the purchase order data for selected materials&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;There are no interface parameters to be passed to this routine&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM FETCH_PODATA .&lt;/P&gt;&lt;P&gt;  DATA:&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Info records for materials&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    BEGIN OF LFS_EINA,&lt;/P&gt;&lt;P&gt;      INFNR TYPE EINA-INFNR,           " Info record&lt;/P&gt;&lt;P&gt;      MATNR TYPE EINA-MATNR,           " Material&lt;/P&gt;&lt;P&gt;    END OF LFS_EINA,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Purchase orders for inforecords&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    BEGIN OF LFS_EINE,&lt;/P&gt;&lt;P&gt;      INFNR TYPE EINE-INFNR,           " Info record&lt;/P&gt;&lt;P&gt;      EBELN TYPE EINE-EBELN,           " Purchase order&lt;/P&gt;&lt;P&gt;      DATLB TYPE EINE-DATLB,           " Purchase Order date&lt;/P&gt;&lt;P&gt;    END OF LFS_EINE,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Purchase Order item details&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    BEGIN OF LFS_EKPO,&lt;/P&gt;&lt;P&gt;      EBELN TYPE EKPO-EBELN,           " PO Doc&lt;/P&gt;&lt;P&gt;      EBELP TYPE EKPO-EBELP,           " Item&lt;/P&gt;&lt;P&gt;      MATNR TYPE EKPO-MATNR,           " Material&lt;/P&gt;&lt;P&gt;      MENGE TYPE EKPO-MENGE,           " Quantity&lt;/P&gt;&lt;P&gt;      NETWR TYPE EKPO-NETWR,           " Cost&lt;/P&gt;&lt;P&gt;    END OF LFS_EKPO,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Purchase and material data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    BEGIN OF LFS_PODAT,&lt;/P&gt;&lt;P&gt;      MATNR TYPE EINA-MATNR,           " Material&lt;/P&gt;&lt;P&gt;      DATLB TYPE EINE-DATLB,           " Purchase Order date&lt;/P&gt;&lt;P&gt;      EBELN TYPE EINE-EBELN,           " Purchase order&lt;/P&gt;&lt;P&gt;    END OF LFS_PODAT,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;PGI data for Purchase orders&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    BEGIN OF LFS_EKBE,&lt;/P&gt;&lt;P&gt;      EBELN TYPE EKBE-EBELN,           " PO Doc&lt;/P&gt;&lt;P&gt;      EBELP TYPE EKBE-EBELP,           " Item&lt;/P&gt;&lt;P&gt;      ZEKKN TYPE EKBE-ZEKKN,           " Seq Num&lt;/P&gt;&lt;P&gt;      VGABE TYPE EKBE-VGABE,           " Transaction/event type&lt;/P&gt;&lt;P&gt;      GJAHR TYPE EKBE-GJAHR,           " Mat Doc Year&lt;/P&gt;&lt;P&gt;      BELNR TYPE EKBE-BELNR,           " Num of Mat Doc&lt;/P&gt;&lt;P&gt;      BUZEI TYPE EKBE-BUZEI,           " Item of Mat Doc&lt;/P&gt;&lt;P&gt;      MENGE TYPE EKBE-MENGE,           " Quantity&lt;/P&gt;&lt;P&gt;    END OF LFS_EKBE,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Purchase Order item details&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    BEGIN OF LFS_FEKPO,&lt;/P&gt;&lt;P&gt;      EBELN TYPE EKPO-EBELN,           " PO Doc&lt;/P&gt;&lt;P&gt;      MATNR TYPE EKPO-MATNR,           " Material&lt;/P&gt;&lt;P&gt;      MENGE TYPE EKPO-MENGE,           " Quantity&lt;/P&gt;&lt;P&gt;      NETWR TYPE EKPO-NETWR,           " Cost&lt;/P&gt;&lt;P&gt;    END OF LFS_FEKPO,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Purchase Order item details&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    BEGIN OF LFS_FEKBE,&lt;/P&gt;&lt;P&gt;      EBELN TYPE EKBE-EBELN,           " PO Doc&lt;/P&gt;&lt;P&gt;      MATNR TYPE EKPO-MATNR,           " Material&lt;/P&gt;&lt;P&gt;      MENGE TYPE EKBE-MENGE,           " Quantity&lt;/P&gt;&lt;P&gt;    END OF LFS_FEKBE,&lt;/P&gt;&lt;P&gt;    LT_EINA   LIKE STANDARD TABLE OF LFS_EINA,&lt;/P&gt;&lt;P&gt;    LT_EINE   LIKE STANDARD TABLE OF LFS_EINE,&lt;/P&gt;&lt;P&gt;    LT_EKPO   LIKE STANDARD TABLE OF LFS_EKPO,&lt;/P&gt;&lt;P&gt;    LT_PODAT  LIKE STANDARD TABLE OF LFS_PODAT,&lt;/P&gt;&lt;P&gt;    LT_EKBE   LIKE STANDARD TABLE OF LFS_EKBE,&lt;/P&gt;&lt;P&gt;    LT_FEKBE  LIKE STANDARD TABLE OF LFS_FEKBE,&lt;/P&gt;&lt;P&gt;    LT_FEKPO  LIKE STANDARD TABLE OF LFS_FEKPO.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Constants:&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CONSTANTS:&lt;/P&gt;&lt;P&gt;    LC_BWART TYPE EKBE-BWART           " Movement Type&lt;/P&gt;&lt;P&gt;             VALUE '101',&lt;/P&gt;&lt;P&gt;    LC_LOEKZ TYPE EKPO-LOEKZ           " Deletion Flag&lt;/P&gt;&lt;P&gt;             VALUE 'L'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get Info records for the selected materials&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  SELECT INFNR                         " Info record&lt;/P&gt;&lt;P&gt;         MATNR                         " Material&lt;/P&gt;&lt;P&gt;    FROM EINA&lt;/P&gt;&lt;P&gt;    INTO TABLE LT_EINA&lt;/P&gt;&lt;P&gt;     FOR ALL ENTRIES IN T_TITEM&lt;/P&gt;&lt;P&gt;   WHERE MATNR EQ T_TITEM-MATNR.&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC EQ 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get Last purchase orders for the selected info records&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    SORT LT_EINA BY INFNR.&lt;/P&gt;&lt;P&gt;    SELECT INFNR                       " Info record&lt;/P&gt;&lt;P&gt;           EBELN                       " Purchase order&lt;/P&gt;&lt;P&gt;           DATLB                       " Purchase Order date&lt;/P&gt;&lt;P&gt;      FROM EINE&lt;/P&gt;&lt;P&gt;      INTO TABLE LT_EINE&lt;/P&gt;&lt;P&gt;       FOR ALL ENTRIES IN LT_EINA&lt;/P&gt;&lt;P&gt;     WHERE INFNR EQ LT_EINA-INFNR&lt;/P&gt;&lt;P&gt;       AND EBELN NE SPACE.&lt;/P&gt;&lt;P&gt;    IF SY-SUBRC EQ 0.&lt;/P&gt;&lt;P&gt;      LOOP AT LT_EINA INTO LFS_EINA.&lt;/P&gt;&lt;P&gt;        READ TABLE LT_EINE INTO LFS_EINE WITH KEY&lt;/P&gt;&lt;P&gt;                     INFNR = LFS_EINA-INFNR BINARY SEARCH.&lt;/P&gt;&lt;P&gt;        IF SY-SUBRC EQ 0.&lt;/P&gt;&lt;P&gt;          MOVE: LFS_EINA-MATNR TO LFS_PODAT-MATNR,&lt;/P&gt;&lt;P&gt;                LFS_EINE-EBELN TO LFS_PODAT-EBELN,&lt;/P&gt;&lt;P&gt;                LFS_EINE-DATLB TO LFS_PODAT-DATLB.&lt;/P&gt;&lt;P&gt;          APPEND LFS_PODAT TO LT_PODAT.&lt;/P&gt;&lt;P&gt;          CLEAR: LFS_PODAT,LFS_EINE.&lt;/P&gt;&lt;P&gt;        ENDIF.                         " IF SY-SUBRC EQ 0&lt;/P&gt;&lt;P&gt;      ENDLOOP.                         " LOOP AT LT_EINA&lt;/P&gt;&lt;P&gt;      SORT LT_PODAT BY MATNR ASCENDING DATLB DESCENDING.&lt;/P&gt;&lt;P&gt;      DELETE ADJACENT DUPLICATES FROM LT_PODAT&lt;/P&gt;&lt;P&gt;                      COMPARING MATNR.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get Purchase order details&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      SELECT EBELN                     " PO Doc&lt;/P&gt;&lt;P&gt;             EBELP                     " Item&lt;/P&gt;&lt;P&gt;             MATNR                     " Material&lt;/P&gt;&lt;P&gt;             MENGE                     " Quantity&lt;/P&gt;&lt;P&gt;             NETWR                     " Cost&lt;/P&gt;&lt;P&gt;        FROM EKPO&lt;/P&gt;&lt;P&gt;        INTO TABLE LT_EKPO&lt;/P&gt;&lt;P&gt;         FOR ALL ENTRIES IN LT_PODAT&lt;/P&gt;&lt;P&gt;       WHERE EBELN EQ LT_PODAT-EBELN&lt;/P&gt;&lt;P&gt;         AND LOEKZ NE LC_LOEKZ&lt;/P&gt;&lt;P&gt;         AND MATNR EQ LT_PODAT-MATNR.&lt;/P&gt;&lt;P&gt;      IF SY-SUBRC EQ 0.&lt;/P&gt;&lt;P&gt;        SORT: LT_EKPO BY EBELN EBELP.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get PGI Qty of PO&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        SELECT EBELN                   " PO doc&lt;/P&gt;&lt;P&gt;               EBELP                   " Item&lt;/P&gt;&lt;P&gt;               ZEKKN                   " Seq Num&lt;/P&gt;&lt;P&gt;               VGABE                   " Transaction/event type&lt;/P&gt;&lt;P&gt;               GJAHR                   " Mat Doc Year&lt;/P&gt;&lt;P&gt;               BELNR                   " Num of Mat Doc&lt;/P&gt;&lt;P&gt;               BUZEI                   " Item of Mat Doc&lt;/P&gt;&lt;P&gt;               MENGE                   " Quantity&lt;/P&gt;&lt;P&gt;          FROM EKBE&lt;/P&gt;&lt;P&gt;          INTO TABLE LT_EKBE&lt;/P&gt;&lt;P&gt;           FOR ALL ENTRIES IN LT_EKPO&lt;/P&gt;&lt;P&gt;         WHERE EBELN EQ LT_EKPO-EBELN&lt;/P&gt;&lt;P&gt;           AND EBELP EQ LT_EKPO-EBELP&lt;/P&gt;&lt;P&gt;           AND BWART EQ LC_BWART.&lt;/P&gt;&lt;P&gt;        IF SY-SUBRC EQ 0.&lt;/P&gt;&lt;P&gt;          SORT LT_EKBE BY EBELN EBELP.&lt;/P&gt;&lt;P&gt;          LOOP AT LT_EKBE INTO LFS_EKBE.&lt;/P&gt;&lt;P&gt;            READ TABLE LT_EKPO INTO LFS_EKPO WITH KEY&lt;/P&gt;&lt;P&gt;                         EBELN = LFS_EKBE-EBELN&lt;/P&gt;&lt;P&gt;                         EBELP = LFS_EKBE-EBELP&lt;/P&gt;&lt;P&gt;                         BINARY SEARCH.&lt;/P&gt;&lt;P&gt;            IF SY-SUBRC EQ 0.&lt;/P&gt;&lt;P&gt;              MOVE: LFS_EKBE-EBELN TO LFS_FEKBE-EBELN,&lt;/P&gt;&lt;P&gt;                    LFS_EKPO-MATNR TO LFS_FEKBE-MATNR,&lt;/P&gt;&lt;P&gt;                    LFS_EKBE-MENGE TO LFS_FEKBE-MENGE .&lt;/P&gt;&lt;P&gt;              COLLECT LFS_FEKBE INTO LT_FEKBE.&lt;/P&gt;&lt;P&gt;              CLEAR LFS_FEKBE.&lt;/P&gt;&lt;P&gt;            ENDIF.                     " IF SY-SUBRC EQ 0&lt;/P&gt;&lt;P&gt;          ENDLOOP.                     " LOOP AT LT_EKBE&lt;/P&gt;&lt;P&gt;        ENDIF.                         " IF SY-SUBRC EQ 0&lt;/P&gt;&lt;P&gt;      ENDIF.                           " IF SY-SUBRC EQ 0&lt;/P&gt;&lt;P&gt;    ENDIF.                             " IF SY-SUBRC EQ 0&lt;/P&gt;&lt;P&gt;  ENDIF.                               " IF SY-SUBRC EQ 0&lt;/P&gt;&lt;P&gt;  LOOP AT LT_EKPO INTO LFS_EKPO.&lt;/P&gt;&lt;P&gt;    MOVE: LFS_EKPO-EBELN TO LFS_FEKPO-EBELN,&lt;/P&gt;&lt;P&gt;          LFS_EKPO-MATNR TO LFS_FEKPO-MATNR,&lt;/P&gt;&lt;P&gt;          LFS_EKPO-MENGE TO LFS_FEKPO-MENGE,&lt;/P&gt;&lt;P&gt;          LFS_EKPO-NETWR TO LFS_FEKPO-NETWR.&lt;/P&gt;&lt;P&gt;    COLLECT LFS_FEKPO INTO LT_FEKPO.&lt;/P&gt;&lt;P&gt;    CLEAR LFS_FEKPO.&lt;/P&gt;&lt;P&gt;  ENDLOOP.                             " LOOP AT LT_EKPO&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Final PO data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  SORT: LT_FEKPO BY MATNR,&lt;/P&gt;&lt;P&gt;        LT_FEKBE BY MATNR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT LT_PODAT INTO LFS_PODAT.&lt;/P&gt;&lt;P&gt;    MOVE: LFS_PODAT-MATNR TO FS_PODAT-MATNR,&lt;/P&gt;&lt;P&gt;          LFS_PODAT-DATLB TO FS_PODAT-DATLB.&lt;/P&gt;&lt;P&gt;    READ TABLE LT_FEKPO INTO LFS_FEKPO WITH KEY&lt;/P&gt;&lt;P&gt;               MATNR = LFS_PODAT-MATNR BINARY SEARCH.&lt;/P&gt;&lt;P&gt;    IF SY-SUBRC EQ 0.&lt;/P&gt;&lt;P&gt;      READ TABLE LT_FEKBE INTO LFS_FEKBE WITH KEY&lt;/P&gt;&lt;P&gt;                 MATNR = LFS_PODAT-MATNR BINARY SEARCH.&lt;/P&gt;&lt;P&gt;      IF SY-SUBRC EQ 0.&lt;/P&gt;&lt;P&gt;        MOVE LFS_FEKBE-MENGE TO FS_PODAT-POOUT.&lt;/P&gt;&lt;P&gt;        CLEAR LFS_FEKBE.&lt;/P&gt;&lt;P&gt;      ENDIF.                           " IF SY-SYBRC EQ 0&lt;/P&gt;&lt;P&gt;      MOVE: LFS_FEKPO-MENGE TO FS_PODAT-POQTY,&lt;/P&gt;&lt;P&gt;            LFS_FEKPO-NETWR TO FS_PODAT-POCOST.&lt;/P&gt;&lt;P&gt;      FS_PODAT-POOUT = FS_PODAT-POQTY - FS_PODAT-POOUT.&lt;/P&gt;&lt;P&gt;      APPEND FS_PODAT TO T_PODAT.&lt;/P&gt;&lt;P&gt;      CLEAR: LFS_FEKPO,FS_PODAT.&lt;/P&gt;&lt;P&gt;    ENDIF.                             " IF SY-SYBRC EQ 0&lt;/P&gt;&lt;P&gt;  ENDLOOP.                             " LOOP AT LT_PODAT&lt;/P&gt;&lt;P&gt;ENDFORM.                               " FETCH_PODATA&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  FETCH_VENDOR&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get the Current Vendor,Purchase info record and conditional&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;value(Rate)&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;There are no interface parameters to be passed to this routine&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM FETCH_VENDOR .&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Purchasing Source List&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  DATA:&lt;/P&gt;&lt;P&gt;    BEGIN OF LFS_EORD,&lt;/P&gt;&lt;P&gt;      MATNR TYPE MARA-MATNR,           " Material&lt;/P&gt;&lt;P&gt;      LIFNR TYPE EORD-LIFNR,           " Vendor&lt;/P&gt;&lt;P&gt;    END OF LFS_EORD,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Material Info Record (Plant-Specific)&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    BEGIN OF LFS_A017,&lt;/P&gt;&lt;P&gt;      LIFNR TYPE EORD-LIFNR,           " Vendor&lt;/P&gt;&lt;P&gt;      MATNR TYPE MARA-MATNR,           " Material&lt;/P&gt;&lt;P&gt;      DATAB TYPE A017-DATAB,           " Validity Start date&lt;/P&gt;&lt;P&gt;      KNUMH TYPE A017-KNUMH,           " Condition Record&lt;/P&gt;&lt;P&gt;    END OF LFS_A017,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Materials&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    BEGIN OF LFS_MATNR,&lt;/P&gt;&lt;P&gt;      MATNR TYPE MARA-MATNR,           " Material&lt;/P&gt;&lt;P&gt;    END OF LFS_MATNR,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Info Records&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    BEGIN OF LFS_KONP,&lt;/P&gt;&lt;P&gt;      KNUMH TYPE KONP-KNUMH,           " Condition record&lt;/P&gt;&lt;P&gt;      KBETR TYPE KONP-KBETR,           " Price&lt;/P&gt;&lt;P&gt;      KONWA TYPE KONP-KONWA,           " Currency&lt;/P&gt;&lt;P&gt;    END OF LFS_KONP,&lt;/P&gt;&lt;P&gt;    LT_EORD  LIKE STANDARD TABLE OF LFS_EORD,&lt;/P&gt;&lt;P&gt;    LT_A017  LIKE STANDARD TABLE OF LFS_A017,&lt;/P&gt;&lt;P&gt;    LT_MATNR LIKE STANDARD TABLE OF LFS_MATNR,&lt;/P&gt;&lt;P&gt;    LT_KONP  LIKE STANDARD TABLE OF LFS_KONP.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Constants&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CONSTANTS:&lt;/P&gt;&lt;P&gt;    LC_KAPPL TYPE A017-KAPPL           " Application&lt;/P&gt;&lt;P&gt;             VALUE 'M',&lt;/P&gt;&lt;P&gt;    LC_KSCHL TYPE A017-KSCHL           " Condition Type&lt;/P&gt;&lt;P&gt;             VALUE 'PB00',&lt;/P&gt;&lt;P&gt;    LC_EKORG TYPE A017-EKORG           " Sales Org&lt;/P&gt;&lt;P&gt;             VALUE '1000'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get Purchase Info records&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  SELECT MATNR                         " Material Number&lt;/P&gt;&lt;P&gt;         LIFNR                         " Vendor Number&lt;/P&gt;&lt;P&gt;    FROM EORD&lt;/P&gt;&lt;P&gt;    INTO TABLE LT_EORD&lt;/P&gt;&lt;P&gt;     FOR ALL ENTRIES IN T_TITEM&lt;/P&gt;&lt;P&gt;   WHERE MATNR EQ T_TITEM-MATNR&lt;/P&gt;&lt;P&gt;     AND WERKS EQ C_WERKS&lt;/P&gt;&lt;P&gt;     AND FLIFN EQ C_NOSYS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC EQ 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Fetch the info records for the material&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    SELECT LIFNR                       " Vendor&lt;/P&gt;&lt;P&gt;           MATNR                       " Material&lt;/P&gt;&lt;P&gt;           DATAB                       " Validity Start date&lt;/P&gt;&lt;P&gt;           KNUMH                       " Condition Record&lt;/P&gt;&lt;P&gt;      FROM A017&lt;/P&gt;&lt;P&gt;      INTO TABLE LT_A017&lt;/P&gt;&lt;P&gt;       FOR ALL ENTRIES IN LT_EORD&lt;/P&gt;&lt;P&gt;     WHERE KAPPL EQ LC_KAPPL&lt;/P&gt;&lt;P&gt;       AND KSCHL EQ LC_KSCHL&lt;/P&gt;&lt;P&gt;       AND LIFNR EQ LT_EORD-LIFNR&lt;/P&gt;&lt;P&gt;       AND MATNR EQ LT_EORD-MATNR&lt;/P&gt;&lt;P&gt;       AND EKORG EQ LC_EKORG&lt;/P&gt;&lt;P&gt;       AND WERKS EQ C_WERKS&lt;/P&gt;&lt;P&gt;       AND DATBI GE SY-DATUM&lt;/P&gt;&lt;P&gt;       AND DATAB LE SY-DATUM.&lt;/P&gt;&lt;P&gt;  ENDIF.                               " IF SY-SUBRC EQ 0&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SORT LT_A017 BY MATNR.&lt;/P&gt;&lt;P&gt;  LOOP AT T_TITEM INTO FS_ITEM.&lt;/P&gt;&lt;P&gt;    READ TABLE LT_A017 INTO LFS_A017 WITH KEY&lt;/P&gt;&lt;P&gt;               MATNR = FS_ITEM-MATNR BINARY SEARCH.&lt;/P&gt;&lt;P&gt;    IF SY-SUBRC NE 0.&lt;/P&gt;&lt;P&gt;      MOVE FS_ITEM-MATNR TO LFS_MATNR-MATNR.&lt;/P&gt;&lt;P&gt;      APPEND LFS_MATNR TO LT_MATNR.&lt;/P&gt;&lt;P&gt;      CLEAR: LFS_MATNR,LFS_A017.&lt;/P&gt;&lt;P&gt;    ENDIF.                             " IF SY-SUBRC NE 0&lt;/P&gt;&lt;P&gt;  ENDLOOP.                             " LOOP AT T_TITEM&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Fetch the info records for the material&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  IF LT_MATNR[] IS NOT INITIAL.&lt;/P&gt;&lt;P&gt;    SORT LT_MATNR BY MATNR.&lt;/P&gt;&lt;P&gt;    SELECT LIFNR                       " Vendor&lt;/P&gt;&lt;P&gt;           MATNR                       " Material&lt;/P&gt;&lt;P&gt;           DATAB                       " Validate Start Date&lt;/P&gt;&lt;P&gt;           KNUMH                       " Condition Record&lt;/P&gt;&lt;P&gt;      FROM A017&lt;/P&gt;&lt;P&gt; APPENDING TABLE LT_A017&lt;/P&gt;&lt;P&gt;       FOR ALL ENTRIES IN LT_MATNR&lt;/P&gt;&lt;P&gt;     WHERE KAPPL EQ LC_KAPPL&lt;/P&gt;&lt;P&gt;       AND KSCHL EQ LC_KSCHL&lt;/P&gt;&lt;P&gt;       AND MATNR EQ LT_MATNR-MATNR&lt;/P&gt;&lt;P&gt;       AND EKORG EQ LC_EKORG&lt;/P&gt;&lt;P&gt;       AND WERKS EQ C_WERKS&lt;/P&gt;&lt;P&gt;       AND DATBI GE SY-DATUM&lt;/P&gt;&lt;P&gt;       AND DATAB LE SY-DATUM.&lt;/P&gt;&lt;P&gt;  ENDIF.                               " IF LT_MATNR[] IS ..&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get Cost from Info record&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  IF LT_A017[] IS NOT INITIAL.&lt;/P&gt;&lt;P&gt;    SORT LT_A017 BY LIFNR MATNR ASCENDING&lt;/P&gt;&lt;P&gt;                    DATAB DESCENDING.&lt;/P&gt;&lt;P&gt;    DELETE ADJACENT DUPLICATES FROM LT_A017&lt;/P&gt;&lt;P&gt;           COMPARING LIFNR MATNR DATAB.&lt;/P&gt;&lt;P&gt;    SORT LT_A017 BY KNUMH.&lt;/P&gt;&lt;P&gt;    SELECT  KNUMH                      " Condition record&lt;/P&gt;&lt;P&gt;            KBETR                      " Price&lt;/P&gt;&lt;P&gt;            KONWA                      " Currency&lt;/P&gt;&lt;P&gt;       FROM KONP&lt;/P&gt;&lt;P&gt;       INTO TABLE LT_KONP&lt;/P&gt;&lt;P&gt;        FOR ALL ENTRIES IN LT_A017&lt;/P&gt;&lt;P&gt;      WHERE KNUMH    EQ LT_A017-KNUMH&lt;/P&gt;&lt;P&gt;        AND KAPPL    EQ LC_KAPPL&lt;/P&gt;&lt;P&gt;        AND LOEVM_KO NE C_NOSYS.&lt;/P&gt;&lt;P&gt;    IF SY-SUBRC EQ 0.&lt;/P&gt;&lt;P&gt;      SORT: LT_A017 BY MATNR,&lt;/P&gt;&lt;P&gt;            LT_KONP BY KNUMH.&lt;/P&gt;&lt;P&gt;      LOOP AT LT_A017 INTO LFS_A017.&lt;/P&gt;&lt;P&gt;        READ TABLE LT_KONP INTO LFS_KONP WITH KEY&lt;/P&gt;&lt;P&gt;                KNUMH = LFS_A017-KNUMH BINARY SEARCH.&lt;/P&gt;&lt;P&gt;        IF SY-SUBRC EQ 0.&lt;/P&gt;&lt;P&gt;          MOVE:LFS_A017-MATNR TO FS_KONP-MATNR,&lt;/P&gt;&lt;P&gt;               LFS_A017-LIFNR TO FS_KONP-LIFNR,&lt;/P&gt;&lt;P&gt;               LFS_KONP-KBETR TO FS_KONP-KBETR,&lt;/P&gt;&lt;P&gt;               LFS_KONP-KONWA TO FS_KONP-KONWA.&lt;/P&gt;&lt;P&gt;          APPEND FS_KONP TO T_KONP.&lt;/P&gt;&lt;P&gt;          CLEAR:FS_KONP,LFS_A017.&lt;/P&gt;&lt;P&gt;        ENDIF.                         " IF SY-SUBRC EQ 0&lt;/P&gt;&lt;P&gt;      ENDLOOP.                         " LOOP AT LT_A017&lt;/P&gt;&lt;P&gt;    ENDIF.                             " IF SY-SUBRC EQ 0&lt;/P&gt;&lt;P&gt;  ENDIF.                               " IF SY-SUBRC EQ 0&lt;/P&gt;&lt;P&gt;ENDFORM.                               " FETCH_VENDOR&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  FETCH_STOCK&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get Minimum and Maximum stock values for the selected Materials&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;There are no interface parameters to be passed to this routine&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM FETCH_STOCK .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Material Stock data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  DATA:&lt;/P&gt;&lt;P&gt;    BEGIN OF LFS_MARD,&lt;/P&gt;&lt;P&gt;      MATNR TYPE MARD-MATNR,           " Material&lt;/P&gt;&lt;P&gt;      LFGJA TYPE MARD-LFGJA,           " Year&lt;/P&gt;&lt;P&gt;      LFMON TYPE MARD-LFMON,           " Period&lt;/P&gt;&lt;P&gt;      LABST TYPE MARD-LABST,           " Unrestricted Stock&lt;/P&gt;&lt;P&gt;    END OF LFS_MARD,&lt;/P&gt;&lt;P&gt;    LT_MARD  LIKE STANDARD TABLE OF LFS_MARD,&lt;/P&gt;&lt;P&gt;    LT_MARD1 LIKE STANDARD TABLE OF LFS_MARD.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Local Variables&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  DATA:&lt;/P&gt;&lt;P&gt;    LV_FLAG TYPE C.                    " Flag&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get Material Data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  SELECT MATNR                         " Material&lt;/P&gt;&lt;P&gt;         LFGJA                         " Year&lt;/P&gt;&lt;P&gt;         LFMON                         " Period&lt;/P&gt;&lt;P&gt;         LABST                         " Unrestricted Stock&lt;/P&gt;&lt;P&gt;    FROM MARD&lt;/P&gt;&lt;P&gt;    INTO TABLE LT_MARD&lt;/P&gt;&lt;P&gt;     FOR ALL ENTRIES IN T_TITEM&lt;/P&gt;&lt;P&gt;   WHERE MATNR EQ T_TITEM-MATNR&lt;/P&gt;&lt;P&gt;     AND WERKS EQ C_WERKS&lt;/P&gt;&lt;P&gt;     AND LFGJA BETWEEN W_DATE(4)   AND SY-DATUM(4)&lt;/P&gt;&lt;P&gt;     AND LFMON BETWEEN W_DATE&lt;EM&gt;4(2) AND SY-DATUM&lt;/EM&gt;4(2).&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC EQ 0.&lt;/P&gt;&lt;P&gt;    LOOP AT LT_MARD INTO LFS_MARD.&lt;/P&gt;&lt;P&gt;      COLLECT LFS_MARD INTO LT_MARD1.&lt;/P&gt;&lt;P&gt;      CLEAR LFS_MARD.&lt;/P&gt;&lt;P&gt;    ENDLOOP.                           " LOOP AT LT_MARD&lt;/P&gt;&lt;P&gt;    REFRESH LT_MARD.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Perious Stock data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    SELECT MATNR                       " Material&lt;/P&gt;&lt;P&gt;           LFGJA                       " Year&lt;/P&gt;&lt;P&gt;           LFMON                       " Period&lt;/P&gt;&lt;P&gt;           LABST                       " Unrestricted Stock&lt;/P&gt;&lt;P&gt;      FROM MARDH&lt;/P&gt;&lt;P&gt;      INTO TABLE LT_MARD&lt;/P&gt;&lt;P&gt;       FOR ALL ENTRIES IN T_TITEM&lt;/P&gt;&lt;P&gt;     WHERE MATNR EQ T_TITEM-MATNR&lt;/P&gt;&lt;P&gt;       AND WERKS EQ C_WERKS&lt;/P&gt;&lt;P&gt;       AND LFGJA BETWEEN W_DATE(4)   AND SY-DATUM(4)&lt;/P&gt;&lt;P&gt;       AND LFMON BETWEEN W_DATE&lt;EM&gt;4(2) AND SY-DATUM&lt;/EM&gt;4(2).&lt;/P&gt;&lt;P&gt;    IF SY-SUBRC EQ 0.&lt;/P&gt;&lt;P&gt;      LOOP AT LT_MARD INTO LFS_MARD.&lt;/P&gt;&lt;P&gt;        COLLECT LFS_MARD INTO LT_MARD1.&lt;/P&gt;&lt;P&gt;        CLEAR LFS_MARD.&lt;/P&gt;&lt;P&gt;      ENDLOOP.                         " LOOP AT LT_MARD&lt;/P&gt;&lt;P&gt;    ENDIF.                             " IF SY-SUBRC EQ 0&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Min and Max values of the material&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    SORT LT_MARD1 BY MATNR LABST.&lt;/P&gt;&lt;P&gt;    LOOP AT LT_MARD1 INTO LFS_MARD.&lt;/P&gt;&lt;P&gt;      AT NEW MATNR.&lt;/P&gt;&lt;P&gt;        LV_FLAG = C_NOSYS.&lt;/P&gt;&lt;P&gt;      ENDAT.                           " AT NEW MATNR&lt;/P&gt;&lt;P&gt;      IF LV_FLAG EQ C_NOSYS.&lt;/P&gt;&lt;P&gt;        MOVE LFS_MARD-LABST TO FS_MARD-MINQTY.&lt;/P&gt;&lt;P&gt;        CLEAR LV_FLAG.&lt;/P&gt;&lt;P&gt;      ENDIF.                           " IF LV_FLAG..&lt;/P&gt;&lt;P&gt;      MOVE LFS_MARD-LABST TO FS_MARD-MAXQTY.&lt;/P&gt;&lt;P&gt;      AT END OF MATNR.&lt;/P&gt;&lt;P&gt;        MOVE LFS_MARD-MATNR TO FS_MARD-MATNR.&lt;/P&gt;&lt;P&gt;        APPEND FS_MARD TO T_MARD.&lt;/P&gt;&lt;P&gt;        CLEAR: FS_MARD.&lt;/P&gt;&lt;P&gt;      ENDAT.                           " AT END OF MATNR&lt;/P&gt;&lt;P&gt;    ENDLOOP.                           " LOOP AT LT_MARD1&lt;/P&gt;&lt;P&gt;  ENDIF.                               " IF SY-SUBRC EQ 0&lt;/P&gt;&lt;P&gt;ENDFORM.                               " FETCH_STOCK&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  GOBACK_MONTH&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get the last sixth month date&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     &amp;lt;--P_W_DATE  Date&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM GOBACK_MONTH  CHANGING P_W_DATE TYPE SY-DATUM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'CCM_GO_BACK_MONTHS'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      CURRDATE   = SY-DATUM&lt;/P&gt;&lt;P&gt;      BACKMONTHS = 5&lt;/P&gt;&lt;P&gt;    IMPORTING&lt;/P&gt;&lt;P&gt;      NEWDATE    = P_W_DATE.&lt;/P&gt;&lt;P&gt;ENDFORM.                               " GOBACK_MONTH&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  FETCH_USEDSTOCK&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Segregate the used stock monthly&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;There are no interface parameters to be passed to this routine&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM FETCH_USEDSTOCK .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Variables&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  DATA:&lt;/P&gt;&lt;P&gt;    LV_MON2(6) TYPE C,                 " Second month&lt;/P&gt;&lt;P&gt;    LV_MON3(6) TYPE C,                 " Third  month&lt;/P&gt;&lt;P&gt;    LV_MON4(6) TYPE C,                 " Fourth month&lt;/P&gt;&lt;P&gt;    LV_MON5(6) TYPE C,                 " Fifth  month&lt;/P&gt;&lt;P&gt;    LV_MON6(6) TYPE C.                 " Sixth  month&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Internal tables&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  DATA:&lt;/P&gt;&lt;P&gt;    BEGIN OF LFS_MITEM,&lt;/P&gt;&lt;P&gt;      MATNR    TYPE VBRP-MATNR,        " Material&lt;/P&gt;&lt;P&gt;      MATKL    TYPE VBRP-MATKL,        " Material Group&lt;/P&gt;&lt;P&gt;      MONTH(6) TYPE C,                 " Month&lt;/P&gt;&lt;P&gt;      FKIMG    TYPE VBRP-FKIMG,        " Usage&lt;/P&gt;&lt;P&gt;      WAVWR    TYPE VBRP-WAVWR,        " Cost&lt;/P&gt;&lt;P&gt;      NETWR    TYPE VBRP-NETWR,        " Sell Value&lt;/P&gt;&lt;P&gt;    END OF LFS_MITEM,&lt;/P&gt;&lt;P&gt;    LT_MITEM LIKE STANDARD TABLE OF LFS_MITEM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get Monthly stock usage&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  SORT T_ITEM BY MATNR MATKL FKDAT.&lt;/P&gt;&lt;P&gt;  LOOP AT T_ITEM INTO FS_ITEM.&lt;/P&gt;&lt;P&gt;    LFS_MITEM-FKIMG = LFS_MITEM-FKIMG + FS_ITEM-FKIMG.&lt;/P&gt;&lt;P&gt;    LFS_MITEM-WAVWR = LFS_MITEM-WAVWR + FS_ITEM-WAVWR.&lt;/P&gt;&lt;P&gt;    LFS_MITEM-NETWR = LFS_MITEM-NETWR + FS_ITEM-NETWR.&lt;/P&gt;&lt;P&gt;    AT END OF FKDAT(6).&lt;/P&gt;&lt;P&gt;      MOVE: FS_ITEM-MATNR    TO LFS_MITEM-MATNR,&lt;/P&gt;&lt;P&gt;            FS_ITEM-MATKL    TO LFS_MITEM-MATKL,&lt;/P&gt;&lt;P&gt;            FS_ITEM-FKDAT(6) TO LFS_MITEM-MONTH.&lt;/P&gt;&lt;P&gt;      APPEND LFS_MITEM TO LT_MITEM.&lt;/P&gt;&lt;P&gt;      CLEAR LFS_MITEM.&lt;/P&gt;&lt;P&gt;    ENDAT.                             " AT END OF FKDAT.&lt;/P&gt;&lt;P&gt;  ENDLOOP.                             " LOOP AT T_ITEM&lt;/P&gt;&lt;P&gt;  SORT LT_MITEM BY MATNR MATKL MONTH.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get last six months stock&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM CLC_MONTH USING W_DATE&lt;/P&gt;&lt;P&gt;                 CHANGING LV_MON2&lt;/P&gt;&lt;P&gt;                          LV_MON3&lt;/P&gt;&lt;P&gt;                          LV_MON4&lt;/P&gt;&lt;P&gt;                          LV_MON5&lt;/P&gt;&lt;P&gt;                          LV_MON6.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Prepare Monthly data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  LOOP AT LT_MITEM INTO LFS_MITEM.&lt;/P&gt;&lt;P&gt;    IF LFS_MITEM-MONTH EQ W_DATE(6).&lt;/P&gt;&lt;P&gt;      FS_FUSTOCK-MON1   = FS_FUSTOCK-MON1 + LFS_MITEM-FKIMG.&lt;/P&gt;&lt;P&gt;      FS_FUSTOCK-SFKIMG = FS_FUSTOCK-SFKIMG + LFS_MITEM-FKIMG.&lt;/P&gt;&lt;P&gt;      FS_FUSTOCK-YFKIMG = FS_FUSTOCK-YFKIMG + LFS_MITEM-FKIMG.&lt;/P&gt;&lt;P&gt;      FS_FUSTOCK-SNETWR = FS_FUSTOCK-SNETWR + LFS_MITEM-NETWR.&lt;/P&gt;&lt;P&gt;      FS_FUSTOCK-YNETWR = FS_FUSTOCK-YNETWR + LFS_MITEM-NETWR.&lt;/P&gt;&lt;P&gt;      FS_FUSTOCK-SWAVWR = FS_FUSTOCK-SWAVWR + LFS_MITEM-WAVWR.&lt;/P&gt;&lt;P&gt;      FS_FUSTOCK-YWAVWR = FS_FUSTOCK-YWAVWR + LFS_MITEM-WAVWR.&lt;/P&gt;&lt;P&gt;    ELSEIF LFS_MITEM-MONTH EQ LV_MON2.&lt;/P&gt;&lt;P&gt;      FS_FUSTOCK-MON2   = FS_FUSTOCK-MON2 + LFS_MITEM-FKIMG.&lt;/P&gt;&lt;P&gt;      FS_FUSTOCK-SFKIMG = FS_FUSTOCK-SFKIMG + LFS_MITEM-FKIMG.&lt;/P&gt;&lt;P&gt;      FS_FUSTOCK-YFKIMG = FS_FUSTOCK-YFKIMG + LFS_MITEM-FKIMG.&lt;/P&gt;&lt;P&gt;      FS_FUSTOCK-SNETWR = FS_FUSTOCK-SNETWR + LFS_MITEM-NETWR.&lt;/P&gt;&lt;P&gt;      FS_FUSTOCK-YNETWR = FS_FUSTOCK-YNETWR + LFS_MITEM-NETWR.&lt;/P&gt;&lt;P&gt;      FS_FUSTOCK-SWAVWR = FS_FUSTOCK-SWAVWR + LFS_MITEM-WAVWR.&lt;/P&gt;&lt;P&gt;      FS_FUSTOCK-YWAVWR = FS_FUSTOCK-YWAVWR + LFS_MITEM-WAVWR.&lt;/P&gt;&lt;P&gt;    ELSEIF LFS_MITEM-MONTH EQ LV_MON3.&lt;/P&gt;&lt;P&gt;      FS_FUSTOCK-MON3   = FS_FUSTOCK-MON3 + LFS_MITEM-FKIMG.&lt;/P&gt;&lt;P&gt;      FS_FUSTOCK-SFKIMG = FS_FUSTOCK-SFKIMG + LFS_MITEM-FKIMG.&lt;/P&gt;&lt;P&gt;      FS_FUSTOCK-YFKIMG = FS_FUSTOCK-YFKIMG + LFS_MITEM-FKIMG.&lt;/P&gt;&lt;P&gt;      FS_FUSTOCK-SNETWR = FS_FUSTOCK-SNETWR + LFS_MITEM-NETWR.&lt;/P&gt;&lt;P&gt;      FS_FUSTOCK-YNETWR = FS_FUSTOCK-YNETWR + LFS_MITEM-NETWR.&lt;/P&gt;&lt;P&gt;      FS_FUSTOCK-SWAVWR = FS_FUSTOCK-SWAVWR + LFS_MITEM-WAVWR.&lt;/P&gt;&lt;P&gt;      FS_FUSTOCK-YWAVWR = FS_FUSTOCK-YWAVWR + LFS_MITEM-WAVWR.&lt;/P&gt;&lt;P&gt;    ELSEIF LFS_MITEM-MONTH EQ LV_MON4.&lt;/P&gt;&lt;P&gt;      FS_FUSTOCK-MON4   = FS_FUSTOCK-MON4 + LFS_MITEM-FKIMG.&lt;/P&gt;&lt;P&gt;      FS_FUSTOCK-SFKIMG = FS_FUSTOCK-SFKIMG + LFS_MITEM-FKIMG.&lt;/P&gt;&lt;P&gt;      FS_FUSTOCK-YFKIMG = FS_FUSTOCK-YFKIMG + LFS_MITEM-FKIMG.&lt;/P&gt;&lt;P&gt;      FS_FUSTOCK-SNETWR = FS_FUSTOCK-SNETWR + LFS_MITEM-NETWR.&lt;/P&gt;&lt;P&gt;      FS_FUSTOCK-YNETWR = FS_FUSTOCK-YNETWR + LFS_MITEM-NETWR.&lt;/P&gt;&lt;P&gt;      FS_FUSTOCK-SWAVWR = FS_FUSTOCK-SWAVWR + LFS_MITEM-WAVWR.&lt;/P&gt;&lt;P&gt;      FS_FUSTOCK-YWAVWR = FS_FUSTOCK-YWAVWR + LFS_MITEM-WAVWR.&lt;/P&gt;&lt;P&gt;    ELSEIF LFS_MITEM-MONTH EQ LV_MON5.&lt;/P&gt;&lt;P&gt;      FS_FUSTOCK-MON5   = FS_FUSTOCK-MON5 + LFS_MITEM-FKIMG.&lt;/P&gt;&lt;P&gt;      FS_FUSTOCK-SFKIMG = FS_FUSTOCK-SFKIMG + LFS_MITEM-FKIMG.&lt;/P&gt;&lt;P&gt;      FS_FUSTOCK-YFKIMG = FS_FUSTOCK-YFKIMG + LFS_MITEM-FKIMG.&lt;/P&gt;&lt;P&gt;      FS_FUSTOCK-SNETWR = FS_FUSTOCK-SNETWR + LFS_MITEM-NETWR.&lt;/P&gt;&lt;P&gt;      FS_FUSTOCK-YNETWR = FS_FUSTOCK-YNETWR + LFS_MITEM-NETWR.&lt;/P&gt;&lt;P&gt;      FS_FUSTOCK-SWAVWR = FS_FUSTOCK-SWAVWR + LFS_MITEM-WAVWR.&lt;/P&gt;&lt;P&gt;      FS_FUSTOCK-YWAVWR = FS_FUSTOCK-YWAVWR + LFS_MITEM-WAVWR.&lt;/P&gt;&lt;P&gt;    ELSEIF LFS_MITEM-MONTH EQ LV_MON6.&lt;/P&gt;&lt;P&gt;      FS_FUSTOCK-MON6   = FS_FUSTOCK-MON6 + LFS_MITEM-FKIMG.&lt;/P&gt;&lt;P&gt;      FS_FUSTOCK-SFKIMG = FS_FUSTOCK-SFKIMG + LFS_MITEM-FKIMG.&lt;/P&gt;&lt;P&gt;      FS_FUSTOCK-YFKIMG = FS_FUSTOCK-YFKIMG + LFS_MITEM-FKIMG.&lt;/P&gt;&lt;P&gt;      FS_FUSTOCK-SNETWR = FS_FUSTOCK-SNETWR + LFS_MITEM-NETWR.&lt;/P&gt;&lt;P&gt;      FS_FUSTOCK-YNETWR = FS_FUSTOCK-YNETWR + LFS_MITEM-NETWR.&lt;/P&gt;&lt;P&gt;      FS_FUSTOCK-SWAVWR = FS_FUSTOCK-SWAVWR + LFS_MITEM-WAVWR.&lt;/P&gt;&lt;P&gt;      FS_FUSTOCK-YWAVWR = FS_FUSTOCK-YWAVWR + LFS_MITEM-WAVWR.&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;      FS_FUSTOCK-YFKIMG = FS_FUSTOCK-YFKIMG + LFS_MITEM-FKIMG.&lt;/P&gt;&lt;P&gt;      FS_FUSTOCK-YNETWR = FS_FUSTOCK-YNETWR + LFS_MITEM-NETWR.&lt;/P&gt;&lt;P&gt;      FS_FUSTOCK-YWAVWR = FS_FUSTOCK-YWAVWR + LFS_MITEM-WAVWR.&lt;/P&gt;&lt;P&gt;    ENDIF.                             " IF LFS_MITEM&lt;/P&gt;&lt;P&gt;    AT END OF MATKL.&lt;/P&gt;&lt;P&gt;      MOVE:LFS_MITEM-MATKL TO FS_FUSTOCK-MATKL,&lt;/P&gt;&lt;P&gt;           LFS_MITEM-MATNR TO FS_FUSTOCK-MATNR.&lt;/P&gt;&lt;P&gt;      APPEND FS_FUSTOCK TO T_FUSTOCK.&lt;/P&gt;&lt;P&gt;      CLEAR FS_FUSTOCK.&lt;/P&gt;&lt;P&gt;    ENDAT.                             " AT END OF MATNR&lt;/P&gt;&lt;P&gt;  ENDLOOP.                             " LOOP AT LT_MITEM&lt;/P&gt;&lt;P&gt;ENDFORM.                               " FETCH_USEDSTOCK&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  CLC_MONTH&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Calculate month values from last six month to current month&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_LV_DATUM Month&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     &amp;lt;--P_LV_MON2  Fifth   month&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     &amp;lt;--P_LV_MON3  Fourth  month&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     &amp;lt;--P_LV_MON4  Third   month&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     &amp;lt;--P_LV_MON5  Second  month&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     &amp;lt;--P_LV_MON6  Current month&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM CLC_MONTH  USING    P_LV_DATUM  TYPE SY-DATUM&lt;/P&gt;&lt;P&gt;                CHANGING P_LV_MON2   TYPE C&lt;/P&gt;&lt;P&gt;                         P_LV_MON3   TYPE C&lt;/P&gt;&lt;P&gt;                         P_LV_MON4   TYPE C&lt;/P&gt;&lt;P&gt;                         P_LV_MON5   TYPE C&lt;/P&gt;&lt;P&gt;                         P_LV_MON6   TYPE C.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Local Variables&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  DATA: LV_MON(2)  TYPE N,             " Month&lt;/P&gt;&lt;P&gt;        LV_YEAR(4) TYPE N.             " Year&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Constants&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CONSTANTS:&lt;/P&gt;&lt;P&gt;    LC_ONE(2)    TYPE C VALUE '01',    " One&lt;/P&gt;&lt;P&gt;    LC_TWO(2)    TYPE C VALUE '02',    " Two&lt;/P&gt;&lt;P&gt;    LC_THREE(2)  TYPE C VALUE '03',    " Three&lt;/P&gt;&lt;P&gt;    LC_FOUR(2)   TYPE C VALUE '04',    " Four&lt;/P&gt;&lt;P&gt;    LC_FIVE(2)   TYPE C VALUE '05',    " Five&lt;/P&gt;&lt;P&gt;    LC_EONE(2)   TYPE C VALUE '13',    " Mon val&lt;/P&gt;&lt;P&gt;    LC_ETWO(2)   TYPE C VALUE '14',    " Mon val&lt;/P&gt;&lt;P&gt;    LC_ETHREE(2) TYPE C VALUE '15',    " Mon val&lt;/P&gt;&lt;P&gt;    LC_EFOUR(2)  TYPE C VALUE '16',    " Mon val&lt;/P&gt;&lt;P&gt;    LC_EFIVE(2)  TYPE C VALUE '17'.    " Mon val&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LV_MON = P_LV_DATUM+4(2) + LC_ONE.&lt;/P&gt;&lt;P&gt;  LV_YEAR = P_LV_DATUM(4) + 1.&lt;/P&gt;&lt;P&gt;  IF LV_MON = LC_EONE.&lt;/P&gt;&lt;P&gt;    CONCATENATE LV_YEAR LC_ONE INTO P_LV_MON2.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    CONCATENATE P_LV_DATUM(4) LV_MON INTO P_LV_MON2.&lt;/P&gt;&lt;P&gt;  ENDIF.                               " IF LV_MON = 13&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LV_MON = P_LV_DATUM+4(2) + LC_TWO.&lt;/P&gt;&lt;P&gt;  IF LV_MON = LC_EONE.&lt;/P&gt;&lt;P&gt;    CONCATENATE LV_YEAR LC_ONE INTO P_LV_MON3.&lt;/P&gt;&lt;P&gt;  ELSEIF LV_MON = LC_ETWO.&lt;/P&gt;&lt;P&gt;    CONCATENATE LV_YEAR LC_TWO INTO P_LV_MON3.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    CONCATENATE P_LV_DATUM(4) LV_MON INTO P_LV_MON3.&lt;/P&gt;&lt;P&gt;  ENDIF.                               " IF LV_MON = 14&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LV_MON = P_LV_DATUM+4(2) + LC_THREE.&lt;/P&gt;&lt;P&gt;  IF LV_MON = LC_EONE.&lt;/P&gt;&lt;P&gt;    CONCATENATE LV_YEAR LC_ONE INTO P_LV_MON4.&lt;/P&gt;&lt;P&gt;  ELSEIF LV_MON = LC_ETWO.&lt;/P&gt;&lt;P&gt;    CONCATENATE LV_YEAR LC_TWO INTO P_LV_MON4.&lt;/P&gt;&lt;P&gt;  ELSEIF LV_MON = LC_ETHREE.&lt;/P&gt;&lt;P&gt;    CONCATENATE LV_YEAR LC_THREE INTO P_LV_MON4.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    CONCATENATE P_LV_DATUM(4) LV_MON INTO P_LV_MON4.&lt;/P&gt;&lt;P&gt;  ENDIF.                               " IF LV_MON = 15&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LV_MON = P_LV_DATUM+4(2) + LC_FOUR.&lt;/P&gt;&lt;P&gt;  IF LV_MON = LC_EONE.&lt;/P&gt;&lt;P&gt;    CONCATENATE LV_YEAR LC_ONE INTO P_LV_MON5.&lt;/P&gt;&lt;P&gt;  ELSEIF LV_MON = LC_ETWO.&lt;/P&gt;&lt;P&gt;    CONCATENATE LV_YEAR LC_TWO INTO P_LV_MON5.&lt;/P&gt;&lt;P&gt;  ELSEIF LV_MON = LC_ETHREE.&lt;/P&gt;&lt;P&gt;    CONCATENATE LV_YEAR LC_THREE INTO P_LV_MON5.&lt;/P&gt;&lt;P&gt;  ELSEIF LV_MON = LC_EFOUR.&lt;/P&gt;&lt;P&gt;    CONCATENATE LV_YEAR LC_FOUR INTO P_LV_MON5.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    CONCATENATE P_LV_DATUM(4) LV_MON INTO P_LV_MON5.&lt;/P&gt;&lt;P&gt;  ENDIF.                               " IF LV_MON = 16&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LV_MON = P_LV_DATUM+4(2) + LC_FIVE.&lt;/P&gt;&lt;P&gt;  IF LV_MON = LC_EONE.&lt;/P&gt;&lt;P&gt;    CONCATENATE LV_YEAR LC_ONE INTO P_LV_MON6.&lt;/P&gt;&lt;P&gt;  ELSEIF LV_MON = LC_ETWO.&lt;/P&gt;&lt;P&gt;    CONCATENATE LV_YEAR LC_TWO INTO P_LV_MON6.&lt;/P&gt;&lt;P&gt;  ELSEIF LV_MON = LC_ETHREE.&lt;/P&gt;&lt;P&gt;    CONCATENATE LV_YEAR LC_THREE INTO P_LV_MON6.&lt;/P&gt;&lt;P&gt;  ELSEIF LV_MON = LC_EFOUR.&lt;/P&gt;&lt;P&gt;    CONCATENATE LV_YEAR LC_FOUR INTO P_LV_MON6.&lt;/P&gt;&lt;P&gt;  ELSEIF LV_MON = LC_EFIVE.&lt;/P&gt;&lt;P&gt;    CONCATENATE LV_YEAR LC_FIVE INTO P_LV_MON6.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    CONCATENATE P_LV_DATUM(4) LV_MON INTO P_LV_MON6.&lt;/P&gt;&lt;P&gt;  ENDIF.                               " IF LV_MON = 17&lt;/P&gt;&lt;P&gt;ENDFORM.                               " CLC_MONTH&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  FETCH_MONTHS&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get the last six months from current date&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;There are no interface parameters to be passed to this routine&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM FETCH_MONTHS .&lt;/P&gt;&lt;P&gt;  DATA:&lt;/P&gt;&lt;P&gt;    LV_MONTH(2) TYPE N,                " Month&lt;/P&gt;&lt;P&gt;    LV_YEAR(4)  TYPE C,                " Year&lt;/P&gt;&lt;P&gt;    LV_TEMP     TYPE I.                " Rem&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  MOVE W_DATE+4(2) TO FS_MONTH-MONTH.&lt;/P&gt;&lt;P&gt;  MOVE W_DATE(4)   TO FS_MONTH-YEAR.&lt;/P&gt;&lt;P&gt;  APPEND FS_MONTH  TO T_MONTH.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LV_MONTH = W_DATE+4(2).&lt;/P&gt;&lt;P&gt;  LV_YEAR = W_DATE(4).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DO 5 TIMES.&lt;/P&gt;&lt;P&gt;    LV_MONTH = LV_MONTH + 1.&lt;/P&gt;&lt;P&gt;    LV_TEMP   = LV_MONTH MOD 12 .&lt;/P&gt;&lt;P&gt;    IF LV_TEMP EQ 1.&lt;/P&gt;&lt;P&gt;      MOVE '01' TO LV_MONTH.&lt;/P&gt;&lt;P&gt;      LV_YEAR = LV_YEAR + 1.&lt;/P&gt;&lt;P&gt;    ENDIF.                             " IF LV_TEMP EQ 1&lt;/P&gt;&lt;P&gt;    MOVE LV_MONTH TO FS_MONTH-MONTH.&lt;/P&gt;&lt;P&gt;    MOVE LV_YEAR  TO FS_MONTH-YEAR.&lt;/P&gt;&lt;P&gt;    APPEND FS_MONTH TO T_MONTH.&lt;/P&gt;&lt;P&gt;    CLEAR FS_MONTH.&lt;/P&gt;&lt;P&gt;  ENDDO.                               " DO 5 TIMES&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF T_MONTH[] IS NOT INITIAL.&lt;/P&gt;&lt;P&gt;    SELECT MONUM                       " Month number&lt;/P&gt;&lt;P&gt;           MONAM                       " Month name&lt;/P&gt;&lt;P&gt;      FROM T015M&lt;/P&gt;&lt;P&gt;      INTO TABLE T_MNAME&lt;/P&gt;&lt;P&gt;      FOR ALL ENTRIES IN T_MONTH&lt;/P&gt;&lt;P&gt;     WHERE MONUM EQ T_MONTH-MONTH&lt;/P&gt;&lt;P&gt;       AND SPRAS EQ SY-LANGU.&lt;/P&gt;&lt;P&gt;    IF SY-SUBRC EQ 0.&lt;/P&gt;&lt;P&gt;      SORT T_MNAME BY MONTH.&lt;/P&gt;&lt;P&gt;    ENDIF.                             " IF SY-SUBRC EQ 0&lt;/P&gt;&lt;P&gt;  ENDIF.                               " IF T_MONTH[].&lt;/P&gt;&lt;P&gt;ENDFORM.                               " FETCH_MONTHS&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  PREPARE_FINALDATA&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Prepare final data in the specified order to display on grid&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;There are no interface parameters to be passed to this routine&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM PREPARE_FINALDATA .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SORT:T_SCODE   BY MATNR,&lt;/P&gt;&lt;P&gt;       T_PODAT   BY MATNR,&lt;/P&gt;&lt;P&gt;       T_KONP    BY MATNR,&lt;/P&gt;&lt;P&gt;       T_MARD    BY MATNR,&lt;/P&gt;&lt;P&gt;       T_FUSTOCK BY MATNR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT T_FUSTOCK INTO FS_FUSTOCK.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get Used Stock&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    MOVE:&lt;/P&gt;&lt;P&gt;      FS_FUSTOCK-MATNR  TO FS_FINAL-MATNR,&lt;/P&gt;&lt;P&gt;      FS_FUSTOCK-MATKL  TO FS_FINAL-MATKL,&lt;/P&gt;&lt;P&gt;      FS_FUSTOCK-MON1   TO FS_FINAL-MON1,&lt;/P&gt;&lt;P&gt;      FS_FUSTOCK-MON2   TO FS_FINAL-MON2,&lt;/P&gt;&lt;P&gt;      FS_FUSTOCK-MON3   TO FS_FINAL-MON3,&lt;/P&gt;&lt;P&gt;      FS_FUSTOCK-MON4   TO FS_FINAL-MON4,&lt;/P&gt;&lt;P&gt;      FS_FUSTOCK-MON5   TO FS_FINAL-MON5,&lt;/P&gt;&lt;P&gt;      FS_FUSTOCK-MON6   TO FS_FINAL-MON6,&lt;/P&gt;&lt;P&gt;      FS_FUSTOCK-SFKIMG TO FS_FINAL-SFKIMG,&lt;/P&gt;&lt;P&gt;      FS_FUSTOCK-YFKIMG TO FS_FINAL-YFKIMG,&lt;/P&gt;&lt;P&gt;      FS_FUSTOCK-SNETWR TO FS_FINAL-SNETWR,&lt;/P&gt;&lt;P&gt;      FS_FUSTOCK-YNETWR TO FS_FINAL-YNETWR,&lt;/P&gt;&lt;P&gt;      FS_FUSTOCK-SWAVWR TO FS_FINAL-SWAVWR,&lt;/P&gt;&lt;P&gt;      FS_FUSTOCK-YWAVWR TO FS_FINAL-YWAVWR.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Read Material Data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    READ TABLE T_MARA INTO FS_MARA WITH KEY&lt;/P&gt;&lt;P&gt;            MATNR = FS_FUSTOCK-MATNR BINARY SEARCH.&lt;/P&gt;&lt;P&gt;    IF SY-SUBRC EQ 0.&lt;/P&gt;&lt;P&gt;      MOVE:FS_MARA-LVORM      TO FS_FINAL-LVORM,&lt;/P&gt;&lt;P&gt;           FS_MARA-PRDHA(5)   TO FS_FINAL-PRDHA1,&lt;/P&gt;&lt;P&gt;           FS_MARA-PRDHA+5(5) TO FS_FINAL-PRDHA2,&lt;/P&gt;&lt;P&gt;           FS_MARA-KZUMW TO FS_FINAL-KZUMW.&lt;/P&gt;&lt;P&gt;      IF FS_MARA-BSTME IS INITIAL.&lt;/P&gt;&lt;P&gt;        MOVE FS_MARA-MEINS TO FS_FINAL-BSTME.&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;P&gt;        MOVE FS_MARA-BSTME TO FS_FINAL-BSTME.&lt;/P&gt;&lt;P&gt;      ENDIF.                           " IF FS_MARA-BSTME&lt;/P&gt;&lt;P&gt;    ENDIF.                             " IF SY_SUBRC EQ 0&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Read Material Description&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    READ TABLE T_MAKT INTO FS_MAKT WITH KEY&lt;/P&gt;&lt;P&gt;            MATNR = FS_FUSTOCK-MATNR BINARY SEARCH.&lt;/P&gt;&lt;P&gt;    IF SY-SUBRC EQ 0.&lt;/P&gt;&lt;P&gt;      MOVE FS_MAKT-MAKTX TO FS_FINAL-MAKTX.&lt;/P&gt;&lt;P&gt;    ENDIF.                             " IF SY_SUBRC EQ 0&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Read Sales data for Material&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    READ TABLE T_MVKE INTO FS_MVKE WITH KEY&lt;/P&gt;&lt;P&gt;            MATNR = FS_FUSTOCK-MATNR BINARY SEARCH.&lt;/P&gt;&lt;P&gt;    IF SY-SUBRC EQ 0.&lt;/P&gt;&lt;P&gt;      MOVE:FS_MVKE-MTPOS TO FS_FINAL-MTPOS,&lt;/P&gt;&lt;P&gt;           FS_MVKE-MVGR1 TO FS_FINAL-MVGR1,&lt;/P&gt;&lt;P&gt;           FS_MVKE-MVGR2 TO FS_FINAL-MVGR2.&lt;/P&gt;&lt;P&gt;    ENDIF.                             " IF SY_SUBRC EQ 0&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Read MRP Controller&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    READ TABLE T_MARC INTO FS_MARC WITH KEY&lt;/P&gt;&lt;P&gt;            MATNR = FS_FUSTOCK-MATNR BINARY SEARCH.&lt;/P&gt;&lt;P&gt;    IF SY-SUBRC EQ 0.&lt;/P&gt;&lt;P&gt;      MOVE FS_MARC-DISPO TO FS_FINAL-DISPO.&lt;/P&gt;&lt;P&gt;    ENDIF.                             " IF SY_SUBRC EQ 0&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Read Moving Avg Price&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    READ TABLE T_MBEW INTO FS_MBEW WITH KEY&lt;/P&gt;&lt;P&gt;            MATNR = FS_FUSTOCK-MATNR BINARY SEARCH.&lt;/P&gt;&lt;P&gt;    IF SY-SUBRC EQ 0.&lt;/P&gt;&lt;P&gt;      MOVE FS_MBEW-VERPR TO FS_FINAL-VERPR.&lt;/P&gt;&lt;P&gt;    ENDIF.                             " IF SY_SUBRC EQ 0&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Read Product Supercession Code&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    READ TABLE T_SCODE INTO FS_SCODE WITH KEY&lt;/P&gt;&lt;P&gt;            MATNR = FS_FUSTOCK-MATNR BINARY SEARCH.&lt;/P&gt;&lt;P&gt;    IF SY-SUBRC EQ 0.&lt;/P&gt;&lt;P&gt;      MOVE FS_SCODE-MATWA TO FS_FINAL-MATWA.&lt;/P&gt;&lt;P&gt;    ENDIF.                             " IF SY_SUBRC EQ 0&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Read Purchase Order Data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    READ TABLE T_PODAT INTO FS_PODAT WITH KEY&lt;/P&gt;&lt;P&gt;            MATNR = FS_FUSTOCK-MATNR BINARY SEARCH.&lt;/P&gt;&lt;P&gt;    IF SY-SUBRC EQ 0.&lt;/P&gt;&lt;P&gt;      MOVE: FS_PODAT-DATLB  TO FS_FINAL-DATLB,&lt;/P&gt;&lt;P&gt;            FS_PODAT-POOUT  TO FS_FINAL-POOUT,&lt;/P&gt;&lt;P&gt;            FS_PODAT-POQTY  TO FS_FINAL-POQTY,&lt;/P&gt;&lt;P&gt;            FS_PODAT-POCOST TO FS_FINAL-POCOST.&lt;/P&gt;&lt;P&gt;    ENDIF.                             " IF SY_SUBRC EQ 0&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Read Info Record&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    READ TABLE T_KONP INTO FS_KONP WITH KEY&lt;/P&gt;&lt;P&gt;            MATNR = FS_FUSTOCK-MATNR BINARY SEARCH.&lt;/P&gt;&lt;P&gt;    IF SY-SUBRC EQ 0.&lt;/P&gt;&lt;P&gt;      MOVE: FS_KONP-LIFNR  TO FS_FINAL-LIFNR,&lt;/P&gt;&lt;P&gt;            FS_KONP-KBETR  TO FS_FINAL-KBETR,&lt;/P&gt;&lt;P&gt;            FS_KONP-KONWA  TO FS_FINAL-KONWA.&lt;/P&gt;&lt;P&gt;    ENDIF.                             " IF SY_SUBRC EQ 0&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Read Min And Max Stocks&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    READ TABLE T_MARD INTO FS_MARD WITH KEY&lt;/P&gt;&lt;P&gt;            MATNR = FS_FUSTOCK-MATNR BINARY SEARCH.&lt;/P&gt;&lt;P&gt;    IF SY-SUBRC EQ 0.&lt;/P&gt;&lt;P&gt;      MOVE: FS_MARD-MINQTY TO FS_FINAL-MINQTY,&lt;/P&gt;&lt;P&gt;            FS_MARD-MAXQTY TO FS_FINAL-MAXQTY.&lt;/P&gt;&lt;P&gt;    ENDIF.                             " IF SY_SUBRC EQ 0&lt;/P&gt;&lt;P&gt;    APPEND FS_FINAL TO T_FINAL.&lt;/P&gt;&lt;P&gt;    CLEAR:FS_FINAL,FS_MARD,FS_KONP,FS_PODAT,FS_SCODE,&lt;/P&gt;&lt;P&gt;          FS_MBEW,FS_MARC,FS_MVKE,FS_MARA,FS_MAKT.&lt;/P&gt;&lt;P&gt;  ENDLOOP.                             " LOOP AT T_FUSTOCK&lt;/P&gt;&lt;P&gt;  REFRESH: T_CORP,T_SOLDTO,T_VBRK,T_VBFA,T_ITEM,T_TITEM,&lt;/P&gt;&lt;P&gt;           T_MARA,T_MAKT,T_MVKE,T_MARC,T_SCODE,T_PODAT,T_KONP,&lt;/P&gt;&lt;P&gt;           T_MARD,T_FUSTOCK.&lt;/P&gt;&lt;P&gt;ENDFORM.                               " PREPARE_FINALDATA&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  PREPARE_FIELDCAT&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Prepare field catalog data for final table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;There are no interface parameters to be passed to this routine&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM PREPARE_FIELDCAT .&lt;/P&gt;&lt;P&gt;  CONSTANTS:&lt;/P&gt;&lt;P&gt;    LC_SEP(1) TYPE C VALUE '-'.        " Separator&lt;/P&gt;&lt;P&gt;  DATA:&lt;/P&gt;&lt;P&gt;    LV_TEXT(7) TYPE C.                 " Text&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Material&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM BUILD_FIELD_CATALOG USING&lt;/P&gt;&lt;P&gt;    'MATNR' TEXT-007 'T_FINAL' '' 'X' 'X'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Desc&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM BUILD_FIELD_CATALOG USING&lt;/P&gt;&lt;P&gt;    'MAKTX' TEXT-008 'T_FINAL' '' '' ''.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Category&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM BUILD_FIELD_CATALOG USING&lt;/P&gt;&lt;P&gt;    'MTPOS' TEXT-009 'T_FINAL' '' '' ''.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Material Group&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM BUILD_FIELD_CATALOG USING&lt;/P&gt;&lt;P&gt;    'MATKL' TEXT-010 'T_FINAL' '' '' ''.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Product Heirarchy1&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM BUILD_FIELD_CATALOG USING&lt;/P&gt;&lt;P&gt;    'PRDHA1' TEXT-011 'T_FINAL' '' '' ''.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Product Heirarchy2&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM BUILD_FIELD_CATALOG USING&lt;/P&gt;&lt;P&gt;    'PRDHA2' TEXT-012 'T_FINAL' '' '' ''.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Environment&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM BUILD_FIELD_CATALOG USING&lt;/P&gt;&lt;P&gt;    'KZUMW' TEXT-013 'T_FINAL' '' '' ''.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Material Group1&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM BUILD_FIELD_CATALOG USING&lt;/P&gt;&lt;P&gt;    'MVGR1' TEXT-014 'T_FINAL' '' '' ''.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Material Group2&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM BUILD_FIELD_CATALOG USING&lt;/P&gt;&lt;P&gt;    'MVGR2' TEXT-015 'T_FINAL' '' '' ''.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MRP Controller&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM BUILD_FIELD_CATALOG USING&lt;/P&gt;&lt;P&gt;    'DISPO' TEXT-016 'T_FINAL' '' '' ''.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Purchase Unit&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM BUILD_FIELD_CATALOG USING&lt;/P&gt;&lt;P&gt;    'BSTME' TEXT-017 'T_FINAL' '' '' ''.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Cost Info&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM BUILD_FIELD_CATALOG USING&lt;/P&gt;&lt;P&gt;    'KBETR' TEXT-018 'T_FINAL' 'R' 'X' ''.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Currency&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM BUILD_FIELD_CATALOG USING&lt;/P&gt;&lt;P&gt;    'KONWA' TEXT-034 'T_FINAL' '' '' ''.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Moving Avg price&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM BUILD_FIELD_CATALOG USING&lt;/P&gt;&lt;P&gt;    'VERPR' TEXT-019 'T_FINAL' 'R' 'X' ''.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Current Vendor&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM BUILD_FIELD_CATALOG USING&lt;/P&gt;&lt;P&gt;    'LIFNR' TEXT-020 'T_FINAL' '' 'X' ''.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Months Data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  LOOP AT T_MONTH INTO FS_MONTH.&lt;/P&gt;&lt;P&gt;    CASE SY-TABIX.&lt;/P&gt;&lt;P&gt;      WHEN 1.&lt;/P&gt;&lt;P&gt;        READ TABLE T_MNAME INTO FS_MNAME WITH KEY&lt;/P&gt;&lt;P&gt;                           MONTH = FS_MONTH-MONTH.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Sixth Mon&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        IF SY-SUBRC EQ 0.&lt;/P&gt;&lt;P&gt;          CONCATENATE FS_MNAME-TXT FS_MONTH-YEAR+2(2)&lt;/P&gt;&lt;P&gt;                     INTO LV_TEXT SEPARATED BY LC_SEP.&lt;/P&gt;&lt;P&gt;          CLEAR FS_FLDCAT.&lt;/P&gt;&lt;P&gt;          FS_FLDCAT-FIELDNAME = 'MON1'.&lt;/P&gt;&lt;P&gt;          FS_FLDCAT-COLTEXT   = LV_TEXT.&lt;/P&gt;&lt;P&gt;          FS_FLDCAT-TABNAME   = 'T_FINAL' .&lt;/P&gt;&lt;P&gt;          FS_FLDCAT-JUST      = 'R'.&lt;/P&gt;&lt;P&gt;          FS_FLDCAT-NO_ZERO   = 'X'.&lt;/P&gt;&lt;P&gt;          FS_FLDCAT-KEY       = SPACE.&lt;/P&gt;&lt;P&gt;          APPEND FS_FLDCAT TO T_FLDCAT.&lt;/P&gt;&lt;P&gt;        ENDIF.                         " IF SY-SUBRC EQ 0&lt;/P&gt;&lt;P&gt;      WHEN 2.&lt;/P&gt;&lt;P&gt;        READ TABLE T_MNAME INTO FS_MNAME WITH KEY&lt;/P&gt;&lt;P&gt;                           MONTH = FS_MONTH-MONTH.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Fifth Mon&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        IF SY-SUBRC EQ 0.&lt;/P&gt;&lt;P&gt;          CONCATENATE FS_MNAME-TXT FS_MONTH-YEAR+2(2)&lt;/P&gt;&lt;P&gt;                    INTO LV_TEXT SEPARATED BY LC_SEP.&lt;/P&gt;&lt;P&gt;          CLEAR FS_FLDCAT.&lt;/P&gt;&lt;P&gt;          FS_FLDCAT-FIELDNAME = 'MON2'.&lt;/P&gt;&lt;P&gt;          FS_FLDCAT-COLTEXT   = LV_TEXT.&lt;/P&gt;&lt;P&gt;          FS_FLDCAT-TABNAME   = 'T_FINAL' .&lt;/P&gt;&lt;P&gt;          FS_FLDCAT-JUST      = 'R'.&lt;/P&gt;&lt;P&gt;          FS_FLDCAT-NO_ZERO   = 'X'.&lt;/P&gt;&lt;P&gt;          FS_FLDCAT-KEY       = SPACE.&lt;/P&gt;&lt;P&gt;          APPEND FS_FLDCAT TO T_FLDCAT.&lt;/P&gt;&lt;P&gt;        ENDIF.                         " IF SY-SUBRC EQ 0&lt;/P&gt;&lt;P&gt;      WHEN 3.&lt;/P&gt;&lt;P&gt;        READ TABLE T_MNAME INTO FS_MNAME WITH KEY&lt;/P&gt;&lt;P&gt;                   MONTH = FS_MONTH-MONTH.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Fourth Mon&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        IF SY-SUBRC EQ 0.&lt;/P&gt;&lt;P&gt;          CONCATENATE FS_MNAME-TXT FS_MONTH-YEAR+2(2)&lt;/P&gt;&lt;P&gt;                    INTO LV_TEXT SEPARATED BY LC_SEP.&lt;/P&gt;&lt;P&gt;          CLEAR FS_FLDCAT.&lt;/P&gt;&lt;P&gt;          FS_FLDCAT-FIELDNAME = 'MON3'.&lt;/P&gt;&lt;P&gt;          FS_FLDCAT-COLTEXT   = LV_TEXT.&lt;/P&gt;&lt;P&gt;          FS_FLDCAT-TABNAME   = 'T_FINAL' .&lt;/P&gt;&lt;P&gt;          FS_FLDCAT-JUST      = 'R'.&lt;/P&gt;&lt;P&gt;          FS_FLDCAT-NO_ZERO   = 'X'.&lt;/P&gt;&lt;P&gt;          FS_FLDCAT-KEY       = SPACE.&lt;/P&gt;&lt;P&gt;          APPEND FS_FLDCAT TO T_FLDCAT.&lt;/P&gt;&lt;P&gt;        ENDIF.                         " IF SY-SUBRC EQ 0&lt;/P&gt;&lt;P&gt;      WHEN 4.&lt;/P&gt;&lt;P&gt;        READ TABLE T_MNAME INTO FS_MNAME WITH KEY&lt;/P&gt;&lt;P&gt;                           MONTH = FS_MONTH-MONTH.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Third Month&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        IF SY-SUBRC EQ 0.&lt;/P&gt;&lt;P&gt;          CONCATENATE FS_MNAME-TXT FS_MONTH-YEAR+2(2)&lt;/P&gt;&lt;P&gt;                     INTO LV_TEXT SEPARATED BY LC_SEP.&lt;/P&gt;&lt;P&gt;          CLEAR FS_FLDCAT.&lt;/P&gt;&lt;P&gt;          FS_FLDCAT-FIELDNAME = 'MON4'.&lt;/P&gt;&lt;P&gt;          FS_FLDCAT-COLTEXT   = LV_TEXT.&lt;/P&gt;&lt;P&gt;          FS_FLDCAT-TABNAME   = 'T_FINAL' .&lt;/P&gt;&lt;P&gt;          FS_FLDCAT-JUST      = 'R'.&lt;/P&gt;&lt;P&gt;          FS_FLDCAT-NO_ZERO   = 'X'.&lt;/P&gt;&lt;P&gt;          FS_FLDCAT-KEY       = SPACE.&lt;/P&gt;&lt;P&gt;          APPEND FS_FLDCAT TO T_FLDCAT.&lt;/P&gt;&lt;P&gt;        ENDIF.                         " IF SY-SUBRC EQ 0&lt;/P&gt;&lt;P&gt;      WHEN 5.&lt;/P&gt;&lt;P&gt;        READ TABLE T_MNAME INTO FS_MNAME WITH KEY&lt;/P&gt;&lt;P&gt;                           MONTH = FS_MONTH-MONTH.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Second Mon&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        IF SY-SUBRC EQ 0.&lt;/P&gt;&lt;P&gt;          CONCATENATE FS_MNAME-TXT FS_MONTH-YEAR+2(2)&lt;/P&gt;&lt;P&gt;                    INTO LV_TEXT SEPARATED BY LC_SEP.&lt;/P&gt;&lt;P&gt;          CLEAR FS_FLDCAT.&lt;/P&gt;&lt;P&gt;          FS_FLDCAT-FIELDNAME = 'MON5'.&lt;/P&gt;&lt;P&gt;          FS_FLDCAT-COLTEXT   = LV_TEXT.&lt;/P&gt;&lt;P&gt;          FS_FLDCAT-TABNAME   = 'T_FINAL' .&lt;/P&gt;&lt;P&gt;          FS_FLDCAT-JUST      = 'R'.&lt;/P&gt;&lt;P&gt;          FS_FLDCAT-NO_ZERO   = 'X'.&lt;/P&gt;&lt;P&gt;          FS_FLDCAT-KEY       = SPACE.&lt;/P&gt;&lt;P&gt;          APPEND FS_FLDCAT TO T_FLDCAT.&lt;/P&gt;&lt;P&gt;        ENDIF.                         " IF SY-SUBRC EQ 0&lt;/P&gt;&lt;P&gt;      WHEN 6.&lt;/P&gt;&lt;P&gt;        READ TABLE T_MNAME INTO FS_MNAME WITH KEY&lt;/P&gt;&lt;P&gt;                           MONTH = FS_MONTH-MONTH.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;First Mon&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        IF SY-SUBRC EQ 0.&lt;/P&gt;&lt;P&gt;          CONCATENATE FS_MNAME-TXT FS_MONTH-YEAR+2(2)&lt;/P&gt;&lt;P&gt;                    INTO LV_TEXT SEPARATED BY LC_SEP.&lt;/P&gt;&lt;P&gt;          CLEAR FS_FLDCAT.&lt;/P&gt;&lt;P&gt;          FS_FLDCAT-FIELDNAME = 'MON6'.&lt;/P&gt;&lt;P&gt;          FS_FLDCAT-COLTEXT   = LV_TEXT.&lt;/P&gt;&lt;P&gt;          FS_FLDCAT-TABNAME   = 'T_FINAL' .&lt;/P&gt;&lt;P&gt;          FS_FLDCAT-JUST      = 'R'.&lt;/P&gt;&lt;P&gt;          FS_FLDCAT-NO_ZERO   = 'X'.&lt;/P&gt;&lt;P&gt;          FS_FLDCAT-KEY       = SPACE.&lt;/P&gt;&lt;P&gt;          APPEND FS_FLDCAT TO T_FLDCAT.&lt;/P&gt;&lt;P&gt;        ENDIF.                         " IF SY-SUBRC EQ 0&lt;/P&gt;&lt;P&gt;    ENDCASE.                           " CASE SY-TABIX&lt;/P&gt;&lt;P&gt;  ENDLOOP.                             " LOOP AT T_MONTH&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Six Months Usage&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM BUILD_FIELD_CATALOG USING&lt;/P&gt;&lt;P&gt;    'SFKIMG' TEXT-021 'T_FINAL' 'R' 'X' ''.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Six Months Cost&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM BUILD_FIELD_CATALOG USING&lt;/P&gt;&lt;P&gt;    'SWAVWR' TEXT-022 'T_FINAL' 'R' 'X' ''.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Six Months Net Value&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM BUILD_FIELD_CATALOG USING&lt;/P&gt;&lt;P&gt;    'SNETWR' TEXT-023 'T_FINAL' 'R' 'X' ''.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;One Year Usage&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM BUILD_FIELD_CATALOG USING&lt;/P&gt;&lt;P&gt;    'YFKIMG' TEXT-024 'T_FINAL' 'R' 'X' ''.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;One Year Cost&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM BUILD_FIELD_CATALOG USING&lt;/P&gt;&lt;P&gt;    'YWAVWR' TEXT-025 'T_FINAL' 'R' 'X' ''.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;One Year Net Value&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM BUILD_FIELD_CATALOG USING&lt;/P&gt;&lt;P&gt;    'YNETWR' TEXT-026 'T_FINAL' 'R' 'X' ''.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Min Stock&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM BUILD_FIELD_CATALOG USING&lt;/P&gt;&lt;P&gt;    'MINQTY' TEXT-027 'T_FINAL' 'R' 'X' ''.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Max Stock&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM BUILD_FIELD_CATALOG USING&lt;/P&gt;&lt;P&gt;    'MAXQTY' TEXT-028 'T_FINAL' 'R' 'X' ''.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Product Supercession code&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM BUILD_FIELD_CATALOG USING&lt;/P&gt;&lt;P&gt;    'MATWA' TEXT-029 'T_FINAL' '' 'X' ''.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;PO Date&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM BUILD_FIELD_CATALOG USING&lt;/P&gt;&lt;P&gt;    'DATLB' TEXT-030 'T_FINAL' '' '' ''.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;PO Qty&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM BUILD_FIELD_CATALOG USING&lt;/P&gt;&lt;P&gt;    'POQTY' TEXT-031 'T_FINAL' 'R' 'X' ''.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;PO Cost&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM BUILD_FIELD_CATALOG USING&lt;/P&gt;&lt;P&gt;    'POCOST' TEXT-032 'T_FINAL' 'R' 'X' ''.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;PO Outstand&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM BUILD_FIELD_CATALOG USING&lt;/P&gt;&lt;P&gt;    'POOUT' TEXT-033 'T_FINAL' 'R' 'X' ''.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Deletion Flag&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM BUILD_FIELD_CATALOG USING&lt;/P&gt;&lt;P&gt;    'LVORM' TEXT-035 'T_FINAL' '' '' ''.&lt;/P&gt;&lt;P&gt;  REFRESH: T_MONTH,T_MNAME.&lt;/P&gt;&lt;P&gt;ENDFORM.                               " PREPARE_FIELDCAT&lt;/P&gt;&lt;P&gt;                           " STATUS_0100  &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Sankar&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 30 Jul 2007 10:26:22 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/rerarding-selection-screen/m-p/2572791#M587629</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-07-30T10:26:22Z</dc:date>
    </item>
    <item>
      <title>Re: rerarding selection screen</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/rerarding-selection-screen/m-p/2572792#M587630</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;You need to write the code at the event block&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN ON VALUE REQUEST FOR plant_num.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Here you get the value for other fields and then assing them the data using SELECT query.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Or you can do this in AT SELECTION-SCREEN ON plant_num.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Or you can create search help which exports all these three fields and use this search help.&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Sesh&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 30 Jul 2007 10:29:07 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/rerarding-selection-screen/m-p/2572792#M587630</guid>
      <dc:creator>seshatalpasai_madala</dc:creator>
      <dc:date>2007-07-30T10:29:07Z</dc:date>
    </item>
    <item>
      <title>Re: rerarding selection screen</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/rerarding-selection-screen/m-p/2572793#M587631</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;u can create search help option for the remaining fields for which u want data to be entered dynamically at ddic level  giving base table name and &lt;/P&gt;&lt;P&gt;use this statement&lt;/P&gt;&lt;P&gt;selection screen on value request&lt;/P&gt;&lt;P&gt;if u want u can give f4 help for these fields also  by calling function in at selection screen event.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 30 Jul 2007 10:56:37 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/rerarding-selection-screen/m-p/2572793#M587631</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-07-30T10:56:37Z</dc:date>
    </item>
  </channel>
</rss>

