<?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: Performance Issues in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/performance-issues/m-p/1228329#M138529</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;Here is my code :&lt;/P&gt;&lt;P&gt;*********************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT z_vijay NO STANDARD PAGE HEADING&lt;/P&gt;&lt;P&gt;                  LINE-SIZE 140&lt;/P&gt;&lt;P&gt;                  LINE-COUNT 65&lt;/P&gt;&lt;P&gt;                  MESSAGE-ID zehs.&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; T A B L E S                                                         *&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 ,  " General Material Data&lt;/P&gt;&lt;P&gt;         knmt ,  " Customer-Material Info Record Data Table&lt;/P&gt;&lt;P&gt;         makt ,  " Material Descriptions&lt;/P&gt;&lt;P&gt;         estrh . " EHS: Substance header &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; I N T E R N A L       T A B L E S&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 : BEGIN OF t_outtab OCCURS 0 ,&lt;/P&gt;&lt;P&gt;        matnr(18) TYPE c ,  " Material number&lt;/P&gt;&lt;P&gt;        bismt(18) TYPE c ,  " Old material number&lt;/P&gt;&lt;P&gt;        subid(12) TYPE c ,  " Specification    &lt;/P&gt;&lt;P&gt;        kunnr(10) TYPE c ,  " Customer number&lt;/P&gt;&lt;P&gt;        kdmat(35) TYPE c ,  " Material number used by customer&lt;/P&gt;&lt;P&gt;        spras(1)  TYPE c ,  " Language key&lt;/P&gt;&lt;P&gt;        postx(70) TYPE c ,  " Customer description of material&lt;/P&gt;&lt;P&gt;        delim(1)  TYPE c .  " Delimiter character&lt;/P&gt;&lt;P&gt;DATA : END OF t_outtab .&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; C O N S T A N T S                                                   *&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_tdid(4)   TYPE c VALUE 'GRUN',&lt;/P&gt;&lt;P&gt;           c_tdobject  LIKE   thead-tdobject   VALUE 'MATERIAL'.&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; D A T A                                                             *&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 : w_langu LIKE kna1-spras ,&lt;/P&gt;&lt;P&gt;       w_recnroot TYPE estrh-recnroot,                     &lt;/P&gt;&lt;P&gt;       w_subcat type estrh-subcat,&lt;/P&gt;&lt;P&gt;       w_value type i.&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; P A R A M E T E R S / S E L E C T - O P T I O N S                   *&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;SELECT-OPTIONS : s_lvorm FOR mara-lvorm ,&lt;/P&gt;&lt;P&gt;                 s_kzumw FOR mara-kzumw DEFAULT 'X' ,&lt;/P&gt;&lt;P&gt;                 s_mtart FOR mara-mtart ,&lt;/P&gt;&lt;P&gt;                 s_subcat FOR estrh-subcat. &lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK b1 .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME TITLE text-002 .&lt;/P&gt;&lt;P&gt;PARAMETERS : p_fname(132) TYPE c OBLIGATORY LOWER CASE .&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK b2 .&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; INITIALIZATION                                                      *&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;INITIALIZATION .&lt;/P&gt;&lt;P&gt;  PERFORM initialize_selection_values .&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;  PERFORM check_file_access .&lt;/P&gt;&lt;P&gt;  PERFORM check_material_type .&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;P&gt;  PERFORM print_header .&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;  PERFORM get_values_to_itab .&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;&lt;/P&gt;&lt;P&gt;END-OF-SELECTION .&lt;/P&gt;&lt;P&gt;  PERFORM move_itab_to_file .&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  initialize_selection_values&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; Initialize the selection scree variable values&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 initialize_selection_values.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CONCATENATE '/' syst-sysid '/interfaces/msds/out/msds_out.txt'&lt;/P&gt;&lt;P&gt;                    INTO p_fname .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  s_lvorm-low    = 'X' .&lt;/P&gt;&lt;P&gt;  s_lvorm-option = 'NE' .&lt;/P&gt;&lt;P&gt;  s_lvorm-sign   = 'I' .&lt;/P&gt;&lt;P&gt;  APPEND s_lvorm .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  s_mtart-low    = 'FERT' .&lt;/P&gt;&lt;P&gt;  s_mtart-option = 'EQ' .&lt;/P&gt;&lt;P&gt;  s_mtart-sign   = 'I' .&lt;/P&gt;&lt;P&gt;  APPEND s_mtart .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  s_mtart-low = 'HALB' . APPEND s_mtart .&lt;/P&gt;&lt;P&gt;  s_mtart-low = 'HAWA' . APPEND s_mtart .&lt;/P&gt;&lt;P&gt;  s_mtart-low = 'ROH'  . APPEND s_mtart .&lt;/P&gt;&lt;P&gt;  s_mtart-low = 'ZOFG' . APPEND s_mtart .&lt;/P&gt;&lt;P&gt;  s_mtart-low = 'ZWST' . APPEND s_mtart .&lt;/P&gt;&lt;P&gt;  s_mtart-low = 'ZUNB' . APPEND s_mtart .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  s_subcat-low = 'REAL_SUB'.&lt;/P&gt;&lt;P&gt;  s_subcat-sign = 'I'.&lt;/P&gt;&lt;P&gt;  s_subcat-option = 'EQ'.&lt;/P&gt;&lt;P&gt;  APPEND s_subcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  s_subcat-low = 'ZPURCH_SUB'.&lt;/P&gt;&lt;P&gt;  s_subcat-sign = 'I'.&lt;/P&gt;&lt;P&gt;  s_subcat-option = 'EQ'.&lt;/P&gt;&lt;P&gt;  APPEND s_subcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " initialize_selection_values&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  CHECK_FILE_ACCESS&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;  Check whether the given directory has enough permission for access&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 check_file_access.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  OPEN DATASET p_fname FOR OUTPUT IN TEXT MODE .&lt;/P&gt;&lt;P&gt;  IF NOT syst-subrc IS INITIAL .&lt;/P&gt;&lt;P&gt;    MESSAGE e398(00) WITH text-m01 .&lt;/P&gt;&lt;P&gt;  ENDIF .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " CHECK_FILE_ACCESS&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  CHECK_MATERIAL_TYPE&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;Check material type&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 check_material_type.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECT mtart INTO s_mtart-low UP TO 1 ROWS FROM t134&lt;/P&gt;&lt;P&gt;                    WHERE mtart IN s_mtart .&lt;/P&gt;&lt;P&gt;  ENDSELECT .&lt;/P&gt;&lt;P&gt;  IF syst-subrc NE 0 .&lt;/P&gt;&lt;P&gt;    MESSAGE e398(00) WITH text-m02 .&lt;/P&gt;&lt;P&gt;  ENDIF .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " CHECK_MATERIAL_TYPE&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_VALUES_TO_ITAB&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM get_values_to_itab.&lt;/P&gt;&lt;P&gt;  set run time analyzer on.&lt;/P&gt;&lt;P&gt;  SELECT matnr bismt&lt;/P&gt;&lt;P&gt;        INTO t_outtab FROM mara&lt;/P&gt;&lt;P&gt;        WHERE lvorm IN s_lvorm&lt;/P&gt;&lt;P&gt;        AND kzumw IN s_kzumw&lt;/P&gt;&lt;P&gt;        AND mtart IN s_mtart .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CLEAR : w_recnroot.&lt;/P&gt;&lt;P&gt;    SELECT recnroot&lt;/P&gt;&lt;P&gt;           INTO w_recnroot&lt;/P&gt;&lt;P&gt;           FROM estmj&lt;/P&gt;&lt;P&gt;           WHERE matnr = t_outtab-matnr&lt;/P&gt;&lt;P&gt;           AND delflg   = space.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*---- Retrieve the Specification number(SUBID) for only&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    Specification  type (SUBCAT) 'REAL_SUB' or 'ZPURCH_SUB'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            SELECT single subid&lt;/P&gt;&lt;P&gt;                   INTO t_outtab-subid&lt;/P&gt;&lt;P&gt;                   FROM estrh&lt;/P&gt;&lt;P&gt;                   WHERE recnroot = w_recnroot&lt;/P&gt;&lt;P&gt;                   AND subcat in s_subcat&lt;/P&gt;&lt;P&gt;                   AND delflg   = space.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDSELECT .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CLEAR : w_value.&lt;/P&gt;&lt;P&gt;    SELECT kunnr kdmat postx INTO&lt;/P&gt;&lt;P&gt;          (t_outtab-kunnr , t_outtab-kdmat , t_outtab-postx) FROM knmt&lt;/P&gt;&lt;P&gt;             WHERE matnr EQ t_outtab-matnr&lt;/P&gt;&lt;P&gt;               AND postx NE space .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      t_outtab-delim = '/' .&lt;/P&gt;&lt;P&gt;      t_outtab-spras = 'E' .&lt;/P&gt;&lt;P&gt;      APPEND t_outtab .&lt;/P&gt;&lt;P&gt;      CLEAR : t_outtab-kunnr ,t_outtab-kdmat , t_outtab-postx .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDSELECT .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    PERFORM get_long_text .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF t_outtab-postx EQ space.&lt;/P&gt;&lt;P&gt;      SELECT * FROM makt WHERE matnr EQ t_outtab-matnr .&lt;/P&gt;&lt;P&gt;        t_outtab-postx = makt-maktx .&lt;/P&gt;&lt;P&gt;        t_outtab-spras = makt-spras .&lt;/P&gt;&lt;P&gt;        t_outtab-delim = '/' .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        APPEND t_outtab .&lt;/P&gt;&lt;P&gt;      ENDSELECT .&lt;/P&gt;&lt;P&gt;    ENDIF .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CLEAR t_outtab .&lt;/P&gt;&lt;P&gt;  ENDSELECT .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF syst-subrc NE 0 .&lt;/P&gt;&lt;P&gt;    WRITE : text-l01 .&lt;/P&gt;&lt;P&gt;  ENDIF .&lt;/P&gt;&lt;P&gt;  set run time analyzer off.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " GET_VALUES_TO_ITAB&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_LONG_TEXT&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&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_long_text.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: w_tdname  LIKE  thead-tdname .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: BEGIN OF t_text OCCURS 0.&lt;/P&gt;&lt;P&gt;          INCLUDE STRUCTURE tline.&lt;/P&gt;&lt;P&gt;  DATA: END OF t_text.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  w_tdname = t_outtab-matnr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECT tdspras INTO w_langu FROM stxh&lt;/P&gt;&lt;P&gt;                          WHERE tdobject = 'MATERIAL'&lt;/P&gt;&lt;P&gt;                            AND tdname   = t_outtab-matnr&lt;/P&gt;&lt;P&gt;                            AND tdid     = 'GRUN' .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CLEAR:   t_text.&lt;/P&gt;&lt;P&gt;    REFRESH: t_text.&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'READ_TEXT'&lt;/P&gt;&lt;P&gt;         EXPORTING&lt;/P&gt;&lt;P&gt;              id                      = c_tdid&lt;/P&gt;&lt;P&gt;              language                = w_langu&lt;/P&gt;&lt;P&gt;              name                    = w_tdname&lt;/P&gt;&lt;P&gt;              object                  = c_tdobject&lt;/P&gt;&lt;P&gt;         TABLES&lt;/P&gt;&lt;P&gt;              lines                   = t_text&lt;/P&gt;&lt;P&gt;         EXCEPTIONS&lt;/P&gt;&lt;P&gt;              id                      = 1&lt;/P&gt;&lt;P&gt;              language                = 2&lt;/P&gt;&lt;P&gt;              name                    = 3&lt;/P&gt;&lt;P&gt;              not_found               = 4&lt;/P&gt;&lt;P&gt;              object                  = 5&lt;/P&gt;&lt;P&gt;              reference_check         = 6&lt;/P&gt;&lt;P&gt;              wrong_access_to_archive = 7&lt;/P&gt;&lt;P&gt;              OTHERS                  = 8.&lt;/P&gt;&lt;P&gt;    IF sy-subrc EQ 0.&lt;/P&gt;&lt;P&gt;      LOOP AT t_text WHERE tdline NE space.&lt;/P&gt;&lt;P&gt;        CLEAR t_outtab-postx .&lt;/P&gt;&lt;P&gt;        MOVE:  t_text-tdline+0(70) TO  t_outtab-postx.&lt;/P&gt;&lt;P&gt;        EXIT .&lt;/P&gt;&lt;P&gt;      ENDLOOP.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    t_outtab-spras = w_langu .&lt;/P&gt;&lt;P&gt;    t_outtab-delim = '/' .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    APPEND t_outtab .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDSELECT .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " GET_LONG_TEXT&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  MOVE_ITAB_TO_FILE&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;Move Internal table contents to the Unix file&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 move_itab_to_file.&lt;/P&gt;&lt;P&gt;  DATA : w_count LIKE syst-tabix .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT t_outtab .&lt;/P&gt;&lt;P&gt;    TRANSFER t_outtab TO p_fname.&lt;/P&gt;&lt;P&gt;    w_count = w_count + 1 .&lt;/P&gt;&lt;P&gt;  ENDLOOP .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLOSE DATASET p_fname.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  WRITE : / w_count,  text-l02 .&lt;/P&gt;&lt;P&gt;ENDFORM.                    " MOVE_ITAB_TO_FILE&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  PRINT_HEADER&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;     Print header&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 print_header.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'Z_ZS01_REPORT_HEADER'&lt;/P&gt;&lt;P&gt;       EXPORTING&lt;/P&gt;&lt;P&gt;            ip_pagewidth = sy-linsz.&lt;/P&gt;&lt;P&gt;  IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;    MESSAGE i006.  "The standard header could not be printed.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " PRINT_HEADER&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;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Vijay.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Fri, 21 Apr 2006 19:30:52 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2006-04-21T19:30:52Z</dc:date>
    <item>
      <title>Performance Issues</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/performance-issues/m-p/1228323#M138523</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 have a program which  when ran in development takes time for about 7 mins. It accesss mara table and reads material value from that. Total no of recorsd are about 150,000. When I run the same program in Production it takes 6.5 hrs where as the no of recorsds are 300,000. The program has nested select statements. I know that nested select statements are a barrier to performance to the program but how come such a huge difference ? Is there any thing to be taken care of indexes ? The functioanl member says they had a similar problem earlier too, and rebuilding the indexes has resolved  the issue? Is it true ? are indexes a concern in this regard ?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Vijay.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 21 Apr 2006 19:04:09 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/performance-issues/m-p/1228323#M138523</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-04-21T19:04:09Z</dc:date>
    </item>
    <item>
      <title>Re: Performance Issues</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/performance-issues/m-p/1228324#M138524</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Vijay,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;what we need to remember the more no. of records it process the time taken increases exponentially. Yes, Index will defintely will give a big boos to you to the performance.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;however, I suggest that you relook at the coding, and avoid nested SELECT statements, make use of SORTED, HASED internal tables, which will definitely help you.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Ravi&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Note : Please mark the helpful answers&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 21 Apr 2006 19:08:09 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/performance-issues/m-p/1228324#M138524</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-04-21T19:08:09Z</dc:date>
    </item>
    <item>
      <title>Re: Performance Issues</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/performance-issues/m-p/1228325#M138525</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;It is not advisable simply to add new indexes without analysing the code. Please post the code so that the forum can suggest improvements. Also do a runtime analysis on it and see where it spends most of its time.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 21 Apr 2006 19:09:14 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/performance-issues/m-p/1228325#M138525</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-04-21T19:09:14Z</dc:date>
    </item>
    <item>
      <title>Re: Performance Issues</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/performance-issues/m-p/1228326#M138526</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi srinivas,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;What you have suggested is good idea. I have already performed runtime analysis using se30 and the result is as follows :&lt;/P&gt;&lt;P&gt;ABAP       2.6%&lt;/P&gt;&lt;P&gt;Database   97.3%&lt;/P&gt;&lt;P&gt;R/3 System 0.1%&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Obviously nested select's are the culprits.&lt;/P&gt;&lt;P&gt;Ravi, you said that runtime increases exponentially ? Can you elobrate a little plz ?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Vijay.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Message was edited by: vijay kalava&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 21 Apr 2006 19:22:31 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/performance-issues/m-p/1228326#M138526</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-04-21T19:22:31Z</dc:date>
    </item>
    <item>
      <title>Re: Performance Issues</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/performance-issues/m-p/1228327#M138527</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;It's not generally a good idea to add an index to an SAP table without analyzing the code. It's definitely not a good idea to add an index to speed up a single select (or nested selects). Adding indexes also adds overhead in execution time of update programs and table space usage.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Nested selects if done correctly are not going to cause the performance issue you describe. It's more likely that you are selecting on one or more table without using an index.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If you post your code, you'll probably get a lot if ideas of how to improve its performance.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Rob&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 21 Apr 2006 19:25:52 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/performance-issues/m-p/1228327#M138527</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-04-21T19:25:52Z</dc:date>
    </item>
    <item>
      <title>Re: Performance Issues</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/performance-issues/m-p/1228328#M138528</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;So that is what we need to concentrate on improving.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 21 Apr 2006 19:26:53 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/performance-issues/m-p/1228328#M138528</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-04-21T19:26:53Z</dc:date>
    </item>
    <item>
      <title>Re: Performance Issues</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/performance-issues/m-p/1228329#M138529</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;Here is my code :&lt;/P&gt;&lt;P&gt;*********************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT z_vijay NO STANDARD PAGE HEADING&lt;/P&gt;&lt;P&gt;                  LINE-SIZE 140&lt;/P&gt;&lt;P&gt;                  LINE-COUNT 65&lt;/P&gt;&lt;P&gt;                  MESSAGE-ID zehs.&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; T A B L E S                                                         *&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 ,  " General Material Data&lt;/P&gt;&lt;P&gt;         knmt ,  " Customer-Material Info Record Data Table&lt;/P&gt;&lt;P&gt;         makt ,  " Material Descriptions&lt;/P&gt;&lt;P&gt;         estrh . " EHS: Substance header &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; I N T E R N A L       T A B L E S&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 : BEGIN OF t_outtab OCCURS 0 ,&lt;/P&gt;&lt;P&gt;        matnr(18) TYPE c ,  " Material number&lt;/P&gt;&lt;P&gt;        bismt(18) TYPE c ,  " Old material number&lt;/P&gt;&lt;P&gt;        subid(12) TYPE c ,  " Specification    &lt;/P&gt;&lt;P&gt;        kunnr(10) TYPE c ,  " Customer number&lt;/P&gt;&lt;P&gt;        kdmat(35) TYPE c ,  " Material number used by customer&lt;/P&gt;&lt;P&gt;        spras(1)  TYPE c ,  " Language key&lt;/P&gt;&lt;P&gt;        postx(70) TYPE c ,  " Customer description of material&lt;/P&gt;&lt;P&gt;        delim(1)  TYPE c .  " Delimiter character&lt;/P&gt;&lt;P&gt;DATA : END OF t_outtab .&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; C O N S T A N T S                                                   *&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_tdid(4)   TYPE c VALUE 'GRUN',&lt;/P&gt;&lt;P&gt;           c_tdobject  LIKE   thead-tdobject   VALUE 'MATERIAL'.&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; D A T A                                                             *&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 : w_langu LIKE kna1-spras ,&lt;/P&gt;&lt;P&gt;       w_recnroot TYPE estrh-recnroot,                     &lt;/P&gt;&lt;P&gt;       w_subcat type estrh-subcat,&lt;/P&gt;&lt;P&gt;       w_value type i.&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; P A R A M E T E R S / S E L E C T - O P T I O N S                   *&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;SELECT-OPTIONS : s_lvorm FOR mara-lvorm ,&lt;/P&gt;&lt;P&gt;                 s_kzumw FOR mara-kzumw DEFAULT 'X' ,&lt;/P&gt;&lt;P&gt;                 s_mtart FOR mara-mtart ,&lt;/P&gt;&lt;P&gt;                 s_subcat FOR estrh-subcat. &lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK b1 .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME TITLE text-002 .&lt;/P&gt;&lt;P&gt;PARAMETERS : p_fname(132) TYPE c OBLIGATORY LOWER CASE .&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK b2 .&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; INITIALIZATION                                                      *&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;INITIALIZATION .&lt;/P&gt;&lt;P&gt;  PERFORM initialize_selection_values .&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;  PERFORM check_file_access .&lt;/P&gt;&lt;P&gt;  PERFORM check_material_type .&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;P&gt;  PERFORM print_header .&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;  PERFORM get_values_to_itab .&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;&lt;/P&gt;&lt;P&gt;END-OF-SELECTION .&lt;/P&gt;&lt;P&gt;  PERFORM move_itab_to_file .&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  initialize_selection_values&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; Initialize the selection scree variable values&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 initialize_selection_values.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CONCATENATE '/' syst-sysid '/interfaces/msds/out/msds_out.txt'&lt;/P&gt;&lt;P&gt;                    INTO p_fname .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  s_lvorm-low    = 'X' .&lt;/P&gt;&lt;P&gt;  s_lvorm-option = 'NE' .&lt;/P&gt;&lt;P&gt;  s_lvorm-sign   = 'I' .&lt;/P&gt;&lt;P&gt;  APPEND s_lvorm .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  s_mtart-low    = 'FERT' .&lt;/P&gt;&lt;P&gt;  s_mtart-option = 'EQ' .&lt;/P&gt;&lt;P&gt;  s_mtart-sign   = 'I' .&lt;/P&gt;&lt;P&gt;  APPEND s_mtart .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  s_mtart-low = 'HALB' . APPEND s_mtart .&lt;/P&gt;&lt;P&gt;  s_mtart-low = 'HAWA' . APPEND s_mtart .&lt;/P&gt;&lt;P&gt;  s_mtart-low = 'ROH'  . APPEND s_mtart .&lt;/P&gt;&lt;P&gt;  s_mtart-low = 'ZOFG' . APPEND s_mtart .&lt;/P&gt;&lt;P&gt;  s_mtart-low = 'ZWST' . APPEND s_mtart .&lt;/P&gt;&lt;P&gt;  s_mtart-low = 'ZUNB' . APPEND s_mtart .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  s_subcat-low = 'REAL_SUB'.&lt;/P&gt;&lt;P&gt;  s_subcat-sign = 'I'.&lt;/P&gt;&lt;P&gt;  s_subcat-option = 'EQ'.&lt;/P&gt;&lt;P&gt;  APPEND s_subcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  s_subcat-low = 'ZPURCH_SUB'.&lt;/P&gt;&lt;P&gt;  s_subcat-sign = 'I'.&lt;/P&gt;&lt;P&gt;  s_subcat-option = 'EQ'.&lt;/P&gt;&lt;P&gt;  APPEND s_subcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " initialize_selection_values&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  CHECK_FILE_ACCESS&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;  Check whether the given directory has enough permission for access&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 check_file_access.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  OPEN DATASET p_fname FOR OUTPUT IN TEXT MODE .&lt;/P&gt;&lt;P&gt;  IF NOT syst-subrc IS INITIAL .&lt;/P&gt;&lt;P&gt;    MESSAGE e398(00) WITH text-m01 .&lt;/P&gt;&lt;P&gt;  ENDIF .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " CHECK_FILE_ACCESS&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  CHECK_MATERIAL_TYPE&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;Check material type&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 check_material_type.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECT mtart INTO s_mtart-low UP TO 1 ROWS FROM t134&lt;/P&gt;&lt;P&gt;                    WHERE mtart IN s_mtart .&lt;/P&gt;&lt;P&gt;  ENDSELECT .&lt;/P&gt;&lt;P&gt;  IF syst-subrc NE 0 .&lt;/P&gt;&lt;P&gt;    MESSAGE e398(00) WITH text-m02 .&lt;/P&gt;&lt;P&gt;  ENDIF .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " CHECK_MATERIAL_TYPE&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_VALUES_TO_ITAB&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM get_values_to_itab.&lt;/P&gt;&lt;P&gt;  set run time analyzer on.&lt;/P&gt;&lt;P&gt;  SELECT matnr bismt&lt;/P&gt;&lt;P&gt;        INTO t_outtab FROM mara&lt;/P&gt;&lt;P&gt;        WHERE lvorm IN s_lvorm&lt;/P&gt;&lt;P&gt;        AND kzumw IN s_kzumw&lt;/P&gt;&lt;P&gt;        AND mtart IN s_mtart .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CLEAR : w_recnroot.&lt;/P&gt;&lt;P&gt;    SELECT recnroot&lt;/P&gt;&lt;P&gt;           INTO w_recnroot&lt;/P&gt;&lt;P&gt;           FROM estmj&lt;/P&gt;&lt;P&gt;           WHERE matnr = t_outtab-matnr&lt;/P&gt;&lt;P&gt;           AND delflg   = space.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*---- Retrieve the Specification number(SUBID) for only&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    Specification  type (SUBCAT) 'REAL_SUB' or 'ZPURCH_SUB'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            SELECT single subid&lt;/P&gt;&lt;P&gt;                   INTO t_outtab-subid&lt;/P&gt;&lt;P&gt;                   FROM estrh&lt;/P&gt;&lt;P&gt;                   WHERE recnroot = w_recnroot&lt;/P&gt;&lt;P&gt;                   AND subcat in s_subcat&lt;/P&gt;&lt;P&gt;                   AND delflg   = space.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDSELECT .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CLEAR : w_value.&lt;/P&gt;&lt;P&gt;    SELECT kunnr kdmat postx INTO&lt;/P&gt;&lt;P&gt;          (t_outtab-kunnr , t_outtab-kdmat , t_outtab-postx) FROM knmt&lt;/P&gt;&lt;P&gt;             WHERE matnr EQ t_outtab-matnr&lt;/P&gt;&lt;P&gt;               AND postx NE space .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      t_outtab-delim = '/' .&lt;/P&gt;&lt;P&gt;      t_outtab-spras = 'E' .&lt;/P&gt;&lt;P&gt;      APPEND t_outtab .&lt;/P&gt;&lt;P&gt;      CLEAR : t_outtab-kunnr ,t_outtab-kdmat , t_outtab-postx .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDSELECT .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    PERFORM get_long_text .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF t_outtab-postx EQ space.&lt;/P&gt;&lt;P&gt;      SELECT * FROM makt WHERE matnr EQ t_outtab-matnr .&lt;/P&gt;&lt;P&gt;        t_outtab-postx = makt-maktx .&lt;/P&gt;&lt;P&gt;        t_outtab-spras = makt-spras .&lt;/P&gt;&lt;P&gt;        t_outtab-delim = '/' .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        APPEND t_outtab .&lt;/P&gt;&lt;P&gt;      ENDSELECT .&lt;/P&gt;&lt;P&gt;    ENDIF .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CLEAR t_outtab .&lt;/P&gt;&lt;P&gt;  ENDSELECT .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF syst-subrc NE 0 .&lt;/P&gt;&lt;P&gt;    WRITE : text-l01 .&lt;/P&gt;&lt;P&gt;  ENDIF .&lt;/P&gt;&lt;P&gt;  set run time analyzer off.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " GET_VALUES_TO_ITAB&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_LONG_TEXT&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&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_long_text.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: w_tdname  LIKE  thead-tdname .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: BEGIN OF t_text OCCURS 0.&lt;/P&gt;&lt;P&gt;          INCLUDE STRUCTURE tline.&lt;/P&gt;&lt;P&gt;  DATA: END OF t_text.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  w_tdname = t_outtab-matnr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECT tdspras INTO w_langu FROM stxh&lt;/P&gt;&lt;P&gt;                          WHERE tdobject = 'MATERIAL'&lt;/P&gt;&lt;P&gt;                            AND tdname   = t_outtab-matnr&lt;/P&gt;&lt;P&gt;                            AND tdid     = 'GRUN' .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CLEAR:   t_text.&lt;/P&gt;&lt;P&gt;    REFRESH: t_text.&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'READ_TEXT'&lt;/P&gt;&lt;P&gt;         EXPORTING&lt;/P&gt;&lt;P&gt;              id                      = c_tdid&lt;/P&gt;&lt;P&gt;              language                = w_langu&lt;/P&gt;&lt;P&gt;              name                    = w_tdname&lt;/P&gt;&lt;P&gt;              object                  = c_tdobject&lt;/P&gt;&lt;P&gt;         TABLES&lt;/P&gt;&lt;P&gt;              lines                   = t_text&lt;/P&gt;&lt;P&gt;         EXCEPTIONS&lt;/P&gt;&lt;P&gt;              id                      = 1&lt;/P&gt;&lt;P&gt;              language                = 2&lt;/P&gt;&lt;P&gt;              name                    = 3&lt;/P&gt;&lt;P&gt;              not_found               = 4&lt;/P&gt;&lt;P&gt;              object                  = 5&lt;/P&gt;&lt;P&gt;              reference_check         = 6&lt;/P&gt;&lt;P&gt;              wrong_access_to_archive = 7&lt;/P&gt;&lt;P&gt;              OTHERS                  = 8.&lt;/P&gt;&lt;P&gt;    IF sy-subrc EQ 0.&lt;/P&gt;&lt;P&gt;      LOOP AT t_text WHERE tdline NE space.&lt;/P&gt;&lt;P&gt;        CLEAR t_outtab-postx .&lt;/P&gt;&lt;P&gt;        MOVE:  t_text-tdline+0(70) TO  t_outtab-postx.&lt;/P&gt;&lt;P&gt;        EXIT .&lt;/P&gt;&lt;P&gt;      ENDLOOP.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    t_outtab-spras = w_langu .&lt;/P&gt;&lt;P&gt;    t_outtab-delim = '/' .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    APPEND t_outtab .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDSELECT .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " GET_LONG_TEXT&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  MOVE_ITAB_TO_FILE&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;Move Internal table contents to the Unix file&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 move_itab_to_file.&lt;/P&gt;&lt;P&gt;  DATA : w_count LIKE syst-tabix .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT t_outtab .&lt;/P&gt;&lt;P&gt;    TRANSFER t_outtab TO p_fname.&lt;/P&gt;&lt;P&gt;    w_count = w_count + 1 .&lt;/P&gt;&lt;P&gt;  ENDLOOP .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLOSE DATASET p_fname.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  WRITE : / w_count,  text-l02 .&lt;/P&gt;&lt;P&gt;ENDFORM.                    " MOVE_ITAB_TO_FILE&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  PRINT_HEADER&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;     Print header&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 print_header.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'Z_ZS01_REPORT_HEADER'&lt;/P&gt;&lt;P&gt;       EXPORTING&lt;/P&gt;&lt;P&gt;            ip_pagewidth = sy-linsz.&lt;/P&gt;&lt;P&gt;  IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;    MESSAGE i006.  "The standard header could not be printed.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " PRINT_HEADER&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;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Vijay.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 21 Apr 2006 19:30:52 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/performance-issues/m-p/1228329#M138529</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-04-21T19:30:52Z</dc:date>
    </item>
    <item>
      <title>Re: Performance Issues</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/performance-issues/m-p/1228330#M138530</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Vijay,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;You need to supply key fields when select records from table MARA.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Hope this will help.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Ferry Lianto&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 21 Apr 2006 19:38:57 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/performance-issues/m-p/1228330#M138530</guid>
      <dc:creator>ferry_lianto</dc:creator>
      <dc:date>2006-04-21T19:38:57Z</dc:date>
    </item>
    <item>
      <title>Re: Performance Issues</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/performance-issues/m-p/1228331#M138531</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;HI Ferry Lianto,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I am doing that right ? IN the first select I am selecting all materials form mara table where as in further queries I am using matnr .&lt;/P&gt;&lt;P&gt;&amp;lt;b&amp;gt;I think using internal tables may likely minimises the problem.&amp;lt;/b&amp;gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Vijay.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Message was edited by: vijay kalava&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 21 Apr 2006 19:46:28 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/performance-issues/m-p/1228331#M138531</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-04-21T19:46:28Z</dc:date>
    </item>
    <item>
      <title>Re: Performance Issues</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/performance-issues/m-p/1228332#M138532</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;One of our Ferry Lianto suggested that if the data increases the ruintime would increase in exponential time. Can anyone please explain what would be the reason behind that.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Vijay.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 21 Apr 2006 20:05:18 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/performance-issues/m-p/1228332#M138532</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-04-21T20:05:18Z</dc:date>
    </item>
    <item>
      <title>Re: Performance Issues</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/performance-issues/m-p/1228333#M138533</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;So long as s_mtart is not empty, you should use a secondary index when selecting from MARA; however, I think some of the nested selects do not use indexes. But to start with, you should ensure that s_mtart is not empty.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Rob&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 21 Apr 2006 20:18:38 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/performance-issues/m-p/1228333#M138533</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-04-21T20:18:38Z</dc:date>
    </item>
    <item>
      <title>Re: Performance Issues</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/performance-issues/m-p/1228334#M138534</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Viay,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;There is standard secondary index &amp;lt;b&amp;gt;T - Material Type&amp;lt;/b&amp;gt;. &lt;/P&gt;&lt;P&gt;Please try to change your code like this.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;
