<?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: report code in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/report-code/m-p/3343358#M801550</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;You can make that report by fetchin data from various tables like for material No.- mseg-matnr, material description - makt-maktx and so on so forth. Just run a select query on required tables.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Sun, 03 Feb 2008 04:06:18 GMT</pubDate>
    <dc:creator>divya_nayudu</dc:creator>
    <dc:date>2008-02-03T04:06:18Z</dc:date>
    <item>
      <title>report code</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/report-code/m-p/3343357#M801549</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;&lt;/P&gt;&lt;P&gt;i want a report cantaining following field &lt;/P&gt;&lt;P&gt;plant :&lt;/P&gt;&lt;P&gt;material no :&lt;/P&gt;&lt;P&gt;material description :&lt;/P&gt;&lt;P&gt;material group :&lt;/P&gt;&lt;P&gt;opening date :&lt;/P&gt;&lt;P&gt;closing date :&lt;/P&gt;&lt;P&gt;Total Receipt Qtiesclosing stock :&lt;/P&gt;&lt;P&gt;Total Issue Quantities&lt;/P&gt;&lt;P&gt;closing date :&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;regards&lt;/P&gt;&lt;P&gt;rakesh&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 01 Feb 2008 06:36:39 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/report-code/m-p/3343357#M801549</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-02-01T06:36:39Z</dc:date>
    </item>
    <item>
      <title>Re: report code</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/report-code/m-p/3343358#M801550</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;You can make that report by fetchin data from various tables like for material No.- mseg-matnr, material description - makt-maktx and so on so forth. Just run a select query on required tables.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 03 Feb 2008 04:06:18 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/report-code/m-p/3343358#M801550</guid>
      <dc:creator>divya_nayudu</dc:creator>
      <dc:date>2008-02-03T04:06:18Z</dc:date>
    </item>
    <item>
      <title>Re: report code</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/report-code/m-p/3343359#M801551</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;You may want to consider following tables:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;
