<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Material batch characteristics in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/material-batch-characteristics/m-p/2534005#M574879</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi&lt;/P&gt;&lt;P&gt;See the sample code for fetching the BAtch characteristics of Material&lt;/P&gt;&lt;P&gt;report z21311r_batch_char no standard page heading&lt;/P&gt;&lt;P&gt;                          line-size  132&lt;/P&gt;&lt;P&gt;                          line-count 58(1)&lt;/P&gt;&lt;P&gt;                          message-id mm.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Declaration for 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;tables: mara,    " Material Master&lt;/P&gt;&lt;P&gt;        mard,    " Storage Location Data for Material&lt;/P&gt;&lt;P&gt;        t001w,   " Plants/Branches&lt;/P&gt;&lt;P&gt;        t001l,   " Storage Locations&lt;/P&gt;&lt;P&gt;        cabn,    " Characteristics&lt;/P&gt;&lt;P&gt;        inob.    " Link between Internal Number and Object&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; Declaration for Constants&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;constants : c_klart like ausp-klart value '023',     " Class Type&lt;/P&gt;&lt;P&gt;            c_obtab like inob-obtab value 'MCH1',    " Database Table&lt;/P&gt;&lt;P&gt;            c_flag  type c          value 'X',       " Flag&lt;/P&gt;&lt;P&gt;            c_c23   type i          value '23',      " Ratio&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; Constants for Ratio Categories&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;            c_13    type p decimals 2 value '13.00', " For Ratio 13&lt;/P&gt;&lt;P&gt;            c_1499  type p decimals 2 value '14.99', " For Ratio 14.99&lt;/P&gt;&lt;P&gt;            c_15    type p decimals 2 value '15.00', " For Ratio 15&lt;/P&gt;&lt;P&gt;            c_1699  type p decimals 2 value '16.99', " For Ratio  16.99&lt;/P&gt;&lt;P&gt;            c_17    type p decimals 2 value '17.00', " For Ratio 17&lt;/P&gt;&lt;P&gt;            c_1899  type p decimals 2 value '18.99', " For Ratio 18.99&lt;/P&gt;&lt;P&gt;            c_19    type p decimals 2 value '19.00', " For Ratio 19&lt;/P&gt;&lt;P&gt;            c_2099  type p decimals 2 value '20.99', " For Ratio 20.99&lt;/P&gt;&lt;P&gt;            c_21    type p decimals 2 value '21.00', " For Ratio 21&lt;/P&gt;&lt;P&gt;            c_2299  type p decimals 2 value '22.99', " For Ratio 22.99&lt;/P&gt;&lt;P&gt;            c_23    type p decimals 2 value '23.00', " For Ratio 23&lt;/P&gt;&lt;P&gt;            c_g23(4) type c value '&amp;gt;=23',            " For Ratio &amp;gt;=23&lt;/P&gt;&lt;P&gt;            c_ratio(5) value 'RATIO',                  " For Ratio&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; Constants for Storing Selected item field information&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;            c_cursor1(15) value 'I_OUTPUT1-MEINS',   " For Selected Base&lt;/P&gt;&lt;P&gt;                                                     " Unit of Measure&lt;/P&gt;&lt;P&gt;            c_cursor2(15) value 'I_OUTPUT1-MATNR',   " For Selected Base&lt;/P&gt;&lt;P&gt;                                                     " Material Number&lt;/P&gt;&lt;P&gt;            c_cursor3(15) value 'I_OUTPUT1-MAKTX',   " For Selected Base&lt;/P&gt;&lt;P&gt;                                                     " Material Des.&lt;/P&gt;&lt;P&gt;            c_cursor4(15) value 'I_OUTPUT1-CLABS',   "For Selected Base&lt;/P&gt;&lt;P&gt;                                                     " Stock Value&lt;/P&gt;&lt;P&gt;            c_cursor5(15) value 'I_OUTPUT1-ATFLV',   " For Selected Base&lt;/P&gt;&lt;P&gt;                                                    " Char.Value (Ratio)&lt;/P&gt;&lt;P&gt;            c_cursor6(5) value 'C_G23'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; Declaration for Global Variables&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;data : g_exit  type c,                            " Flag&lt;/P&gt;&lt;P&gt;       g_clabs1(16) type c,                       " Quantity&lt;/P&gt;&lt;P&gt;       g_clabs(18)  type c,                       " Quantity&lt;/P&gt;&lt;P&gt;       g_cursor(15) type c,                       " Cursor field name&lt;/P&gt;&lt;P&gt;       g_matnr     type mara-matnr,               " Material Number&lt;/P&gt;&lt;P&gt;       g_werks     type mchb-werks,               " Plant&lt;/P&gt;&lt;P&gt;       g_atinn(30) type c.                        " Character.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; Declaration for Internal 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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Internal table to hold Batch Stock data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;data : begin of i_mchb occurs 0,&lt;/P&gt;&lt;P&gt;         matnr like mchb-matnr,      " Material Number&lt;/P&gt;&lt;P&gt;         werks like mchb-werks,      " Plant&lt;/P&gt;&lt;P&gt;         lgort like mchb-lgort,      " Storage Location&lt;/P&gt;&lt;P&gt;         charg like mchb-charg,      " Batch Number&lt;/P&gt;&lt;P&gt;         clabs like mchb-clabs,      " Stock Value&lt;/P&gt;&lt;P&gt;         meins like mara-meins,      " Unit of measure&lt;/P&gt;&lt;P&gt;         atflo like ausp-atflv,      " Char.Value (Ratio)&lt;/P&gt;&lt;P&gt;         atflv like ausp-atflv,      " Char.Value (Ratio)&lt;/P&gt;&lt;P&gt;       end of i_mchb.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Internal table to hold Secondary List data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;data : begin of i_mchb1 occurs 0,&lt;/P&gt;&lt;P&gt;         werks like mchb-werks,      " Plant&lt;/P&gt;&lt;P&gt;         matnr like mchb-matnr,      " Material Number&lt;/P&gt;&lt;P&gt;         lgort like mchb-lgort,      " Storage Location&lt;/P&gt;&lt;P&gt;         charg like mchb-charg,      " Batch Number&lt;/P&gt;&lt;P&gt;         atinn like ausp-atinn,      " Char.Value&lt;/P&gt;&lt;P&gt;         clabs like mchb-clabs,      " Stock Value&lt;/P&gt;&lt;P&gt;         atflo like ausp-atflv,      " Char.Value (Ratio)&lt;/P&gt;&lt;P&gt;         atflv like ausp-atflv,      " Char.Value (Ratio)&lt;/P&gt;&lt;P&gt;       end of i_mchb1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Internal table to get the Plant Name&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;data : begin of i_plant occurs 0,&lt;/P&gt;&lt;P&gt;         werks like t001w-werks,     " Plant&lt;/P&gt;&lt;P&gt;         name1 like t001w-name1,     " Name&lt;/P&gt;&lt;P&gt;       end of i_plant.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Internal table to get the Material Description&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;data : begin of i_makt occurs 0,&lt;/P&gt;&lt;P&gt;         matnr like makt-matnr,      " Material&lt;/P&gt;&lt;P&gt;         maktx like makt-maktx,     " Description&lt;/P&gt;&lt;P&gt;       end of i_makt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Internal table to hold AUSP data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;data : begin of i_ausp occurs 0,&lt;/P&gt;&lt;P&gt;         objek like ausp-objek,      " Object No&lt;/P&gt;&lt;P&gt;         atinn like cabn-atinn,      " Characteric value&lt;/P&gt;&lt;P&gt;         atflv like ausp-atflv,      " Characteristic Value&lt;/P&gt;&lt;P&gt;       end of i_ausp.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Internal table to hold output data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;data : begin of i_output occurs 0,&lt;/P&gt;&lt;P&gt;         atinn like cabn-atinn,      " Characteric value&lt;/P&gt;&lt;P&gt;         werks like mchb-werks,      " Plant&lt;/P&gt;&lt;P&gt;         matnr like mchb-matnr,      " Material Number&lt;/P&gt;&lt;P&gt;         atnam like cabn-atnam,      " Characteristic&lt;/P&gt;&lt;P&gt;         atflv like ausp-atflv,      " Char.Value (Ratio)&lt;/P&gt;&lt;P&gt;         name1 like t001w-name1,     " Plant Description&lt;/P&gt;&lt;P&gt;         maktx like makt-maktx,      " Material Description&lt;/P&gt;&lt;P&gt;         clabs like mchb-clabs,      " Stock Value&lt;/P&gt;&lt;P&gt;         meins like mara-meins,      " Base Unit of Measure&lt;/P&gt;&lt;P&gt;       end of i_output.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Internal table to hold final Output data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;data : begin of i_output1 occurs 0,&lt;/P&gt;&lt;P&gt;         atinn like cabn-atinn,      " Characteric value&lt;/P&gt;&lt;P&gt;         werks like mchb-werks,      " Plant&lt;/P&gt;&lt;P&gt;         matnr like mchb-matnr,      " Material Number&lt;/P&gt;&lt;P&gt;         atnam like cabn-atnam,      " Characteristic&lt;/P&gt;&lt;P&gt;         atflv(32) type c,           " Char.Value (Ratio)&lt;/P&gt;&lt;P&gt;         name1 like t001w-name1,     " Plant Description&lt;/P&gt;&lt;P&gt;         maktx like makt-maktx,      " Material Description&lt;/P&gt;&lt;P&gt;         clabs like mchb-clabs,      " Stock Value&lt;/P&gt;&lt;P&gt;         meins like mara-meins,      " Base Unit of Measure&lt;/P&gt;&lt;P&gt;       end of i_output1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       Selection screen&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;selection-screen begin of block b1 with frame title text-001.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;select-options: s_werks for t001w-werks obligatory,  " Plant&lt;/P&gt;&lt;P&gt;                s_lgort for t001l-lgort,             " Stor.Location&lt;/P&gt;&lt;P&gt;                s_matnr for mara-matnr  obligatory,  " Material No&lt;/P&gt;&lt;P&gt;                s_atinn for cabn-atinn.              " Character.&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;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;At selection screen&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;at selection-screen.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Validation of Selection Screen Fields&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  perform validate_screen.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Start of selection&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;start-of-selection.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get the Material and Batch Stock data from MARA and MCHB Tables&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  perform get_mat_stock_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get the Material Group Text and Plant Name from T023T and T001W Tables&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  perform get_plant_grp_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Append the data into final Output Internal Table after getting the&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Characteristic Values data from INOB and AUSP Tables&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  perform append_final_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Processing if the Characteristics contain 'RATIO'&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  perform collect_ratio.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;End-of-Page&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;end-of-page.&lt;/P&gt;&lt;P&gt;  write /1(125) sy-uline.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;End of selection&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;end-of-selection.&lt;/P&gt;&lt;P&gt;  if g_exit &amp;lt;&amp;gt; c_flag.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Display the Report Output data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    perform display_report.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Top-of-Page&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;top-of-page.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Write the Report and Column Headings&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  perform get_headings.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;at line-selection&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;at line-selection.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  if sy-lsind = 1.&lt;/P&gt;&lt;P&gt;    perform display_batch.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; Top of page during line-selection&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;top-of-page during line-selection.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  perform heading_seclist.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      Form validate_screen&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;Validation of Selection Screen fields&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form validate_screen.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Validation of Plant&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  clear t001w.&lt;/P&gt;&lt;P&gt;  if not s_werks[] is initial.&lt;/P&gt;&lt;P&gt;    select werks&lt;/P&gt;&lt;P&gt;      into t001w-werks&lt;/P&gt;&lt;P&gt;      from t001w&lt;/P&gt;&lt;P&gt;      up to 1 rows&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 e899 with 'Enter Valid Plant'(002).&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Validation of Material Number&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  clear mara.&lt;/P&gt;&lt;P&gt;  if not s_matnr[] is initial.&lt;/P&gt;&lt;P&gt;    select matnr&lt;/P&gt;&lt;P&gt;      into mara-matnr&lt;/P&gt;&lt;P&gt;      from mara&lt;/P&gt;&lt;P&gt;      up to 1 rows&lt;/P&gt;&lt;P&gt;      where matnr in s_matnr.&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 e899 with 'Enter Valid Material'(003).&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Validation of Storage Location&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  clear t001l.&lt;/P&gt;&lt;P&gt;  if not s_lgort[] is initial.&lt;/P&gt;&lt;P&gt;    select lgort&lt;/P&gt;&lt;P&gt;      into t001l-lgort&lt;/P&gt;&lt;P&gt;      from t001l&lt;/P&gt;&lt;P&gt;      up to 1 rows&lt;/P&gt;&lt;P&gt;      where lgort in s_lgort.&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 e899 with 'Enter Valid Storage Location'(004).&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Validation of Characteristic Value&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  clear cabn.&lt;/P&gt;&lt;P&gt;  if not s_atinn[] is initial.&lt;/P&gt;&lt;P&gt;    select atinn&lt;/P&gt;&lt;P&gt;      into cabn-atinn&lt;/P&gt;&lt;P&gt;      from cabn&lt;/P&gt;&lt;P&gt;      up to 1 rows&lt;/P&gt;&lt;P&gt;      where atinn in s_atinn.&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 e899 with 'Enter Valid Characteristic Value'(005).&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Validation of Plant, Material and Storage Location&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  clear mard.&lt;/P&gt;&lt;P&gt;  select matnr werks lgort&lt;/P&gt;&lt;P&gt;    into (mard-matnr, mard-werks, mard-lgort)&lt;/P&gt;&lt;P&gt;    from mard&lt;/P&gt;&lt;P&gt;    up to 1 rows&lt;/P&gt;&lt;P&gt;    where matnr in s_matnr and&lt;/P&gt;&lt;P&gt;          werks in s_werks and&lt;/P&gt;&lt;P&gt;          lgort in s_lgort.&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 e899 with 'No Data found for the Selection Criteria'(006).&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.                          "validate_screen&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  get_headings&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; Write the Report and Column Headings&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form get_headings.&lt;/P&gt;&lt;P&gt;  data: l_repid type sy-repid.&lt;/P&gt;&lt;P&gt;  l_repid =  sy-repid.&lt;/P&gt;&lt;P&gt;  call function 'Y_STANDARD_HEADING'&lt;/P&gt;&lt;P&gt;       exporting&lt;/P&gt;&lt;P&gt;            repid    = l_repid&lt;/P&gt;&lt;P&gt;            heading1 = sy-title.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  write:/1(125) sy-uline.&lt;/P&gt;&lt;P&gt;  format color col_heading on.&lt;/P&gt;&lt;P&gt;  write : /1  sy-vline,  2(18)   'Material Number'(008) centered,&lt;/P&gt;&lt;P&gt;          20  sy-vline,  21(40)  'Material Description'(011) centered,&lt;/P&gt;&lt;P&gt;          61  sy-vline,  62(22)  'Ratio'(009) centered,&lt;/P&gt;&lt;P&gt;          84  sy-vline,  85(18)  'Quantity'(010) centered,&lt;/P&gt;&lt;P&gt;         103  sy-vline, 104(20)  'Base Unit of Measure'(015) centered,&lt;/P&gt;&lt;P&gt;         125  sy-vline.&lt;/P&gt;&lt;P&gt;  write:/1(125) sy-uline.&lt;/P&gt;&lt;P&gt;  format color off.&lt;/P&gt;&lt;P&gt;endform.                    "get_headings&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  get_mat_stock_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; Get the Material and Batch Stock data from MARA and MCHB 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;form get_mat_stock_data.&lt;/P&gt;&lt;P&gt;  clear: i_mchb,i_output, i_output1.&lt;/P&gt;&lt;P&gt;  refresh: i_mchb,i_output, i_output1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  select a~matnr       " Material Number&lt;/P&gt;&lt;P&gt;         b~werks       " Plant&lt;/P&gt;&lt;P&gt;         b~lgort       " Storage Location&lt;/P&gt;&lt;P&gt;         b~charg       " Batch Number&lt;/P&gt;&lt;P&gt;         b~clabs       " Stock Value&lt;/P&gt;&lt;P&gt;         a~meins       " Base Unit of Measure&lt;/P&gt;&lt;P&gt;      into table i_mchb&lt;/P&gt;&lt;P&gt;      from mara as a inner join mchb as b&lt;/P&gt;&lt;P&gt;      on a&lt;SUB&gt;matnr eq b&lt;/SUB&gt;matnr&lt;/P&gt;&lt;P&gt;      where b~matnr in s_matnr and&lt;/P&gt;&lt;P&gt;            b~werks in s_werks and&lt;/P&gt;&lt;P&gt;            b~lgort in s_lgort.&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;    g_exit = c_flag.&lt;/P&gt;&lt;P&gt;    message s899 with 'No Data found for the Selection Criteria'(006).&lt;/P&gt;&lt;P&gt;    stop.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  sort i_mchb by matnr werks lgort charg.&lt;/P&gt;&lt;P&gt;endform.                    " get_mat_stock_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  get_plant_grp_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; Get the Material Group Text and Plant Name from T023T and T001W&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form get_plant_grp_data.&lt;/P&gt;&lt;P&gt;  if not i_mchb[] is initial.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get the Plant Description from t001w Table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    clear i_plant.&lt;/P&gt;&lt;P&gt;    refresh i_plant.&lt;/P&gt;&lt;P&gt;    select werks      " Plant&lt;/P&gt;&lt;P&gt;           name1      " Name&lt;/P&gt;&lt;P&gt;      into table i_plant&lt;/P&gt;&lt;P&gt;      from t001w&lt;/P&gt;&lt;P&gt;      for all entries in i_mchb&lt;/P&gt;&lt;P&gt;      where werks = i_mchb-werks.&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;Get the Material Description from MAKT Table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    clear i_makt.&lt;/P&gt;&lt;P&gt;    refresh i_makt.&lt;/P&gt;&lt;P&gt;    select matnr      " Material number&lt;/P&gt;&lt;P&gt;           maktx      " Material Description&lt;/P&gt;&lt;P&gt;      into table i_makt&lt;/P&gt;&lt;P&gt;      from makt&lt;/P&gt;&lt;P&gt;      for all entries in i_mchb&lt;/P&gt;&lt;P&gt;      where matnr = i_mchb-matnr and&lt;/P&gt;&lt;P&gt;            spras = sy-langu.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    sort i_plant by werks.&lt;/P&gt;&lt;P&gt;    delete adjacent duplicates from i_plant comparing werks.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    sort i_makt by matnr.&lt;/P&gt;&lt;P&gt;    delete adjacent duplicates from i_makt comparing matnr.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;endform.                   "form get_plant_grp_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  append_final_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;Append the data into final 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 append_final_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  data : l_matbatch(28),&lt;/P&gt;&lt;P&gt;         l_tabix like sy-tabix.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  if not i_mchb[] is initial.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    loop at i_mchb.&lt;/P&gt;&lt;P&gt;      l_tabix = sy-tabix.&lt;/P&gt;&lt;P&gt;      clear l_matbatch.&lt;/P&gt;&lt;P&gt;      concatenate i_mchb-matnr i_mchb-charg into l_matbatch.&lt;/P&gt;&lt;P&gt;      move-corresponding i_mchb to i_output.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get the Plant Description from i_plant Table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        read table i_plant with key werks = i_mchb-werks binary search.&lt;/P&gt;&lt;P&gt;        if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;          i_output-name1 = i_plant-name1.&lt;/P&gt;&lt;P&gt;        endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get the Material Description from i_makt Table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      read table i_makt with key matnr = i_mchb-matnr binary search.&lt;/P&gt;&lt;P&gt;      if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;        i_output-maktx = i_makt-maktx.&lt;/P&gt;&lt;P&gt;      endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get the Characteristic Values data from INOB and AUSP Tables&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      clear inob.&lt;/P&gt;&lt;P&gt;      select single cuobj from inob&lt;/P&gt;&lt;P&gt;          into inob-cuobj&lt;/P&gt;&lt;P&gt;          where klart = c_klart and&lt;/P&gt;&lt;P&gt;                obtab = c_obtab and&lt;/P&gt;&lt;P&gt;                objek = l_matbatch.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;        select objek&lt;/P&gt;&lt;P&gt;               atinn&lt;/P&gt;&lt;P&gt;               atflv&lt;/P&gt;&lt;P&gt;           from ausp&lt;/P&gt;&lt;P&gt;           into table i_ausp&lt;/P&gt;&lt;P&gt;           where objek = inob-cuobj and&lt;/P&gt;&lt;P&gt;                 atinn in s_atinn   and&lt;/P&gt;&lt;P&gt;                 klart = c_klart.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        sort i_ausp by objek atinn.&lt;/P&gt;&lt;P&gt;        loop at i_ausp.&lt;/P&gt;&lt;P&gt;          clear cabn.&lt;/P&gt;&lt;P&gt;          select single atinn atnam from cabn&lt;/P&gt;&lt;P&gt;                     into (cabn-atinn,cabn-atnam)&lt;/P&gt;&lt;P&gt;                     where atinn = i_ausp-atinn.&lt;/P&gt;&lt;P&gt;          if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;If the ratio value is between 13-14.99, display 13&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;            if cabn-atnam cs c_ratio.&lt;/P&gt;&lt;P&gt;              if i_ausp-atflv between c_13 and c_1499.&lt;/P&gt;&lt;P&gt;                i_mchb-atflo = i_ausp-atflv.&lt;/P&gt;&lt;P&gt;                i_mchb-atflv = c_13.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;If the ratio value is between 15-16.99, display 15&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;              elseif i_ausp-atflv between c_15 and c_1699.&lt;/P&gt;&lt;P&gt;                i_mchb-atflo = i_ausp-atflv.&lt;/P&gt;&lt;P&gt;                i_mchb-atflv = c_15.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;If the ratio value is between 17-18.99, display 17&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;              elseif i_ausp-atflv between c_17 and c_1899.&lt;/P&gt;&lt;P&gt;                i_mchb-atflo = i_ausp-atflv.&lt;/P&gt;&lt;P&gt;                i_mchb-atflv = c_17.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;If the ratio value is between 19-20.99, display 19&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;              elseif i_ausp-atflv between c_19 and c_2099.&lt;/P&gt;&lt;P&gt;                i_mchb-atflo = i_ausp-atflv.&lt;/P&gt;&lt;P&gt;                i_mchb-atflv = c_19.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;If the ratio value is between 21-22.99, display 21&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;              elseif i_ausp-atflv between c_21 and c_2299.&lt;/P&gt;&lt;P&gt;                i_mchb-atflo = i_ausp-atflv.&lt;/P&gt;&lt;P&gt;                i_mchb-atflv = c_21.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;If the ratio value is greater than or equal to 23, display 23&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;              elseif i_ausp-atflv &amp;gt;= c_23.&lt;/P&gt;&lt;P&gt;                i_mchb-atflo = i_ausp-atflv.&lt;/P&gt;&lt;P&gt;                i_mchb-atflv = c_23.&lt;/P&gt;&lt;P&gt;              endif.           " Condition for RATIO values&lt;/P&gt;&lt;P&gt;            else.              " If characteristic does contain RATIO&lt;/P&gt;&lt;P&gt;              i_mchb-atflv = i_ausp-atflv.&lt;/P&gt;&lt;P&gt;            endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            i_output-atinn = cabn-atinn.&lt;/P&gt;&lt;P&gt;            i_output-atnam = cabn-atnam.&lt;/P&gt;&lt;P&gt;            i_output-atflv = i_ausp-atflv.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            i_mchb1-matnr = i_mchb-matnr.&lt;/P&gt;&lt;P&gt;            i_mchb1-werks = i_mchb-werks.&lt;/P&gt;&lt;P&gt;            i_mchb1-lgort = i_mchb-lgort.&lt;/P&gt;&lt;P&gt;            i_mchb1-charg = i_mchb-charg.&lt;/P&gt;&lt;P&gt;            i_mchb1-clabs = i_mchb-clabs.&lt;/P&gt;&lt;P&gt;            i_mchb1-atinn = i_ausp-atinn.&lt;/P&gt;&lt;P&gt;            i_mchb1-atflo = i_mchb-atflv.&lt;/P&gt;&lt;P&gt;            i_mchb1-atflv = i_ausp-atflv.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            append : i_output, i_mchb1.&lt;/P&gt;&lt;P&gt;            clear i_mchb1.&lt;/P&gt;&lt;P&gt;            modify i_mchb index l_tabix transporting atflo atflv .&lt;/P&gt;&lt;P&gt;          endif.&lt;/P&gt;&lt;P&gt;        endloop.&lt;/P&gt;&lt;P&gt;      endif.&lt;/P&gt;&lt;P&gt;    endloop.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Checking whether the table is filled or not&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  if not i_output[] is initial.&lt;/P&gt;&lt;P&gt;    sort i_output by atinn werks matnr atflv.&lt;/P&gt;&lt;P&gt;  else.&lt;/P&gt;&lt;P&gt;    g_exit = c_flag.&lt;/P&gt;&lt;P&gt;    message s899 with 'No Data found for the Selection Criteria'(006).&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Delete the records where RATIO is less than 13.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  delete i_output where atnam cs c_ratio and atflv lt c_13.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.                    "append_final_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  display_report&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;Display the Report Output data&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 display_report.&lt;/P&gt;&lt;P&gt;data: l_tabix like sy-tabix.&lt;/P&gt;&lt;P&gt;  loop at i_output1.&lt;/P&gt;&lt;P&gt;    l_tabix = sy-tabix.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;At new Characteristic&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;     at new atinn.&lt;/P&gt;&lt;P&gt;      read table i_output1 index l_tabix.&lt;/P&gt;&lt;P&gt;      format color 1 intensified on.&lt;/P&gt;&lt;P&gt;      write: /1 sy-vline, 2(20) 'Characteristic Name:'(007),&lt;/P&gt;&lt;P&gt;             23(40) i_output1-atnam,&lt;/P&gt;&lt;P&gt;             125 sy-vline.&lt;/P&gt;&lt;P&gt;      format color off.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      format color 4 intensified on.&lt;/P&gt;&lt;P&gt;      write: /1 sy-vline, 2(20) 'Plant Name         :'(022),&lt;/P&gt;&lt;P&gt;             23(4) i_output1-werks, 29(30) i_output1-name1,&lt;/P&gt;&lt;P&gt;             125 sy-vline.&lt;/P&gt;&lt;P&gt;      format color off.&lt;/P&gt;&lt;P&gt;      write /1(125) sy-uline.&lt;/P&gt;&lt;P&gt;    endat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    clear: g_clabs, g_clabs1.&lt;/P&gt;&lt;P&gt;    format color col_normal.&lt;/P&gt;&lt;P&gt;    write :/1 sy-vline,  2(18)   i_output1-matnr,&lt;/P&gt;&lt;P&gt;           20 sy-vline,  21(40)  i_output1-maktx,&lt;/P&gt;&lt;P&gt;           61 sy-vline.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    if i_output1-atflv = c_c23.&lt;/P&gt;&lt;P&gt;      write: 62(22)  c_g23 centered.&lt;/P&gt;&lt;P&gt;    else.&lt;/P&gt;&lt;P&gt;      shift i_output1-atflv left deleting leading space.&lt;/P&gt;&lt;P&gt;      write: 62(22)  i_output1-atflv centered.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    write:  84     sy-vline,&lt;/P&gt;&lt;P&gt;           103     sy-vline,&lt;/P&gt;&lt;P&gt;           110(5)  i_output1-meins.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;If the quantity value is negative&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    if i_output1-clabs ge 0.&lt;/P&gt;&lt;P&gt;      write: 85(18) i_output1-clabs unit i_mchb-meins,&lt;/P&gt;&lt;P&gt;            125     sy-vline.&lt;/P&gt;&lt;P&gt;    else.&lt;/P&gt;&lt;P&gt;      i_output1-clabs = - i_output1-clabs.&lt;/P&gt;&lt;P&gt;      write i_output1-clabs unit i_mchb-meins to g_clabs1.&lt;/P&gt;&lt;P&gt;      condense g_clabs1.&lt;/P&gt;&lt;P&gt;      concatenate '(' g_clabs1 ')' into g_clabs separated by space.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      write: 85(18) g_clabs right-justified,&lt;/P&gt;&lt;P&gt;           125 sy-vline.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;    format color off.&lt;/P&gt;&lt;P&gt;    hide : i_output1.&lt;/P&gt;&lt;P&gt;    new-line.&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;At end of material&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    at end of matnr.&lt;/P&gt;&lt;P&gt;      sum.&lt;/P&gt;&lt;P&gt;      move : i_output1-matnr to g_matnr.&lt;/P&gt;&lt;P&gt;      format color 3 intensified on.&lt;/P&gt;&lt;P&gt;      write /1(125) sy-uline.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      write :/1 sy-vline,  2(25) 'Total for Material      :'(012),&lt;/P&gt;&lt;P&gt;             28(18) g_matnr.&lt;/P&gt;&lt;P&gt;      if i_output1-clabs ge 0.&lt;/P&gt;&lt;P&gt;        write: 85(18) i_output1-clabs  unit i_mchb-meins,&lt;/P&gt;&lt;P&gt;        125 sy-vline.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      else.&lt;/P&gt;&lt;P&gt;        i_output1-clabs = - i_output1-clabs.&lt;/P&gt;&lt;P&gt;        write i_output1-clabs unit i_mchb-meins to g_clabs1.&lt;/P&gt;&lt;P&gt;        condense g_clabs1.&lt;/P&gt;&lt;P&gt;        concatenate '(' g_clabs1 ')' into g_clabs separated by space.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        write: 85(18) g_clabs right-justified,&lt;/P&gt;&lt;P&gt;             125 sy-vline.&lt;/P&gt;&lt;P&gt;      endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      write: 125 sy-vline.&lt;/P&gt;&lt;P&gt;      format color off.&lt;/P&gt;&lt;P&gt;      write /1(125) sy-uline.&lt;/P&gt;&lt;P&gt;    endat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;At end of plant&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    at end of werks.&lt;/P&gt;&lt;P&gt;      sum.&lt;/P&gt;&lt;P&gt;      move : i_output1-werks to g_werks.&lt;/P&gt;&lt;P&gt;      format color 3 intensified off.&lt;/P&gt;&lt;P&gt;      write :/1 sy-vline,  2(25) 'Total for Plant          :'(013),&lt;/P&gt;&lt;P&gt;             28(4) g_werks.&lt;/P&gt;&lt;P&gt;      if i_output1-clabs ge 0.&lt;/P&gt;&lt;P&gt;        write:  85(18) i_output1-clabs  unit i_mchb-meins,&lt;/P&gt;&lt;P&gt;        125 sy-vline.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      else.&lt;/P&gt;&lt;P&gt;        i_output1-clabs = - i_output1-clabs.&lt;/P&gt;&lt;P&gt;        write i_output1-clabs unit i_mchb-meins to g_clabs1.&lt;/P&gt;&lt;P&gt;        condense g_clabs1.&lt;/P&gt;&lt;P&gt;        concatenate '(' g_clabs1 ')' into g_clabs separated by space.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        write: 85(18) g_clabs right-justified,&lt;/P&gt;&lt;P&gt;             125 sy-vline.&lt;/P&gt;&lt;P&gt;      endif.&lt;/P&gt;&lt;P&gt;      format color off.&lt;/P&gt;&lt;P&gt;      write /1(125) sy-uline.&lt;/P&gt;&lt;P&gt;    endat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;At end of  characteristic&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    at end of atinn.&lt;/P&gt;&lt;P&gt;      read table i_output1 index l_tabix.&lt;/P&gt;&lt;P&gt;      sum.&lt;/P&gt;&lt;P&gt;      format color 3 intensified on.&lt;/P&gt;&lt;P&gt;      write :/1 sy-vline,  2(25) 'Total for Characteristic:'(014),&lt;/P&gt;&lt;P&gt;             28(25) i_output1-atnam.&lt;/P&gt;&lt;P&gt;      if i_output1-clabs ge 0.&lt;/P&gt;&lt;P&gt;        write:  85(18) i_output1-clabs  unit i_mchb-meins,&lt;/P&gt;&lt;P&gt;        125 sy-vline.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      else.&lt;/P&gt;&lt;P&gt;        i_output1-clabs = - i_output1-clabs.&lt;/P&gt;&lt;P&gt;        write i_output1-clabs unit i_mchb-meins to g_clabs1.&lt;/P&gt;&lt;P&gt;        condense g_clabs1.&lt;/P&gt;&lt;P&gt;        concatenate '(' g_clabs1 ')' into g_clabs separated by space.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        write: 85(18) g_clabs right-justified,&lt;/P&gt;&lt;P&gt;             125 sy-vline.&lt;/P&gt;&lt;P&gt;      endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      format color off.&lt;/P&gt;&lt;P&gt;      write /1(125) sy-uline.&lt;/P&gt;&lt;P&gt;    endat.&lt;/P&gt;&lt;P&gt;  endloop.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.                    " display_report&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_BATCH&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;     Display the batch details for the seclected material            *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form display_batch.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get the batch details for the selected material&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  get cursor field g_cursor.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  if g_cursor = c_cursor1 or&lt;/P&gt;&lt;P&gt;     g_cursor = c_cursor2 or&lt;/P&gt;&lt;P&gt;     g_cursor = c_cursor3 or&lt;/P&gt;&lt;P&gt;     g_cursor = c_cursor4 or&lt;/P&gt;&lt;P&gt;     g_cursor = c_cursor5 or&lt;/P&gt;&lt;P&gt;     g_cursor = c_cursor6.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    format color 3.&lt;/P&gt;&lt;P&gt;    write: /1 sy-vline,&lt;/P&gt;&lt;P&gt;            2(17) 'Material Number :'(020),&lt;/P&gt;&lt;P&gt;           20(17) i_output1-matnr,&lt;/P&gt;&lt;P&gt;           94 sy-vline.&lt;/P&gt;&lt;P&gt;    format color off.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    write /1(94) sy-uline.&lt;/P&gt;&lt;P&gt;    loop at i_mchb1 where matnr = i_output1-matnr and&lt;/P&gt;&lt;P&gt;                          atinn = i_output1-atinn and&lt;/P&gt;&lt;P&gt;                          atflo = i_output1-atflv.&lt;/P&gt;&lt;P&gt;      format color col_normal.&lt;/P&gt;&lt;P&gt;      shift i_mchb1-charg left deleting leading '0'.&lt;/P&gt;&lt;P&gt;      write :/1 sy-vline,  2(16) i_mchb1-lgort centered,&lt;/P&gt;&lt;P&gt;             18 sy-vline, 19(17) i_mchb1-charg centered,&lt;/P&gt;&lt;P&gt;             36 sy-vline.&lt;/P&gt;&lt;P&gt;      if i_output1-atnam cs c_ratio.&lt;/P&gt;&lt;P&gt;        write: 37(29) i_mchb1-atflv&lt;/P&gt;&lt;P&gt;                       exponent 0 decimals 2 centered.&lt;/P&gt;&lt;P&gt;      else.&lt;/P&gt;&lt;P&gt;        write : 37(29) i_mchb1-atflv&lt;/P&gt;&lt;P&gt;                      exponent 0 decimals 0 centered.&lt;/P&gt;&lt;P&gt;      endif.&lt;/P&gt;&lt;P&gt;      write : 66 sy-vline, 67(27) i_mchb1-clabs unit i_mchb-meins,&lt;/P&gt;&lt;P&gt;              94 sy-vline.&lt;/P&gt;&lt;P&gt;      format color off.&lt;/P&gt;&lt;P&gt;    endloop.&lt;/P&gt;&lt;P&gt;    write /1(94) sy-uline.&lt;/P&gt;&lt;P&gt;  else.&lt;/P&gt;&lt;P&gt;    message s899 with 'Invalid cursor position'(016).&lt;/P&gt;&lt;P&gt;    exit.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;endform.                    " DISPLAY_BATCH&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  HEADING_SECLIST&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;      Write the Column Headings for Interactive Report&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 heading_seclist.&lt;/P&gt;&lt;P&gt;  write /1(94) sy-uline.&lt;/P&gt;&lt;P&gt;  format color col_heading on.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  write :/1 sy-vline,  2(16) 'Storage Location'(021),&lt;/P&gt;&lt;P&gt;         18 sy-vline, 19(17) 'Batch Number'(017) centered,&lt;/P&gt;&lt;P&gt;         36 sy-vline, 37(29) 'Characteristic Value'(018) centered,&lt;/P&gt;&lt;P&gt;         66 sy-vline, 67(27) 'Quantity'(019) centered,&lt;/P&gt;&lt;P&gt;         94 sy-vline.&lt;/P&gt;&lt;P&gt;  write /1(94) sy-uline.&lt;/P&gt;&lt;P&gt;  format color off.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.                    " HEADING_SECLIST&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  COLLECT_RATIO&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;      Display the Characteristic ratio data&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 collect_ratio.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  loop at i_output.&lt;/P&gt;&lt;P&gt;    clear g_atinn.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    i_output1-atinn = i_output-atinn.&lt;/P&gt;&lt;P&gt;    i_output1-atnam = i_output-atnam .&lt;/P&gt;&lt;P&gt;    i_output1-werks = i_output-werks.&lt;/P&gt;&lt;P&gt;    i_output1-name1 = i_output-name1.&lt;/P&gt;&lt;P&gt;    i_output1-matnr = i_output-matnr.&lt;/P&gt;&lt;P&gt;    i_output1-maktx = i_output-maktx.&lt;/P&gt;&lt;P&gt;    i_output1-clabs = i_output-clabs.&lt;/P&gt;&lt;P&gt;    i_output1-meins = i_output-meins.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    call function 'CONVERSION_EXIT_ATINN_OUTPUT'&lt;/P&gt;&lt;P&gt;         exporting&lt;/P&gt;&lt;P&gt;              input  = i_output-atinn&lt;/P&gt;&lt;P&gt;         importing&lt;/P&gt;&lt;P&gt;              output = g_atinn.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    if g_atinn cs c_ratio.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;If the ratio value is between 13-14.99, display 13&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      if i_output-atflv between c_13 and c_1499.&lt;/P&gt;&lt;P&gt;        i_output1-atflv = c_13.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;If the ratio value is between 15-16.99, display 15&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      elseif i_output-atflv between c_15 and c_1699.&lt;/P&gt;&lt;P&gt;        i_output1-atflv = c_15.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;If the ratio value is between 17-18.99, display 17&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      elseif i_output-atflv between c_17 and c_1899.&lt;/P&gt;&lt;P&gt;        i_output1-atflv = c_17.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;If the ratio value is between 19-20.99, display 19&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      elseif i_output-atflv between c_19 and c_2099.&lt;/P&gt;&lt;P&gt;        i_output1-atflv = c_19.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;If the ratio value is between 21-22.99, display 21&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      elseif i_output-atflv between c_21 and c_2299.&lt;/P&gt;&lt;P&gt;        i_output1-atflv = c_21.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;If the ratio value is greater than or equal to 23, display 23&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      elseif i_output-atflv &amp;gt;= c_23.&lt;/P&gt;&lt;P&gt;        i_output1-atflv = c_23.&lt;/P&gt;&lt;P&gt;      endif.&lt;/P&gt;&lt;P&gt;      write i_output1-atflv to i_output1-atflv .&lt;/P&gt;&lt;P&gt;    else.&lt;/P&gt;&lt;P&gt;      write i_output-atflv to i_output1-atflv exponent 0 decimals 0.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;    collect i_output1.&lt;/P&gt;&lt;P&gt;    clear   i_output1.&lt;/P&gt;&lt;P&gt;  endloop.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  sort i_output1 by atinn werks matnr atflv.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.                    " COLLECT_RATIO&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;lt;b&amp;gt;Reward points for useful Answers&amp;lt;/b&amp;gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;Anji&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 18 Jul 2007 07:02:07 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2007-07-18T07:02:07Z</dc:date>
    <item>
      <title>Material batch characteristics</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/material-batch-characteristics/m-p/2534004#M574878</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi all,&lt;/P&gt;&lt;P&gt;             I have a requirement to fetch the material batch characteristics with delivery number as input and print the characteristics for the corresponding batches. Can you please say me the logic to fetch the details ? It is an urgent requirement.. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks &amp;amp; Regards,&lt;/P&gt;&lt;P&gt;RamaKrishnan .T&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 18 Jul 2007 06:56:21 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/material-batch-characteristics/m-p/2534004#M574878</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-07-18T06:56:21Z</dc:date>
    </item>
    <item>
      <title>Re: Material batch characteristics</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/material-batch-characteristics/m-p/2534005#M574879</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi&lt;/P&gt;&lt;P&gt;See the sample code for fetching the BAtch characteristics of Material&lt;/P&gt;&lt;P&gt;report z21311r_batch_char no standard page heading&lt;/P&gt;&lt;P&gt;                          line-size  132&lt;/P&gt;&lt;P&gt;                          line-count 58(1)&lt;/P&gt;&lt;P&gt;                          message-id mm.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Declaration for 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;tables: mara,    " Material Master&lt;/P&gt;&lt;P&gt;        mard,    " Storage Location Data for Material&lt;/P&gt;&lt;P&gt;        t001w,   " Plants/Branches&lt;/P&gt;&lt;P&gt;        t001l,   " Storage Locations&lt;/P&gt;&lt;P&gt;        cabn,    " Characteristics&lt;/P&gt;&lt;P&gt;        inob.    " Link between Internal Number and Object&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; Declaration for Constants&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;constants : c_klart like ausp-klart value '023',     " Class Type&lt;/P&gt;&lt;P&gt;            c_obtab like inob-obtab value 'MCH1',    " Database Table&lt;/P&gt;&lt;P&gt;            c_flag  type c          value 'X',       " Flag&lt;/P&gt;&lt;P&gt;            c_c23   type i          value '23',      " Ratio&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; Constants for Ratio Categories&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;            c_13    type p decimals 2 value '13.00', " For Ratio 13&lt;/P&gt;&lt;P&gt;            c_1499  type p decimals 2 value '14.99', " For Ratio 14.99&lt;/P&gt;&lt;P&gt;            c_15    type p decimals 2 value '15.00', " For Ratio 15&lt;/P&gt;&lt;P&gt;            c_1699  type p decimals 2 value '16.99', " For Ratio  16.99&lt;/P&gt;&lt;P&gt;            c_17    type p decimals 2 value '17.00', " For Ratio 17&lt;/P&gt;&lt;P&gt;            c_1899  type p decimals 2 value '18.99', " For Ratio 18.99&lt;/P&gt;&lt;P&gt;            c_19    type p decimals 2 value '19.00', " For Ratio 19&lt;/P&gt;&lt;P&gt;            c_2099  type p decimals 2 value '20.99', " For Ratio 20.99&lt;/P&gt;&lt;P&gt;            c_21    type p decimals 2 value '21.00', " For Ratio 21&lt;/P&gt;&lt;P&gt;            c_2299  type p decimals 2 value '22.99', " For Ratio 22.99&lt;/P&gt;&lt;P&gt;            c_23    type p decimals 2 value '23.00', " For Ratio 23&lt;/P&gt;&lt;P&gt;            c_g23(4) type c value '&amp;gt;=23',            " For Ratio &amp;gt;=23&lt;/P&gt;&lt;P&gt;            c_ratio(5) value 'RATIO',                  " For Ratio&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; Constants for Storing Selected item field information&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;            c_cursor1(15) value 'I_OUTPUT1-MEINS',   " For Selected Base&lt;/P&gt;&lt;P&gt;                                                     " Unit of Measure&lt;/P&gt;&lt;P&gt;            c_cursor2(15) value 'I_OUTPUT1-MATNR',   " For Selected Base&lt;/P&gt;&lt;P&gt;                                                     " Material Number&lt;/P&gt;&lt;P&gt;            c_cursor3(15) value 'I_OUTPUT1-MAKTX',   " For Selected Base&lt;/P&gt;&lt;P&gt;                                                     " Material Des.&lt;/P&gt;&lt;P&gt;            c_cursor4(15) value 'I_OUTPUT1-CLABS',   "For Selected Base&lt;/P&gt;&lt;P&gt;                                                     " Stock Value&lt;/P&gt;&lt;P&gt;            c_cursor5(15) value 'I_OUTPUT1-ATFLV',   " For Selected Base&lt;/P&gt;&lt;P&gt;                                                    " Char.Value (Ratio)&lt;/P&gt;&lt;P&gt;            c_cursor6(5) value 'C_G23'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; Declaration for Global Variables&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;data : g_exit  type c,                            " Flag&lt;/P&gt;&lt;P&gt;       g_clabs1(16) type c,                       " Quantity&lt;/P&gt;&lt;P&gt;       g_clabs(18)  type c,                       " Quantity&lt;/P&gt;&lt;P&gt;       g_cursor(15) type c,                       " Cursor field name&lt;/P&gt;&lt;P&gt;       g_matnr     type mara-matnr,               " Material Number&lt;/P&gt;&lt;P&gt;       g_werks     type mchb-werks,               " Plant&lt;/P&gt;&lt;P&gt;       g_atinn(30) type c.                        " Character.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; Declaration for Internal 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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Internal table to hold Batch Stock data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;data : begin of i_mchb occurs 0,&lt;/P&gt;&lt;P&gt;         matnr like mchb-matnr,      " Material Number&lt;/P&gt;&lt;P&gt;         werks like mchb-werks,      " Plant&lt;/P&gt;&lt;P&gt;         lgort like mchb-lgort,      " Storage Location&lt;/P&gt;&lt;P&gt;         charg like mchb-charg,      " Batch Number&lt;/P&gt;&lt;P&gt;         clabs like mchb-clabs,      " Stock Value&lt;/P&gt;&lt;P&gt;         meins like mara-meins,      " Unit of measure&lt;/P&gt;&lt;P&gt;         atflo like ausp-atflv,      " Char.Value (Ratio)&lt;/P&gt;&lt;P&gt;         atflv like ausp-atflv,      " Char.Value (Ratio)&lt;/P&gt;&lt;P&gt;       end of i_mchb.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Internal table to hold Secondary List data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;data : begin of i_mchb1 occurs 0,&lt;/P&gt;&lt;P&gt;         werks like mchb-werks,      " Plant&lt;/P&gt;&lt;P&gt;         matnr like mchb-matnr,      " Material Number&lt;/P&gt;&lt;P&gt;         lgort like mchb-lgort,      " Storage Location&lt;/P&gt;&lt;P&gt;         charg like mchb-charg,      " Batch Number&lt;/P&gt;&lt;P&gt;         atinn like ausp-atinn,      " Char.Value&lt;/P&gt;&lt;P&gt;         clabs like mchb-clabs,      " Stock Value&lt;/P&gt;&lt;P&gt;         atflo like ausp-atflv,      " Char.Value (Ratio)&lt;/P&gt;&lt;P&gt;         atflv like ausp-atflv,      " Char.Value (Ratio)&lt;/P&gt;&lt;P&gt;       end of i_mchb1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Internal table to get the Plant Name&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;data : begin of i_plant occurs 0,&lt;/P&gt;&lt;P&gt;         werks like t001w-werks,     " Plant&lt;/P&gt;&lt;P&gt;         name1 like t001w-name1,     " Name&lt;/P&gt;&lt;P&gt;       end of i_plant.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Internal table to get the Material Description&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;data : begin of i_makt occurs 0,&lt;/P&gt;&lt;P&gt;         matnr like makt-matnr,      " Material&lt;/P&gt;&lt;P&gt;         maktx like makt-maktx,     " Description&lt;/P&gt;&lt;P&gt;       end of i_makt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Internal table to hold AUSP data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;data : begin of i_ausp occurs 0,&lt;/P&gt;&lt;P&gt;         objek like ausp-objek,      " Object No&lt;/P&gt;&lt;P&gt;         atinn like cabn-atinn,      " Characteric value&lt;/P&gt;&lt;P&gt;         atflv like ausp-atflv,      " Characteristic Value&lt;/P&gt;&lt;P&gt;       end of i_ausp.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Internal table to hold output data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;data : begin of i_output occurs 0,&lt;/P&gt;&lt;P&gt;         atinn like cabn-atinn,      " Characteric value&lt;/P&gt;&lt;P&gt;         werks like mchb-werks,      " Plant&lt;/P&gt;&lt;P&gt;         matnr like mchb-matnr,      " Material Number&lt;/P&gt;&lt;P&gt;         atnam like cabn-atnam,      " Characteristic&lt;/P&gt;&lt;P&gt;         atflv like ausp-atflv,      " Char.Value (Ratio)&lt;/P&gt;&lt;P&gt;         name1 like t001w-name1,     " Plant Description&lt;/P&gt;&lt;P&gt;         maktx like makt-maktx,      " Material Description&lt;/P&gt;&lt;P&gt;         clabs like mchb-clabs,      " Stock Value&lt;/P&gt;&lt;P&gt;         meins like mara-meins,      " Base Unit of Measure&lt;/P&gt;&lt;P&gt;       end of i_output.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Internal table to hold final Output data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;data : begin of i_output1 occurs 0,&lt;/P&gt;&lt;P&gt;         atinn like cabn-atinn,      " Characteric value&lt;/P&gt;&lt;P&gt;         werks like mchb-werks,      " Plant&lt;/P&gt;&lt;P&gt;         matnr like mchb-matnr,      " Material Number&lt;/P&gt;&lt;P&gt;         atnam like cabn-atnam,      " Characteristic&lt;/P&gt;&lt;P&gt;         atflv(32) type c,           " Char.Value (Ratio)&lt;/P&gt;&lt;P&gt;         name1 like t001w-name1,     " Plant Description&lt;/P&gt;&lt;P&gt;         maktx like makt-maktx,      " Material Description&lt;/P&gt;&lt;P&gt;         clabs like mchb-clabs,      " Stock Value&lt;/P&gt;&lt;P&gt;         meins like mara-meins,      " Base Unit of Measure&lt;/P&gt;&lt;P&gt;       end of i_output1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       Selection screen&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;selection-screen begin of block b1 with frame title text-001.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;select-options: s_werks for t001w-werks obligatory,  " Plant&lt;/P&gt;&lt;P&gt;                s_lgort for t001l-lgort,             " Stor.Location&lt;/P&gt;&lt;P&gt;                s_matnr for mara-matnr  obligatory,  " Material No&lt;/P&gt;&lt;P&gt;                s_atinn for cabn-atinn.              " Character.&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;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;At selection screen&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;at selection-screen.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Validation of Selection Screen Fields&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  perform validate_screen.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Start of selection&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;start-of-selection.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get the Material and Batch Stock data from MARA and MCHB Tables&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  perform get_mat_stock_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get the Material Group Text and Plant Name from T023T and T001W Tables&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  perform get_plant_grp_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Append the data into final Output Internal Table after getting the&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Characteristic Values data from INOB and AUSP Tables&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  perform append_final_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Processing if the Characteristics contain 'RATIO'&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  perform collect_ratio.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;End-of-Page&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;end-of-page.&lt;/P&gt;&lt;P&gt;  write /1(125) sy-uline.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;End of selection&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;end-of-selection.&lt;/P&gt;&lt;P&gt;  if g_exit &amp;lt;&amp;gt; c_flag.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Display the Report Output data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    perform display_report.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Top-of-Page&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;top-of-page.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Write the Report and Column Headings&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  perform get_headings.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;at line-selection&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;at line-selection.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  if sy-lsind = 1.&lt;/P&gt;&lt;P&gt;    perform display_batch.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; Top of page during line-selection&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;top-of-page during line-selection.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  perform heading_seclist.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      Form validate_screen&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;Validation of Selection Screen fields&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form validate_screen.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Validation of Plant&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  clear t001w.&lt;/P&gt;&lt;P&gt;  if not s_werks[] is initial.&lt;/P&gt;&lt;P&gt;    select werks&lt;/P&gt;&lt;P&gt;      into t001w-werks&lt;/P&gt;&lt;P&gt;      from t001w&lt;/P&gt;&lt;P&gt;      up to 1 rows&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 e899 with 'Enter Valid Plant'(002).&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Validation of Material Number&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  clear mara.&lt;/P&gt;&lt;P&gt;  if not s_matnr[] is initial.&lt;/P&gt;&lt;P&gt;    select matnr&lt;/P&gt;&lt;P&gt;      into mara-matnr&lt;/P&gt;&lt;P&gt;      from mara&lt;/P&gt;&lt;P&gt;      up to 1 rows&lt;/P&gt;&lt;P&gt;      where matnr in s_matnr.&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 e899 with 'Enter Valid Material'(003).&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Validation of Storage Location&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  clear t001l.&lt;/P&gt;&lt;P&gt;  if not s_lgort[] is initial.&lt;/P&gt;&lt;P&gt;    select lgort&lt;/P&gt;&lt;P&gt;      into t001l-lgort&lt;/P&gt;&lt;P&gt;      from t001l&lt;/P&gt;&lt;P&gt;      up to 1 rows&lt;/P&gt;&lt;P&gt;      where lgort in s_lgort.&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 e899 with 'Enter Valid Storage Location'(004).&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Validation of Characteristic Value&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  clear cabn.&lt;/P&gt;&lt;P&gt;  if not s_atinn[] is initial.&lt;/P&gt;&lt;P&gt;    select atinn&lt;/P&gt;&lt;P&gt;      into cabn-atinn&lt;/P&gt;&lt;P&gt;      from cabn&lt;/P&gt;&lt;P&gt;      up to 1 rows&lt;/P&gt;&lt;P&gt;      where atinn in s_atinn.&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 e899 with 'Enter Valid Characteristic Value'(005).&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Validation of Plant, Material and Storage Location&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  clear mard.&lt;/P&gt;&lt;P&gt;  select matnr werks lgort&lt;/P&gt;&lt;P&gt;    into (mard-matnr, mard-werks, mard-lgort)&lt;/P&gt;&lt;P&gt;    from mard&lt;/P&gt;&lt;P&gt;    up to 1 rows&lt;/P&gt;&lt;P&gt;    where matnr in s_matnr and&lt;/P&gt;&lt;P&gt;          werks in s_werks and&lt;/P&gt;&lt;P&gt;          lgort in s_lgort.&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 e899 with 'No Data found for the Selection Criteria'(006).&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.                          "validate_screen&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  get_headings&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; Write the Report and Column Headings&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form get_headings.&lt;/P&gt;&lt;P&gt;  data: l_repid type sy-repid.&lt;/P&gt;&lt;P&gt;  l_repid =  sy-repid.&lt;/P&gt;&lt;P&gt;  call function 'Y_STANDARD_HEADING'&lt;/P&gt;&lt;P&gt;       exporting&lt;/P&gt;&lt;P&gt;            repid    = l_repid&lt;/P&gt;&lt;P&gt;            heading1 = sy-title.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  write:/1(125) sy-uline.&lt;/P&gt;&lt;P&gt;  format color col_heading on.&lt;/P&gt;&lt;P&gt;  write : /1  sy-vline,  2(18)   'Material Number'(008) centered,&lt;/P&gt;&lt;P&gt;          20  sy-vline,  21(40)  'Material Description'(011) centered,&lt;/P&gt;&lt;P&gt;          61  sy-vline,  62(22)  'Ratio'(009) centered,&lt;/P&gt;&lt;P&gt;          84  sy-vline,  85(18)  'Quantity'(010) centered,&lt;/P&gt;&lt;P&gt;         103  sy-vline, 104(20)  'Base Unit of Measure'(015) centered,&lt;/P&gt;&lt;P&gt;         125  sy-vline.&lt;/P&gt;&lt;P&gt;  write:/1(125) sy-uline.&lt;/P&gt;&lt;P&gt;  format color off.&lt;/P&gt;&lt;P&gt;endform.                    "get_headings&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  get_mat_stock_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; Get the Material and Batch Stock data from MARA and MCHB 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;form get_mat_stock_data.&lt;/P&gt;&lt;P&gt;  clear: i_mchb,i_output, i_output1.&lt;/P&gt;&lt;P&gt;  refresh: i_mchb,i_output, i_output1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  select a~matnr       " Material Number&lt;/P&gt;&lt;P&gt;         b~werks       " Plant&lt;/P&gt;&lt;P&gt;         b~lgort       " Storage Location&lt;/P&gt;&lt;P&gt;         b~charg       " Batch Number&lt;/P&gt;&lt;P&gt;         b~clabs       " Stock Value&lt;/P&gt;&lt;P&gt;         a~meins       " Base Unit of Measure&lt;/P&gt;&lt;P&gt;      into table i_mchb&lt;/P&gt;&lt;P&gt;      from mara as a inner join mchb as b&lt;/P&gt;&lt;P&gt;      on a&lt;SUB&gt;matnr eq b&lt;/SUB&gt;matnr&lt;/P&gt;&lt;P&gt;      where b~matnr in s_matnr and&lt;/P&gt;&lt;P&gt;            b~werks in s_werks and&lt;/P&gt;&lt;P&gt;            b~lgort in s_lgort.&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;    g_exit = c_flag.&lt;/P&gt;&lt;P&gt;    message s899 with 'No Data found for the Selection Criteria'(006).&lt;/P&gt;&lt;P&gt;    stop.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  sort i_mchb by matnr werks lgort charg.&lt;/P&gt;&lt;P&gt;endform.                    " get_mat_stock_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  get_plant_grp_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; Get the Material Group Text and Plant Name from T023T and T001W&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form get_plant_grp_data.&lt;/P&gt;&lt;P&gt;  if not i_mchb[] is initial.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get the Plant Description from t001w Table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    clear i_plant.&lt;/P&gt;&lt;P&gt;    refresh i_plant.&lt;/P&gt;&lt;P&gt;    select werks      " Plant&lt;/P&gt;&lt;P&gt;           name1      " Name&lt;/P&gt;&lt;P&gt;      into table i_plant&lt;/P&gt;&lt;P&gt;      from t001w&lt;/P&gt;&lt;P&gt;      for all entries in i_mchb&lt;/P&gt;&lt;P&gt;      where werks = i_mchb-werks.&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;Get the Material Description from MAKT Table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    clear i_makt.&lt;/P&gt;&lt;P&gt;    refresh i_makt.&lt;/P&gt;&lt;P&gt;    select matnr      " Material number&lt;/P&gt;&lt;P&gt;           maktx      " Material Description&lt;/P&gt;&lt;P&gt;      into table i_makt&lt;/P&gt;&lt;P&gt;      from makt&lt;/P&gt;&lt;P&gt;      for all entries in i_mchb&lt;/P&gt;&lt;P&gt;      where matnr = i_mchb-matnr and&lt;/P&gt;&lt;P&gt;            spras = sy-langu.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    sort i_plant by werks.&lt;/P&gt;&lt;P&gt;    delete adjacent duplicates from i_plant comparing werks.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    sort i_makt by matnr.&lt;/P&gt;&lt;P&gt;    delete adjacent duplicates from i_makt comparing matnr.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;endform.                   "form get_plant_grp_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  append_final_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;Append the data into final 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 append_final_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  data : l_matbatch(28),&lt;/P&gt;&lt;P&gt;         l_tabix like sy-tabix.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  if not i_mchb[] is initial.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    loop at i_mchb.&lt;/P&gt;&lt;P&gt;      l_tabix = sy-tabix.&lt;/P&gt;&lt;P&gt;      clear l_matbatch.&lt;/P&gt;&lt;P&gt;      concatenate i_mchb-matnr i_mchb-charg into l_matbatch.&lt;/P&gt;&lt;P&gt;      move-corresponding i_mchb to i_output.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get the Plant Description from i_plant Table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        read table i_plant with key werks = i_mchb-werks binary search.&lt;/P&gt;&lt;P&gt;        if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;          i_output-name1 = i_plant-name1.&lt;/P&gt;&lt;P&gt;        endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get the Material Description from i_makt Table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      read table i_makt with key matnr = i_mchb-matnr binary search.&lt;/P&gt;&lt;P&gt;      if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;        i_output-maktx = i_makt-maktx.&lt;/P&gt;&lt;P&gt;      endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get the Characteristic Values data from INOB and AUSP Tables&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      clear inob.&lt;/P&gt;&lt;P&gt;      select single cuobj from inob&lt;/P&gt;&lt;P&gt;          into inob-cuobj&lt;/P&gt;&lt;P&gt;          where klart = c_klart and&lt;/P&gt;&lt;P&gt;                obtab = c_obtab and&lt;/P&gt;&lt;P&gt;                objek = l_matbatch.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;        select objek&lt;/P&gt;&lt;P&gt;               atinn&lt;/P&gt;&lt;P&gt;               atflv&lt;/P&gt;&lt;P&gt;           from ausp&lt;/P&gt;&lt;P&gt;           into table i_ausp&lt;/P&gt;&lt;P&gt;           where objek = inob-cuobj and&lt;/P&gt;&lt;P&gt;                 atinn in s_atinn   and&lt;/P&gt;&lt;P&gt;                 klart = c_klart.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        sort i_ausp by objek atinn.&lt;/P&gt;&lt;P&gt;        loop at i_ausp.&lt;/P&gt;&lt;P&gt;          clear cabn.&lt;/P&gt;&lt;P&gt;          select single atinn atnam from cabn&lt;/P&gt;&lt;P&gt;                     into (cabn-atinn,cabn-atnam)&lt;/P&gt;&lt;P&gt;                     where atinn = i_ausp-atinn.&lt;/P&gt;&lt;P&gt;          if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;If the ratio value is between 13-14.99, display 13&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;            if cabn-atnam cs c_ratio.&lt;/P&gt;&lt;P&gt;              if i_ausp-atflv between c_13 and c_1499.&lt;/P&gt;&lt;P&gt;                i_mchb-atflo = i_ausp-atflv.&lt;/P&gt;&lt;P&gt;                i_mchb-atflv = c_13.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;If the ratio value is between 15-16.99, display 15&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;              elseif i_ausp-atflv between c_15 and c_1699.&lt;/P&gt;&lt;P&gt;                i_mchb-atflo = i_ausp-atflv.&lt;/P&gt;&lt;P&gt;                i_mchb-atflv = c_15.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;If the ratio value is between 17-18.99, display 17&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;              elseif i_ausp-atflv between c_17 and c_1899.&lt;/P&gt;&lt;P&gt;                i_mchb-atflo = i_ausp-atflv.&lt;/P&gt;&lt;P&gt;                i_mchb-atflv = c_17.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;If the ratio value is between 19-20.99, display 19&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;              elseif i_ausp-atflv between c_19 and c_2099.&lt;/P&gt;&lt;P&gt;                i_mchb-atflo = i_ausp-atflv.&lt;/P&gt;&lt;P&gt;                i_mchb-atflv = c_19.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;If the ratio value is between 21-22.99, display 21&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;              elseif i_ausp-atflv between c_21 and c_2299.&lt;/P&gt;&lt;P&gt;                i_mchb-atflo = i_ausp-atflv.&lt;/P&gt;&lt;P&gt;                i_mchb-atflv = c_21.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;If the ratio value is greater than or equal to 23, display 23&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;              elseif i_ausp-atflv &amp;gt;= c_23.&lt;/P&gt;&lt;P&gt;                i_mchb-atflo = i_ausp-atflv.&lt;/P&gt;&lt;P&gt;                i_mchb-atflv = c_23.&lt;/P&gt;&lt;P&gt;              endif.           " Condition for RATIO values&lt;/P&gt;&lt;P&gt;            else.              " If characteristic does contain RATIO&lt;/P&gt;&lt;P&gt;              i_mchb-atflv = i_ausp-atflv.&lt;/P&gt;&lt;P&gt;            endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            i_output-atinn = cabn-atinn.&lt;/P&gt;&lt;P&gt;            i_output-atnam = cabn-atnam.&lt;/P&gt;&lt;P&gt;            i_output-atflv = i_ausp-atflv.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            i_mchb1-matnr = i_mchb-matnr.&lt;/P&gt;&lt;P&gt;            i_mchb1-werks = i_mchb-werks.&lt;/P&gt;&lt;P&gt;            i_mchb1-lgort = i_mchb-lgort.&lt;/P&gt;&lt;P&gt;            i_mchb1-charg = i_mchb-charg.&lt;/P&gt;&lt;P&gt;            i_mchb1-clabs = i_mchb-clabs.&lt;/P&gt;&lt;P&gt;            i_mchb1-atinn = i_ausp-atinn.&lt;/P&gt;&lt;P&gt;            i_mchb1-atflo = i_mchb-atflv.&lt;/P&gt;&lt;P&gt;            i_mchb1-atflv = i_ausp-atflv.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            append : i_output, i_mchb1.&lt;/P&gt;&lt;P&gt;            clear i_mchb1.&lt;/P&gt;&lt;P&gt;            modify i_mchb index l_tabix transporting atflo atflv .&lt;/P&gt;&lt;P&gt;          endif.&lt;/P&gt;&lt;P&gt;        endloop.&lt;/P&gt;&lt;P&gt;      endif.&lt;/P&gt;&lt;P&gt;    endloop.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Checking whether the table is filled or not&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  if not i_output[] is initial.&lt;/P&gt;&lt;P&gt;    sort i_output by atinn werks matnr atflv.&lt;/P&gt;&lt;P&gt;  else.&lt;/P&gt;&lt;P&gt;    g_exit = c_flag.&lt;/P&gt;&lt;P&gt;    message s899 with 'No Data found for the Selection Criteria'(006).&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Delete the records where RATIO is less than 13.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  delete i_output where atnam cs c_ratio and atflv lt c_13.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.                    "append_final_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  display_report&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;Display the Report Output data&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 display_report.&lt;/P&gt;&lt;P&gt;data: l_tabix like sy-tabix.&lt;/P&gt;&lt;P&gt;  loop at i_output1.&lt;/P&gt;&lt;P&gt;    l_tabix = sy-tabix.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;At new Characteristic&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;     at new atinn.&lt;/P&gt;&lt;P&gt;      read table i_output1 index l_tabix.&lt;/P&gt;&lt;P&gt;      format color 1 intensified on.&lt;/P&gt;&lt;P&gt;      write: /1 sy-vline, 2(20) 'Characteristic Name:'(007),&lt;/P&gt;&lt;P&gt;             23(40) i_output1-atnam,&lt;/P&gt;&lt;P&gt;             125 sy-vline.&lt;/P&gt;&lt;P&gt;      format color off.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      format color 4 intensified on.&lt;/P&gt;&lt;P&gt;      write: /1 sy-vline, 2(20) 'Plant Name         :'(022),&lt;/P&gt;&lt;P&gt;             23(4) i_output1-werks, 29(30) i_output1-name1,&lt;/P&gt;&lt;P&gt;             125 sy-vline.&lt;/P&gt;&lt;P&gt;      format color off.&lt;/P&gt;&lt;P&gt;      write /1(125) sy-uline.&lt;/P&gt;&lt;P&gt;    endat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    clear: g_clabs, g_clabs1.&lt;/P&gt;&lt;P&gt;    format color col_normal.&lt;/P&gt;&lt;P&gt;    write :/1 sy-vline,  2(18)   i_output1-matnr,&lt;/P&gt;&lt;P&gt;           20 sy-vline,  21(40)  i_output1-maktx,&lt;/P&gt;&lt;P&gt;           61 sy-vline.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    if i_output1-atflv = c_c23.&lt;/P&gt;&lt;P&gt;      write: 62(22)  c_g23 centered.&lt;/P&gt;&lt;P&gt;    else.&lt;/P&gt;&lt;P&gt;      shift i_output1-atflv left deleting leading space.&lt;/P&gt;&lt;P&gt;      write: 62(22)  i_output1-atflv centered.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    write:  84     sy-vline,&lt;/P&gt;&lt;P&gt;           103     sy-vline,&lt;/P&gt;&lt;P&gt;           110(5)  i_output1-meins.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;If the quantity value is negative&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    if i_output1-clabs ge 0.&lt;/P&gt;&lt;P&gt;      write: 85(18) i_output1-clabs unit i_mchb-meins,&lt;/P&gt;&lt;P&gt;            125     sy-vline.&lt;/P&gt;&lt;P&gt;    else.&lt;/P&gt;&lt;P&gt;      i_output1-clabs = - i_output1-clabs.&lt;/P&gt;&lt;P&gt;      write i_output1-clabs unit i_mchb-meins to g_clabs1.&lt;/P&gt;&lt;P&gt;      condense g_clabs1.&lt;/P&gt;&lt;P&gt;      concatenate '(' g_clabs1 ')' into g_clabs separated by space.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      write: 85(18) g_clabs right-justified,&lt;/P&gt;&lt;P&gt;           125 sy-vline.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;    format color off.&lt;/P&gt;&lt;P&gt;    hide : i_output1.&lt;/P&gt;&lt;P&gt;    new-line.&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;At end of material&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    at end of matnr.&lt;/P&gt;&lt;P&gt;      sum.&lt;/P&gt;&lt;P&gt;      move : i_output1-matnr to g_matnr.&lt;/P&gt;&lt;P&gt;      format color 3 intensified on.&lt;/P&gt;&lt;P&gt;      write /1(125) sy-uline.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      write :/1 sy-vline,  2(25) 'Total for Material      :'(012),&lt;/P&gt;&lt;P&gt;             28(18) g_matnr.&lt;/P&gt;&lt;P&gt;      if i_output1-clabs ge 0.&lt;/P&gt;&lt;P&gt;        write: 85(18) i_output1-clabs  unit i_mchb-meins,&lt;/P&gt;&lt;P&gt;        125 sy-vline.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      else.&lt;/P&gt;&lt;P&gt;        i_output1-clabs = - i_output1-clabs.&lt;/P&gt;&lt;P&gt;        write i_output1-clabs unit i_mchb-meins to g_clabs1.&lt;/P&gt;&lt;P&gt;        condense g_clabs1.&lt;/P&gt;&lt;P&gt;        concatenate '(' g_clabs1 ')' into g_clabs separated by space.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        write: 85(18) g_clabs right-justified,&lt;/P&gt;&lt;P&gt;             125 sy-vline.&lt;/P&gt;&lt;P&gt;      endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      write: 125 sy-vline.&lt;/P&gt;&lt;P&gt;      format color off.&lt;/P&gt;&lt;P&gt;      write /1(125) sy-uline.&lt;/P&gt;&lt;P&gt;    endat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;At end of plant&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    at end of werks.&lt;/P&gt;&lt;P&gt;      sum.&lt;/P&gt;&lt;P&gt;      move : i_output1-werks to g_werks.&lt;/P&gt;&lt;P&gt;      format color 3 intensified off.&lt;/P&gt;&lt;P&gt;      write :/1 sy-vline,  2(25) 'Total for Plant          :'(013),&lt;/P&gt;&lt;P&gt;             28(4) g_werks.&lt;/P&gt;&lt;P&gt;      if i_output1-clabs ge 0.&lt;/P&gt;&lt;P&gt;        write:  85(18) i_output1-clabs  unit i_mchb-meins,&lt;/P&gt;&lt;P&gt;        125 sy-vline.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      else.&lt;/P&gt;&lt;P&gt;        i_output1-clabs = - i_output1-clabs.&lt;/P&gt;&lt;P&gt;        write i_output1-clabs unit i_mchb-meins to g_clabs1.&lt;/P&gt;&lt;P&gt;        condense g_clabs1.&lt;/P&gt;&lt;P&gt;        concatenate '(' g_clabs1 ')' into g_clabs separated by space.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        write: 85(18) g_clabs right-justified,&lt;/P&gt;&lt;P&gt;             125 sy-vline.&lt;/P&gt;&lt;P&gt;      endif.&lt;/P&gt;&lt;P&gt;      format color off.&lt;/P&gt;&lt;P&gt;      write /1(125) sy-uline.&lt;/P&gt;&lt;P&gt;    endat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;At end of  characteristic&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    at end of atinn.&lt;/P&gt;&lt;P&gt;      read table i_output1 index l_tabix.&lt;/P&gt;&lt;P&gt;      sum.&lt;/P&gt;&lt;P&gt;      format color 3 intensified on.&lt;/P&gt;&lt;P&gt;      write :/1 sy-vline,  2(25) 'Total for Characteristic:'(014),&lt;/P&gt;&lt;P&gt;             28(25) i_output1-atnam.&lt;/P&gt;&lt;P&gt;      if i_output1-clabs ge 0.&lt;/P&gt;&lt;P&gt;        write:  85(18) i_output1-clabs  unit i_mchb-meins,&lt;/P&gt;&lt;P&gt;        125 sy-vline.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      else.&lt;/P&gt;&lt;P&gt;        i_output1-clabs = - i_output1-clabs.&lt;/P&gt;&lt;P&gt;        write i_output1-clabs unit i_mchb-meins to g_clabs1.&lt;/P&gt;&lt;P&gt;        condense g_clabs1.&lt;/P&gt;&lt;P&gt;        concatenate '(' g_clabs1 ')' into g_clabs separated by space.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        write: 85(18) g_clabs right-justified,&lt;/P&gt;&lt;P&gt;             125 sy-vline.&lt;/P&gt;&lt;P&gt;      endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      format color off.&lt;/P&gt;&lt;P&gt;      write /1(125) sy-uline.&lt;/P&gt;&lt;P&gt;    endat.&lt;/P&gt;&lt;P&gt;  endloop.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.                    " display_report&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_BATCH&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;     Display the batch details for the seclected material            *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form display_batch.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get the batch details for the selected material&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  get cursor field g_cursor.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  if g_cursor = c_cursor1 or&lt;/P&gt;&lt;P&gt;     g_cursor = c_cursor2 or&lt;/P&gt;&lt;P&gt;     g_cursor = c_cursor3 or&lt;/P&gt;&lt;P&gt;     g_cursor = c_cursor4 or&lt;/P&gt;&lt;P&gt;     g_cursor = c_cursor5 or&lt;/P&gt;&lt;P&gt;     g_cursor = c_cursor6.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    format color 3.&lt;/P&gt;&lt;P&gt;    write: /1 sy-vline,&lt;/P&gt;&lt;P&gt;            2(17) 'Material Number :'(020),&lt;/P&gt;&lt;P&gt;           20(17) i_output1-matnr,&lt;/P&gt;&lt;P&gt;           94 sy-vline.&lt;/P&gt;&lt;P&gt;    format color off.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    write /1(94) sy-uline.&lt;/P&gt;&lt;P&gt;    loop at i_mchb1 where matnr = i_output1-matnr and&lt;/P&gt;&lt;P&gt;                          atinn = i_output1-atinn and&lt;/P&gt;&lt;P&gt;                          atflo = i_output1-atflv.&lt;/P&gt;&lt;P&gt;      format color col_normal.&lt;/P&gt;&lt;P&gt;      shift i_mchb1-charg left deleting leading '0'.&lt;/P&gt;&lt;P&gt;      write :/1 sy-vline,  2(16) i_mchb1-lgort centered,&lt;/P&gt;&lt;P&gt;             18 sy-vline, 19(17) i_mchb1-charg centered,&lt;/P&gt;&lt;P&gt;             36 sy-vline.&lt;/P&gt;&lt;P&gt;      if i_output1-atnam cs c_ratio.&lt;/P&gt;&lt;P&gt;        write: 37(29) i_mchb1-atflv&lt;/P&gt;&lt;P&gt;                       exponent 0 decimals 2 centered.&lt;/P&gt;&lt;P&gt;      else.&lt;/P&gt;&lt;P&gt;        write : 37(29) i_mchb1-atflv&lt;/P&gt;&lt;P&gt;                      exponent 0 decimals 0 centered.&lt;/P&gt;&lt;P&gt;      endif.&lt;/P&gt;&lt;P&gt;      write : 66 sy-vline, 67(27) i_mchb1-clabs unit i_mchb-meins,&lt;/P&gt;&lt;P&gt;              94 sy-vline.&lt;/P&gt;&lt;P&gt;      format color off.&lt;/P&gt;&lt;P&gt;    endloop.&lt;/P&gt;&lt;P&gt;    write /1(94) sy-uline.&lt;/P&gt;&lt;P&gt;  else.&lt;/P&gt;&lt;P&gt;    message s899 with 'Invalid cursor position'(016).&lt;/P&gt;&lt;P&gt;    exit.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;endform.                    " DISPLAY_BATCH&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  HEADING_SECLIST&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;      Write the Column Headings for Interactive Report&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 heading_seclist.&lt;/P&gt;&lt;P&gt;  write /1(94) sy-uline.&lt;/P&gt;&lt;P&gt;  format color col_heading on.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  write :/1 sy-vline,  2(16) 'Storage Location'(021),&lt;/P&gt;&lt;P&gt;         18 sy-vline, 19(17) 'Batch Number'(017) centered,&lt;/P&gt;&lt;P&gt;         36 sy-vline, 37(29) 'Characteristic Value'(018) centered,&lt;/P&gt;&lt;P&gt;         66 sy-vline, 67(27) 'Quantity'(019) centered,&lt;/P&gt;&lt;P&gt;         94 sy-vline.&lt;/P&gt;&lt;P&gt;  write /1(94) sy-uline.&lt;/P&gt;&lt;P&gt;  format color off.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.                    " HEADING_SECLIST&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  COLLECT_RATIO&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;      Display the Characteristic ratio data&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 collect_ratio.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  loop at i_output.&lt;/P&gt;&lt;P&gt;    clear g_atinn.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    i_output1-atinn = i_output-atinn.&lt;/P&gt;&lt;P&gt;    i_output1-atnam = i_output-atnam .&lt;/P&gt;&lt;P&gt;    i_output1-werks = i_output-werks.&lt;/P&gt;&lt;P&gt;    i_output1-name1 = i_output-name1.&lt;/P&gt;&lt;P&gt;    i_output1-matnr = i_output-matnr.&lt;/P&gt;&lt;P&gt;    i_output1-maktx = i_output-maktx.&lt;/P&gt;&lt;P&gt;    i_output1-clabs = i_output-clabs.&lt;/P&gt;&lt;P&gt;    i_output1-meins = i_output-meins.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    call function 'CONVERSION_EXIT_ATINN_OUTPUT'&lt;/P&gt;&lt;P&gt;         exporting&lt;/P&gt;&lt;P&gt;              input  = i_output-atinn&lt;/P&gt;&lt;P&gt;         importing&lt;/P&gt;&lt;P&gt;              output = g_atinn.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    if g_atinn cs c_ratio.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;If the ratio value is between 13-14.99, display 13&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      if i_output-atflv between c_13 and c_1499.&lt;/P&gt;&lt;P&gt;        i_output1-atflv = c_13.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;If the ratio value is between 15-16.99, display 15&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      elseif i_output-atflv between c_15 and c_1699.&lt;/P&gt;&lt;P&gt;        i_output1-atflv = c_15.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;If the ratio value is between 17-18.99, display 17&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      elseif i_output-atflv between c_17 and c_1899.&lt;/P&gt;&lt;P&gt;        i_output1-atflv = c_17.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;If the ratio value is between 19-20.99, display 19&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      elseif i_output-atflv between c_19 and c_2099.&lt;/P&gt;&lt;P&gt;        i_output1-atflv = c_19.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;If the ratio value is between 21-22.99, display 21&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      elseif i_output-atflv between c_21 and c_2299.&lt;/P&gt;&lt;P&gt;        i_output1-atflv = c_21.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;If the ratio value is greater than or equal to 23, display 23&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      elseif i_output-atflv &amp;gt;= c_23.&lt;/P&gt;&lt;P&gt;        i_output1-atflv = c_23.&lt;/P&gt;&lt;P&gt;      endif.&lt;/P&gt;&lt;P&gt;      write i_output1-atflv to i_output1-atflv .&lt;/P&gt;&lt;P&gt;    else.&lt;/P&gt;&lt;P&gt;      write i_output-atflv to i_output1-atflv exponent 0 decimals 0.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;    collect i_output1.&lt;/P&gt;&lt;P&gt;    clear   i_output1.&lt;/P&gt;&lt;P&gt;  endloop.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  sort i_output1 by atinn werks matnr atflv.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.                    " COLLECT_RATIO&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;lt;b&amp;gt;Reward points for useful Answers&amp;lt;/b&amp;gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;Anji&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 18 Jul 2007 07:02:07 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/material-batch-characteristics/m-p/2534005#M574879</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-07-18T07:02:07Z</dc:date>
    </item>
    <item>
      <title>Re: Material batch characteristics</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/material-batch-characteristics/m-p/2534006#M574880</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi ,&lt;/P&gt;&lt;P&gt;       can you please say me the logic you have used here.. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Rama..&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 18 Jul 2007 07:05:54 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/material-batch-characteristics/m-p/2534006#M574880</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-07-18T07:05:54Z</dc:date>
    </item>
    <item>
      <title>Re: Material batch characteristics</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/material-batch-characteristics/m-p/2534007#M574881</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;GET THE CLASSIFICATION AND CHARACTERISTICS &lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'CLAF_CLASSIFICATION_OF_OBJECTS' &lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;CLASSTEXT = 'X'&lt;/P&gt;&lt;P&gt;CLASSTYPE = C_CLASSTYPE&lt;/P&gt;&lt;P&gt;LANGUAGE = SY-LANGU&lt;/P&gt;&lt;P&gt;OBJECT = W_OBJEK&lt;/P&gt;&lt;P&gt;OBJECTTABLE = C_OBJECTTABLE&lt;/P&gt;&lt;P&gt;KEY_DATE = SY-DATUM&lt;/P&gt;&lt;P&gt;INITIAL_CHARACT = 'X'&lt;/P&gt;&lt;P&gt;CHANGE_SERVICE_CLF = 'X'&lt;/P&gt;&lt;P&gt;TABLES&lt;/P&gt;&lt;P&gt;T_CLASS = T_CLASS&lt;/P&gt;&lt;P&gt;T_OBJECTDATA = T_OBJECTDATA&lt;/P&gt;&lt;P&gt;EXCEPTIONS&lt;/P&gt;&lt;P&gt;NO_CLASSIFICATION = 1&lt;/P&gt;&lt;P&gt;NO_CLASSTYPES = 2&lt;/P&gt;&lt;P&gt;INVALID_CLASS_TYPE = 3&lt;/P&gt;&lt;P&gt;OTHERS = 4.&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;-&lt;/P&gt;&lt;HR originaltext="-------------------" /&gt;&lt;P&gt;Check this FM - QC01_BATCH_VALUES_READ&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;lt;b&amp;gt;Rwards point if you feel that answer is satisfying....&amp;lt;/b&amp;gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;regards&lt;/P&gt;&lt;P&gt;Abhay SIngh.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 18 Jul 2007 07:30:14 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/material-batch-characteristics/m-p/2534007#M574881</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-07-18T07:30:14Z</dc:date>
    </item>
  </channel>
</rss>