SELECT matnr bismt
INTO t_outtab FROM mara
WHERE &amp;lt;b&amp;gt;mtart IN s_mtart&amp;lt;/b&amp;gt; 
  AND lvorm IN s_lvorm
  AND kzumw IN s_kzumw.&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This should improve your performance running.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Ferry Lianto&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 21 Apr 2006 20:19:51 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/performance-issues/m-p/1228334#M138534</guid>
      <dc:creator>ferry_lianto</dc:creator>
      <dc:date>2006-04-21T20:19:51Z</dc:date>
    </item>
    <item>
      <title>Re: Performance Issues</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/performance-issues/m-p/1228335#M138535</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;Mtart is never empty and as Ferry Lianto suggests the select statement is already in the way he mentioned.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Vijay.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 21 Apr 2006 20:24:57 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/performance-issues/m-p/1228335#M138535</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-04-21T20:24:57Z</dc:date>
    </item>
    <item>
      <title>Re: Performance Issues</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/performance-issues/m-p/1228336#M138536</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Neither:&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;
      SELECT SINGLE subid
      INTO t_outtab-subid
      FROM estrh
      WHERE recnroot = w_recnroot
      AND subcat IN s_subcat
      AND delflg = space.
&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;nor:&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;
    SELECT kunnr kdmat postx INTO
    (t_outtab-kunnr , t_outtab-kdmat , t_outtab-postx) FROM knmt
    WHERE matnr EQ t_outtab-matnr
    AND postx NE space .