MARA
MARC
MAKT
MKPF
MSEG
&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;Eswar&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 04 Feb 2008 04:00:53 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/report-code/m-p/3343359#M801551</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-02-04T04:00:53Z</dc:date>
    </item>
    <item>
      <title>Re: report code</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/report-code/m-p/3343360#M801552</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Try this:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Hi check this code,, the dril down option is not avaliable, work on it will be exactly to ur req...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT zm07mkon MESSAGE-ID m7.&lt;/P&gt;&lt;P&gt;*ENHANCEMENT-POINT RM07MKON_G4 SPOTS ES_RM07MKON STATIC.&lt;/P&gt;&lt;P&gt;*ENHANCEMENT-POINT RM07MKON_G5 SPOTS ES_RM07MKON.&lt;/P&gt;&lt;P&gt;*ENHANCEMENT-POINT RM07MKON_G6 SPOTS ES_RM07MKON STATIC.&lt;/P&gt;&lt;P&gt;*ENHANCEMENT-POINT RM07MKON_G7 SPOTS ES_RM07MKON.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CLASS cl_mmim_auth DEFINITION LOAD.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TABLES: msku, makt, mara, t001w, kna1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN: BEGIN OF BLOCK dba WITH FRAME TITLE text-001.&lt;/P&gt;&lt;P&gt;SELECT-OPTIONS: matnr FOR mara-matnr,&lt;/P&gt;&lt;P&gt;werks FOR t001w-werks MEMORY ID wrk,&lt;/P&gt;&lt;P&gt;charg FOR msku-charg,&lt;/P&gt;&lt;P&gt;kunnr FOR msku-kunnr.&lt;/P&gt;&lt;P&gt;PARAMETERS: sobkz_w LIKE am07m-kukns AS CHECKBOX DEFAULT 'X',&lt;/P&gt;&lt;P&gt;sobkz_v LIKE am07m-lhgut AS CHECKBOX DEFAULT 'X'.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN: END OF BLOCK dba.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN: BEGIN OF BLOCK anz WITH FRAME TITLE text-005.&lt;/P&gt;&lt;P&gt;PARAMETERS: alv_def LIKE disvariant-variant,&lt;/P&gt;&lt;P&gt;zero LIKE am07m-xmnul AS CHECKBOX.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN: END OF BLOCK anz.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;INCLUDE rm07alvi.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF itab OCCURS 0.&lt;/P&gt;&lt;P&gt;INCLUDE STRUCTURE msku.&lt;/P&gt;&lt;P&gt;DATA: maktx LIKE makt-maktx,&lt;/P&gt;&lt;P&gt;name1_w LIKE t001w-name1,&lt;/P&gt;&lt;P&gt;name1_k LIKE kna1-name1,&lt;/P&gt;&lt;P&gt;meins LIKE mara-meins,&lt;/P&gt;&lt;P&gt;dummy TYPE alv_dummy,&lt;/P&gt;&lt;P&gt;farbe TYPE slis_t_specialcol_alv, " color&lt;/P&gt;&lt;P&gt;kunres LIKE mbew-salk3, "total unrestricted stock&lt;/P&gt;&lt;P&gt;kinqul LIKE mbew-salk3, "total in quality inspection&lt;/P&gt;&lt;P&gt;krest LIKE mbew-salk3. "total restricted stock&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ctotal LIKE mbew-salk3. &lt;/P&gt;&lt;P&gt;DATA: END OF itab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF list OCCURS 0.&lt;/P&gt;&lt;P&gt;INCLUDE STRUCTURE itab.&lt;/P&gt;&lt;P&gt;DATA: END OF list.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF header OCCURS 0,&lt;/P&gt;&lt;P&gt;kunnr LIKE kna1-kunnr,&lt;/P&gt;&lt;P&gt;name1_k LIKE kna1-name1,&lt;/P&gt;&lt;P&gt;ctotal LIKE mbew-salk3,&lt;/P&gt;&lt;P&gt;END OF header.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: fc TYPE slis_fieldcat_alv OCCURS 0 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;DATA: detail.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;INITIALIZATION.&lt;/P&gt;&lt;P&gt;*ENHANCEMENT-POINT RM07MKON_01 SPOTS ES_RM07MKON.&lt;/P&gt;&lt;P&gt;PERFORM alv_init.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN ON VALUE-REQUEST FOR alv_def.&lt;/P&gt;&lt;P&gt;PERFORM alv_f4.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN.&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'MMIM_ENTRYCHECK_MAIN'&lt;/P&gt;&lt;P&gt;TABLES&lt;/P&gt;&lt;P&gt;it_matnr = matnr&lt;/P&gt;&lt;P&gt;it_werks = werks&lt;/P&gt;&lt;P&gt;it_kunnr = kunnr.&lt;/P&gt;&lt;P&gt;IF sobkz_w = space AND sobkz_v = space.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;message changed from e159(at) to e831 "XJD 14.11.2001 &lt;/P&gt;&lt;P&gt;SET CURSOR FIELD 'SOBKZ_W'. "XJD 14.11.2001&lt;/P&gt;&lt;P&gt;MESSAGE e831. "Please choose at least one stock type&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;PERFORM alv_check.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;START-OF-SELECTION.&lt;/P&gt;&lt;P&gt;PERFORM data_selection.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;END-OF-SELECTION.&lt;/P&gt;&lt;P&gt;PERFORM calculate_and_colorize.&lt;/P&gt;&lt;P&gt;PERFORM fieldcatalog.&lt;/P&gt;&lt;P&gt;PERFORM list_display.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;FORM data_selection.&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF makt_key OCCURS 0,&lt;/P&gt;&lt;P&gt;matnr LIKE makt-matnr,&lt;/P&gt;&lt;P&gt;END OF makt_key.&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF imakt OCCURS 0,&lt;/P&gt;&lt;P&gt;matnr LIKE makt-matnr,&lt;/P&gt;&lt;P&gt;maktx LIKE makt-maktx,&lt;/P&gt;&lt;P&gt;END OF imakt.&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF mara_key OCCURS 0,&lt;/P&gt;&lt;P&gt;matnr LIKE mara-matnr,&lt;/P&gt;&lt;P&gt;END OF mara_key.&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF imara OCCURS 0,&lt;/P&gt;&lt;P&gt;matnr LIKE mara-matnr,&lt;/P&gt;&lt;P&gt;meins LIKE mara-meins,&lt;/P&gt;&lt;P&gt;END OF imara.&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF t001w_key OCCURS 0,&lt;/P&gt;&lt;P&gt;werks LIKE t001w-werks,&lt;/P&gt;&lt;P&gt;END OF t001w_key.&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF it001w OCCURS 0,&lt;/P&gt;&lt;P&gt;werks LIKE t001w-werks,&lt;/P&gt;&lt;P&gt;name1 LIKE t001w-name1,&lt;/P&gt;&lt;P&gt;END OF it001w.&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF kna1_key OCCURS 0,&lt;/P&gt;&lt;P&gt;kunnr LIKE kna1-kunnr,&lt;/P&gt;&lt;P&gt;END OF kna1_key.&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF ikna1 OCCURS 0,&lt;/P&gt;&lt;P&gt;kunnr LIKE kna1-kunnr,&lt;/P&gt;&lt;P&gt;name1 LIKE kna1-name1,&lt;/P&gt;&lt;P&gt;END OF ikna1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;New table to hold the costs &lt;/P&gt;&lt;P&gt;DATA: BEGIN OF imbew_key OCCURS 0,&lt;/P&gt;&lt;P&gt;charg LIKE mchb-charg,&lt;/P&gt;&lt;P&gt;END OF imbew_key.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF imbew OCCURS 0,&lt;/P&gt;&lt;P&gt;matnr LIKE mbew-matnr,&lt;/P&gt;&lt;P&gt;bwkey LIKE mbew-bwkey,&lt;/P&gt;&lt;P&gt;salk3 LIKE mbew-salk3,&lt;/P&gt;&lt;P&gt;charg LIKE mchb-charg,&lt;/P&gt;&lt;P&gt;END OF imbew.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: imbew TYPE STANDARD TABLE OF smbew. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;RANGES sobkz FOR msku-sobkz.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Main data &lt;/P&gt;&lt;P&gt;REFRESH sobkz.&lt;/P&gt;&lt;P&gt;sobkz-sign = 'I'. sobkz-option = 'EQ'.&lt;/P&gt;&lt;P&gt;IF sobkz_w = 'X'. sobkz-low = 'W'. APPEND sobkz. ENDIF.&lt;/P&gt;&lt;P&gt;IF sobkz_v = 'X'. sobkz-low = 'V'. APPEND sobkz. ENDIF.&lt;/P&gt;&lt;P&gt;SELECT * FROM msku INTO CORRESPONDING FIELDS OF TABLE itab&lt;/P&gt;&lt;P&gt;WHERE matnr IN matnr&lt;/P&gt;&lt;P&gt;AND werks IN werks&lt;/P&gt;&lt;P&gt;AND charg IN charg&lt;/P&gt;&lt;P&gt;AND sobkz IN sobkz&lt;/P&gt;&lt;P&gt;AND kunnr IN kunnr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Additional info: material text, plant name, debitor name &lt;/P&gt;&lt;P&gt;LOOP AT itab.&lt;/P&gt;&lt;P&gt;makt_key-matnr = itab-matnr. COLLECT makt_key.&lt;/P&gt;&lt;P&gt;mara_key-matnr = itab-matnr. COLLECT mara_key.&lt;/P&gt;&lt;P&gt;t001w_key-werks = itab-werks. COLLECT t001w_key.&lt;/P&gt;&lt;P&gt;kna1_key-kunnr = itab-kunnr. COLLECT kna1_key.&lt;/P&gt;&lt;P&gt;imbew_key-charg = itab-charg. COLLECT imbew_key.&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;READ TABLE makt_key INDEX 1.&lt;/P&gt;&lt;P&gt;IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;SELECT matnr maktx INTO CORRESPONDING FIELDS OF TABLE imakt&lt;/P&gt;&lt;P&gt;FROM makt FOR ALL ENTRIES IN makt_key&lt;/P&gt;&lt;P&gt;WHERE matnr = makt_key-matnr&lt;/P&gt;&lt;P&gt;AND spras = sy-langu.&lt;/P&gt;&lt;P&gt;SORT imakt BY matnr.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;READ TABLE mara_key INDEX 1.&lt;/P&gt;&lt;P&gt;IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;SELECT matnr meins INTO CORRESPONDING FIELDS OF TABLE imara&lt;/P&gt;&lt;P&gt;FROM mara FOR ALL ENTRIES IN mara_key&lt;/P&gt;&lt;P&gt;WHERE matnr = mara_key-matnr.&lt;/P&gt;&lt;P&gt;SORT imara BY matnr.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;READ TABLE t001w_key INDEX 1.&lt;/P&gt;&lt;P&gt;IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;SELECT werks name1 INTO CORRESPONDING FIELDS OF TABLE it001w&lt;/P&gt;&lt;P&gt;FROM t001w FOR ALL ENTRIES IN t001w_key&lt;/P&gt;&lt;P&gt;WHERE werks = t001w_key-werks.&lt;/P&gt;&lt;P&gt;SORT it001w BY werks.&lt;/P&gt;&lt;P&gt;**new code to get costs&lt;/P&gt;&lt;P&gt;*selecting data into imbew, later reading imbew based on batch number&lt;/P&gt;&lt;P&gt;and placing the necessary values in the final structure itab-.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECT a&lt;SUB&gt;matnr a&lt;/SUB&gt;bwkey a&lt;SUB&gt;salk3 b&lt;/SUB&gt;charg INTO TABLE imbew &lt;/P&gt;&lt;P&gt;FROM mbew AS a &lt;/P&gt;&lt;P&gt;JOIN mchb AS b &lt;/P&gt;&lt;P&gt;ON a&lt;SUB&gt;matnr = b&lt;/SUB&gt;matnr AND &lt;/P&gt;&lt;P&gt;a&lt;SUB&gt;bwkey = b&lt;/SUB&gt;werks &lt;/P&gt;&lt;P&gt;FOR ALL ENTRIES IN imbew_key &lt;/P&gt;&lt;P&gt;WHERE b~charg = imbew_key-charg AND &lt;/P&gt;&lt;P&gt;a~bwkey = t001w_key-werks. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SORT imbew BY matnr bwkey charg.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;READ TABLE kna1_key INDEX 1.&lt;/P&gt;&lt;P&gt;IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;SELECT kunnr name1 INTO CORRESPONDING FIELDS OF TABLE ikna1&lt;/P&gt;&lt;P&gt;FROM kna1 FOR ALL ENTRIES IN kna1_key&lt;/P&gt;&lt;P&gt;WHERE kunnr = kna1_key-kunnr.&lt;/P&gt;&lt;P&gt;SORT ikna1 BY kunnr.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;LOOP AT itab.&lt;/P&gt;&lt;P&gt;READ TABLE imakt WITH KEY matnr = itab-matnr BINARY SEARCH.&lt;/P&gt;&lt;P&gt;IF sy-subrc = 0. itab-maktx = imakt-maktx. ENDIF.&lt;/P&gt;&lt;P&gt;READ TABLE imara WITH KEY matnr = itab-matnr BINARY SEARCH.&lt;/P&gt;&lt;P&gt;IF sy-subrc = 0. itab-meins = imara-meins. ENDIF.&lt;/P&gt;&lt;P&gt;READ TABLE it001w WITH KEY werks = itab-werks BINARY SEARCH.&lt;/P&gt;&lt;P&gt;IF sy-subrc = 0. itab-name1_w = it001w-name1. ENDIF.&lt;/P&gt;&lt;P&gt;READ TABLE ikna1 WITH KEY kunnr = itab-kunnr BINARY SEARCH.&lt;/P&gt;&lt;P&gt;IF sy-subrc = 0. itab-name1_k = ikna1-name1. ENDIF.&lt;/P&gt;&lt;P&gt;*new code&lt;/P&gt;&lt;P&gt;*get data from imbew to final structure&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;READ TABLE imbew WITH KEY matnr = itab-matnr &lt;/P&gt;&lt;P&gt;bwkey = itab-werks &lt;/P&gt;&lt;P&gt;charg = itab-charg BINARY SEARCH. &lt;/P&gt;&lt;P&gt;IF sy-subrc = 0. itab-kunres = imbew-salk3. ENDIF. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;MODIFY itab.&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;P&gt;SORT itab BY kunnr matnr charg.&lt;/P&gt;&lt;P&gt;ENDFORM. "data_selection&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;FORM fieldcatalog.&lt;/P&gt;&lt;P&gt;REFRESH fc. CLEAR fc.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;fc-tabname = 'HEADER'.&lt;/P&gt;&lt;P&gt;fc-fieldname = 'KUNNR'.&lt;/P&gt;&lt;P&gt;fc-ref_tabname = 'MSKU'.&lt;/P&gt;&lt;P&gt;APPEND fc. CLEAR fc.&lt;/P&gt;&lt;P&gt;fc-tabname = 'HEADER'.&lt;/P&gt;&lt;P&gt;fc-fieldname = 'NAME1_K'.&lt;/P&gt;&lt;P&gt;fc-ref_tabname = 'KNA1'.&lt;/P&gt;&lt;P&gt;fc-ref_fieldname = 'NAME1'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;APPEND fc. CLEAR fc. &lt;/P&gt;&lt;P&gt;fc-tabname = 'HEADER'. &lt;/P&gt;&lt;P&gt;fc-fieldname = 'TOTAL'. &lt;/P&gt;&lt;P&gt;fc-ref_tabname = 'MBEW'. &lt;/P&gt;&lt;P&gt;fc-ref_fieldname = 'SALK3'. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;APPEND fc. CLEAR fc.&lt;/P&gt;&lt;P&gt;fc-tabname = 'LIST'.&lt;/P&gt;&lt;P&gt;fc-fieldname = 'MATNR'.&lt;/P&gt;&lt;P&gt;fc-ref_tabname = 'MSKU'.&lt;/P&gt;&lt;P&gt;APPEND fc. CLEAR fc.&lt;/P&gt;&lt;P&gt;fc-tabname = 'LIST'.&lt;/P&gt;&lt;P&gt;fc-fieldname = 'MAKTX'.&lt;/P&gt;&lt;P&gt;fc-ref_tabname = 'MAKT'.&lt;/P&gt;&lt;P&gt;fc-no_out = 'X'.&lt;/P&gt;&lt;P&gt;APPEND fc. CLEAR fc.&lt;/P&gt;&lt;P&gt;fc-tabname = 'LIST'.&lt;/P&gt;&lt;P&gt;fc-fieldname = 'CHARG'.&lt;/P&gt;&lt;P&gt;fc-ref_tabname = 'MSKU'.&lt;/P&gt;&lt;P&gt;APPEND fc. CLEAR fc.&lt;/P&gt;&lt;P&gt;fc-tabname = 'LIST'.&lt;/P&gt;&lt;P&gt;fc-fieldname = 'WERKS'.&lt;/P&gt;&lt;P&gt;fc-ref_tabname = 'MSKU'.&lt;/P&gt;&lt;P&gt;fc-no_out = 'X'.&lt;/P&gt;&lt;P&gt;APPEND fc. CLEAR fc.&lt;/P&gt;&lt;P&gt;fc-tabname = 'LIST'.&lt;/P&gt;&lt;P&gt;fc-fieldname = 'NAME1_W'.&lt;/P&gt;&lt;P&gt;fc-ref_tabname = 'T001W'.&lt;/P&gt;&lt;P&gt;fc-ref_fieldname = 'NAME1'.&lt;/P&gt;&lt;P&gt;fc-no_out = 'X'.&lt;/P&gt;&lt;P&gt;APPEND fc. CLEAR fc.&lt;/P&gt;&lt;P&gt;fc-tabname = 'LIST'.&lt;/P&gt;&lt;P&gt;fc-fieldname = 'SOBKZ'.&lt;/P&gt;&lt;P&gt;fc-ref_tabname = 'MSKU'.&lt;/P&gt;&lt;P&gt;fc-no_out = 'X'.&lt;/P&gt;&lt;P&gt;APPEND fc. CLEAR fc.&lt;/P&gt;&lt;P&gt;fc-tabname = 'LIST'.&lt;/P&gt;&lt;P&gt;fc-fieldname = 'KULAB'.&lt;/P&gt;&lt;P&gt;fc-qfieldname = 'MEINS'.&lt;/P&gt;&lt;P&gt;fc-ref_tabname = 'MSKU'.&lt;/P&gt;&lt;P&gt;APPEND fc. CLEAR fc.&lt;/P&gt;&lt;P&gt;fc-tabname = 'LIST'.&lt;/P&gt;&lt;P&gt;fc-fieldname = 'KUINS'.&lt;/P&gt;&lt;P&gt;fc-qfieldname = 'MEINS'.&lt;/P&gt;&lt;P&gt;fc-ref_tabname = 'MSKU'.&lt;/P&gt;&lt;P&gt;APPEND fc. CLEAR fc.&lt;/P&gt;&lt;P&gt;fc-tabname = 'LIST'.&lt;/P&gt;&lt;P&gt;fc-fieldname = 'KUEIN'.&lt;/P&gt;&lt;P&gt;fc-qfieldname = 'MEINS'.&lt;/P&gt;&lt;P&gt;fc-ref_tabname = 'MSKU'.&lt;/P&gt;&lt;P&gt;APPEND fc. CLEAR fc.&lt;/P&gt;&lt;P&gt;fc-tabname = 'LIST'.&lt;/P&gt;&lt;P&gt;fc-fieldname = 'MEINS'.&lt;/P&gt;&lt;P&gt;fc-ref_tabname = 'MARA'.&lt;/P&gt;&lt;P&gt;fc-seltext_l = 'WMU'.&lt;/P&gt;&lt;P&gt;fc-seltext_m = 'WMU'.&lt;/P&gt;&lt;P&gt;fc-seltext_s = 'WMU'.&lt;/P&gt;&lt;P&gt;APPEND fc. CLEAR fc.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;fc-tabname = 'HEADER'. &lt;/P&gt;&lt;P&gt;fc-fieldname = 'CTOTAL'. &lt;/P&gt;&lt;P&gt;fc-ref_tabname = 'MARA'. &lt;/P&gt;&lt;P&gt;fc-seltext_l = 'WMU'. &lt;/P&gt;&lt;P&gt;fc-seltext_m = 'WMU'. &lt;/P&gt;&lt;P&gt;fc-seltext_s = 'WMU'. &lt;/P&gt;&lt;P&gt;APPEND fc. CLEAR fc. &lt;/P&gt;&lt;P&gt;*New code&lt;/P&gt;&lt;P&gt;fc-fieldname = 'DUMMY'.&lt;/P&gt;&lt;P&gt;fc-tabname = 'LIST'.&lt;/P&gt;&lt;P&gt;fc-row_pos = '2'.&lt;/P&gt;&lt;P&gt;fc-outputlen = 59.&lt;/P&gt;&lt;P&gt;APPEND fc. CLEAR fc.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;fc-tabname = 'LIST'.&lt;/P&gt;&lt;P&gt;fc-fieldname = 'KUNRES'.&lt;/P&gt;&lt;P&gt;fc-row_pos = '2'.&lt;/P&gt;&lt;P&gt;fc-seltext_s = 'Total'.&lt;/P&gt;&lt;P&gt;fc-do_sum = 'X'.&lt;/P&gt;&lt;P&gt;APPEND fc. CLEAR fc.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;fc-tabname = 'LIST'.&lt;/P&gt;&lt;P&gt;fc-fieldname = 'KINQUL'.&lt;/P&gt;&lt;P&gt;fc-row_pos = '2'.&lt;/P&gt;&lt;P&gt;fc-seltext_s = 'Total'.&lt;/P&gt;&lt;P&gt;fc-outputlen = 18.&lt;/P&gt;&lt;P&gt;fc-do_sum = 'X'.&lt;/P&gt;&lt;P&gt;APPEND fc. CLEAR fc.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;fc-tabname = 'LIST'.&lt;/P&gt;&lt;P&gt;fc-fieldname = 'KREST'.&lt;/P&gt;&lt;P&gt;fc-row_pos = '2'.&lt;/P&gt;&lt;P&gt;fc-seltext_s = 'Total'.&lt;/P&gt;&lt;P&gt;fc-outputlen = 18.&lt;/P&gt;&lt;P&gt;fc-do_sum = 'X'.&lt;/P&gt;&lt;P&gt;APPEND fc. CLEAR fc.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. "fieldcatalog&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;FORM list_display.&lt;/P&gt;&lt;P&gt;REFRESH header.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;LOOP AT list.&lt;/P&gt;&lt;P&gt;ON CHANGE OF list-kunnr.&lt;/P&gt;&lt;P&gt;MOVE-CORRESPONDING list TO header.&lt;/P&gt;&lt;P&gt;APPEND header.&lt;/P&gt;&lt;P&gt;ENDON.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;alv_keyinfo-header01 = 'KUNNR'.&lt;/P&gt;&lt;P&gt;alv_keyinfo-item01 = 'KUNNR'.&lt;/P&gt;&lt;P&gt;alv_keyinfo-item02 = 'MATNR'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CLEAR detail.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'REUSE_ALV_HIERSEQ_LIST_DISPLAY'&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;i_interface_check = ' '&lt;/P&gt;&lt;P&gt;i_callback_program = alv_repid&lt;/P&gt;&lt;P&gt;i_callback_pf_status_set = 'SET_STATUS'&lt;/P&gt;&lt;P&gt;i_callback_user_command = 'USER_COMMAND'&lt;/P&gt;&lt;P&gt;is_layout = alv_layout&lt;/P&gt;&lt;P&gt;it_fieldcat = fc[]&lt;/P&gt;&lt;P&gt;i_default = 'X'&lt;/P&gt;&lt;P&gt;i_save = 'A'&lt;/P&gt;&lt;P&gt;is_variant = alv_variant&lt;/P&gt;&lt;P&gt;i_tabname_header = 'HEADER'&lt;/P&gt;&lt;P&gt;i_tabname_item = 'LIST'&lt;/P&gt;&lt;P&gt;is_keyinfo = alv_keyinfo&lt;/P&gt;&lt;P&gt;is_print = alv_print&lt;/P&gt;&lt;P&gt;TABLES&lt;/P&gt;&lt;P&gt;t_outtab_header = header&lt;/P&gt;&lt;P&gt;t_outtab_item = list.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. "list_display&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;FORM calculate_and_colorize.&lt;/P&gt;&lt;P&gt;DATA: sum LIKE msku-kulab,&lt;/P&gt;&lt;P&gt;cust_sum LIKE mbew-salk3.&lt;/P&gt;&lt;P&gt;REFRESH list.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;LOOP AT itab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CHECK cl_mmim_auth=&amp;gt;check( i_object = 'M_MATE_WRK' &lt;/P&gt;&lt;P&gt;i_value1 = itab-werks ) IS INITIAL. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Authorization for total fields &lt;/P&gt;&lt;P&gt;CHECK ZCL_NAME1_AUTH=&amp;gt;check( i_object = 'ZSALK3' &lt;/P&gt;&lt;P&gt;i_value1 = itab-kunres ) IS INITIAL. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;cust_sum = itab-kunres + cust_sum.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AT NEW kunnr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;itab-ctotal = cust_sum. &lt;/P&gt;&lt;P&gt;CLEAR cust_sum. &lt;/P&gt;&lt;P&gt;ENDAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF zero = ' '.&lt;/P&gt;&lt;P&gt;sum = itab-kulab + itab-kuein + itab-kuins.&lt;/P&gt;&lt;P&gt;CHECK sum 0.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;MOVE-CORRESPONDING itab TO list.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PERFORM convert_to_ea.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;APPEND list.&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;P&gt;ENDFORM. "calculate_and_colorize&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;FORM set_status USING rt_extab TYPE slis_t_extab.&lt;/P&gt;&lt;P&gt;DATA: wa TYPE slis_extab.&lt;/P&gt;&lt;P&gt;IF cl_mmim_auth=&amp;gt;level( ) IS INITIAL.&lt;/P&gt;&lt;P&gt;APPEND 'AUTH' TO rt_extab.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;IF cl_mmim_auth=&amp;gt;level( ) = cl_mmim_auth=&amp;gt;c_error.&lt;/P&gt;&lt;P&gt;MESSAGE s124(m7).&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Deactivate detail list if in detail list &lt;/P&gt;&lt;P&gt;IF detail = 'X'.&lt;/P&gt;&lt;P&gt;wa-fcode = 'DETAIL'.&lt;/P&gt;&lt;P&gt;APPEND wa TO rt_extab.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;SET PF-STATUS 'STANDARD' EXCLUDING rt_extab.&lt;/P&gt;&lt;P&gt;ENDFORM. "set_status&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;FORM user_command USING rf_ucomm LIKE sy-ucomm&lt;/P&gt;&lt;P&gt;rs TYPE slis_selfield.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Call from detail list: Change tablename &lt;/P&gt;&lt;P&gt;IF rs-tabname = '1'.&lt;/P&gt;&lt;P&gt;rs-tabname = 'LIST'.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Read the correct table &lt;/P&gt;&lt;P&gt;CLEAR: list, header.&lt;/P&gt;&lt;P&gt;CASE rs-tabname.&lt;/P&gt;&lt;P&gt;WHEN 'HEADER'.&lt;/P&gt;&lt;P&gt;READ TABLE header INDEX rs-tabindex.&lt;/P&gt;&lt;P&gt;MOVE-CORRESPONDING header TO list.&lt;/P&gt;&lt;P&gt;WHEN 'LIST'.&lt;/P&gt;&lt;P&gt;READ TABLE list INDEX rs-tabindex.&lt;/P&gt;&lt;P&gt;ENDCASE.&lt;/P&gt;&lt;P&gt;CHECK sy-subrc = 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Double click targets &lt;/P&gt;&lt;P&gt;IF rf_ucomm = '&amp;amp;IC1'.&lt;/P&gt;&lt;P&gt;CASE rs-tabname.&lt;/P&gt;&lt;P&gt;WHEN 'HEADER'.&lt;/P&gt;&lt;P&gt;rf_ucomm = 'ADDR'.&lt;/P&gt;&lt;P&gt;WHEN 'LIST'.&lt;/P&gt;&lt;P&gt;CASE rs-fieldname.&lt;/P&gt;&lt;P&gt;WHEN 'MATNR'.&lt;/P&gt;&lt;P&gt;rf_ucomm = 'MMBE'.&lt;/P&gt;&lt;P&gt;WHEN OTHERS.&lt;/P&gt;&lt;P&gt;rf_ucomm = 'DOCU'.&lt;/P&gt;&lt;P&gt;ENDCASE.&lt;/P&gt;&lt;P&gt;ENDCASE.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Commands &lt;/P&gt;&lt;P&gt;CASE rf_ucomm.&lt;/P&gt;&lt;P&gt;WHEN 'MMBE'.&lt;/P&gt;&lt;P&gt;CHECK rs-tabname = 'LIST'. "only for items&lt;/P&gt;&lt;P&gt;SET PARAMETER ID 'MAT' FIELD list-matnr.&lt;/P&gt;&lt;P&gt;SET PARAMETER ID 'WRK' FIELD list-werks.&lt;/P&gt;&lt;P&gt;CALL TRANSACTION 'MMBE' AND SKIP FIRST SCREEN.&lt;/P&gt;&lt;P&gt;WHEN 'DOCU'.&lt;/P&gt;&lt;P&gt;CHECK rs-tabname = 'LIST'.&lt;/P&gt;&lt;P&gt;SUBMIT rm07docs WITH matnr = list-matnr&lt;/P&gt;&lt;P&gt;WITH werks = list-werks&lt;/P&gt;&lt;P&gt;WITH charg = list-charg&lt;/P&gt;&lt;P&gt;WITH sobkz = list-sobkz&lt;/P&gt;&lt;P&gt;WITH kunnr = list-kunnr&lt;/P&gt;&lt;P&gt;AND RETURN.&lt;/P&gt;&lt;P&gt;WHEN 'ADDR'.&lt;/P&gt;&lt;P&gt;SET PARAMETER ID 'KUN' FIELD list-kunnr.&lt;/P&gt;&lt;P&gt;CALL TRANSACTION 'VD03' AND SKIP FIRST SCREEN.&lt;/P&gt;&lt;P&gt;WHEN 'AUTH'.&lt;/P&gt;&lt;P&gt;CALL METHOD cl_mmim_auth=&amp;gt;display.&lt;/P&gt;&lt;P&gt;WHEN 'DETAIL'.&lt;/P&gt;&lt;P&gt;PERFORM detail_list.&lt;/P&gt;&lt;P&gt;ENDCASE.&lt;/P&gt;&lt;P&gt;CLEAR rf_ucomm.&lt;/P&gt;&lt;P&gt;ENDFORM. "user_command&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;FORM detail_list.&lt;/P&gt;&lt;P&gt;DATA: fc_detail TYPE slis_fieldcat_alv OCCURS 0 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;DATA: variant_detail LIKE disvariant.&lt;/P&gt;&lt;P&gt;DATA: lt_base_list LIKE list[]. "401421&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The detail ALV may modify the list (sorting). If returned to the &lt;/P&gt;&lt;P&gt;base list, the original list needs to be restored. &lt;/P&gt;&lt;P&gt;lt_base_list] = list[. "401421&lt;/P&gt;&lt;P&gt;REFRESH fc_detail.&lt;/P&gt;&lt;P&gt;LOOP AT fc.&lt;/P&gt;&lt;P&gt;MOVE-CORRESPONDING fc TO fc_detail.&lt;/P&gt;&lt;P&gt;CLEAR fc_detail-tabname.&lt;/P&gt;&lt;P&gt;APPEND fc_detail.&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;P&gt;CLEAR variant_detail.&lt;/P&gt;&lt;P&gt;variant_detail-report = alv_repid.&lt;/P&gt;&lt;P&gt;variant_detail-handle = 'DETA'.&lt;/P&gt;&lt;P&gt;detail = 'X'. "needed for GUI status differentiation&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION alv_detail_func&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;i_callback_program = alv_repid&lt;/P&gt;&lt;P&gt;i_callback_pf_status_set = 'SET_STATUS'&lt;/P&gt;&lt;P&gt;i_callback_user_command = 'USER_COMMAND'&lt;/P&gt;&lt;P&gt;it_fieldcat = fc_detail[]&lt;/P&gt;&lt;P&gt;i_default = 'X'&lt;/P&gt;&lt;P&gt;is_variant = variant_detail&lt;/P&gt;&lt;P&gt;i_save = 'A'&lt;/P&gt;&lt;P&gt;is_layout = alv_layout&lt;/P&gt;&lt;P&gt;is_print = alv_print&lt;/P&gt;&lt;P&gt;TABLES&lt;/P&gt;&lt;P&gt;t_outtab = list[].&lt;/P&gt;&lt;P&gt;CLEAR detail.&lt;/P&gt;&lt;P&gt;list] = lt_base_list[. "401421&lt;/P&gt;&lt;P&gt;ENDFORM. "detail_list&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&amp;amp; Form convert_to_ea&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;text &lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;--&amp;gt; p1 text &lt;/P&gt;&lt;P&gt;&amp;lt;-- p2 text &lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------------" /&gt;&lt;P&gt;FORM convert_to_ea .&lt;/P&gt;&lt;P&gt;DATA: l_lvsme TYPE lvs_lvsme,&lt;/P&gt;&lt;P&gt;l_lgnum TYPE lgnum,&lt;/P&gt;&lt;P&gt;l_lbkum TYPE lbkum,&lt;/P&gt;&lt;P&gt;l_salk3 TYPE salk3,&lt;/P&gt;&lt;P&gt;l_peinh TYPE peinh,&lt;/P&gt;&lt;P&gt;l_verpr TYPE verpr,&lt;/P&gt;&lt;P&gt;l_bwtty TYPE bwtty_d,&lt;/P&gt;&lt;P&gt;factor TYPE f.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;l_lgnum = list-werks+1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECT SINGLE lvsme&lt;/P&gt;&lt;P&gt;INTO l_lvsme&lt;/P&gt;&lt;P&gt;FROM mlgn&lt;/P&gt;&lt;P&gt;WHERE matnr = list-matnr&lt;/P&gt;&lt;P&gt;AND lgnum = l_lgnum.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*...for Standard materials...&lt;/P&gt;&lt;P&gt;SELECT SINGLE lbkum salk3 peinh verpr bwtty&lt;/P&gt;&lt;P&gt;INTO (l_lbkum, l_salk3, l_peinh, l_verpr, l_bwtty)&lt;/P&gt;&lt;P&gt;FROM mbew&lt;/P&gt;&lt;P&gt;WHERE matnr = list-matnr&lt;/P&gt;&lt;P&gt;AND bwkey = list-werks.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF l_lbkum = 0.&lt;/P&gt;&lt;P&gt;factor = l_verpr / l_peinh.&lt;/P&gt;&lt;P&gt;ELSE.&lt;/P&gt;&lt;P&gt;factor = l_salk3 / l_lbkum.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Totals&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Total unrestricted stock &lt;/P&gt;&lt;P&gt;list-kunres = list-kulab * factor.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Total stock in quality &lt;/P&gt;&lt;P&gt;list-kinqul = list-kuins * factor.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Total restricted stock &lt;/P&gt;&lt;P&gt;list-krest = list-kuein * factor.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*.......for Configurable items.........&lt;/P&gt;&lt;P&gt;IF l_bwtty = 'X'.&lt;/P&gt;&lt;P&gt;SELECT SINGLE salk3 INTO (l_salk3)&lt;/P&gt;&lt;P&gt;FROM mbew&lt;/P&gt;&lt;P&gt;WHERE matnr = list-matnr AND&lt;/P&gt;&lt;P&gt;bwkey = list-werks AND&lt;/P&gt;&lt;P&gt;bwtar = list-charg.&lt;/P&gt;&lt;P&gt;list-kunres = l_salk3.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;*.........................................&lt;/P&gt;&lt;P&gt;IF NOT l_lvsme IS INITIAL.&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'MATERIAL_UNIT_CONVERSION'&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;input = list-kulab&lt;/P&gt;&lt;P&gt;matnr = list-matnr&lt;/P&gt;&lt;P&gt;meinh = l_lvsme&lt;/P&gt;&lt;P&gt;meins = list-meins&lt;/P&gt;&lt;P&gt;charge = list-charg&lt;/P&gt;&lt;P&gt;werks = list-werks&lt;/P&gt;&lt;P&gt;IMPORTING&lt;/P&gt;&lt;P&gt;output = list-kulab&lt;/P&gt;&lt;P&gt;EXCEPTIONS&lt;/P&gt;&lt;P&gt;conversion_not_found = 1&lt;/P&gt;&lt;P&gt;input_invalid = 2&lt;/P&gt;&lt;P&gt;material_not_found = 3&lt;/P&gt;&lt;P&gt;meinh_not_found = 4&lt;/P&gt;&lt;P&gt;meins_missing = 5&lt;/P&gt;&lt;P&gt;no_meinh = 6&lt;/P&gt;&lt;P&gt;output_invalid = 7&lt;/P&gt;&lt;P&gt;overflow = 8&lt;/P&gt;&lt;P&gt;OTHERS = 9.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'MATERIAL_UNIT_CONVERSION'&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;input = list-kuins&lt;/P&gt;&lt;P&gt;matnr = list-matnr&lt;/P&gt;&lt;P&gt;meinh = l_lvsme&lt;/P&gt;&lt;P&gt;meins = list-meins&lt;/P&gt;&lt;P&gt;charge = list-charg&lt;/P&gt;&lt;P&gt;werks = list-werks&lt;/P&gt;&lt;P&gt;IMPORTING&lt;/P&gt;&lt;P&gt;output = list-kuins&lt;/P&gt;&lt;P&gt;EXCEPTIONS&lt;/P&gt;&lt;P&gt;conversion_not_found = 1&lt;/P&gt;&lt;P&gt;input_invalid = 2&lt;/P&gt;&lt;P&gt;material_not_found = 3&lt;/P&gt;&lt;P&gt;meinh_not_found = 4&lt;/P&gt;&lt;P&gt;meins_missing = 5&lt;/P&gt;&lt;P&gt;no_meinh = 6&lt;/P&gt;&lt;P&gt;output_invalid = 7&lt;/P&gt;&lt;P&gt;overflow = 8&lt;/P&gt;&lt;P&gt;OTHERS = 9.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'MATERIAL_UNIT_CONVERSION'&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;input = list-kuein&lt;/P&gt;&lt;P&gt;matnr = list-matnr&lt;/P&gt;&lt;P&gt;meinh = l_lvsme&lt;/P&gt;&lt;P&gt;meins = list-meins&lt;/P&gt;&lt;P&gt;charge = list-charg&lt;/P&gt;&lt;P&gt;werks = list-werks&lt;/P&gt;&lt;P&gt;IMPORTING&lt;/P&gt;&lt;P&gt;output = list-kuein&lt;/P&gt;&lt;P&gt;EXCEPTIONS&lt;/P&gt;&lt;P&gt;conversion_not_found = 1&lt;/P&gt;&lt;P&gt;input_invalid = 2&lt;/P&gt;&lt;P&gt;material_not_found = 3&lt;/P&gt;&lt;P&gt;meinh_not_found = 4&lt;/P&gt;&lt;P&gt;meins_missing = 5&lt;/P&gt;&lt;P&gt;no_meinh = 6&lt;/P&gt;&lt;P&gt;output_invalid = 7&lt;/P&gt;&lt;P&gt;overflow = 8&lt;/P&gt;&lt;P&gt;OTHERS = 9.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;list-meins = l_lvsme.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. " convert_to_ea&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Reward Points if found helpfull..&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Cheers,&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Chandra Sekhar.&lt;/STRONG&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 04 Feb 2008 09:02:49 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/report-code/m-p/3343360#M801552</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-02-04T09:02:49Z</dc:date>
    </item>
    <item>
      <title>Re: report code</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/report-code/m-p/3343361#M801553</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi there&lt;/P&gt;&lt;P&gt;to make code more readable insert Curly bracket code before the start of the code and curly bracket code at the end of code&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;for example&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;

