<?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 No Subtotal Text in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/no-subtotal-text/m-p/4058446#M970157</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Gurus,&lt;/P&gt;&lt;P&gt;I developed ALV Report(Grid Dispalay)&lt;/P&gt;&lt;P&gt;I am getting Subtotals but I am not getting SubTotal Text.&lt;/P&gt;&lt;P&gt;for Subtotal text I used REUSE_ALV_EVENTS_GET &lt;/P&gt;&lt;P&gt;and I am passing the form name for the Subtotal Text.&lt;/P&gt;&lt;P&gt;but the form is not calling by ALV&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;give me the sollution for this problem&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;program.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT  zrpp33a NO STANDARD PAGE HEADING.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*******************************************************************&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="9" type="ul"&gt;&lt;P&gt;             T Y P E  P O O L S                **********&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;*******************************************************************&lt;/P&gt;&lt;P&gt;TYPE-POOLS: slis.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*******************************************************************&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="9" type="ul"&gt;&lt;P&gt;                  T Y P E S                    **********&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;*******************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***...Types for Materilas&lt;/P&gt;&lt;P&gt;TYPES: BEGIN OF type_mat,&lt;/P&gt;&lt;P&gt;       matnr TYPE mara-matnr,   "Material Number&lt;/P&gt;&lt;P&gt;       matkl TYPE mara-matkl,   "Material Group&lt;/P&gt;&lt;P&gt;       maktx TYPE makt-maktx,   "Material Description (Short Text)&lt;/P&gt;&lt;P&gt;       meinh TYPE marm-meinh,   "Alternative Unit of Measure for Stockkeeping Unit&lt;/P&gt;&lt;P&gt;       umrez TYPE marm-umrez,   "Numerator for Conversion to Base Units of Measure&lt;/P&gt;&lt;P&gt;       umren TYPE marm-umren,   "Denominator for conversion to base units of measure&lt;/P&gt;&lt;P&gt;       END OF type_mat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***...Types for MATKL&lt;/P&gt;&lt;P&gt;TYPES: BEGIN OF type_matkl,&lt;/P&gt;&lt;P&gt;        matnr TYPE mara-matnr,&lt;/P&gt;&lt;P&gt;        matkl TYPE mara-matkl,&lt;/P&gt;&lt;P&gt;        END OF type_matkl.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***...Types for MRP&lt;/P&gt;&lt;P&gt;TYPES: BEGIN OF type_mrp,&lt;/P&gt;&lt;P&gt;       matnr TYPE mara-matnr,   "Material Number&lt;/P&gt;&lt;P&gt;       werks TYPE marc-werks,   "Plant&lt;/P&gt;&lt;P&gt;       dispo TYPE marc-dispo,   "MRP Controller (Materials Planner)&lt;/P&gt;&lt;P&gt;       END OF type_mrp.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES: BEGIN OF type_t024d,&lt;/P&gt;&lt;P&gt;       werks TYPE t024d-werks,   "Plant&lt;/P&gt;&lt;P&gt;       dispo TYPE t024d-dispo,   "MRP Controller (Materials Planner)&lt;/P&gt;&lt;P&gt;       dsnam TYPE t024d-dsnam,   "Name MRP controller&lt;/P&gt;&lt;P&gt;       END OF type_t024d.&lt;/P&gt;&lt;P&gt;***...Types for CAUFV&lt;/P&gt;&lt;P&gt;TYPES: BEGIN OF type_caufv,&lt;/P&gt;&lt;P&gt;       aufnr TYPE caufv-aufnr,   "Order Number&lt;/P&gt;&lt;P&gt;       auart TYPE caufv-auart,   "Order Type&lt;/P&gt;&lt;P&gt;       werks TYPE caufv-werks,   "Plant&lt;/P&gt;&lt;P&gt;       ftrmi TYPE caufv-ftrmi,   "Actual release date&lt;/P&gt;&lt;P&gt;       plnbez TYPE caufv-plnbez, "Material Number&lt;/P&gt;&lt;P&gt;       END OF type_caufv.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***...Types for AUFM&lt;/P&gt;&lt;P&gt;TYPES: BEGIN OF type_aufm,&lt;/P&gt;&lt;P&gt;       mblnr TYPE aufm-mblnr,    "Number of Material Document&lt;/P&gt;&lt;P&gt;       zeile TYPE aufm-zeile,    "Item in Material Document&lt;/P&gt;&lt;P&gt;       budat TYPE aufm-budat,    "Posting Date in the Document&lt;/P&gt;&lt;P&gt;       bwart TYPE aufm-bwart,    "Movement Type (Inventory Management)&lt;/P&gt;&lt;P&gt;       matnr TYPE aufm-matnr,    "Material Number(Component Number)&lt;/P&gt;&lt;P&gt;       lgort TYPE aufm-lgort,    "Storage Location&lt;/P&gt;&lt;P&gt;       charg TYPE aufm-charg,    "Batch Number&lt;/P&gt;&lt;P&gt;       shkzg TYPE aufm-shkzg,    "Debit/Credit Indicator&lt;/P&gt;&lt;P&gt;       erfmg TYPE aufm-erfmg,    "Quantity in Unit of Entry&lt;/P&gt;&lt;P&gt;       erfme TYPE aufm-erfme,    "Unit of Entry&lt;/P&gt;&lt;P&gt;       aufnr TYPE aufm-aufnr,    "Order Number&lt;/P&gt;&lt;P&gt;       END OF type_aufm.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***...Types for AFRU&lt;/P&gt;&lt;P&gt;TYPES:BEGIN OF type_afru,&lt;/P&gt;&lt;P&gt;      grund  TYPE afru-grund,   "Reason for Variance&lt;/P&gt;&lt;P&gt;      wablnr TYPE afru-wablnr,  "Number of Material Document&lt;/P&gt;&lt;P&gt;      budat  TYPE afru-budat,   "Posting date&lt;/P&gt;&lt;P&gt;      END OF type_afru.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES: BEGIN OF type_mseg,&lt;/P&gt;&lt;P&gt;       mblnr TYPE mseg-mblnr,   "Number of Material Document&lt;/P&gt;&lt;P&gt;       zeile TYPE mseg-zeile,   "Item in Material Document&lt;/P&gt;&lt;P&gt;       bwart TYPE mseg-bwart,   "Movement Type (Inventory Management)&lt;/P&gt;&lt;P&gt;       sgtxt TYPE mseg-sgtxt,   "Item Text&lt;/P&gt;&lt;P&gt;       grund TYPE mseg-grund,   "Reason for Movement&lt;/P&gt;&lt;P&gt;       END OF type_mseg.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES: BEGIN OF type_t157e,&lt;/P&gt;&lt;P&gt;       bwart TYPE t157e-bwart,  "Movement Type (Inventory Management)&lt;/P&gt;&lt;P&gt;       grund TYPE t157e-grund,  "Reason for Movement&lt;/P&gt;&lt;P&gt;       grtxt TYPE t157e-grtxt,  "Text: Reason for Goods Movement&lt;/P&gt;&lt;P&gt;       END OF type_t157e.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***...Types for Output Table&lt;/P&gt;&lt;P&gt;TYPES: BEGIN OF type_outtab,&lt;/P&gt;&lt;P&gt;       post_date      TYPE afru-budat,     "Posting Date&lt;/P&gt;&lt;P&gt;       shift          TYPE t157e-grtxt,    "Text: Reason for Goods Movement&lt;/P&gt;&lt;P&gt;       mrp_cntrl      TYPE marc-dispo,     "MRP Controller (Materials Planner)&lt;/P&gt;&lt;P&gt;       name_cntrl     TYPE v_t024d-dsnam,  "Name of MRP controller&lt;/P&gt;&lt;P&gt;       ord_type       TYPE caufv-auart,    "Order Type&lt;/P&gt;&lt;P&gt;       plant          TYPE marc-werks  ,   "Plant&lt;/P&gt;&lt;P&gt;       mat_group      TYPE mara-matkl,    "Material Group&lt;/P&gt;&lt;P&gt;       prod_ord       TYPE aufm-aufnr,     "Order Numbers&lt;/P&gt;&lt;P&gt;       ord_release    TYPE caufv-ftrmi,    "Actual release date&lt;/P&gt;&lt;P&gt;       move_type      TYPE aufm-bwart,     "Movement Type (Inventory Management)&lt;/P&gt;&lt;P&gt;       stor_loc       TYPE aufm-lgort,     "Storage Location&lt;/P&gt;&lt;P&gt;       comp_number    TYPE aufm-matnr,     "Material Number&lt;/P&gt;&lt;P&gt;       comp_desc      TYPE makt-maktx,     "Material Description (Short Text)&lt;/P&gt;&lt;P&gt;       comp_qty       TYPE aufm-erfmg,     "Quantity in Unit of Entry&lt;/P&gt;&lt;P&gt;       uoe            TYPE aufm-erfme,     "Unit of Entry&lt;/P&gt;&lt;P&gt;       comp_qtype_alt TYPE aufm-erfmg,     "Quantity in Unit of Entry(Alternative)&lt;/P&gt;&lt;P&gt;       uom_alt        TYPE marm-meinh,     "Unit of Entry((Alternative))&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      reas_cobb      TYPE aufm-charg,     "Batch Number&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;       reas_cobb      TYPE mseg-sgtxt,     "Item Text&lt;/P&gt;&lt;P&gt;       act_each       TYPE aufm-erfmg,     "Quantity in Unit of Entry(Alternative)&lt;/P&gt;&lt;P&gt;       act_uom        TYPE aufm-erfme,     "Unit of Entry&lt;/P&gt;&lt;P&gt;       END OF type_outtab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*******************************************************************&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="9" type="ul"&gt;&lt;P&gt;               C O N S T A N T S               **********&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;*******************************************************************&lt;/P&gt;&lt;P&gt;***...Constant to store 'X'&lt;/P&gt;&lt;P&gt;CONSTANTS:c_x            TYPE char1                       VALUE 'X',&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***...Constant to store 'E' for Error Message&lt;/P&gt;&lt;P&gt;          c_error        TYPE char1                       VALUE 'E',&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***...Constant to store 'I' for Information Message&lt;/P&gt;&lt;P&gt;          c_inf          TYPE char1                       VALUE 'I',&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***...Constant to store Output Table Name 'GIT_OUTTAB',&lt;/P&gt;&lt;P&gt;          c_outtab       TYPE slis_fieldcat_alv-tabname   VALUE 'GIT_OUTTAB',&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***...Constant to store Quantity Field Name 'COMP_QTY',&lt;/P&gt;&lt;P&gt;          c_comp_qty     TYPE slis_fieldcat_alv-fieldname VALUE 'COMP_QTY',&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***...Constant to store Unit of Entry Field Name  'UOE'&lt;/P&gt;&lt;P&gt;          c_uoe          TYPE slis_fieldcat_alv-fieldname VALUE 'UOE',&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***...Constant to store Alternative Component Quantity field name 'COMP_QTYPE_ALT'&lt;/P&gt;&lt;P&gt;          c_comp_qtype_alt TYPE slis_fieldcat_alv-fieldname VALUE 'COMP_QTYPE_ALT',&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***...Constant to store Ulternative Unit of Measurement field name 'UOM_ALT'&lt;/P&gt;&lt;P&gt;          c_uom_alt      TYPE slis_fieldcat_alv-fieldname VALUE 'UOM_ALT',&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***...Constant to store Actual Each Field name  'ACT_EACH',&lt;/P&gt;&lt;P&gt;          c_act_each     TYPE slis_fieldcat_alv-fieldname VALUE 'ACT_EACH',&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***...Constant to store Actual Unit of Measurement Field Name 'ACT_UOM'&lt;/P&gt;&lt;P&gt;          c_act_uom      TYPE slis_fieldcat_alv-fieldname VALUE 'ACT_UOM' ,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***...Constant for Movement Type '261'&lt;/P&gt;&lt;P&gt;          c_261          TYPE aufm-bwart                  VALUE  '261',&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***...Constant for Movement Type '262'&lt;/P&gt;&lt;P&gt;          c_262          TYPE aufm-bwart                  VALUE  '262',&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***...Constant for Movement Type '531'&lt;/P&gt;&lt;P&gt;          c_531          TYPE aufm-bwart                  VALUE  '531',&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***...Constant for Movement Type '532'&lt;/P&gt;&lt;P&gt;          c_532          TYPE aufm-bwart                  VALUE  '532'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*******************************************************************&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="9" type="ul"&gt;&lt;P&gt;               W O R K   A R E A               **********&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;*******************************************************************&lt;/P&gt;&lt;P&gt;***...Work Area for SELECT-OPTIONS Material Group&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF gs_matkl,&lt;/P&gt;&lt;P&gt;      matkl TYPE t023-matkl,&lt;/P&gt;&lt;P&gt;      END OF gs_matkl.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***...Work Area for SELECT-OPTIONS Plant&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF gs_werks,&lt;/P&gt;&lt;P&gt;      werks TYPE t001w-werks,&lt;/P&gt;&lt;P&gt;      END OF gs_werks.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***...Work Area for SELECT-OPTIONS Order type&lt;/P&gt;&lt;P&gt;DATA:BEGIN OF gs_auart,&lt;/P&gt;&lt;P&gt;     auart TYPE t003o-auart,&lt;/P&gt;&lt;P&gt;     END OF gs_auart.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***...Work Area for SELECT-OPTIONS Acutal release Date&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF gs_ftrmi,&lt;/P&gt;&lt;P&gt;      ftrmi TYPE caufv-ftrmi,&lt;/P&gt;&lt;P&gt;      END OF gs_ftrmi.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***...Work Area for ALV Layout&lt;/P&gt;&lt;P&gt;DATA: gs_layout TYPE slis_layout_alv.&lt;/P&gt;&lt;P&gt;*******************************************************************&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="9" type="ul"&gt;&lt;P&gt;        I N T E R N A L   T A B L E S          **********&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;*******************************************************************&lt;/P&gt;&lt;P&gt;DATA:git_mat      TYPE STANDARD TABLE OF type_mat,&lt;/P&gt;&lt;P&gt;     git_matkl    TYPE STANDARD TABLE OF type_matkl,&lt;/P&gt;&lt;P&gt;     git_mrp      TYPE STANDARD TABLE OF type_mrp,&lt;/P&gt;&lt;P&gt;     git_t024d    TYPE STANDARD TABLE OF type_t024d,&lt;/P&gt;&lt;P&gt;     git_caufv    TYPE STANDARD TABLE OF type_caufv,&lt;/P&gt;&lt;P&gt;     git_aufm     TYPE STANDARD TABLE OF type_aufm ,&lt;/P&gt;&lt;P&gt;     git_afru     TYPE STANDARD TABLE OF type_afru,&lt;/P&gt;&lt;P&gt;     git_mseg     TYPE STANDARD TABLE OF type_mseg,&lt;/P&gt;&lt;P&gt;     git_t157e    TYPE STANDARD TABLE OF type_t157e,&lt;/P&gt;&lt;P&gt;     git_outtab   TYPE STANDARD TABLE OF type_outtab,&lt;/P&gt;&lt;P&gt;     git_fieldcat TYPE STANDARD TABLE OF slis_fieldcat_alv,&lt;/P&gt;&lt;P&gt;     git_event    TYPE STANDARD TABLE OF slis_alv_event,&lt;/P&gt;&lt;P&gt;     git_sort     TYPE            slis_t_sortinfo_alv.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*******************************************************************&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="9" type="ul"&gt;&lt;P&gt;        F I E L D  S Y M B O L S               **********&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;*******************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*******************************************************************&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="9" type="ul"&gt;&lt;P&gt;     S E L E C T I O N - S C R E E N           **********&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;*******************************************************************&lt;/P&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;P&gt;SELECT-OPTIONS: s_matkl FOR gs_matkl-matkl OBLIGATORY,&lt;/P&gt;&lt;P&gt;                s_werks FOR gs_werks-werks NO INTERVALS NO-EXTENSION DEFAULT '1000' ,&lt;/P&gt;&lt;P&gt;                s_auart FOR gs_auart-auart OBLIGATORY,&lt;/P&gt;&lt;P&gt;                s_ftrmi FOR gs_ftrmi-ftrmi OBLIGATORY.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN: END OF BLOCK b1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*******************************************************************&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="9" type="ul"&gt;&lt;P&gt;     I N I T I A L I Z A T I O N     **********&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;*******************************************************************&lt;/P&gt;&lt;P&gt;INITIALIZATION.&lt;/P&gt;&lt;P&gt;PERFORM check_authority.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*******************************************************************&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="9" type="ul"&gt;&lt;P&gt;     A T  S E L E C T I O N - S C R E E N      **********&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;*******************************************************************&lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN.&lt;/P&gt;&lt;P&gt;  PERFORM input_validation.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*******************************************************************&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="9" type="ul"&gt;&lt;P&gt;      S T A R T - O F - S E L E C T I O N      **********&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;*******************************************************************&lt;/P&gt;&lt;P&gt;START-OF-SELECTION.&lt;/P&gt;&lt;P&gt;  PERFORM get_data.&lt;/P&gt;&lt;P&gt;  PERFORM populate_outtab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*******************************************************************&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="9" type="ul"&gt;&lt;P&gt;       E N D - O F - S E L E C T I O N         **********&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;*******************************************************************&lt;/P&gt;&lt;P&gt;END-OF-SELECTION.&lt;/P&gt;&lt;P&gt;  PERFORM display.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*******************************************************************&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="9" type="ul"&gt;&lt;P&gt;            S U B R O U T I N E                **********&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;*******************************************************************&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  CHECK_AUTHORITY&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;      text:Subroutine to Check authority&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;/P&gt;&lt;P&gt;FORM check_authority .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'AUTHORITY_CHECK_TCODE'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      tcode         = sy-tcode&lt;/P&gt;&lt;P&gt;   EXCEPTIONS&lt;/P&gt;&lt;P&gt;     ok            = 1&lt;/P&gt;&lt;P&gt;     not_ok        = 2&lt;/P&gt;&lt;P&gt;     OTHERS        = 3.&lt;/P&gt;&lt;P&gt;  IF sy-subrc &amp;lt;&amp;gt; 1.&lt;/P&gt;&lt;P&gt;    MESSAGE e077(s#) WITH sy-tcode.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " CHECK_AUTHORITY&lt;/P&gt;&lt;P&gt;&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  input_validation&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;      text:Subroutine to validate the selection-screen inputs&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;/P&gt;&lt;P&gt;FORM input_validation .&lt;/P&gt;&lt;P&gt;  DATA: lv_matkl TYPE t023-matkl,                           "#EC&lt;/P&gt;&lt;P&gt;        lv_werks TYPE t001w-werks,                          "#EC&lt;/P&gt;&lt;P&gt;        lv_auart TYPE t003o.                                "#EC&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECT matkl&lt;/P&gt;&lt;P&gt;         UP TO 1 ROWS&lt;/P&gt;&lt;P&gt;         FROM t023&lt;/P&gt;&lt;P&gt;         INTO lv_matkl&lt;/P&gt;&lt;P&gt;         WHERE matkl IN s_matkl.&lt;/P&gt;&lt;P&gt;  ENDSELECT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;    MESSAGE text-002 TYPE c_error.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    IF NOT lv_matkl IS INITIAL.&lt;/P&gt;&lt;P&gt;      CLEAR lv_matkl.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECT werks&lt;/P&gt;&lt;P&gt;         UP TO 1 ROWS&lt;/P&gt;&lt;P&gt;         FROM t001w&lt;/P&gt;&lt;P&gt;         INTO lv_werks&lt;/P&gt;&lt;P&gt;         WHERE werks IN s_werks.&lt;/P&gt;&lt;P&gt;  ENDSELECT.&lt;/P&gt;&lt;P&gt;  IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;    MESSAGE text-003 TYPE c_error.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    IF NOT lv_werks IS INITIAL.&lt;/P&gt;&lt;P&gt;      CLEAR lv_werks.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECT auart&lt;/P&gt;&lt;P&gt;         UP TO 1 ROWS&lt;/P&gt;&lt;P&gt;         FROM t003o&lt;/P&gt;&lt;P&gt;         INTO lv_auart&lt;/P&gt;&lt;P&gt;         WHERE auart IN s_auart.&lt;/P&gt;&lt;P&gt;  ENDSELECT.&lt;/P&gt;&lt;P&gt;  IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;    MESSAGE text-004 TYPE c_error.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    IF NOT lv_auart IS INITIAL.&lt;/P&gt;&lt;P&gt;      CLEAR lv_auart.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " input_validation&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_data&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;      text:Subroutine to get the data from DB Tables&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;/P&gt;&lt;P&gt;FORM get_data .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***...Constant for Movement type 321&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***...Select for Materials for given Material Group&lt;/P&gt;&lt;P&gt;  SELECT matnr&lt;/P&gt;&lt;P&gt;         matkl&lt;/P&gt;&lt;P&gt;         FROM mara&lt;/P&gt;&lt;P&gt;         INTO TABLE git_matkl&lt;/P&gt;&lt;P&gt;         WHERE matkl IN s_matkl.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***...Select for Production Order Number, Plant, Material for given Order type, Plant, Actual release Date,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    and Material&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  IF git_matkl IS NOT INITIAL.&lt;/P&gt;&lt;P&gt;    SORT git_matkl BY matnr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    SELECT aufnr&lt;/P&gt;&lt;P&gt;           auart&lt;/P&gt;&lt;P&gt;           werks&lt;/P&gt;&lt;P&gt;           ftrmi&lt;/P&gt;&lt;P&gt;           plnbez&lt;/P&gt;&lt;P&gt;           FROM caufv&lt;/P&gt;&lt;P&gt;           INTO TABLE git_caufv&lt;/P&gt;&lt;P&gt;           FOR ALL ENTRIES IN  git_matkl&lt;/P&gt;&lt;P&gt;           WHERE auart IN s_auart&lt;/P&gt;&lt;P&gt;           AND   werks IN s_werks&lt;/P&gt;&lt;P&gt;           AND   ftrmi IN s_ftrmi&lt;/P&gt;&lt;P&gt;           AND   plnbez =  git_matkl-matnr.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***...Select for Material Document Number, Movement type,  Material Number, Storage Location, Debit Credit Indicator,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    Quantity, Unit of entry and Production Order Number&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  IF git_caufv IS NOT INITIAL.&lt;/P&gt;&lt;P&gt;    SORT git_caufv BY aufnr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    SELECT mblnr&lt;/P&gt;&lt;P&gt;           zeile&lt;/P&gt;&lt;P&gt;           budat&lt;/P&gt;&lt;P&gt;           bwart&lt;/P&gt;&lt;P&gt;           matnr&lt;/P&gt;&lt;P&gt;           lgort&lt;/P&gt;&lt;P&gt;           charg&lt;/P&gt;&lt;P&gt;           shkzg&lt;/P&gt;&lt;P&gt;           erfmg&lt;/P&gt;&lt;P&gt;           erfme&lt;/P&gt;&lt;P&gt;           aufnr&lt;/P&gt;&lt;P&gt;           FROM aufm&lt;/P&gt;&lt;P&gt;           INTO TABLE git_aufm&lt;/P&gt;&lt;P&gt;           FOR ALL ENTRIES IN git_caufv&lt;/P&gt;&lt;P&gt;           WHERE aufnr = git_caufv-aufnr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;***...Only Movement type 261, 262 and 531 and 532  is needed&lt;/P&gt;&lt;P&gt;      DELETE  git_aufm WHERE bwart &amp;lt;&amp;gt; c_261&lt;/P&gt;&lt;P&gt;                       AND   bwart &amp;lt;&amp;gt; c_262&lt;/P&gt;&lt;P&gt;                       AND   bwart &amp;lt;&amp;gt; c_531&lt;/P&gt;&lt;P&gt;                       AND   bwart &amp;lt;&amp;gt; c_532 .&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF  git_aufm IS NOT INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    SELECT mblnr&lt;/P&gt;&lt;P&gt;           zeile&lt;/P&gt;&lt;P&gt;           bwart&lt;/P&gt;&lt;P&gt;           sgtxt&lt;/P&gt;&lt;P&gt;           grund&lt;/P&gt;&lt;P&gt;           FROM mseg&lt;/P&gt;&lt;P&gt;           INTO TABLE git_mseg&lt;/P&gt;&lt;P&gt;           FOR ALL ENTRIES IN git_aufm&lt;/P&gt;&lt;P&gt;           WHERE mblnr =  git_aufm-mblnr&lt;/P&gt;&lt;P&gt;           AND   zeile = git_aufm-zeile&lt;/P&gt;&lt;P&gt;           AND   werks IN s_werks.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF git_mseg IS NOT INITIAL.&lt;/P&gt;&lt;P&gt;      SORT:git_mseg BY bwart grund.&lt;/P&gt;&lt;P&gt;      SELECT bwart&lt;/P&gt;&lt;P&gt;             grund&lt;/P&gt;&lt;P&gt;             grtxt&lt;/P&gt;&lt;P&gt;             FROM t157e&lt;/P&gt;&lt;P&gt;             INTO TABLE git_t157e&lt;/P&gt;&lt;P&gt;             FOR ALL ENTRIES IN git_mseg&lt;/P&gt;&lt;P&gt;             WHERE spras = sy-langu&lt;/P&gt;&lt;P&gt;             AND   bwart = git_mseg-bwart&lt;/P&gt;&lt;P&gt;             AND   grund = git_mseg-grund.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    SORT: git_aufm BY matnr.&lt;/P&gt;&lt;P&gt;***...select for Material Description, Alternative unit of measurement, Numerator for Conversion to Base Units of Measure&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    and Denominator for conversion to base units of measure&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    SELECT a~matnr&lt;/P&gt;&lt;P&gt;           a~matkl&lt;/P&gt;&lt;P&gt;           b~maktx&lt;/P&gt;&lt;P&gt;           c~meinh&lt;/P&gt;&lt;P&gt;           c~umrez&lt;/P&gt;&lt;P&gt;           c~umren&lt;/P&gt;&lt;P&gt;           INTO TABLE git_mat&lt;/P&gt;&lt;P&gt;           FROM mara AS a&lt;/P&gt;&lt;P&gt;           INNER JOIN makt AS b&lt;/P&gt;&lt;P&gt;           ON b&lt;SUB&gt;matnr = a&lt;/SUB&gt;matnr&lt;/P&gt;&lt;P&gt;           AND b~spras = sy-langu&lt;/P&gt;&lt;P&gt;           INNER JOIN marm AS c&lt;/P&gt;&lt;P&gt;           ON c&lt;SUB&gt;matnr = a&lt;/SUB&gt;matnr&lt;/P&gt;&lt;P&gt;           FOR ALL ENTRIES IN git_aufm&lt;/P&gt;&lt;P&gt;           WHERE a~matnr = git_aufm-matnr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF git_mat IS NOT INITIAL.&lt;/P&gt;&lt;P&gt;      SORT:git_mat BY matnr.&lt;/P&gt;&lt;P&gt;***...Select for MRP Controller (Materials Planner) and Name of MRP controller&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      SELECT matnr&lt;/P&gt;&lt;P&gt;             werks&lt;/P&gt;&lt;P&gt;             dispo&lt;/P&gt;&lt;P&gt;             INTO TABLE git_mrp&lt;/P&gt;&lt;P&gt;             FROM marc&lt;/P&gt;&lt;P&gt;             FOR ALL ENTRIES IN git_mat&lt;/P&gt;&lt;P&gt;             WHERE matnr = git_mat-matnr&lt;/P&gt;&lt;P&gt;             AND   werks IN s_werks.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF git_mrp IS NOT INITIAL.&lt;/P&gt;&lt;P&gt;        SORT:git_mrp BY werks dispo.&lt;/P&gt;&lt;P&gt;        SELECT werks&lt;/P&gt;&lt;P&gt;               dispo&lt;/P&gt;&lt;P&gt;               dsnam&lt;/P&gt;&lt;P&gt;               FROM t024d&lt;/P&gt;&lt;P&gt;               INTO TABLE git_t024d&lt;/P&gt;&lt;P&gt;               FOR ALL ENTRIES IN git_mrp&lt;/P&gt;&lt;P&gt;               WHERE werks =  git_mrp-werks&lt;/P&gt;&lt;P&gt;               AND   dispo = git_mrp-dispo.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " get_data&lt;/P&gt;&lt;P&gt;&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  populate_outtab&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;      text:Subroutine to build output 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;P&gt;FORM populate_outtab .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: ls_outtab   TYPE type_outtab,&lt;/P&gt;&lt;P&gt;        lv_index    TYPE sy-tabix,&lt;/P&gt;&lt;P&gt;        lv_uom_alt  TYPE aufm-erfme,&lt;/P&gt;&lt;P&gt;        lit_aufm   TYPE STANDARD TABLE OF type_aufm .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  FIELD-SYMBOLS: &amp;lt;lfs_aufm&amp;gt;  TYPE type_aufm,&lt;/P&gt;&lt;P&gt;                 &amp;lt;lfs_mseg&amp;gt;  TYPE type_mseg,&lt;/P&gt;&lt;P&gt;                 &amp;lt;lfs_caufv&amp;gt; TYPE type_caufv,&lt;/P&gt;&lt;P&gt;                 &amp;lt;lfs_mrp&amp;gt;   TYPE type_mrp,&lt;/P&gt;&lt;P&gt;                 &amp;lt;lfs_t024d&amp;gt; TYPE type_t024d,&lt;/P&gt;&lt;P&gt;                 &amp;lt;lfs_mat&amp;gt;   TYPE type_mat,&lt;/P&gt;&lt;P&gt;                 &amp;lt;lfs_matkl&amp;gt; TYPE type_matkl,&lt;/P&gt;&lt;P&gt;                 &amp;lt;lfs_t157e&amp;gt; TYPE type_t157e.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***..Constant for Credit Indicator&lt;/P&gt;&lt;P&gt;  CONSTANTS: lc_credit TYPE char1 VALUE 'H',&lt;/P&gt;&lt;P&gt;***...Constant for Debit Indicator&lt;/P&gt;&lt;P&gt;             lc_debit  TYPE char1 VALUE 'S',&lt;/P&gt;&lt;P&gt;***...Constant for Material 'COBBLED BLOOM'&lt;/P&gt;&lt;P&gt;             lc_matnr  TYPE mara-matnr VALUE 'COBBLED BLOOM',&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***...Constant for Material Measurement "EACH"&lt;/P&gt;&lt;P&gt;             lc_each   TYPE marm-meinh VALUE 'EA',&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***...Constant for Material 'PP_COBBLED_BLOOM'&lt;/P&gt;&lt;P&gt;             lc_pp_cobled_bloom  TYPE mara-matnr VALUE 'PP_COBBLED_BLOOM'.&lt;/P&gt;&lt;P&gt;&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;DELETE git_aufm   WHERE ( bwart = c_531 OR bwart = c_532 )&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                  AND   ( matnr &amp;lt;&amp;gt; lc_matnr ) .&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SORT:git_aufm BY bwart  matnr.&lt;/P&gt;&lt;P&gt;   LOOP AT git_aufm  ASSIGNING &amp;lt;lfs_aufm&amp;gt;.&lt;/P&gt;&lt;P&gt;     IF ( &amp;lt;lfs_aufm&amp;gt;-bwart = c_531 OR &amp;lt;lfs_aufm&amp;gt;-bwart = c_532 )&lt;/P&gt;&lt;P&gt;           AND  ( &amp;lt;lfs_aufm&amp;gt;-matnr = lc_matnr  OR &amp;lt;lfs_aufm&amp;gt;-matnr = lc_pp_cobled_bloom  ).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            APPEND &amp;lt;lfs_aufm&amp;gt; TO lit_aufm.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;     ELSEIF &amp;lt;lfs_aufm&amp;gt;-bwart &amp;lt; c_531 OR &amp;lt;lfs_aufm&amp;gt;-bwart &amp;gt; c_532  .&lt;/P&gt;&lt;P&gt;           APPEND &amp;lt;lfs_aufm&amp;gt; TO lit_aufm.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;     ENDIF.&lt;/P&gt;&lt;P&gt;   ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; DELETE  git_aufm WHERE ( bwart = c_531 OR bwart = c_532 )&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                  AND   ( matnr &amp;lt;&amp;gt; lc_matnr  OR matnr &amp;lt;&amp;gt; lc_pp_cobled_bloom  ) .&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                  AND matnr in ('a','b') .&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; CLEAR:git_aufm.&lt;/P&gt;&lt;P&gt; UNASSIGN:&amp;lt;lfs_aufm&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SORT: lit_aufm  BY aufnr mblnr zeile,&lt;/P&gt;&lt;P&gt;        git_mseg  BY mblnr zeile,&lt;/P&gt;&lt;P&gt;        git_caufv BY aufnr,&lt;/P&gt;&lt;P&gt;        git_caufv BY aufnr,&lt;/P&gt;&lt;P&gt;        git_mrp   BY matnr,&lt;/P&gt;&lt;P&gt;        git_t024d BY werks dispo,&lt;/P&gt;&lt;P&gt;        git_afru  BY wablnr,&lt;/P&gt;&lt;P&gt;        git_mat   BY matnr,&lt;/P&gt;&lt;P&gt;        git_t157e BY bwart grund.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT lit_aufm ASSIGNING &amp;lt;lfs_aufm&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***...Production Order&lt;/P&gt;&lt;P&gt;    ls_outtab-prod_ord    = &amp;lt;lfs_aufm&amp;gt;-aufnr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***Movement Type&lt;/P&gt;&lt;P&gt;    ls_outtab-move_type   = &amp;lt;lfs_aufm&amp;gt;-bwart.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***...Storage Location&lt;/P&gt;&lt;P&gt;    ls_outtab-stor_loc    = &amp;lt;lfs_aufm&amp;gt;-lgort.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***...Component Number&lt;/P&gt;&lt;P&gt;    ls_outtab-comp_number = &amp;lt;lfs_aufm&amp;gt;-matnr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***...Reason for Cobble  for component 'COBBLED BLOOM' only&lt;/P&gt;&lt;P&gt;    IF &amp;lt;lfs_aufm&amp;gt;-matnr = lc_matnr.&lt;/P&gt;&lt;P&gt;      ls_outtab-reas_cobb   = &amp;lt;lfs_aufm&amp;gt;-charg.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***...Component Quantity&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF &amp;lt;lfs_aufm&amp;gt;-shkzg = lc_credit.     "Check for  Credit Indicator&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF  &amp;lt;lfs_aufm&amp;gt;-matnr &amp;lt;&amp;gt; lc_matnr.  "Check for  not COBBLED BLOOM Material&lt;/P&gt;&lt;P&gt;        ls_outtab-comp_qty =  -  ( &amp;lt;lfs_aufm&amp;gt;-erfmg ) .&lt;/P&gt;&lt;P&gt;      ELSEIF &amp;lt;lfs_aufm&amp;gt;-matnr = lc_matnr AND ( &amp;lt;lfs_aufm&amp;gt;-bwart = c_531 OR &amp;lt;lfs_aufm&amp;gt;-bwart = c_532 ) .&lt;/P&gt;&lt;P&gt;        ls_outtab-comp_qty =  ( &amp;lt;lfs_aufm&amp;gt;-erfmg ) .&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ELSEIF &amp;lt;lfs_aufm&amp;gt;-shkzg = lc_debit. "Check for  Debit Indicator&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF  &amp;lt;lfs_aufm&amp;gt;-matnr = lc_matnr AND ( &amp;lt;lfs_aufm&amp;gt;-bwart = c_531 OR &amp;lt;lfs_aufm&amp;gt;-bwart = c_532 ). "Check for COBBLED BLOOM Material&lt;/P&gt;&lt;P&gt;        ls_outtab-comp_qty =  -  ( &amp;lt;lfs_aufm&amp;gt;-erfmg ) .&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;P&gt;        ls_outtab-comp_qty =  ( &amp;lt;lfs_aufm&amp;gt;-erfmg ) .&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***...for movement type 261 for credit indicator the quantity should be +ve&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                      and for Debit indicator quantity should be -ve&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    IF &amp;lt;lfs_aufm&amp;gt;-shkzg = lc_credit AND &amp;lt;lfs_aufm&amp;gt;-bwart = c_261.&lt;/P&gt;&lt;P&gt;      IF ls_outtab-comp_qty &amp;lt; 0.&lt;/P&gt;&lt;P&gt;        ls_outtab-comp_qty  = - ls_outtab-comp_qty.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ELSEIF &amp;lt;lfs_aufm&amp;gt;-shkzg = lc_credit AND &amp;lt;lfs_aufm&amp;gt;-bwart = c_261.&lt;/P&gt;&lt;P&gt;      IF ls_outtab-comp_qty &amp;gt; 0.&lt;/P&gt;&lt;P&gt;        ls_outtab-comp_qty  = - ls_outtab-comp_qty.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***...Unit of Entry&lt;/P&gt;&lt;P&gt;    ls_outtab-uoe = &amp;lt;lfs_aufm&amp;gt;-erfme.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    UNASSIGN: &amp;lt;lfs_mat&amp;gt;.&lt;/P&gt;&lt;P&gt;    READ TABLE git_mat ASSIGNING &amp;lt;lfs_mat&amp;gt; WITH KEY matnr = &amp;lt;lfs_aufm&amp;gt;-matnr&lt;/P&gt;&lt;P&gt;                                           BINARY SEARCH.&lt;/P&gt;&lt;P&gt;    IF  &amp;lt;lfs_mat&amp;gt; IS ASSIGNED.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      lv_index = sy-tabix + 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***...Material Description&lt;/P&gt;&lt;P&gt;      ls_outtab-comp_desc = &amp;lt;lfs_mat&amp;gt;-maktx.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***...Calculatting Alternative Quantity of Component&lt;/P&gt;&lt;P&gt;***...for Credit Indicator Quantity should be -ve but not for Material Number 'COBBLED BLOOM'(+ve)&lt;/P&gt;&lt;P&gt;***...for Debit Indicator Quantity should be +ve but not for Material Number 'COBBLED BLOOM'(-ve)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     IF &amp;lt;lfs_mat&amp;gt;-umrez &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;         IF &amp;lt;lfs_mat&amp;gt;-umren &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        IF &amp;lt;lfs_aufm&amp;gt;-shkzg = lc_credit .     "Check for Credit Indicator&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          IF   &amp;lt;lfs_aufm&amp;gt;-matnr &amp;lt;&amp;gt; lc_matnr. "Check for Material 'COBBLED BLOOM'&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           ls_outtab-comp_qtype_alt = - ( ( &amp;lt;lfs_aufm&amp;gt;-erfmg * &amp;lt;lfs_mat&amp;gt;-umren ) / &amp;lt;lfs_mat&amp;gt;-umrez ).&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;              ls_outtab-comp_qtype_alt = - ( ( &amp;lt;lfs_aufm&amp;gt;-erfmg * &amp;lt;lfs_mat&amp;gt;-umrez  ) /  &amp;lt;lfs_mat&amp;gt;-umren  ).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          ELSE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           ls_outtab-comp_qtype_alt =  ( ( &amp;lt;lfs_aufm&amp;gt;-erfmg * &amp;lt;lfs_mat&amp;gt;-umren ) / &amp;lt;lfs_mat&amp;gt;-umrez ).&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            ls_outtab-comp_qtype_alt =  ( ( &amp;lt;lfs_aufm&amp;gt;-erfmg * &amp;lt;lfs_mat&amp;gt;-umrez ) / &amp;lt;lfs_mat&amp;gt;-umren ) .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        ELSEIF &amp;lt;lfs_aufm&amp;gt;-shkzg = lc_debit.     "Check for Debit Indicator&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          IF  &amp;lt;lfs_aufm&amp;gt;-matnr  = lc_matnr.     "Check for Material 'COBBLE BLOOM'&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;           ls_outtab-comp_qtype_alt = - ( ( &amp;lt;lfs_aufm&amp;gt;-erfmg * &amp;lt;lfs_mat&amp;gt;-umren ) / &amp;lt;lfs_mat&amp;gt;-umrez ).&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;            ls_outtab-comp_qtype_alt = - ( ( &amp;lt;lfs_aufm&amp;gt;-erfmg * &amp;lt;lfs_mat&amp;gt;-umrez ) / &amp;lt;lfs_mat&amp;gt;-umren ).&lt;/P&gt;&lt;P&gt;          ELSE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           ls_outtab-comp_qtype_alt =  ( ( &amp;lt;lfs_aufm&amp;gt;-erfmg * &amp;lt;lfs_mat&amp;gt;-umren ) / &amp;lt;lfs_mat&amp;gt;-umrez ).&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;             ls_outtab-comp_qtype_alt =  ( ( &amp;lt;lfs_aufm&amp;gt;-erfmg * &amp;lt;lfs_mat&amp;gt;-umrez ) / &amp;lt;lfs_mat&amp;gt;-umren ).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          ENDIF.&lt;/P&gt;&lt;P&gt;        ENDIF.                                  "Check for Credit and Debit Indicator&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***...for movement type 261 for credit indicator the quantity should be +ve&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                      and for Debit indicator quantity should be -ve&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      IF &amp;lt;lfs_aufm&amp;gt;-shkzg = lc_credit AND &amp;lt;lfs_aufm&amp;gt;-bwart = c_261.&lt;/P&gt;&lt;P&gt;        IF ls_outtab-comp_qtype_alt &amp;lt; 0.&lt;/P&gt;&lt;P&gt;          ls_outtab-comp_qtype_alt  = - ls_outtab-comp_qtype_alt.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;      ELSEIF &amp;lt;lfs_aufm&amp;gt;-shkzg = lc_debit AND &amp;lt;lfs_aufm&amp;gt;-bwart = c_261.&lt;/P&gt;&lt;P&gt;        IF ls_outtab-comp_qtype_alt &amp;gt; 0.&lt;/P&gt;&lt;P&gt;          ls_outtab-comp_qtype_alt  = - ls_outtab-comp_qtype_alt.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***...Alternative unit of measurement&lt;/P&gt;&lt;P&gt;***************************************************************************************&lt;/P&gt;&lt;P&gt;      lv_uom_alt = &amp;lt;lfs_mat&amp;gt;-meinh.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF &amp;lt;lfs_aufm&amp;gt;-erfme &amp;lt;&amp;gt; &amp;lt;lfs_mat&amp;gt;-meinh.  "Check for Unit of entry and alternative Unit of Measurement are not equal&lt;/P&gt;&lt;P&gt;        ls_outtab-uom_alt   = lv_uom_alt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        UNASSIGN: &amp;lt;lfs_mat&amp;gt;.&lt;/P&gt;&lt;P&gt;        READ TABLE git_mat ASSIGNING &amp;lt;lfs_mat&amp;gt; INDEX lv_index.&lt;/P&gt;&lt;P&gt;        IF &amp;lt;lfs_mat&amp;gt; IS ASSIGNED .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          IF &amp;lt;lfs_mat&amp;gt;-matnr =  &amp;lt;lfs_aufm&amp;gt;-matnr.&lt;/P&gt;&lt;P&gt;            ls_outtab-uom_alt = &amp;lt;lfs_mat&amp;gt;-meinh.&lt;/P&gt;&lt;P&gt;          ELSE.&lt;/P&gt;&lt;P&gt;            ls_outtab-uom_alt =   lv_uom_alt .&lt;/P&gt;&lt;P&gt;          ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**************************************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      CLEAR:lv_index,&lt;/P&gt;&lt;P&gt;            lv_uom_alt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    READ TABLE git_caufv ASSIGNING &amp;lt;lfs_caufv&amp;gt; WITH KEY aufnr = &amp;lt;lfs_aufm&amp;gt;-aufnr&lt;/P&gt;&lt;P&gt;                                               BINARY SEARCH.&lt;/P&gt;&lt;P&gt;    IF &amp;lt;lfs_caufv&amp;gt; IS ASSIGNED.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***...Order Type&lt;/P&gt;&lt;P&gt;      ls_outtab-ord_type    = &amp;lt;lfs_caufv&amp;gt;-auart.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***...Plant&lt;/P&gt;&lt;P&gt;      ls_outtab-plant       = &amp;lt;lfs_caufv&amp;gt;-werks.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***...Order release Date&lt;/P&gt;&lt;P&gt;      ls_outtab-ord_release = &amp;lt;lfs_caufv&amp;gt;-ftrmi.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;****...Posting Date&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     ls_outtab-post_date = &amp;lt;lfs_aufm&amp;gt;-budat.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        ls_outtab-post_date = &amp;lt;lfs_caufv&amp;gt;-ftrmi.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***...Material Group&lt;/P&gt;&lt;P&gt;      READ TABLE git_matkl ASSIGNING &amp;lt;lfs_matkl&amp;gt; WITH KEY matnr = &amp;lt;lfs_caufv&amp;gt;-plnbez&lt;/P&gt;&lt;P&gt;                                                 BINARY SEARCH.&lt;/P&gt;&lt;P&gt;      IF &amp;lt;lfs_matkl&amp;gt; IS ASSIGNED.&lt;/P&gt;&lt;P&gt;        ls_outtab-mat_group = &amp;lt;lfs_matkl&amp;gt;-matkl.&lt;/P&gt;&lt;P&gt;        UNASSIGN:&amp;lt;lfs_matkl&amp;gt;.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      UNASSIGN:&amp;lt;lfs_caufv&amp;gt;.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;****...Posting Date&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    READ TABLE git_mseg ASSIGNING &amp;lt;lfs_mseg&amp;gt; WITH KEY mblnr = &amp;lt;lfs_aufm&amp;gt;-mblnr&lt;/P&gt;&lt;P&gt;                                                      zeile = &amp;lt;lfs_aufm&amp;gt;-zeile&lt;/P&gt;&lt;P&gt;                                                      BINARY SEARCH  .&lt;/P&gt;&lt;P&gt;    IF  &amp;lt;lfs_mseg&amp;gt; IS ASSIGNED.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;       IF &amp;lt;lfs_aufm&amp;gt;-matnr = lc_pp_cobled_bloom .&lt;/P&gt;&lt;P&gt;         ls_outtab-reas_cobb  = &amp;lt;lfs_mseg&amp;gt;-sgtxt.              "Item Text&lt;/P&gt;&lt;P&gt;       ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      READ TABLE git_t157e ASSIGNING &amp;lt;lfs_t157e&amp;gt; WITH KEY bwart = &amp;lt;lfs_mseg&amp;gt;-bwart&lt;/P&gt;&lt;P&gt;                                                          grund = &amp;lt;lfs_mseg&amp;gt;-grund&lt;/P&gt;&lt;P&gt;                                                          BINARY SEARCH.&lt;/P&gt;&lt;P&gt;      IF  &amp;lt;lfs_t157e&amp;gt; IS ASSIGNED.&lt;/P&gt;&lt;P&gt;***...Shift&lt;/P&gt;&lt;P&gt;        ls_outtab-shift     = &amp;lt;lfs_t157e&amp;gt;-grtxt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;      UNASSIGN:&amp;lt;lfs_mseg&amp;gt;,&lt;/P&gt;&lt;P&gt;               &amp;lt;lfs_t157e&amp;gt; .&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    READ TABLE git_mrp ASSIGNING &amp;lt;lfs_mrp&amp;gt; WITH KEY matnr = &amp;lt;lfs_aufm&amp;gt;-matnr&lt;/P&gt;&lt;P&gt;                                           BINARY SEARCH.&lt;/P&gt;&lt;P&gt;    IF  &amp;lt;lfs_mrp&amp;gt; IS ASSIGNED.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***...MRP Controller&lt;/P&gt;&lt;P&gt;      ls_outtab-mrp_cntrl = &amp;lt;lfs_mrp&amp;gt;-dispo.&lt;/P&gt;&lt;P&gt;      READ TABLE git_t024d ASSIGNING &amp;lt;lfs_t024d&amp;gt; WITH KEY werks = &amp;lt;lfs_mrp&amp;gt;-werks&lt;/P&gt;&lt;P&gt;                                                          dispo = &amp;lt;lfs_mrp&amp;gt;-dispo&lt;/P&gt;&lt;P&gt;                                                 BINARY SEARCH.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF &amp;lt;lfs_t024d&amp;gt; IS ASSIGNED.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***...Name of MRP Controller&lt;/P&gt;&lt;P&gt;        ls_outtab-name_cntrl = &amp;lt;lfs_t024d&amp;gt;-dsnam.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        UNASSIGN:&amp;lt;lfs_t024d&amp;gt;.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;      UNASSIGN:&amp;lt;lfs_mrp&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***...Actual Each&lt;/P&gt;&lt;P&gt;    IF ls_outtab-uoe = lc_each.   "Check for EACH&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ls_outtab-act_each   = ls_outtab-comp_qty .&lt;/P&gt;&lt;P&gt;      ls_outtab-act_uom    = ls_outtab-uoe  .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ELSEIF ls_outtab-uom_alt = lc_each.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ls_outtab-act_each   = ls_outtab-comp_qtype_alt .&lt;/P&gt;&lt;P&gt;      ls_outtab-act_uom    = ls_outtab-uom_alt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    APPEND ls_outtab TO git_outtab.&lt;/P&gt;&lt;P&gt;    CLEAR: ls_outtab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SORT:git_outtab BY post_date .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***...These tables no further needed&lt;/P&gt;&lt;P&gt;  CLEAR:git_aufm,&lt;/P&gt;&lt;P&gt;        git_mat,&lt;/P&gt;&lt;P&gt;        git_mrp,&lt;/P&gt;&lt;P&gt;        git_t024d,&lt;/P&gt;&lt;P&gt;        git_caufv,&lt;/P&gt;&lt;P&gt;        git_mseg,&lt;/P&gt;&lt;P&gt;        git_afru,&lt;/P&gt;&lt;P&gt;        git_t157e,&lt;/P&gt;&lt;P&gt;        ls_outtab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " populate_outtab&lt;/P&gt;&lt;P&gt;&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  display&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;      text:perform to build field catalog, events and layout&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;/P&gt;&lt;P&gt;FORM display .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF git_outtab IS NOT INITIAL.&lt;/P&gt;&lt;P&gt;    PERFORM build_fieldcat.&lt;/P&gt;&lt;P&gt;    PERFORM build_sort.&lt;/P&gt;&lt;P&gt;    PERFORM build_layout.&lt;/P&gt;&lt;P&gt;    PERFORM build_events.&lt;/P&gt;&lt;P&gt;    PERFORM display_output.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    MESSAGE text-024 TYPE c_inf.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " display_output&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  build_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;      text:Subroutine to Build the Field Catalog&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;/P&gt;&lt;P&gt;FORM build_fieldcat .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM fieldcat USING 'POST_DATE'     1   c_x text-005   10&lt;/P&gt;&lt;P&gt;                   CHANGING git_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM fieldcat USING 'SHIFT'         2   '' text-006    20&lt;/P&gt;&lt;P&gt;                   CHANGING git_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM fieldcat USING 'MRP_CNTRL'     3   '' text-007     3&lt;/P&gt;&lt;P&gt;                   CHANGING git_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM fieldcat USING 'NAME_CNTRL'    4   '' text-008    18&lt;/P&gt;&lt;P&gt;                   CHANGING git_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM fieldcat USING 'ORD_TYPE'      5   '' text-009     4&lt;/P&gt;&lt;P&gt;                   CHANGING git_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM fieldcat USING 'PLANT'         6   '' text-010     4&lt;/P&gt;&lt;P&gt;                   CHANGING git_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM fieldcat USING 'MAT_GROUP'     7   '' text-011     9&lt;/P&gt;&lt;P&gt;                   CHANGING git_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM fieldcat USING 'PROD_ORD'      8   ''  text-012   12&lt;/P&gt;&lt;P&gt;                   CHANGING git_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM fieldcat USING 'ORD_RELEASE'   9   ''  text-013   10&lt;/P&gt;&lt;P&gt;                   CHANGING git_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM fieldcat USING 'MOVE_TYPE'    10   ''  text-014    3&lt;/P&gt;&lt;P&gt;                   CHANGING git_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM fieldcat USING 'STOR_LOC'     11   ''  text-015    4&lt;/P&gt;&lt;P&gt;                   CHANGING git_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM fieldcat USING 'COMP_NUMBER'  12   ''  text-016    18&lt;/P&gt;&lt;P&gt;                   CHANGING git_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM fieldcat USING 'COMP_DESC'    13    '' text-017    40&lt;/P&gt;&lt;P&gt;                   CHANGING git_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM fieldcat USING 'COMP_QTY'     14    '' text-018    17&lt;/P&gt;&lt;P&gt;                   CHANGING git_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM fieldcat USING 'UOE'          15    '' text-019     3&lt;/P&gt;&lt;P&gt;                   CHANGING git_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM fieldcat USING 'COMP_QTYPE_ALT' 16    '' text-020  17&lt;/P&gt;&lt;P&gt;                   CHANGING git_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM fieldcat USING 'UOM_ALT'      17    '' text-021     3&lt;/P&gt;&lt;P&gt;                   CHANGING git_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM fieldcat USING 'REAS_COBB'    18    '' text-022    50&lt;/P&gt;&lt;P&gt;                   CHANGING git_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM fieldcat USING 'ACT_EACH'     19    '' text-026    17&lt;/P&gt;&lt;P&gt;                   CHANGING git_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " build_fieldcat&lt;/P&gt;&lt;P&gt;&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  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;      text:Subroutine to populate Fieldcatalog internal 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;     --&amp;gt;P_FIELDNAME    text: Field Name&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_COL_POS      text:Column Position&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_KEY          text:Key&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_SELTEXT      text:Sel Text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     &amp;lt;--P_GIT_fieldcat text:Field catalog internal 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;P&gt;FORM fieldcat  USING   p_fieldname  TYPE slis_fieldcat_alv-fieldname&lt;/P&gt;&lt;P&gt;                       p_col_pos    TYPE slis_fieldcat_alv-col_pos&lt;/P&gt;&lt;P&gt;                       p_key        TYPE char1&lt;/P&gt;&lt;P&gt;                       p_seltext    TYPE rs38m-itex132&lt;/P&gt;&lt;P&gt;                       p_outputlen  TYPE  dd03p-outputlen&lt;/P&gt;&lt;P&gt;              CHANGING p_git_fieldcat TYPE slis_t_fieldcat_alv.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: ls_fieldcat TYPE slis_fieldcat_alv.&lt;/P&gt;&lt;P&gt;  ls_fieldcat-ROW_POS  = '01'.&lt;/P&gt;&lt;P&gt;  ls_fieldcat-fieldname  = p_fieldname.&lt;/P&gt;&lt;P&gt;  ls_fieldcat-col_pos    = p_col_pos.&lt;/P&gt;&lt;P&gt;  ls_fieldcat-key        = p_key.&lt;/P&gt;&lt;P&gt;  ls_fieldcat-seltext_s  = p_seltext.&lt;/P&gt;&lt;P&gt;  ls_fieldcat-seltext_m  = p_seltext.&lt;/P&gt;&lt;P&gt;  ls_fieldcat-seltext_l  = p_seltext.&lt;/P&gt;&lt;P&gt;  ls_fieldcat-tabname    = c_outtab.&lt;/P&gt;&lt;P&gt;  ls_fieldcat-outputlen  = p_outputlen.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF ls_fieldcat-fieldname = c_comp_qty .&lt;/P&gt;&lt;P&gt;    ls_fieldcat-do_sum     = c_x.&lt;/P&gt;&lt;P&gt;    ls_fieldcat-tabname    = c_outtab.&lt;/P&gt;&lt;P&gt;    ls_fieldcat-qfieldname = c_uoe.&lt;/P&gt;&lt;P&gt;    ls_fieldcat-qtabname   = c_outtab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF ls_fieldcat-fieldname = c_comp_qtype_alt .&lt;/P&gt;&lt;P&gt;    ls_fieldcat-do_sum     = c_x.&lt;/P&gt;&lt;P&gt;    ls_fieldcat-tabname    = c_outtab.&lt;/P&gt;&lt;P&gt;    ls_fieldcat-qfieldname = c_uom_alt.&lt;/P&gt;&lt;P&gt;    ls_fieldcat-qtabname   = c_outtab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF ls_fieldcat-fieldname = c_act_each .&lt;/P&gt;&lt;P&gt;    ls_fieldcat-do_sum     = c_x.&lt;/P&gt;&lt;P&gt;    ls_fieldcat-tabname    = c_outtab.&lt;/P&gt;&lt;P&gt;    ls_fieldcat-qfieldname = c_act_uom  .&lt;/P&gt;&lt;P&gt;    ls_fieldcat-qtabname   = c_outtab.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  APPEND ls_fieldcat TO p_git_fieldcat.&lt;/P&gt;&lt;P&gt;  CLEAR: ls_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " fieldcat&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&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  build_events&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;      text:Subroutine to build events&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;/P&gt;&lt;P&gt;FORM build_events .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  FIELD-SYMBOLS:&amp;lt;lfs_event&amp;gt; TYPE slis_alv_event.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;BREAK-POINT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'REUSE_ALV_EVENTS_GET'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      i_list_type     = 0&lt;/P&gt;&lt;P&gt;    IMPORTING&lt;/P&gt;&lt;P&gt;      et_events       = git_event&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      list_type_wrong = 1&lt;/P&gt;&lt;P&gt;      OTHERS          = 2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CHECK sy-subrc = 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;         SORT git_event BY name.&lt;/P&gt;&lt;P&gt;      READ TABLE git_event  ASSIGNING &amp;lt;lfs_event&amp;gt; WITH KEY name = slis_ev_top_of_page&lt;/P&gt;&lt;P&gt;                                          BINARY SEARCH.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF  sy-subrc = 0.&lt;/P&gt;&lt;P&gt;        &amp;lt;lfs_event&amp;gt;-form = slis_ev_top_of_page.&lt;/P&gt;&lt;P&gt;        UNASSIGN &amp;lt;lfs_event&amp;gt;.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;       READ TABLE git_event ASSIGNING &amp;lt;lfs_event&amp;gt; WITH KEY name = slis_ev_subtotal_text&lt;/P&gt;&lt;P&gt;                                                  BINARY SEARCH.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;       CHECK sy-subrc = 0.&lt;/P&gt;&lt;P&gt;            &amp;lt;lfs_event&amp;gt;-form = slis_ev_subtotal_text.&lt;/P&gt;&lt;P&gt;            UNASSIGN:&amp;lt;lfs_event&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " build_events&lt;/P&gt;&lt;P&gt;&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  build_layout&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;      text&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;/P&gt;&lt;P&gt;FORM build_layout .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  gs_layout-zebra              = c_x.&lt;/P&gt;&lt;P&gt;  gs_layout-colwidth_optimize  = c_x.&lt;/P&gt;&lt;P&gt;  gs_layout-no_totalline       = c_x.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " build_layout&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  build_sort&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;      text:Subroutine to Build Sort 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;P&gt;&lt;/P&gt;&lt;P&gt;FORM build_sort .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA:ls_sort TYPE slis_sortinfo_alv.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ls_sort-spos      = '01'.&lt;/P&gt;&lt;P&gt;  ls_sort-fieldname = 'POST_DATE'.&lt;/P&gt;&lt;P&gt;  ls_sort-tabname   = 'GIT_OUTTAB'.&lt;/P&gt;&lt;P&gt;  ls_sort-UP        = c_x.&lt;/P&gt;&lt;P&gt;  ls_sort-subtot    = c_x.&lt;/P&gt;&lt;P&gt;  ls_sort-up        = c_x.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  APPEND ls_sort TO git_sort.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR:ls_sort.&lt;/P&gt;&lt;P&gt;   ls_sort-spos     =  '02'.&lt;/P&gt;&lt;P&gt;  ls_sort-fieldname = 'MOVE_TYPE'.&lt;/P&gt;&lt;P&gt;  ls_sort-tabname   = 'GIT_OUTTAB'.&lt;/P&gt;&lt;P&gt;  ls_sort-subtot    = c_x.&lt;/P&gt;&lt;P&gt;  ls_sort-UP        = c_x.&lt;/P&gt;&lt;P&gt;  ls_sort-subtot    = c_x.&lt;/P&gt;&lt;P&gt;  APPEND ls_sort TO git_sort.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " build_sort&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&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  display_output&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;      text:Subroutine to display output&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;/P&gt;&lt;P&gt;FORM display_output .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA:lv_repid  TYPE sy-repid.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CONSTANTS:lc_save TYPE char1 VALUE 'A'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  lv_repid = sy-repid.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      i_callback_program = lv_repid&lt;/P&gt;&lt;P&gt;      is_layout          = gs_layout&lt;/P&gt;&lt;P&gt;      it_fieldcat        = git_fieldcat[]&lt;/P&gt;&lt;P&gt;      it_sort            = git_sort&lt;/P&gt;&lt;P&gt;      i_default          = c_x&lt;/P&gt;&lt;P&gt;      i_save             = lc_save&lt;/P&gt;&lt;P&gt;      it_events          = git_event[]&lt;/P&gt;&lt;P&gt;    TABLES&lt;/P&gt;&lt;P&gt;      t_outtab           = git_outtab[]&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      program_error      = 1&lt;/P&gt;&lt;P&gt;      OTHERS             = 2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CHECK sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;       MESSAGE text-025 TYPE c_inf.&lt;/P&gt;&lt;P&gt;       LEAVE LIST-PROCESSING.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " display_output&lt;/P&gt;&lt;P&gt;&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  top_of_page&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;      text:Subroutine to build top of page event to display&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 top_of_page.                                           "#EC CALLED&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: ls_list TYPE slis_listheader,&lt;/P&gt;&lt;P&gt;        lit_list TYPE slis_t_listheader.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;BREAK-POINT.&lt;/P&gt;&lt;P&gt;  ls_list-typ  = 'H'.&lt;/P&gt;&lt;P&gt;  ls_list-info =  text-023.&lt;/P&gt;&lt;P&gt;  APPEND ls_list TO lit_list.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      it_list_commentary = lit_list.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                                    "top_of_page&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  SUBTOTAL_TEXT&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;      text:Subroutine for Sub Total Text&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;   p_total         :Totals&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   p_subtotal_text:SubTotals&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;/P&gt;&lt;P&gt; FORM subtotal_text CHANGING p_total TYPE any&lt;/P&gt;&lt;P&gt;                             p_subtotal_text TYPE slis_subtot_text.    "#EC CALLED&lt;/P&gt;&lt;P&gt;BREAK-POINT.&lt;/P&gt;&lt;P&gt;   IF p_subtotal_text-criteria = 'POST_DATE'.&lt;/P&gt;&lt;P&gt;      p_subtotal_text-display_text_for_subtotal = text-027.&lt;/P&gt;&lt;P&gt;   ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   IF p_subtotal_text-criteria = 'MOVE_TYPE'.&lt;/P&gt;&lt;P&gt;      p_subtotal_text-display_text_for_subtotal = text-028.&lt;/P&gt;&lt;P&gt;   ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; ENDFORM.            "SUBTOTAL_TEXT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Edited by: Shashikumar Guntuka on Jul 3, 2008 6:53 AM&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Edited by: Shashikumar Guntuka on Jul 3, 2008 6:54 AM&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 03 Jul 2008 04:46:40 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2008-07-03T04:46:40Z</dc:date>
    <item>
      <title>No Subtotal Text</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/no-subtotal-text/m-p/4058446#M970157</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Gurus,&lt;/P&gt;&lt;P&gt;I developed ALV Report(Grid Dispalay)&lt;/P&gt;&lt;P&gt;I am getting Subtotals but I am not getting SubTotal Text.&lt;/P&gt;&lt;P&gt;for Subtotal text I used REUSE_ALV_EVENTS_GET &lt;/P&gt;&lt;P&gt;and I am passing the form name for the Subtotal Text.&lt;/P&gt;&lt;P&gt;but the form is not calling by ALV&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;give me the sollution for this problem&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;program.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT  zrpp33a NO STANDARD PAGE HEADING.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*******************************************************************&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="9" type="ul"&gt;&lt;P&gt;             T Y P E  P O O L S                **********&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;*******************************************************************&lt;/P&gt;&lt;P&gt;TYPE-POOLS: slis.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*******************************************************************&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="9" type="ul"&gt;&lt;P&gt;                  T Y P E S                    **********&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;*******************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***...Types for Materilas&lt;/P&gt;&lt;P&gt;TYPES: BEGIN OF type_mat,&lt;/P&gt;&lt;P&gt;       matnr TYPE mara-matnr,   "Material Number&lt;/P&gt;&lt;P&gt;       matkl TYPE mara-matkl,   "Material Group&lt;/P&gt;&lt;P&gt;       maktx TYPE makt-maktx,   "Material Description (Short Text)&lt;/P&gt;&lt;P&gt;       meinh TYPE marm-meinh,   "Alternative Unit of Measure for Stockkeeping Unit&lt;/P&gt;&lt;P&gt;       umrez TYPE marm-umrez,   "Numerator for Conversion to Base Units of Measure&lt;/P&gt;&lt;P&gt;       umren TYPE marm-umren,   "Denominator for conversion to base units of measure&lt;/P&gt;&lt;P&gt;       END OF type_mat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***...Types for MATKL&lt;/P&gt;&lt;P&gt;TYPES: BEGIN OF type_matkl,&lt;/P&gt;&lt;P&gt;        matnr TYPE mara-matnr,&lt;/P&gt;&lt;P&gt;        matkl TYPE mara-matkl,&lt;/P&gt;&lt;P&gt;        END OF type_matkl.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***...Types for MRP&lt;/P&gt;&lt;P&gt;TYPES: BEGIN OF type_mrp,&lt;/P&gt;&lt;P&gt;       matnr TYPE mara-matnr,   "Material Number&lt;/P&gt;&lt;P&gt;       werks TYPE marc-werks,   "Plant&lt;/P&gt;&lt;P&gt;       dispo TYPE marc-dispo,   "MRP Controller (Materials Planner)&lt;/P&gt;&lt;P&gt;       END OF type_mrp.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES: BEGIN OF type_t024d,&lt;/P&gt;&lt;P&gt;       werks TYPE t024d-werks,   "Plant&lt;/P&gt;&lt;P&gt;       dispo TYPE t024d-dispo,   "MRP Controller (Materials Planner)&lt;/P&gt;&lt;P&gt;       dsnam TYPE t024d-dsnam,   "Name MRP controller&lt;/P&gt;&lt;P&gt;       END OF type_t024d.&lt;/P&gt;&lt;P&gt;***...Types for CAUFV&lt;/P&gt;&lt;P&gt;TYPES: BEGIN OF type_caufv,&lt;/P&gt;&lt;P&gt;       aufnr TYPE caufv-aufnr,   "Order Number&lt;/P&gt;&lt;P&gt;       auart TYPE caufv-auart,   "Order Type&lt;/P&gt;&lt;P&gt;       werks TYPE caufv-werks,   "Plant&lt;/P&gt;&lt;P&gt;       ftrmi TYPE caufv-ftrmi,   "Actual release date&lt;/P&gt;&lt;P&gt;       plnbez TYPE caufv-plnbez, "Material Number&lt;/P&gt;&lt;P&gt;       END OF type_caufv.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***...Types for AUFM&lt;/P&gt;&lt;P&gt;TYPES: BEGIN OF type_aufm,&lt;/P&gt;&lt;P&gt;       mblnr TYPE aufm-mblnr,    "Number of Material Document&lt;/P&gt;&lt;P&gt;       zeile TYPE aufm-zeile,    "Item in Material Document&lt;/P&gt;&lt;P&gt;       budat TYPE aufm-budat,    "Posting Date in the Document&lt;/P&gt;&lt;P&gt;       bwart TYPE aufm-bwart,    "Movement Type (Inventory Management)&lt;/P&gt;&lt;P&gt;       matnr TYPE aufm-matnr,    "Material Number(Component Number)&lt;/P&gt;&lt;P&gt;       lgort TYPE aufm-lgort,    "Storage Location&lt;/P&gt;&lt;P&gt;       charg TYPE aufm-charg,    "Batch Number&lt;/P&gt;&lt;P&gt;       shkzg TYPE aufm-shkzg,    "Debit/Credit Indicator&lt;/P&gt;&lt;P&gt;       erfmg TYPE aufm-erfmg,    "Quantity in Unit of Entry&lt;/P&gt;&lt;P&gt;       erfme TYPE aufm-erfme,    "Unit of Entry&lt;/P&gt;&lt;P&gt;       aufnr TYPE aufm-aufnr,    "Order Number&lt;/P&gt;&lt;P&gt;       END OF type_aufm.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***...Types for AFRU&lt;/P&gt;&lt;P&gt;TYPES:BEGIN OF type_afru,&lt;/P&gt;&lt;P&gt;      grund  TYPE afru-grund,   "Reason for Variance&lt;/P&gt;&lt;P&gt;      wablnr TYPE afru-wablnr,  "Number of Material Document&lt;/P&gt;&lt;P&gt;      budat  TYPE afru-budat,   "Posting date&lt;/P&gt;&lt;P&gt;      END OF type_afru.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES: BEGIN OF type_mseg,&lt;/P&gt;&lt;P&gt;       mblnr TYPE mseg-mblnr,   "Number of Material Document&lt;/P&gt;&lt;P&gt;       zeile TYPE mseg-zeile,   "Item in Material Document&lt;/P&gt;&lt;P&gt;       bwart TYPE mseg-bwart,   "Movement Type (Inventory Management)&lt;/P&gt;&lt;P&gt;       sgtxt TYPE mseg-sgtxt,   "Item Text&lt;/P&gt;&lt;P&gt;       grund TYPE mseg-grund,   "Reason for Movement&lt;/P&gt;&lt;P&gt;       END OF type_mseg.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES: BEGIN OF type_t157e,&lt;/P&gt;&lt;P&gt;       bwart TYPE t157e-bwart,  "Movement Type (Inventory Management)&lt;/P&gt;&lt;P&gt;       grund TYPE t157e-grund,  "Reason for Movement&lt;/P&gt;&lt;P&gt;       grtxt TYPE t157e-grtxt,  "Text: Reason for Goods Movement&lt;/P&gt;&lt;P&gt;       END OF type_t157e.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***...Types for Output Table&lt;/P&gt;&lt;P&gt;TYPES: BEGIN OF type_outtab,&lt;/P&gt;&lt;P&gt;       post_date      TYPE afru-budat,     "Posting Date&lt;/P&gt;&lt;P&gt;       shift          TYPE t157e-grtxt,    "Text: Reason for Goods Movement&lt;/P&gt;&lt;P&gt;       mrp_cntrl      TYPE marc-dispo,     "MRP Controller (Materials Planner)&lt;/P&gt;&lt;P&gt;       name_cntrl     TYPE v_t024d-dsnam,  "Name of MRP controller&lt;/P&gt;&lt;P&gt;       ord_type       TYPE caufv-auart,    "Order Type&lt;/P&gt;&lt;P&gt;       plant          TYPE marc-werks  ,   "Plant&lt;/P&gt;&lt;P&gt;       mat_group      TYPE mara-matkl,    "Material Group&lt;/P&gt;&lt;P&gt;       prod_ord       TYPE aufm-aufnr,     "Order Numbers&lt;/P&gt;&lt;P&gt;       ord_release    TYPE caufv-ftrmi,    "Actual release date&lt;/P&gt;&lt;P&gt;       move_type      TYPE aufm-bwart,     "Movement Type (Inventory Management)&lt;/P&gt;&lt;P&gt;       stor_loc       TYPE aufm-lgort,     "Storage Location&lt;/P&gt;&lt;P&gt;       comp_number    TYPE aufm-matnr,     "Material Number&lt;/P&gt;&lt;P&gt;       comp_desc      TYPE makt-maktx,     "Material Description (Short Text)&lt;/P&gt;&lt;P&gt;       comp_qty       TYPE aufm-erfmg,     "Quantity in Unit of Entry&lt;/P&gt;&lt;P&gt;       uoe            TYPE aufm-erfme,     "Unit of Entry&lt;/P&gt;&lt;P&gt;       comp_qtype_alt TYPE aufm-erfmg,     "Quantity in Unit of Entry(Alternative)&lt;/P&gt;&lt;P&gt;       uom_alt        TYPE marm-meinh,     "Unit of Entry((Alternative))&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      reas_cobb      TYPE aufm-charg,     "Batch Number&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;       reas_cobb      TYPE mseg-sgtxt,     "Item Text&lt;/P&gt;&lt;P&gt;       act_each       TYPE aufm-erfmg,     "Quantity in Unit of Entry(Alternative)&lt;/P&gt;&lt;P&gt;       act_uom        TYPE aufm-erfme,     "Unit of Entry&lt;/P&gt;&lt;P&gt;       END OF type_outtab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*******************************************************************&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="9" type="ul"&gt;&lt;P&gt;               C O N S T A N T S               **********&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;*******************************************************************&lt;/P&gt;&lt;P&gt;***...Constant to store 'X'&lt;/P&gt;&lt;P&gt;CONSTANTS:c_x            TYPE char1                       VALUE 'X',&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***...Constant to store 'E' for Error Message&lt;/P&gt;&lt;P&gt;          c_error        TYPE char1                       VALUE 'E',&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***...Constant to store 'I' for Information Message&lt;/P&gt;&lt;P&gt;          c_inf          TYPE char1                       VALUE 'I',&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***...Constant to store Output Table Name 'GIT_OUTTAB',&lt;/P&gt;&lt;P&gt;          c_outtab       TYPE slis_fieldcat_alv-tabname   VALUE 'GIT_OUTTAB',&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***...Constant to store Quantity Field Name 'COMP_QTY',&lt;/P&gt;&lt;P&gt;          c_comp_qty     TYPE slis_fieldcat_alv-fieldname VALUE 'COMP_QTY',&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***...Constant to store Unit of Entry Field Name  'UOE'&lt;/P&gt;&lt;P&gt;          c_uoe          TYPE slis_fieldcat_alv-fieldname VALUE 'UOE',&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***...Constant to store Alternative Component Quantity field name 'COMP_QTYPE_ALT'&lt;/P&gt;&lt;P&gt;          c_comp_qtype_alt TYPE slis_fieldcat_alv-fieldname VALUE 'COMP_QTYPE_ALT',&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***...Constant to store Ulternative Unit of Measurement field name 'UOM_ALT'&lt;/P&gt;&lt;P&gt;          c_uom_alt      TYPE slis_fieldcat_alv-fieldname VALUE 'UOM_ALT',&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***...Constant to store Actual Each Field name  'ACT_EACH',&lt;/P&gt;&lt;P&gt;          c_act_each     TYPE slis_fieldcat_alv-fieldname VALUE 'ACT_EACH',&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***...Constant to store Actual Unit of Measurement Field Name 'ACT_UOM'&lt;/P&gt;&lt;P&gt;          c_act_uom      TYPE slis_fieldcat_alv-fieldname VALUE 'ACT_UOM' ,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***...Constant for Movement Type '261'&lt;/P&gt;&lt;P&gt;          c_261          TYPE aufm-bwart                  VALUE  '261',&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***...Constant for Movement Type '262'&lt;/P&gt;&lt;P&gt;          c_262          TYPE aufm-bwart                  VALUE  '262',&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***...Constant for Movement Type '531'&lt;/P&gt;&lt;P&gt;          c_531          TYPE aufm-bwart                  VALUE  '531',&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***...Constant for Movement Type '532'&lt;/P&gt;&lt;P&gt;          c_532          TYPE aufm-bwart                  VALUE  '532'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*******************************************************************&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="9" type="ul"&gt;&lt;P&gt;               W O R K   A R E A               **********&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;*******************************************************************&lt;/P&gt;&lt;P&gt;***...Work Area for SELECT-OPTIONS Material Group&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF gs_matkl,&lt;/P&gt;&lt;P&gt;      matkl TYPE t023-matkl,&lt;/P&gt;&lt;P&gt;      END OF gs_matkl.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***...Work Area for SELECT-OPTIONS Plant&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF gs_werks,&lt;/P&gt;&lt;P&gt;      werks TYPE t001w-werks,&lt;/P&gt;&lt;P&gt;      END OF gs_werks.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***...Work Area for SELECT-OPTIONS Order type&lt;/P&gt;&lt;P&gt;DATA:BEGIN OF gs_auart,&lt;/P&gt;&lt;P&gt;     auart TYPE t003o-auart,&lt;/P&gt;&lt;P&gt;     END OF gs_auart.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***...Work Area for SELECT-OPTIONS Acutal release Date&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF gs_ftrmi,&lt;/P&gt;&lt;P&gt;      ftrmi TYPE caufv-ftrmi,&lt;/P&gt;&lt;P&gt;      END OF gs_ftrmi.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***...Work Area for ALV Layout&lt;/P&gt;&lt;P&gt;DATA: gs_layout TYPE slis_layout_alv.&lt;/P&gt;&lt;P&gt;*******************************************************************&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="9" type="ul"&gt;&lt;P&gt;        I N T E R N A L   T A B L E S          **********&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;*******************************************************************&lt;/P&gt;&lt;P&gt;DATA:git_mat      TYPE STANDARD TABLE OF type_mat,&lt;/P&gt;&lt;P&gt;     git_matkl    TYPE STANDARD TABLE OF type_matkl,&lt;/P&gt;&lt;P&gt;     git_mrp      TYPE STANDARD TABLE OF type_mrp,&lt;/P&gt;&lt;P&gt;     git_t024d    TYPE STANDARD TABLE OF type_t024d,&lt;/P&gt;&lt;P&gt;     git_caufv    TYPE STANDARD TABLE OF type_caufv,&lt;/P&gt;&lt;P&gt;     git_aufm     TYPE STANDARD TABLE OF type_aufm ,&lt;/P&gt;&lt;P&gt;     git_afru     TYPE STANDARD TABLE OF type_afru,&lt;/P&gt;&lt;P&gt;     git_mseg     TYPE STANDARD TABLE OF type_mseg,&lt;/P&gt;&lt;P&gt;     git_t157e    TYPE STANDARD TABLE OF type_t157e,&lt;/P&gt;&lt;P&gt;     git_outtab   TYPE STANDARD TABLE OF type_outtab,&lt;/P&gt;&lt;P&gt;     git_fieldcat TYPE STANDARD TABLE OF slis_fieldcat_alv,&lt;/P&gt;&lt;P&gt;     git_event    TYPE STANDARD TABLE OF slis_alv_event,&lt;/P&gt;&lt;P&gt;     git_sort     TYPE            slis_t_sortinfo_alv.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*******************************************************************&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="9" type="ul"&gt;&lt;P&gt;        F I E L D  S Y M B O L S               **********&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;*******************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*******************************************************************&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="9" type="ul"&gt;&lt;P&gt;     S E L E C T I O N - S C R E E N           **********&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;*******************************************************************&lt;/P&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;P&gt;SELECT-OPTIONS: s_matkl FOR gs_matkl-matkl OBLIGATORY,&lt;/P&gt;&lt;P&gt;                s_werks FOR gs_werks-werks NO INTERVALS NO-EXTENSION DEFAULT '1000' ,&lt;/P&gt;&lt;P&gt;                s_auart FOR gs_auart-auart OBLIGATORY,&lt;/P&gt;&lt;P&gt;                s_ftrmi FOR gs_ftrmi-ftrmi OBLIGATORY.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN: END OF BLOCK b1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*******************************************************************&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="9" type="ul"&gt;&lt;P&gt;     I N I T I A L I Z A T I O N     **********&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;*******************************************************************&lt;/P&gt;&lt;P&gt;INITIALIZATION.&lt;/P&gt;&lt;P&gt;PERFORM check_authority.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*******************************************************************&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="9" type="ul"&gt;&lt;P&gt;     A T  S E L E C T I O N - S C R E E N      **********&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;*******************************************************************&lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN.&lt;/P&gt;&lt;P&gt;  PERFORM input_validation.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*******************************************************************&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="9" type="ul"&gt;&lt;P&gt;      S T A R T - O F - S E L E C T I O N      **********&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;*******************************************************************&lt;/P&gt;&lt;P&gt;START-OF-SELECTION.&lt;/P&gt;&lt;P&gt;  PERFORM get_data.&lt;/P&gt;&lt;P&gt;  PERFORM populate_outtab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*******************************************************************&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="9" type="ul"&gt;&lt;P&gt;       E N D - O F - S E L E C T I O N         **********&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;*******************************************************************&lt;/P&gt;&lt;P&gt;END-OF-SELECTION.&lt;/P&gt;&lt;P&gt;  PERFORM display.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*******************************************************************&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="9" type="ul"&gt;&lt;P&gt;            S U B R O U T I N E                **********&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;*******************************************************************&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  CHECK_AUTHORITY&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;      text:Subroutine to Check authority&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;/P&gt;&lt;P&gt;FORM check_authority .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'AUTHORITY_CHECK_TCODE'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      tcode         = sy-tcode&lt;/P&gt;&lt;P&gt;   EXCEPTIONS&lt;/P&gt;&lt;P&gt;     ok            = 1&lt;/P&gt;&lt;P&gt;     not_ok        = 2&lt;/P&gt;&lt;P&gt;     OTHERS        = 3.&lt;/P&gt;&lt;P&gt;  IF sy-subrc &amp;lt;&amp;gt; 1.&lt;/P&gt;&lt;P&gt;    MESSAGE e077(s#) WITH sy-tcode.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " CHECK_AUTHORITY&lt;/P&gt;&lt;P&gt;&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  input_validation&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;      text:Subroutine to validate the selection-screen inputs&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;/P&gt;&lt;P&gt;FORM input_validation .&lt;/P&gt;&lt;P&gt;  DATA: lv_matkl TYPE t023-matkl,                           "#EC&lt;/P&gt;&lt;P&gt;        lv_werks TYPE t001w-werks,                          "#EC&lt;/P&gt;&lt;P&gt;        lv_auart TYPE t003o.                                "#EC&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECT matkl&lt;/P&gt;&lt;P&gt;         UP TO 1 ROWS&lt;/P&gt;&lt;P&gt;         FROM t023&lt;/P&gt;&lt;P&gt;         INTO lv_matkl&lt;/P&gt;&lt;P&gt;         WHERE matkl IN s_matkl.&lt;/P&gt;&lt;P&gt;  ENDSELECT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;    MESSAGE text-002 TYPE c_error.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    IF NOT lv_matkl IS INITIAL.&lt;/P&gt;&lt;P&gt;      CLEAR lv_matkl.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECT werks&lt;/P&gt;&lt;P&gt;         UP TO 1 ROWS&lt;/P&gt;&lt;P&gt;         FROM t001w&lt;/P&gt;&lt;P&gt;         INTO lv_werks&lt;/P&gt;&lt;P&gt;         WHERE werks IN s_werks.&lt;/P&gt;&lt;P&gt;  ENDSELECT.&lt;/P&gt;&lt;P&gt;  IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;    MESSAGE text-003 TYPE c_error.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    IF NOT lv_werks IS INITIAL.&lt;/P&gt;&lt;P&gt;      CLEAR lv_werks.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECT auart&lt;/P&gt;&lt;P&gt;         UP TO 1 ROWS&lt;/P&gt;&lt;P&gt;         FROM t003o&lt;/P&gt;&lt;P&gt;         INTO lv_auart&lt;/P&gt;&lt;P&gt;         WHERE auart IN s_auart.&lt;/P&gt;&lt;P&gt;  ENDSELECT.&lt;/P&gt;&lt;P&gt;  IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;    MESSAGE text-004 TYPE c_error.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    IF NOT lv_auart IS INITIAL.&lt;/P&gt;&lt;P&gt;      CLEAR lv_auart.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " input_validation&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_data&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;      text:Subroutine to get the data from DB Tables&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;/P&gt;&lt;P&gt;FORM get_data .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***...Constant for Movement type 321&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***...Select for Materials for given Material Group&lt;/P&gt;&lt;P&gt;  SELECT matnr&lt;/P&gt;&lt;P&gt;         matkl&lt;/P&gt;&lt;P&gt;         FROM mara&lt;/P&gt;&lt;P&gt;         INTO TABLE git_matkl&lt;/P&gt;&lt;P&gt;         WHERE matkl IN s_matkl.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***...Select for Production Order Number, Plant, Material for given Order type, Plant, Actual release Date,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    and Material&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  IF git_matkl IS NOT INITIAL.&lt;/P&gt;&lt;P&gt;    SORT git_matkl BY matnr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    SELECT aufnr&lt;/P&gt;&lt;P&gt;           auart&lt;/P&gt;&lt;P&gt;           werks&lt;/P&gt;&lt;P&gt;           ftrmi&lt;/P&gt;&lt;P&gt;           plnbez&lt;/P&gt;&lt;P&gt;           FROM caufv&lt;/P&gt;&lt;P&gt;           INTO TABLE git_caufv&lt;/P&gt;&lt;P&gt;           FOR ALL ENTRIES IN  git_matkl&lt;/P&gt;&lt;P&gt;           WHERE auart IN s_auart&lt;/P&gt;&lt;P&gt;           AND   werks IN s_werks&lt;/P&gt;&lt;P&gt;           AND   ftrmi IN s_ftrmi&lt;/P&gt;&lt;P&gt;           AND   plnbez =  git_matkl-matnr.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***...Select for Material Document Number, Movement type,  Material Number, Storage Location, Debit Credit Indicator,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    Quantity, Unit of entry and Production Order Number&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  IF git_caufv IS NOT INITIAL.&lt;/P&gt;&lt;P&gt;    SORT git_caufv BY aufnr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    SELECT mblnr&lt;/P&gt;&lt;P&gt;           zeile&lt;/P&gt;&lt;P&gt;           budat&lt;/P&gt;&lt;P&gt;           bwart&lt;/P&gt;&lt;P&gt;           matnr&lt;/P&gt;&lt;P&gt;           lgort&lt;/P&gt;&lt;P&gt;           charg&lt;/P&gt;&lt;P&gt;           shkzg&lt;/P&gt;&lt;P&gt;           erfmg&lt;/P&gt;&lt;P&gt;           erfme&lt;/P&gt;&lt;P&gt;           aufnr&lt;/P&gt;&lt;P&gt;           FROM aufm&lt;/P&gt;&lt;P&gt;           INTO TABLE git_aufm&lt;/P&gt;&lt;P&gt;           FOR ALL ENTRIES IN git_caufv&lt;/P&gt;&lt;P&gt;           WHERE aufnr = git_caufv-aufnr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;***...Only Movement type 261, 262 and 531 and 532  is needed&lt;/P&gt;&lt;P&gt;      DELETE  git_aufm WHERE bwart &amp;lt;&amp;gt; c_261&lt;/P&gt;&lt;P&gt;                       AND   bwart &amp;lt;&amp;gt; c_262&lt;/P&gt;&lt;P&gt;                       AND   bwart &amp;lt;&amp;gt; c_531&lt;/P&gt;&lt;P&gt;                       AND   bwart &amp;lt;&amp;gt; c_532 .&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF  git_aufm IS NOT INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    SELECT mblnr&lt;/P&gt;&lt;P&gt;           zeile&lt;/P&gt;&lt;P&gt;           bwart&lt;/P&gt;&lt;P&gt;           sgtxt&lt;/P&gt;&lt;P&gt;           grund&lt;/P&gt;&lt;P&gt;           FROM mseg&lt;/P&gt;&lt;P&gt;           INTO TABLE git_mseg&lt;/P&gt;&lt;P&gt;           FOR ALL ENTRIES IN git_aufm&lt;/P&gt;&lt;P&gt;           WHERE mblnr =  git_aufm-mblnr&lt;/P&gt;&lt;P&gt;           AND   zeile = git_aufm-zeile&lt;/P&gt;&lt;P&gt;           AND   werks IN s_werks.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF git_mseg IS NOT INITIAL.&lt;/P&gt;&lt;P&gt;      SORT:git_mseg BY bwart grund.&lt;/P&gt;&lt;P&gt;      SELECT bwart&lt;/P&gt;&lt;P&gt;             grund&lt;/P&gt;&lt;P&gt;             grtxt&lt;/P&gt;&lt;P&gt;             FROM t157e&lt;/P&gt;&lt;P&gt;             INTO TABLE git_t157e&lt;/P&gt;&lt;P&gt;             FOR ALL ENTRIES IN git_mseg&lt;/P&gt;&lt;P&gt;             WHERE spras = sy-langu&lt;/P&gt;&lt;P&gt;             AND   bwart = git_mseg-bwart&lt;/P&gt;&lt;P&gt;             AND   grund = git_mseg-grund.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    SORT: git_aufm BY matnr.&lt;/P&gt;&lt;P&gt;***...select for Material Description, Alternative unit of measurement, Numerator for Conversion to Base Units of Measure&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    and Denominator for conversion to base units of measure&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    SELECT a~matnr&lt;/P&gt;&lt;P&gt;           a~matkl&lt;/P&gt;&lt;P&gt;           b~maktx&lt;/P&gt;&lt;P&gt;           c~meinh&lt;/P&gt;&lt;P&gt;           c~umrez&lt;/P&gt;&lt;P&gt;           c~umren&lt;/P&gt;&lt;P&gt;           INTO TABLE git_mat&lt;/P&gt;&lt;P&gt;           FROM mara AS a&lt;/P&gt;&lt;P&gt;           INNER JOIN makt AS b&lt;/P&gt;&lt;P&gt;           ON b&lt;SUB&gt;matnr = a&lt;/SUB&gt;matnr&lt;/P&gt;&lt;P&gt;           AND b~spras = sy-langu&lt;/P&gt;&lt;P&gt;           INNER JOIN marm AS c&lt;/P&gt;&lt;P&gt;           ON c&lt;SUB&gt;matnr = a&lt;/SUB&gt;matnr&lt;/P&gt;&lt;P&gt;           FOR ALL ENTRIES IN git_aufm&lt;/P&gt;&lt;P&gt;           WHERE a~matnr = git_aufm-matnr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF git_mat IS NOT INITIAL.&lt;/P&gt;&lt;P&gt;      SORT:git_mat BY matnr.&lt;/P&gt;&lt;P&gt;***...Select for MRP Controller (Materials Planner) and Name of MRP controller&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      SELECT matnr&lt;/P&gt;&lt;P&gt;             werks&lt;/P&gt;&lt;P&gt;             dispo&lt;/P&gt;&lt;P&gt;             INTO TABLE git_mrp&lt;/P&gt;&lt;P&gt;             FROM marc&lt;/P&gt;&lt;P&gt;             FOR ALL ENTRIES IN git_mat&lt;/P&gt;&lt;P&gt;             WHERE matnr = git_mat-matnr&lt;/P&gt;&lt;P&gt;             AND   werks IN s_werks.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF git_mrp IS NOT INITIAL.&lt;/P&gt;&lt;P&gt;        SORT:git_mrp BY werks dispo.&lt;/P&gt;&lt;P&gt;        SELECT werks&lt;/P&gt;&lt;P&gt;               dispo&lt;/P&gt;&lt;P&gt;               dsnam&lt;/P&gt;&lt;P&gt;               FROM t024d&lt;/P&gt;&lt;P&gt;               INTO TABLE git_t024d&lt;/P&gt;&lt;P&gt;               FOR ALL ENTRIES IN git_mrp&lt;/P&gt;&lt;P&gt;               WHERE werks =  git_mrp-werks&lt;/P&gt;&lt;P&gt;               AND   dispo = git_mrp-dispo.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " get_data&lt;/P&gt;&lt;P&gt;&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  populate_outtab&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;      text:Subroutine to build output 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;P&gt;FORM populate_outtab .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: ls_outtab   TYPE type_outtab,&lt;/P&gt;&lt;P&gt;        lv_index    TYPE sy-tabix,&lt;/P&gt;&lt;P&gt;        lv_uom_alt  TYPE aufm-erfme,&lt;/P&gt;&lt;P&gt;        lit_aufm   TYPE STANDARD TABLE OF type_aufm .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  FIELD-SYMBOLS: &amp;lt;lfs_aufm&amp;gt;  TYPE type_aufm,&lt;/P&gt;&lt;P&gt;                 &amp;lt;lfs_mseg&amp;gt;  TYPE type_mseg,&lt;/P&gt;&lt;P&gt;                 &amp;lt;lfs_caufv&amp;gt; TYPE type_caufv,&lt;/P&gt;&lt;P&gt;                 &amp;lt;lfs_mrp&amp;gt;   TYPE type_mrp,&lt;/P&gt;&lt;P&gt;                 &amp;lt;lfs_t024d&amp;gt; TYPE type_t024d,&lt;/P&gt;&lt;P&gt;                 &amp;lt;lfs_mat&amp;gt;   TYPE type_mat,&lt;/P&gt;&lt;P&gt;                 &amp;lt;lfs_matkl&amp;gt; TYPE type_matkl,&lt;/P&gt;&lt;P&gt;                 &amp;lt;lfs_t157e&amp;gt; TYPE type_t157e.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***..Constant for Credit Indicator&lt;/P&gt;&lt;P&gt;  CONSTANTS: lc_credit TYPE char1 VALUE 'H',&lt;/P&gt;&lt;P&gt;***...Constant for Debit Indicator&lt;/P&gt;&lt;P&gt;             lc_debit  TYPE char1 VALUE 'S',&lt;/P&gt;&lt;P&gt;***...Constant for Material 'COBBLED BLOOM'&lt;/P&gt;&lt;P&gt;             lc_matnr  TYPE mara-matnr VALUE 'COBBLED BLOOM',&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***...Constant for Material Measurement "EACH"&lt;/P&gt;&lt;P&gt;             lc_each   TYPE marm-meinh VALUE 'EA',&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***...Constant for Material 'PP_COBBLED_BLOOM'&lt;/P&gt;&lt;P&gt;             lc_pp_cobled_bloom  TYPE mara-matnr VALUE 'PP_COBBLED_BLOOM'.&lt;/P&gt;&lt;P&gt;&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;DELETE git_aufm   WHERE ( bwart = c_531 OR bwart = c_532 )&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                  AND   ( matnr &amp;lt;&amp;gt; lc_matnr ) .&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SORT:git_aufm BY bwart  matnr.&lt;/P&gt;&lt;P&gt;   LOOP AT git_aufm  ASSIGNING &amp;lt;lfs_aufm&amp;gt;.&lt;/P&gt;&lt;P&gt;     IF ( &amp;lt;lfs_aufm&amp;gt;-bwart = c_531 OR &amp;lt;lfs_aufm&amp;gt;-bwart = c_532 )&lt;/P&gt;&lt;P&gt;           AND  ( &amp;lt;lfs_aufm&amp;gt;-matnr = lc_matnr  OR &amp;lt;lfs_aufm&amp;gt;-matnr = lc_pp_cobled_bloom  ).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            APPEND &amp;lt;lfs_aufm&amp;gt; TO lit_aufm.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;     ELSEIF &amp;lt;lfs_aufm&amp;gt;-bwart &amp;lt; c_531 OR &amp;lt;lfs_aufm&amp;gt;-bwart &amp;gt; c_532  .&lt;/P&gt;&lt;P&gt;           APPEND &amp;lt;lfs_aufm&amp;gt; TO lit_aufm.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;     ENDIF.&lt;/P&gt;&lt;P&gt;   ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; DELETE  git_aufm WHERE ( bwart = c_531 OR bwart = c_532 )&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                  AND   ( matnr &amp;lt;&amp;gt; lc_matnr  OR matnr &amp;lt;&amp;gt; lc_pp_cobled_bloom  ) .&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                  AND matnr in ('a','b') .&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; CLEAR:git_aufm.&lt;/P&gt;&lt;P&gt; UNASSIGN:&amp;lt;lfs_aufm&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SORT: lit_aufm  BY aufnr mblnr zeile,&lt;/P&gt;&lt;P&gt;        git_mseg  BY mblnr zeile,&lt;/P&gt;&lt;P&gt;        git_caufv BY aufnr,&lt;/P&gt;&lt;P&gt;        git_caufv BY aufnr,&lt;/P&gt;&lt;P&gt;        git_mrp   BY matnr,&lt;/P&gt;&lt;P&gt;        git_t024d BY werks dispo,&lt;/P&gt;&lt;P&gt;        git_afru  BY wablnr,&lt;/P&gt;&lt;P&gt;        git_mat   BY matnr,&lt;/P&gt;&lt;P&gt;        git_t157e BY bwart grund.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT lit_aufm ASSIGNING &amp;lt;lfs_aufm&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***...Production Order&lt;/P&gt;&lt;P&gt;    ls_outtab-prod_ord    = &amp;lt;lfs_aufm&amp;gt;-aufnr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***Movement Type&lt;/P&gt;&lt;P&gt;    ls_outtab-move_type   = &amp;lt;lfs_aufm&amp;gt;-bwart.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***...Storage Location&lt;/P&gt;&lt;P&gt;    ls_outtab-stor_loc    = &amp;lt;lfs_aufm&amp;gt;-lgort.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***...Component Number&lt;/P&gt;&lt;P&gt;    ls_outtab-comp_number = &amp;lt;lfs_aufm&amp;gt;-matnr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***...Reason for Cobble  for component 'COBBLED BLOOM' only&lt;/P&gt;&lt;P&gt;    IF &amp;lt;lfs_aufm&amp;gt;-matnr = lc_matnr.&lt;/P&gt;&lt;P&gt;      ls_outtab-reas_cobb   = &amp;lt;lfs_aufm&amp;gt;-charg.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***...Component Quantity&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF &amp;lt;lfs_aufm&amp;gt;-shkzg = lc_credit.     "Check for  Credit Indicator&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF  &amp;lt;lfs_aufm&amp;gt;-matnr &amp;lt;&amp;gt; lc_matnr.  "Check for  not COBBLED BLOOM Material&lt;/P&gt;&lt;P&gt;        ls_outtab-comp_qty =  -  ( &amp;lt;lfs_aufm&amp;gt;-erfmg ) .&lt;/P&gt;&lt;P&gt;      ELSEIF &amp;lt;lfs_aufm&amp;gt;-matnr = lc_matnr AND ( &amp;lt;lfs_aufm&amp;gt;-bwart = c_531 OR &amp;lt;lfs_aufm&amp;gt;-bwart = c_532 ) .&lt;/P&gt;&lt;P&gt;        ls_outtab-comp_qty =  ( &amp;lt;lfs_aufm&amp;gt;-erfmg ) .&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ELSEIF &amp;lt;lfs_aufm&amp;gt;-shkzg = lc_debit. "Check for  Debit Indicator&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF  &amp;lt;lfs_aufm&amp;gt;-matnr = lc_matnr AND ( &amp;lt;lfs_aufm&amp;gt;-bwart = c_531 OR &amp;lt;lfs_aufm&amp;gt;-bwart = c_532 ). "Check for COBBLED BLOOM Material&lt;/P&gt;&lt;P&gt;        ls_outtab-comp_qty =  -  ( &amp;lt;lfs_aufm&amp;gt;-erfmg ) .&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;P&gt;        ls_outtab-comp_qty =  ( &amp;lt;lfs_aufm&amp;gt;-erfmg ) .&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***...for movement type 261 for credit indicator the quantity should be +ve&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                      and for Debit indicator quantity should be -ve&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    IF &amp;lt;lfs_aufm&amp;gt;-shkzg = lc_credit AND &amp;lt;lfs_aufm&amp;gt;-bwart = c_261.&lt;/P&gt;&lt;P&gt;      IF ls_outtab-comp_qty &amp;lt; 0.&lt;/P&gt;&lt;P&gt;        ls_outtab-comp_qty  = - ls_outtab-comp_qty.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ELSEIF &amp;lt;lfs_aufm&amp;gt;-shkzg = lc_credit AND &amp;lt;lfs_aufm&amp;gt;-bwart = c_261.&lt;/P&gt;&lt;P&gt;      IF ls_outtab-comp_qty &amp;gt; 0.&lt;/P&gt;&lt;P&gt;        ls_outtab-comp_qty  = - ls_outtab-comp_qty.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***...Unit of Entry&lt;/P&gt;&lt;P&gt;    ls_outtab-uoe = &amp;lt;lfs_aufm&amp;gt;-erfme.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    UNASSIGN: &amp;lt;lfs_mat&amp;gt;.&lt;/P&gt;&lt;P&gt;    READ TABLE git_mat ASSIGNING &amp;lt;lfs_mat&amp;gt; WITH KEY matnr = &amp;lt;lfs_aufm&amp;gt;-matnr&lt;/P&gt;&lt;P&gt;                                           BINARY SEARCH.&lt;/P&gt;&lt;P&gt;    IF  &amp;lt;lfs_mat&amp;gt; IS ASSIGNED.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      lv_index = sy-tabix + 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***...Material Description&lt;/P&gt;&lt;P&gt;      ls_outtab-comp_desc = &amp;lt;lfs_mat&amp;gt;-maktx.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***...Calculatting Alternative Quantity of Component&lt;/P&gt;&lt;P&gt;***...for Credit Indicator Quantity should be -ve but not for Material Number 'COBBLED BLOOM'(+ve)&lt;/P&gt;&lt;P&gt;***...for Debit Indicator Quantity should be +ve but not for Material Number 'COBBLED BLOOM'(-ve)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     IF &amp;lt;lfs_mat&amp;gt;-umrez &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;         IF &amp;lt;lfs_mat&amp;gt;-umren &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        IF &amp;lt;lfs_aufm&amp;gt;-shkzg = lc_credit .     "Check for Credit Indicator&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          IF   &amp;lt;lfs_aufm&amp;gt;-matnr &amp;lt;&amp;gt; lc_matnr. "Check for Material 'COBBLED BLOOM'&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           ls_outtab-comp_qtype_alt = - ( ( &amp;lt;lfs_aufm&amp;gt;-erfmg * &amp;lt;lfs_mat&amp;gt;-umren ) / &amp;lt;lfs_mat&amp;gt;-umrez ).&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;              ls_outtab-comp_qtype_alt = - ( ( &amp;lt;lfs_aufm&amp;gt;-erfmg * &amp;lt;lfs_mat&amp;gt;-umrez  ) /  &amp;lt;lfs_mat&amp;gt;-umren  ).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          ELSE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           ls_outtab-comp_qtype_alt =  ( ( &amp;lt;lfs_aufm&amp;gt;-erfmg * &amp;lt;lfs_mat&amp;gt;-umren ) / &amp;lt;lfs_mat&amp;gt;-umrez ).&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            ls_outtab-comp_qtype_alt =  ( ( &amp;lt;lfs_aufm&amp;gt;-erfmg * &amp;lt;lfs_mat&amp;gt;-umrez ) / &amp;lt;lfs_mat&amp;gt;-umren ) .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        ELSEIF &amp;lt;lfs_aufm&amp;gt;-shkzg = lc_debit.     "Check for Debit Indicator&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          IF  &amp;lt;lfs_aufm&amp;gt;-matnr  = lc_matnr.     "Check for Material 'COBBLE BLOOM'&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;           ls_outtab-comp_qtype_alt = - ( ( &amp;lt;lfs_aufm&amp;gt;-erfmg * &amp;lt;lfs_mat&amp;gt;-umren ) / &amp;lt;lfs_mat&amp;gt;-umrez ).&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;            ls_outtab-comp_qtype_alt = - ( ( &amp;lt;lfs_aufm&amp;gt;-erfmg * &amp;lt;lfs_mat&amp;gt;-umrez ) / &amp;lt;lfs_mat&amp;gt;-umren ).&lt;/P&gt;&lt;P&gt;          ELSE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           ls_outtab-comp_qtype_alt =  ( ( &amp;lt;lfs_aufm&amp;gt;-erfmg * &amp;lt;lfs_mat&amp;gt;-umren ) / &amp;lt;lfs_mat&amp;gt;-umrez ).&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;             ls_outtab-comp_qtype_alt =  ( ( &amp;lt;lfs_aufm&amp;gt;-erfmg * &amp;lt;lfs_mat&amp;gt;-umrez ) / &amp;lt;lfs_mat&amp;gt;-umren ).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          ENDIF.&lt;/P&gt;&lt;P&gt;        ENDIF.                                  "Check for Credit and Debit Indicator&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***...for movement type 261 for credit indicator the quantity should be +ve&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                      and for Debit indicator quantity should be -ve&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      IF &amp;lt;lfs_aufm&amp;gt;-shkzg = lc_credit AND &amp;lt;lfs_aufm&amp;gt;-bwart = c_261.&lt;/P&gt;&lt;P&gt;        IF ls_outtab-comp_qtype_alt &amp;lt; 0.&lt;/P&gt;&lt;P&gt;          ls_outtab-comp_qtype_alt  = - ls_outtab-comp_qtype_alt.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;      ELSEIF &amp;lt;lfs_aufm&amp;gt;-shkzg = lc_debit AND &amp;lt;lfs_aufm&amp;gt;-bwart = c_261.&lt;/P&gt;&lt;P&gt;        IF ls_outtab-comp_qtype_alt &amp;gt; 0.&lt;/P&gt;&lt;P&gt;          ls_outtab-comp_qtype_alt  = - ls_outtab-comp_qtype_alt.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***...Alternative unit of measurement&lt;/P&gt;&lt;P&gt;***************************************************************************************&lt;/P&gt;&lt;P&gt;      lv_uom_alt = &amp;lt;lfs_mat&amp;gt;-meinh.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF &amp;lt;lfs_aufm&amp;gt;-erfme &amp;lt;&amp;gt; &amp;lt;lfs_mat&amp;gt;-meinh.  "Check for Unit of entry and alternative Unit of Measurement are not equal&lt;/P&gt;&lt;P&gt;        ls_outtab-uom_alt   = lv_uom_alt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        UNASSIGN: &amp;lt;lfs_mat&amp;gt;.&lt;/P&gt;&lt;P&gt;        READ TABLE git_mat ASSIGNING &amp;lt;lfs_mat&amp;gt; INDEX lv_index.&lt;/P&gt;&lt;P&gt;        IF &amp;lt;lfs_mat&amp;gt; IS ASSIGNED .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          IF &amp;lt;lfs_mat&amp;gt;-matnr =  &amp;lt;lfs_aufm&amp;gt;-matnr.&lt;/P&gt;&lt;P&gt;            ls_outtab-uom_alt = &amp;lt;lfs_mat&amp;gt;-meinh.&lt;/P&gt;&lt;P&gt;          ELSE.&lt;/P&gt;&lt;P&gt;            ls_outtab-uom_alt =   lv_uom_alt .&lt;/P&gt;&lt;P&gt;          ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**************************************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      CLEAR:lv_index,&lt;/P&gt;&lt;P&gt;            lv_uom_alt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    READ TABLE git_caufv ASSIGNING &amp;lt;lfs_caufv&amp;gt; WITH KEY aufnr = &amp;lt;lfs_aufm&amp;gt;-aufnr&lt;/P&gt;&lt;P&gt;                                               BINARY SEARCH.&lt;/P&gt;&lt;P&gt;    IF &amp;lt;lfs_caufv&amp;gt; IS ASSIGNED.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***...Order Type&lt;/P&gt;&lt;P&gt;      ls_outtab-ord_type    = &amp;lt;lfs_caufv&amp;gt;-auart.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***...Plant&lt;/P&gt;&lt;P&gt;      ls_outtab-plant       = &amp;lt;lfs_caufv&amp;gt;-werks.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***...Order release Date&lt;/P&gt;&lt;P&gt;      ls_outtab-ord_release = &amp;lt;lfs_caufv&amp;gt;-ftrmi.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;****...Posting Date&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     ls_outtab-post_date = &amp;lt;lfs_aufm&amp;gt;-budat.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        ls_outtab-post_date = &amp;lt;lfs_caufv&amp;gt;-ftrmi.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***...Material Group&lt;/P&gt;&lt;P&gt;      READ TABLE git_matkl ASSIGNING &amp;lt;lfs_matkl&amp;gt; WITH KEY matnr = &amp;lt;lfs_caufv&amp;gt;-plnbez&lt;/P&gt;&lt;P&gt;                                                 BINARY SEARCH.&lt;/P&gt;&lt;P&gt;      IF &amp;lt;lfs_matkl&amp;gt; IS ASSIGNED.&lt;/P&gt;&lt;P&gt;        ls_outtab-mat_group = &amp;lt;lfs_matkl&amp;gt;-matkl.&lt;/P&gt;&lt;P&gt;        UNASSIGN:&amp;lt;lfs_matkl&amp;gt;.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      UNASSIGN:&amp;lt;lfs_caufv&amp;gt;.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;****...Posting Date&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    READ TABLE git_mseg ASSIGNING &amp;lt;lfs_mseg&amp;gt; WITH KEY mblnr = &amp;lt;lfs_aufm&amp;gt;-mblnr&lt;/P&gt;&lt;P&gt;                                                      zeile = &amp;lt;lfs_aufm&amp;gt;-zeile&lt;/P&gt;&lt;P&gt;                                                      BINARY SEARCH  .&lt;/P&gt;&lt;P&gt;    IF  &amp;lt;lfs_mseg&amp;gt; IS ASSIGNED.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;       IF &amp;lt;lfs_aufm&amp;gt;-matnr = lc_pp_cobled_bloom .&lt;/P&gt;&lt;P&gt;         ls_outtab-reas_cobb  = &amp;lt;lfs_mseg&amp;gt;-sgtxt.              "Item Text&lt;/P&gt;&lt;P&gt;       ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      READ TABLE git_t157e ASSIGNING &amp;lt;lfs_t157e&amp;gt; WITH KEY bwart = &amp;lt;lfs_mseg&amp;gt;-bwart&lt;/P&gt;&lt;P&gt;                                                          grund = &amp;lt;lfs_mseg&amp;gt;-grund&lt;/P&gt;&lt;P&gt;                                                          BINARY SEARCH.&lt;/P&gt;&lt;P&gt;      IF  &amp;lt;lfs_t157e&amp;gt; IS ASSIGNED.&lt;/P&gt;&lt;P&gt;***...Shift&lt;/P&gt;&lt;P&gt;        ls_outtab-shift     = &amp;lt;lfs_t157e&amp;gt;-grtxt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;      UNASSIGN:&amp;lt;lfs_mseg&amp;gt;,&lt;/P&gt;&lt;P&gt;               &amp;lt;lfs_t157e&amp;gt; .&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    READ TABLE git_mrp ASSIGNING &amp;lt;lfs_mrp&amp;gt; WITH KEY matnr = &amp;lt;lfs_aufm&amp;gt;-matnr&lt;/P&gt;&lt;P&gt;                                           BINARY SEARCH.&lt;/P&gt;&lt;P&gt;    IF  &amp;lt;lfs_mrp&amp;gt; IS ASSIGNED.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***...MRP Controller&lt;/P&gt;&lt;P&gt;      ls_outtab-mrp_cntrl = &amp;lt;lfs_mrp&amp;gt;-dispo.&lt;/P&gt;&lt;P&gt;      READ TABLE git_t024d ASSIGNING &amp;lt;lfs_t024d&amp;gt; WITH KEY werks = &amp;lt;lfs_mrp&amp;gt;-werks&lt;/P&gt;&lt;P&gt;                                                          dispo = &amp;lt;lfs_mrp&amp;gt;-dispo&lt;/P&gt;&lt;P&gt;                                                 BINARY SEARCH.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF &amp;lt;lfs_t024d&amp;gt; IS ASSIGNED.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***...Name of MRP Controller&lt;/P&gt;&lt;P&gt;        ls_outtab-name_cntrl = &amp;lt;lfs_t024d&amp;gt;-dsnam.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        UNASSIGN:&amp;lt;lfs_t024d&amp;gt;.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;      UNASSIGN:&amp;lt;lfs_mrp&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***...Actual Each&lt;/P&gt;&lt;P&gt;    IF ls_outtab-uoe = lc_each.   "Check for EACH&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ls_outtab-act_each   = ls_outtab-comp_qty .&lt;/P&gt;&lt;P&gt;      ls_outtab-act_uom    = ls_outtab-uoe  .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ELSEIF ls_outtab-uom_alt = lc_each.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ls_outtab-act_each   = ls_outtab-comp_qtype_alt .&lt;/P&gt;&lt;P&gt;      ls_outtab-act_uom    = ls_outtab-uom_alt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    APPEND ls_outtab TO git_outtab.&lt;/P&gt;&lt;P&gt;    CLEAR: ls_outtab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SORT:git_outtab BY post_date .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***...These tables no further needed&lt;/P&gt;&lt;P&gt;  CLEAR:git_aufm,&lt;/P&gt;&lt;P&gt;        git_mat,&lt;/P&gt;&lt;P&gt;        git_mrp,&lt;/P&gt;&lt;P&gt;        git_t024d,&lt;/P&gt;&lt;P&gt;        git_caufv,&lt;/P&gt;&lt;P&gt;        git_mseg,&lt;/P&gt;&lt;P&gt;        git_afru,&lt;/P&gt;&lt;P&gt;        git_t157e,&lt;/P&gt;&lt;P&gt;        ls_outtab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " populate_outtab&lt;/P&gt;&lt;P&gt;&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  display&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;      text:perform to build field catalog, events and layout&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;/P&gt;&lt;P&gt;FORM display .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF git_outtab IS NOT INITIAL.&lt;/P&gt;&lt;P&gt;    PERFORM build_fieldcat.&lt;/P&gt;&lt;P&gt;    PERFORM build_sort.&lt;/P&gt;&lt;P&gt;    PERFORM build_layout.&lt;/P&gt;&lt;P&gt;    PERFORM build_events.&lt;/P&gt;&lt;P&gt;    PERFORM display_output.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    MESSAGE text-024 TYPE c_inf.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " display_output&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  build_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;      text:Subroutine to Build the Field Catalog&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;/P&gt;&lt;P&gt;FORM build_fieldcat .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM fieldcat USING 'POST_DATE'     1   c_x text-005   10&lt;/P&gt;&lt;P&gt;                   CHANGING git_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM fieldcat USING 'SHIFT'         2   '' text-006    20&lt;/P&gt;&lt;P&gt;                   CHANGING git_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM fieldcat USING 'MRP_CNTRL'     3   '' text-007     3&lt;/P&gt;&lt;P&gt;                   CHANGING git_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM fieldcat USING 'NAME_CNTRL'    4   '' text-008    18&lt;/P&gt;&lt;P&gt;                   CHANGING git_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM fieldcat USING 'ORD_TYPE'      5   '' text-009     4&lt;/P&gt;&lt;P&gt;                   CHANGING git_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM fieldcat USING 'PLANT'         6   '' text-010     4&lt;/P&gt;&lt;P&gt;                   CHANGING git_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM fieldcat USING 'MAT_GROUP'     7   '' text-011     9&lt;/P&gt;&lt;P&gt;                   CHANGING git_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM fieldcat USING 'PROD_ORD'      8   ''  text-012   12&lt;/P&gt;&lt;P&gt;                   CHANGING git_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM fieldcat USING 'ORD_RELEASE'   9   ''  text-013   10&lt;/P&gt;&lt;P&gt;                   CHANGING git_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM fieldcat USING 'MOVE_TYPE'    10   ''  text-014    3&lt;/P&gt;&lt;P&gt;                   CHANGING git_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM fieldcat USING 'STOR_LOC'     11   ''  text-015    4&lt;/P&gt;&lt;P&gt;                   CHANGING git_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM fieldcat USING 'COMP_NUMBER'  12   ''  text-016    18&lt;/P&gt;&lt;P&gt;                   CHANGING git_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM fieldcat USING 'COMP_DESC'    13    '' text-017    40&lt;/P&gt;&lt;P&gt;                   CHANGING git_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM fieldcat USING 'COMP_QTY'     14    '' text-018    17&lt;/P&gt;&lt;P&gt;                   CHANGING git_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM fieldcat USING 'UOE'          15    '' text-019     3&lt;/P&gt;&lt;P&gt;                   CHANGING git_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM fieldcat USING 'COMP_QTYPE_ALT' 16    '' text-020  17&lt;/P&gt;&lt;P&gt;                   CHANGING git_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM fieldcat USING 'UOM_ALT'      17    '' text-021     3&lt;/P&gt;&lt;P&gt;                   CHANGING git_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM fieldcat USING 'REAS_COBB'    18    '' text-022    50&lt;/P&gt;&lt;P&gt;                   CHANGING git_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM fieldcat USING 'ACT_EACH'     19    '' text-026    17&lt;/P&gt;&lt;P&gt;                   CHANGING git_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " build_fieldcat&lt;/P&gt;&lt;P&gt;&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  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;      text:Subroutine to populate Fieldcatalog internal 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;     --&amp;gt;P_FIELDNAME    text: Field Name&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_COL_POS      text:Column Position&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_KEY          text:Key&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_SELTEXT      text:Sel Text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     &amp;lt;--P_GIT_fieldcat text:Field catalog internal 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;P&gt;FORM fieldcat  USING   p_fieldname  TYPE slis_fieldcat_alv-fieldname&lt;/P&gt;&lt;P&gt;                       p_col_pos    TYPE slis_fieldcat_alv-col_pos&lt;/P&gt;&lt;P&gt;                       p_key        TYPE char1&lt;/P&gt;&lt;P&gt;                       p_seltext    TYPE rs38m-itex132&lt;/P&gt;&lt;P&gt;                       p_outputlen  TYPE  dd03p-outputlen&lt;/P&gt;&lt;P&gt;              CHANGING p_git_fieldcat TYPE slis_t_fieldcat_alv.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: ls_fieldcat TYPE slis_fieldcat_alv.&lt;/P&gt;&lt;P&gt;  ls_fieldcat-ROW_POS  = '01'.&lt;/P&gt;&lt;P&gt;  ls_fieldcat-fieldname  = p_fieldname.&lt;/P&gt;&lt;P&gt;  ls_fieldcat-col_pos    = p_col_pos.&lt;/P&gt;&lt;P&gt;  ls_fieldcat-key        = p_key.&lt;/P&gt;&lt;P&gt;  ls_fieldcat-seltext_s  = p_seltext.&lt;/P&gt;&lt;P&gt;  ls_fieldcat-seltext_m  = p_seltext.&lt;/P&gt;&lt;P&gt;  ls_fieldcat-seltext_l  = p_seltext.&lt;/P&gt;&lt;P&gt;  ls_fieldcat-tabname    = c_outtab.&lt;/P&gt;&lt;P&gt;  ls_fieldcat-outputlen  = p_outputlen.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF ls_fieldcat-fieldname = c_comp_qty .&lt;/P&gt;&lt;P&gt;    ls_fieldcat-do_sum     = c_x.&lt;/P&gt;&lt;P&gt;    ls_fieldcat-tabname    = c_outtab.&lt;/P&gt;&lt;P&gt;    ls_fieldcat-qfieldname = c_uoe.&lt;/P&gt;&lt;P&gt;    ls_fieldcat-qtabname   = c_outtab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF ls_fieldcat-fieldname = c_comp_qtype_alt .&lt;/P&gt;&lt;P&gt;    ls_fieldcat-do_sum     = c_x.&lt;/P&gt;&lt;P&gt;    ls_fieldcat-tabname    = c_outtab.&lt;/P&gt;&lt;P&gt;    ls_fieldcat-qfieldname = c_uom_alt.&lt;/P&gt;&lt;P&gt;    ls_fieldcat-qtabname   = c_outtab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF ls_fieldcat-fieldname = c_act_each .&lt;/P&gt;&lt;P&gt;    ls_fieldcat-do_sum     = c_x.&lt;/P&gt;&lt;P&gt;    ls_fieldcat-tabname    = c_outtab.&lt;/P&gt;&lt;P&gt;    ls_fieldcat-qfieldname = c_act_uom  .&lt;/P&gt;&lt;P&gt;    ls_fieldcat-qtabname   = c_outtab.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  APPEND ls_fieldcat TO p_git_fieldcat.&lt;/P&gt;&lt;P&gt;  CLEAR: ls_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " fieldcat&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&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  build_events&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;      text:Subroutine to build events&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;/P&gt;&lt;P&gt;FORM build_events .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  FIELD-SYMBOLS:&amp;lt;lfs_event&amp;gt; TYPE slis_alv_event.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;BREAK-POINT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'REUSE_ALV_EVENTS_GET'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      i_list_type     = 0&lt;/P&gt;&lt;P&gt;    IMPORTING&lt;/P&gt;&lt;P&gt;      et_events       = git_event&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      list_type_wrong = 1&lt;/P&gt;&lt;P&gt;      OTHERS          = 2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CHECK sy-subrc = 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;         SORT git_event BY name.&lt;/P&gt;&lt;P&gt;      READ TABLE git_event  ASSIGNING &amp;lt;lfs_event&amp;gt; WITH KEY name = slis_ev_top_of_page&lt;/P&gt;&lt;P&gt;                                          BINARY SEARCH.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF  sy-subrc = 0.&lt;/P&gt;&lt;P&gt;        &amp;lt;lfs_event&amp;gt;-form = slis_ev_top_of_page.&lt;/P&gt;&lt;P&gt;        UNASSIGN &amp;lt;lfs_event&amp;gt;.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;       READ TABLE git_event ASSIGNING &amp;lt;lfs_event&amp;gt; WITH KEY name = slis_ev_subtotal_text&lt;/P&gt;&lt;P&gt;                                                  BINARY SEARCH.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;       CHECK sy-subrc = 0.&lt;/P&gt;&lt;P&gt;            &amp;lt;lfs_event&amp;gt;-form = slis_ev_subtotal_text.&lt;/P&gt;&lt;P&gt;            UNASSIGN:&amp;lt;lfs_event&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " build_events&lt;/P&gt;&lt;P&gt;&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  build_layout&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;      text&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;/P&gt;&lt;P&gt;FORM build_layout .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  gs_layout-zebra              = c_x.&lt;/P&gt;&lt;P&gt;  gs_layout-colwidth_optimize  = c_x.&lt;/P&gt;&lt;P&gt;  gs_layout-no_totalline       = c_x.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " build_layout&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  build_sort&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;      text:Subroutine to Build Sort 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;P&gt;&lt;/P&gt;&lt;P&gt;FORM build_sort .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA:ls_sort TYPE slis_sortinfo_alv.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ls_sort-spos      = '01'.&lt;/P&gt;&lt;P&gt;  ls_sort-fieldname = 'POST_DATE'.&lt;/P&gt;&lt;P&gt;  ls_sort-tabname   = 'GIT_OUTTAB'.&lt;/P&gt;&lt;P&gt;  ls_sort-UP        = c_x.&lt;/P&gt;&lt;P&gt;  ls_sort-subtot    = c_x.&lt;/P&gt;&lt;P&gt;  ls_sort-up        = c_x.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  APPEND ls_sort TO git_sort.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR:ls_sort.&lt;/P&gt;&lt;P&gt;   ls_sort-spos     =  '02'.&lt;/P&gt;&lt;P&gt;  ls_sort-fieldname = 'MOVE_TYPE'.&lt;/P&gt;&lt;P&gt;  ls_sort-tabname   = 'GIT_OUTTAB'.&lt;/P&gt;&lt;P&gt;  ls_sort-subtot    = c_x.&lt;/P&gt;&lt;P&gt;  ls_sort-UP        = c_x.&lt;/P&gt;&lt;P&gt;  ls_sort-subtot    = c_x.&lt;/P&gt;&lt;P&gt;  APPEND ls_sort TO git_sort.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " build_sort&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&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  display_output&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;      text:Subroutine to display output&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;/P&gt;&lt;P&gt;FORM display_output .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA:lv_repid  TYPE sy-repid.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CONSTANTS:lc_save TYPE char1 VALUE 'A'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  lv_repid = sy-repid.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      i_callback_program = lv_repid&lt;/P&gt;&lt;P&gt;      is_layout          = gs_layout&lt;/P&gt;&lt;P&gt;      it_fieldcat        = git_fieldcat[]&lt;/P&gt;&lt;P&gt;      it_sort            = git_sort&lt;/P&gt;&lt;P&gt;      i_default          = c_x&lt;/P&gt;&lt;P&gt;      i_save             = lc_save&lt;/P&gt;&lt;P&gt;      it_events          = git_event[]&lt;/P&gt;&lt;P&gt;    TABLES&lt;/P&gt;&lt;P&gt;      t_outtab           = git_outtab[]&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      program_error      = 1&lt;/P&gt;&lt;P&gt;      OTHERS             = 2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CHECK sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;       MESSAGE text-025 TYPE c_inf.&lt;/P&gt;&lt;P&gt;       LEAVE LIST-PROCESSING.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " display_output&lt;/P&gt;&lt;P&gt;&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  top_of_page&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;      text:Subroutine to build top of page event to display&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 top_of_page.                                           "#EC CALLED&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: ls_list TYPE slis_listheader,&lt;/P&gt;&lt;P&gt;        lit_list TYPE slis_t_listheader.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;BREAK-POINT.&lt;/P&gt;&lt;P&gt;  ls_list-typ  = 'H'.&lt;/P&gt;&lt;P&gt;  ls_list-info =  text-023.&lt;/P&gt;&lt;P&gt;  APPEND ls_list TO lit_list.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      it_list_commentary = lit_list.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                                    "top_of_page&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  SUBTOTAL_TEXT&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;      text:Subroutine for Sub Total Text&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;   p_total         :Totals&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   p_subtotal_text:SubTotals&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;/P&gt;&lt;P&gt; FORM subtotal_text CHANGING p_total TYPE any&lt;/P&gt;&lt;P&gt;                             p_subtotal_text TYPE slis_subtot_text.    "#EC CALLED&lt;/P&gt;&lt;P&gt;BREAK-POINT.&lt;/P&gt;&lt;P&gt;   IF p_subtotal_text-criteria = 'POST_DATE'.&lt;/P&gt;&lt;P&gt;      p_subtotal_text-display_text_for_subtotal = text-027.&lt;/P&gt;&lt;P&gt;   ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   IF p_subtotal_text-criteria = 'MOVE_TYPE'.&lt;/P&gt;&lt;P&gt;      p_subtotal_text-display_text_for_subtotal = text-028.&lt;/P&gt;&lt;P&gt;   ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; ENDFORM.            "SUBTOTAL_TEXT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Edited by: Shashikumar Guntuka on Jul 3, 2008 6:53 AM&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Edited by: Shashikumar Guntuka on Jul 3, 2008 6:54 AM&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 03 Jul 2008 04:46:40 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/no-subtotal-text/m-p/4058446#M970157</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-07-03T04:46:40Z</dc:date>
    </item>
    <item>
      <title>Re: No Subtotal Text</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/no-subtotal-text/m-p/4058447#M970158</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;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Check this sample&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: I_LAYOUT TYPE TABLE OF SLIS_LAYOUT_ALV WITH&lt;/P&gt;&lt;P&gt;NON-UNIQUE DEFAULT KEY WITH HEADER LINE INITIAL SIZE 0.&lt;/P&gt;&lt;P&gt;DATA: I_SORT TYPE SLIS_T_SORTINFO_ALV,&lt;/P&gt;&lt;P&gt;X_SORT LIKE LINE OF I_SORT.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;X_SORT-SPOS = 41.&lt;/P&gt;&lt;P&gt;X_SORT-FIELDNAME = 'PERSG'.&lt;/P&gt;&lt;P&gt;X_SORT-UP = 'X'.&lt;/P&gt;&lt;P&gt;X_SORT-SUBTOT = 'X'.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;APPEND X_SORT TO I_SORT.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;I_LAYOUT-ZEBRA = 'X'.&lt;/P&gt;&lt;P&gt;I_LAYOUT-SUBTOTALS_TEXT = 'SUBTOTAL'.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;and pass that i_layout to the FM.&lt;/P&gt;&lt;P&gt;if ur using any other function module,then change I_LAYOUT to that FM type and pass it. &lt;/P&gt;&lt;P&gt;&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;Raj.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 03 Jul 2008 04:58:36 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/no-subtotal-text/m-p/4058447#M970158</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-07-03T04:58:36Z</dc:date>
    </item>
    <item>
      <title>Re: No Subtotal Text</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/no-subtotal-text/m-p/4058448#M970159</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;Try this code,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: I_LAYOUT TYPE TABLE OF SLIS_LAYOUT_ALV WITH&lt;/P&gt;&lt;P&gt;NON-UNIQUE DEFAULT KEY WITH HEADER LINE INITIAL SIZE 0.&lt;/P&gt;&lt;P&gt;DATA: I_SORT TYPE SLIS_T_SORTINFO_ALV,&lt;/P&gt;&lt;P&gt;X_SORT LIKE LINE OF I_SORT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;X_SORT-SPOS = 41.&lt;/P&gt;&lt;P&gt;X_SORT-FIELDNAME = 'PERSG'.&lt;/P&gt;&lt;P&gt;X_SORT-UP = 'X'.&lt;/P&gt;&lt;P&gt;X_SORT-SUBTOT = 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;APPEND X_SORT TO I_SORT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I_LAYOUT-ZEBRA = 'X'.&lt;/P&gt;&lt;P&gt;I_LAYOUT-SUBTOTALS_TEXT = 'SUBTOTAL'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;and pass the I_layout to the function module.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks &amp;amp; Regards,&lt;/P&gt;&lt;P&gt;Y.R.Prem Kumar&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 03 Jul 2008 05:10:02 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/no-subtotal-text/m-p/4058448#M970159</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-07-03T05:10:02Z</dc:date>
    </item>
  </channel>
</rss>