&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;appear to be using indexes. So long as s_mtart is not empty. That's where I'd look next.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;You also should run a performance trace (ST05) on this program. When you look at the results, you can look at the EXPLAIN on all of the selects and see which are the ones causing the most problem.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Rob&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 21 Apr 2006 20:30:27 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/performance-issues/m-p/1228336#M138536</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-04-21T20:30:27Z</dc:date>
    </item>
    <item>
      <title>Re: Performance Issues</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/performance-issues/m-p/1228337#M138537</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;Thanks Rob,Srinivas Adavi and Ferry Lianto for sparing your time and efforts to help me. I really appreciate your helping nature. I am awarding points to you all but I will close the post only when I complete analysing the trace.&lt;/P&gt;&lt;P&gt;You all have a great week end. Catch you all on monday.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Vijya.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 21 Apr 2006 20:35:29 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/performance-issues/m-p/1228337#M138537</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-04-21T20:35:29Z</dc:date>
    </item>
    <item>
      <title>Re: Performance Issues</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/performance-issues/m-p/1228338#M138538</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Try these changes.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;
FORM get_values_to_itab.

  DATA: BEGIN OF itab_of_matnrs OCCURS 0,
          matnr LIKE mara-matnr,
          bismt LIKE mara-bismt.
  DATA: END OF itab_matnrs.

  DATA: BEGIN OF itab_of_kdmats OCCURS 0,
          matnr LIKE knmt-matnr,
          kunnr LIKE knmt-kunnr,
          kdmat LIKE knmt-kdmat,
          postx LIKE knmt-postx.
  DATA: END OF itab_of_kdmats.

  SELECT matnr bismt INTO TABLE itab_of_matnrs
                     FROM mara
                    WHERE mtart IN s_mtart.

  DELETE itab_of_matnrs WHERE NOT ( lvorm IN s_lvorm AND
                                    kzumw IN s_kzumw ).

  SELECT matnr kunnr
         kdmat postx INTO TABLE itab_of_kdmats
                     FROM knmt FOR ALL ENTRIES IN itab_of_matnrs
                    WHERE matnr EQ itab_of_matnrs-matnr.

  DELETE itab_of_kdmats WHERE postx EQ space.

  LOOP AT itab_of_matnrs.

    t_outtab-matnr = itab_of_matnrs-matnr.
    t_outtab-bismt = itab_of_matnrs-bismt.

    CLEAR : w_recnroot.
    SELECT recnroot INTO w_recnroot
                    FROM estmj UP TO 1 ROWS
                   WHERE matnr = t_outtab-matnr
                     AND delflg = space.