your code
&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Now FORGET the SLIS stuff --Old, obsolete, too complicated and you need forever to code even a simple GRID as shown by the zillions of lines of abap code in your example.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If you don't need an editable GRID use class salv otherwise use OO cl_gui_alv_grid (or the TREE versions - OO if you need hierarchial displays).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;finally it's really horrible code to have  umpteen calls to the same function module  like you've done in  in the calling this  function module several times.FUNCTION 'MATERIAL_UNIT_CONVERSION'.&lt;/P&gt;&lt;P&gt;Just do a PERFORM using .... or even a method call.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;To make the whole thing much easier as well define your structure , build a DYNAMIC FCAT using RTTI and then in ONE STEP create a dynamic table and populate it.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I'm afraid any potential abbaper I would recruit would CERTAINLY NOT get the job if your example above was presented as usable PRODUCTION code. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;These days UI and OO programming make stuff really easy so try and forget the old  "Elephantine" way of doing it.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;for example here's how to build an EASY dynamic FCAT and dynamic table using ANY structure you care to name (excluding deep components as they are not yet supported).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;

* Define any structure
types:  begin of s_elements,
  vbeln   type vapma-vbeln,
  posnr   type vapma-posnr,
  matnr   type vapma-matnr,
  kunnr   type vapma-kunnr,
  werks   type vapma-werks,
  vkorg   type vapma-vkorg,
  vkbur   type vapma-vkbur,
  status  type c,

end of  s_elements.

* end of your structure
data lr_rtti_struc type ref to cl_abap_structdescr .
data:
    zog                     like line of lr_rtti_struc-&amp;gt;components .
data:
  zogt                    like table of zog,
wa_it_fldcat type lvc_s_fcat,
it_fldcat type lvc_t_fcat ,
dy_line            type ref to data,
dy_table           type ref to data.


data:  dref               type ref to data.
field-symbols: &amp;lt;fs&amp;gt; type any,
   &amp;lt;dyn_table&amp;gt;    type  standard table,
   &amp;lt;dyn_wa&amp;gt;.

..... other code

*now I want to build a field catalog
* First get your data structure into a field symbol

create data dref type s_elements.
assign dref-&amp;gt;* to &amp;lt;fs&amp;gt;.

lr_rtti_struc ?= cl_abap_structdescr=&amp;gt;describe_by_data( &amp;lt;fs&amp;gt; ).

* Now get the structure details into a table.
* table zogt[] contains the structure details
* From which we can build the field catalog

zogt[]  = lr_rtti_struc-&amp;gt;components.
loop at zogt into zog.
  clear wa_it_fldcat.
  wa_it_fldcat-fieldname = zog-name .
  wa_it_fldcat-datatype = zog-type_kind.
  wa_it_fldcat-inttype = zog-type_kind.
  wa_it_fldcat-intlen = zog-length.
  wa_it_fldcat-decimals = zog-decimals.
  wa_it_fldcat-coltext = zog-name.
  wa_it_fldcat-lowercase = 'X'.
  append wa_it_fldcat to it_fldcat .
endloop.
*
* You can perform any modifications / additions to your field catalog
* here such as your own column names etc.

* Now using the field catalog created above we can
* build a dynamic table
* and populate it

* First build the dynamic table
* the table will contain entries for
* our structure defined at the start of the program

call method cl_alv_table_create=&amp;gt;create_dynamic_table
       exporting
            it_fieldcatalog = it_fldcat
       importing
            ep_table = dy_table.


assign dy_table-&amp;gt;* to &amp;lt;dyn_table&amp;gt;.
create data dy_line like line of &amp;lt;dyn_table&amp;gt;.
assign dy_line-&amp;gt;* to &amp;lt;dyn_wa&amp;gt;.

* Now fill our table with data

select vbeln posnr matnr kunnr werks vkorg vkbur
       up to 200 rows
       from vapma
       into  corresponding fields of table &amp;lt;dyn_table&amp;gt;.

* Call the screen to display the grid
call screen 100.

&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Simplicity itself  !!!!!!!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Cheers&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Jimbo&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 04 Feb 2008 14:21:14 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/report-code/m-p/3343361#M801553</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-02-04T14:21:14Z</dc:date>
    </item>
  </channel>
</rss>