*---- Retrieve the Specification number(SUBID) for only
* Specification type (SUBCAT) 'REAL_SUB' or 'ZPURCH_SUB'.
      SELECT SINGLE subid INTO t_outtab-subid
                          FROM estrh
                         WHERE recnroot = w_recnroot
                           AND subcat IN s_subcat
                           AND delflg = space.
      EXIT.
    ENDSELECT .

    CLEAR: w_value.
    LOOP AT itab_of_kdmats WHERE matnr = itab_of_matnrs-matnr.
      t_outtab-kunnr = itab_of_kdmats-kunnr.
      t_outtab-kdmat = itab_of_kdmats-kdmat.
      t_outtab-postx = itab_of_kdmats-postx.
      t_outtab-delim = '/' .
      t_outtab-spras = 'E' .
      APPEND t_outtab .
      CLEAR: t_outtab-kunnr ,t_outtab-kdmat , t_outtab-postx .
    ENDLOOP.

    PERFORM get_long_text .

    IF t_outtab-postx EQ space.
      SELECT * FROM makt
              WHERE matnr EQ t_outtab-matnr.
        t_outtab-postx = makt-maktx.
        t_outtab-spras = makt-spras.
        t_outtab-delim = '/'.
        APPEND t_outtab.
      ENDSELECT.
    ENDIF.
    CLEAR t_outtab.
  ENDLOOP.

  IF syst-subrc NE 0.
    WRITE : text-l01.
  ENDIF .

ENDFORM. " GET_VALUES_TO_ITAB&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 21 Apr 2006 20:49:19 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/performance-issues/m-p/1228338#M138538</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-04-21T20:49:19Z</dc:date>
    </item>
  </channel>
</rss>

