<?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 issue in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/performance-issue/m-p/3846546#M924797</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 it as follows.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;1st select querry.....&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF so_matnr[] IS NOT INITIAL.&lt;/P&gt;&lt;P&gt;SELECT matnr&lt;/P&gt;&lt;P&gt;FROM mara&lt;/P&gt;&lt;P&gt;INTO gt_mara&lt;/P&gt;&lt;P&gt;WHERE matnr IN so_matnr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;since ur select option so_matnr will be having one or more values...........if u write select single it will selct only one record from the table at a time...........so what ever u want from one table u should get all those at a time.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;all ur select querries are like that that only...please change them as about &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;in perform get data also ur hitting the database table again.......so do one thing.......&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;in validation perform itself get whatever data u want......&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;i think this helpfull to u,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;kk.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 20 May 2008 09:59:14 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2008-05-20T09:59:14Z</dc:date>
    <item>
      <title>Performance issue</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/performance-issue/m-p/3846545#M924796</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi gurus,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Please check my below code, and give me any valuble suggestions to improve performance. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In runtime analysis , the graph shows , in system it is in red, So please suggest me the performance issues.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT  zan_warehouse_stock.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*- Tables Declarartion&lt;/P&gt;&lt;P&gt;TABLES: mara,t001l,t134,t023,t024.&lt;/P&gt;&lt;P&gt;*- Type Pool Declaration.&lt;/P&gt;&lt;P&gt;TYPE-POOLS: slis.&lt;/P&gt;&lt;P&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;              Structures&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="------------------------------------------------------------------" /&gt;&lt;P&gt;*- Structure for Mara&lt;/P&gt;&lt;P&gt;TYPES:BEGIN OF gty_mara,&lt;/P&gt;&lt;P&gt;        matnr TYPE mara-matnr,&lt;/P&gt;&lt;P&gt;        mtart TYPE mara-mtart,&lt;/P&gt;&lt;P&gt;        matkl TYPE mara-matkl,&lt;/P&gt;&lt;P&gt;        meins TYPE mara-meins,&lt;/P&gt;&lt;P&gt;      END OF gty_mara,&lt;/P&gt;&lt;P&gt;*- Structure for Marc&lt;/P&gt;&lt;P&gt;      BEGIN OF gty_marc,&lt;/P&gt;&lt;P&gt;        matnr TYPE marc-matnr,&lt;/P&gt;&lt;P&gt;        ekgrp TYPE marc-ekgrp,&lt;/P&gt;&lt;P&gt;      END OF gty_marc,&lt;/P&gt;&lt;P&gt;*- Structure for Mard&lt;/P&gt;&lt;P&gt;      BEGIN OF gty_mard,&lt;/P&gt;&lt;P&gt;        matnr TYPE mard-matnr,&lt;/P&gt;&lt;P&gt;        werks TYPE mard-werks,&lt;/P&gt;&lt;P&gt;        lgort TYPE mard-lgort,&lt;/P&gt;&lt;P&gt;        labst TYPE mard-labst,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       meins TYPE mard-meins,&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      END OF gty_mard,&lt;/P&gt;&lt;P&gt;*- Structure for Makt&lt;/P&gt;&lt;P&gt;      BEGIN OF gty_makt,&lt;/P&gt;&lt;P&gt;        matnr TYPE makt-matnr,&lt;/P&gt;&lt;P&gt;        maktx TYPE makt-maktx,&lt;/P&gt;&lt;P&gt;      END OF gty_makt,&lt;/P&gt;&lt;P&gt;*- Structure for Vbbs&lt;/P&gt;&lt;P&gt;      BEGIN OF gty_vbbs,&lt;/P&gt;&lt;P&gt;        matnr TYPE vbbs-matnr,&lt;/P&gt;&lt;P&gt;        werks TYPE vbbs-werks,&lt;/P&gt;&lt;P&gt;        lgort TYPE vbbs-lgort,&lt;/P&gt;&lt;P&gt;        omeng TYPE vbbs-omeng,&lt;/P&gt;&lt;P&gt;      END OF gty_vbbs,&lt;/P&gt;&lt;P&gt;*- Structure for Final internal Table&lt;/P&gt;&lt;P&gt;      BEGIN OF gty_final,&lt;/P&gt;&lt;P&gt;        werks TYPE mard-werks,&lt;/P&gt;&lt;P&gt;        matnr TYPE mara-matnr,&lt;/P&gt;&lt;P&gt;        maktx TYPE makt-maktx,&lt;/P&gt;&lt;P&gt;        meins TYPE mara-meins,&lt;/P&gt;&lt;P&gt;        balan TYPE mard-labst,&lt;/P&gt;&lt;P&gt;        labst TYPE mard-labst,&lt;/P&gt;&lt;P&gt;        omeng TYPE vbbs-omeng,&lt;/P&gt;&lt;P&gt;        lgort TYPE mard-lgort,&lt;/P&gt;&lt;P&gt;        ekgrp TYPE marc-ekgrp,&lt;/P&gt;&lt;P&gt;        matkl TYPE mara-matkl,&lt;/P&gt;&lt;P&gt;        mtart TYPE mara-mtart,&lt;/P&gt;&lt;P&gt;      END OF gty_final.&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="-------------------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;            Internal Table and Work Areas Declaration&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="--------------------------------------------------------------------------" /&gt;&lt;P&gt;DATA:&lt;/P&gt;&lt;P&gt;*- Internal Tables for Structures&lt;/P&gt;&lt;P&gt;     gt_mara TYPE STANDARD TABLE OF gty_mara,&lt;/P&gt;&lt;P&gt;     gt_marc TYPE STANDARD TABLE OF gty_marc,&lt;/P&gt;&lt;P&gt;     gt_mard TYPE STANDARD TABLE OF gty_mard,&lt;/P&gt;&lt;P&gt;     gt_makt TYPE STANDARD TABLE OF gty_makt,&lt;/P&gt;&lt;P&gt;     gt_vbbs TYPE STANDARD TABLE OF gty_vbbs," WITH UNIQUE KEY matnr werks lgort,&lt;/P&gt;&lt;P&gt;     gt_vbbs1 TYPE STANDARD TABLE OF gty_vbbs,&lt;/P&gt;&lt;P&gt;     gt_final TYPE STANDARD TABLE OF gty_final,&lt;/P&gt;&lt;P&gt;*- Internal table for Fieldcatalog&lt;/P&gt;&lt;P&gt;     gt_fieldcat TYPE slis_t_fieldcat_alv,&lt;/P&gt;&lt;P&gt;*- Internal table for Sort catalog&lt;/P&gt;&lt;P&gt;     gt_sortcat  TYPE slis_t_sortinfo_alv,&lt;/P&gt;&lt;P&gt;*- Work areas for Structures&lt;/P&gt;&lt;P&gt;     gs_mara TYPE gty_mara,&lt;/P&gt;&lt;P&gt;     gs_marc TYPE gty_marc,&lt;/P&gt;&lt;P&gt;     gs_mard TYPE gty_mard,&lt;/P&gt;&lt;P&gt;     gs_makt TYPE gty_makt,&lt;/P&gt;&lt;P&gt;     gs_vbbs TYPE gty_vbbs,&lt;/P&gt;&lt;P&gt;     gs_vbbs1 TYPE gty_vbbs,&lt;/P&gt;&lt;P&gt;     gs_final TYPE gty_final,&lt;/P&gt;&lt;P&gt;*- Work area for Fieldcatalog&lt;/P&gt;&lt;P&gt;     gs_fieldcat TYPE slis_fieldcat_alv,&lt;/P&gt;&lt;P&gt;*- Work area for Sortcatalog&lt;/P&gt;&lt;P&gt;     gs_sortcat  TYPE slis_sortinfo_alv,&lt;/P&gt;&lt;P&gt;*- Work area for Layout&lt;/P&gt;&lt;P&gt;     gs_layout   TYPE slis_layout_alv.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*data:gv_matnr like mara-matnr,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    gv_werks like t001l-werks,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    gv_lgort like t001l-lgort,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    gv_mtart like t134-mtart,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    gv_matkl like t023-matkl,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    gv_ekgrp like t024-ekgrp.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="------------------------------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           Selection Screen&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="------------------------------------------------------------------------------------" /&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.&lt;/P&gt;&lt;P&gt;SELECT-OPTIONS:so_matnr FOR mara-matnr," MEMORY ID mat MATCHCODE OBJECT mat1,&lt;/P&gt;&lt;P&gt;               so_werks FOR t001l-werks," MEMORY ID wrk,&lt;/P&gt;&lt;P&gt;               so_lgort FOR t001l-lgort." MEMORY ID lag.&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;SELECT-OPTIONS:so_mtart FOR t134-mtart,&lt;/P&gt;&lt;P&gt;               so_matkl FOR t023-matkl,&lt;/P&gt;&lt;P&gt;               so_ekgrp FOR t024-ekgrp.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK b2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;selection-screen begin of block b3 with frame title text-014.&lt;/P&gt;&lt;P&gt; parameters: neg_st as checkbox,&lt;/P&gt;&lt;P&gt;             bat_st as checkbox,&lt;/P&gt;&lt;P&gt;             zero_st as checkbox,&lt;/P&gt;&lt;P&gt;             dis_val as  checkbox.&lt;/P&gt;&lt;P&gt;selection-screen end of block b3.&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="--------------------------------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        Selection Screen Validations&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="--------------------------------------------------------------------------------------" /&gt;&lt;P&gt;AT SELECTION-SCREEN.&lt;/P&gt;&lt;P&gt;*- Form declaration for Screen Validation&lt;/P&gt;&lt;P&gt;  PERFORM screen_validations.&lt;/P&gt;&lt;P&gt;*- Form Declaration for Authorization.&lt;/P&gt;&lt;P&gt;  PERFORM authority_data.&lt;/P&gt;&lt;P&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;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="--------------------------------------------------------------------------------------" /&gt;&lt;P&gt;START-OF-SELECTION.&lt;/P&gt;&lt;P&gt;*- Form declaration for Selection Data&lt;/P&gt;&lt;P&gt;  PERFORM get_data.&lt;/P&gt;&lt;P&gt;*- Form definition for Arranging data into final Table&lt;/P&gt;&lt;P&gt;  PERFORM format_data.&lt;/P&gt;&lt;P&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;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="--------------------------------------------------------------------------------------" /&gt;&lt;P&gt;END-OF-SELECTION.&lt;/P&gt;&lt;P&gt;*- Form Declaration for Field Catalog&lt;/P&gt;&lt;P&gt;  PERFORM field_catalog.&lt;/P&gt;&lt;P&gt;*- Form Declaration for Sort Catalog&lt;/P&gt;&lt;P&gt;  PERFORM build_sortcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  gs_layout-zebra = 'X'.&lt;/P&gt;&lt;P&gt;  gs_layout-colwidth_optimize = 'X'.&lt;/P&gt;&lt;P&gt;*- Form Declaration for Displaying Alv Grid&lt;/P&gt;&lt;P&gt;  PERFORM display_alv.&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  SCREEN_VALIDATIONS&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;    Form Definition for Screen Validations.&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 screen_validations .&lt;/P&gt;&lt;P&gt;*- Local variable Declarations&lt;/P&gt;&lt;P&gt;  DATA:ls_mara TYPE mara,&lt;/P&gt;&lt;P&gt;       ls_plant TYPE marc,&lt;/P&gt;&lt;P&gt;       ls_sloc TYPE t001l,&lt;/P&gt;&lt;P&gt;       ls_mtart TYPE t134,&lt;/P&gt;&lt;P&gt;       ls_maktl TYPE t023,&lt;/P&gt;&lt;P&gt;       ls_ekgrp TYPE t024.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*- validation on Material Number&lt;/P&gt;&lt;P&gt;  IF so_matnr[] IS NOT INITIAL.&lt;/P&gt;&lt;P&gt;    SELECT SINGLE matnr&lt;/P&gt;&lt;P&gt;           FROM mara&lt;/P&gt;&lt;P&gt;           INTO ls_mara&lt;/P&gt;&lt;P&gt;           WHERE matnr IN so_matnr.&lt;/P&gt;&lt;P&gt;    IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;      SET CURSOR FIELD 'SO_MATNR_LOW'.&lt;/P&gt;&lt;P&gt;      MESSAGE e001(zwhsmsg)." WITH 'Material ' so_MATNR-low 'is incorrect, Please enter correct'.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;*- validation on Plant&lt;/P&gt;&lt;P&gt;  IF so_werks[] IS NOT INITIAL.&lt;/P&gt;&lt;P&gt;    SELECT SINGLE werks&lt;/P&gt;&lt;P&gt;           FROM marc&lt;/P&gt;&lt;P&gt;           INTO ls_plant&lt;/P&gt;&lt;P&gt;           WHERE werks IN so_werks.&lt;/P&gt;&lt;P&gt;    IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;      SET CURSOR FIELD 'SO_WERKS_LOW'.&lt;/P&gt;&lt;P&gt;      MESSAGE e002(zwhsmsg)." WITH 'Plant' so_werks-low ' is incorrect, Please enter Correct'.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;*- Validation on Sloc.&lt;/P&gt;&lt;P&gt;  IF so_lgort[] IS NOT INITIAL.&lt;/P&gt;&lt;P&gt;    SELECT SINGLE lgort&lt;/P&gt;&lt;P&gt;           FROM t001l&lt;/P&gt;&lt;P&gt;           INTO ls_sloc&lt;/P&gt;&lt;P&gt;           WHERE lgort IN so_lgort.&lt;/P&gt;&lt;P&gt;    IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;      SET CURSOR FIELD 'SO_LGORT-LOW'.&lt;/P&gt;&lt;P&gt;      MESSAGE e003(zwhsmsg)." WITH 'Sloc' so_lgort-low ' is incorrect, Please enter correct'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;*- Validation on Material Type.&lt;/P&gt;&lt;P&gt;  IF so_mtart[] IS NOT INITIAL.&lt;/P&gt;&lt;P&gt;    SELECT SINGLE mtart&lt;/P&gt;&lt;P&gt;           FROM t134&lt;/P&gt;&lt;P&gt;           INTO ls_mtart&lt;/P&gt;&lt;P&gt;           WHERE mtart IN so_mtart.&lt;/P&gt;&lt;P&gt;    IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;      SET CURSOR FIELD 'SO_MTART-LOW'.&lt;/P&gt;&lt;P&gt;      MESSAGE e004(zwhsmsg)." WITH 'Material type' so_mtart-low ' is incorrect, Please enter corret'.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;*- Validation on Material Group.&lt;/P&gt;&lt;P&gt;  IF so_matkl[] IS NOT INITIAL.&lt;/P&gt;&lt;P&gt;    SELECT SINGLE matkl&lt;/P&gt;&lt;P&gt;           FROM t023&lt;/P&gt;&lt;P&gt;           INTO ls_maktl&lt;/P&gt;&lt;P&gt;           WHERE matkl IN so_matkl.&lt;/P&gt;&lt;P&gt;    IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;      SET CURSOR FIELD 'SO_MATKL-LOW'.&lt;/P&gt;&lt;P&gt;      MESSAGE e005(zwhsmsg)." WITH 'Materail Group' so_matkl-low 'is incorrect, Please enter correct'.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;*- Validation on Purchasing Group.&lt;/P&gt;&lt;P&gt;  IF so_ekgrp[] IS NOT INITIAL.&lt;/P&gt;&lt;P&gt;    SELECT SINGLE ekgrp&lt;/P&gt;&lt;P&gt;            FROM t024&lt;/P&gt;&lt;P&gt;            INTO ls_ekgrp&lt;/P&gt;&lt;P&gt;            WHERE ekgrp IN so_ekgrp.&lt;/P&gt;&lt;P&gt;    IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;      SET CURSOR FIELD 'SO_EKGRP-LOW'.&lt;/P&gt;&lt;P&gt;      MESSAGE e006(zwhsmsg)." WITH 'Purchasing Group' so_ekgrp-low  'is incorrect, Please enter correct'.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " SCREEN_VALIDATIONS&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  GET_DATA&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     Form definition for Selecting Data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM get_data .&lt;/P&gt;&lt;P&gt;  IF gt_mara IS INITIAL.&lt;/P&gt;&lt;P&gt;    SELECT matnr&lt;/P&gt;&lt;P&gt;           matkl&lt;/P&gt;&lt;P&gt;           mtart&lt;/P&gt;&lt;P&gt;           meins&lt;/P&gt;&lt;P&gt;           FROM mara&lt;/P&gt;&lt;P&gt;           INTO TABLE gt_mara&lt;/P&gt;&lt;P&gt;           WHERE matnr IN so_matnr&lt;/P&gt;&lt;P&gt;            AND  mtart IN so_mtart&lt;/P&gt;&lt;P&gt;            AND  matkl IN so_matkl.&lt;/P&gt;&lt;P&gt;    IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;      MESSAGE s007(zwhsmsg)." WITH 'No data Found'.&lt;/P&gt;&lt;P&gt;      leave list-processing.&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;      SORT gt_mara BY matnr.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT gt_mara IS INITIAL.&lt;/P&gt;&lt;P&gt;    SELECT matnr&lt;/P&gt;&lt;P&gt;           ekgrp&lt;/P&gt;&lt;P&gt;           FROM marc&lt;/P&gt;&lt;P&gt;           INTO TABLE gt_marc&lt;/P&gt;&lt;P&gt;           FOR ALL ENTRIES IN gt_mara&lt;/P&gt;&lt;P&gt;           WHERE matnr = gt_mara-matnr&lt;/P&gt;&lt;P&gt;            AND  ekgrp IN so_ekgrp.&lt;/P&gt;&lt;P&gt;    IF sy-subrc EQ 0.&lt;/P&gt;&lt;P&gt;      SORT gt_marc BY matnr.&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     LEAVE SCREEN.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      MESSAGE s008(zwhsmsg). "with 'No stock Exist for specified data'.&lt;/P&gt;&lt;P&gt;      leave list-processing.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;if zero_st eq 'X' and neg_st eq 'X'.&lt;/P&gt;&lt;P&gt;  select matnr&lt;/P&gt;&lt;P&gt;         werks&lt;/P&gt;&lt;P&gt;         lgort&lt;/P&gt;&lt;P&gt;         labst&lt;/P&gt;&lt;P&gt;         from mard&lt;/P&gt;&lt;P&gt;         into table gt_mard&lt;/P&gt;&lt;P&gt;         for all entries in gt_mara&lt;/P&gt;&lt;P&gt;         where matnr = gt_mara-matnr&lt;/P&gt;&lt;P&gt;         and werks in so_werks&lt;/P&gt;&lt;P&gt;         and lgort in so_lgort&lt;/P&gt;&lt;P&gt;         and labst gt 0.&lt;/P&gt;&lt;P&gt;  if sy-subrc eq 0.&lt;/P&gt;&lt;P&gt;    sort gt_mard by matnr.&lt;/P&gt;&lt;P&gt;  else.&lt;/P&gt;&lt;P&gt;  message s008(zwhsmsg). "With no stock exist for specified data'.&lt;/P&gt;&lt;P&gt;  leave list-processing.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;elseif zero_st eq 'X'.&lt;/P&gt;&lt;P&gt;  select matnr&lt;/P&gt;&lt;P&gt;         werks&lt;/P&gt;&lt;P&gt;         lgort&lt;/P&gt;&lt;P&gt;         labst&lt;/P&gt;&lt;P&gt;         from mard&lt;/P&gt;&lt;P&gt;         into table gt_mard&lt;/P&gt;&lt;P&gt;         for all entries in GT_mara&lt;/P&gt;&lt;P&gt;         where matnr = gt_mara-matnr&lt;/P&gt;&lt;P&gt;          and  werks in so_werks&lt;/P&gt;&lt;P&gt;          and  lgort in so_lgort&lt;/P&gt;&lt;P&gt;          and  labst ne 0.&lt;/P&gt;&lt;P&gt;  if sy-subrc eq 0.&lt;/P&gt;&lt;P&gt;    sort gt_mard by matnr.&lt;/P&gt;&lt;P&gt;  else.&lt;/P&gt;&lt;P&gt;    message s008(zwhsmsg). "With no stock exist for specified data'.&lt;/P&gt;&lt;P&gt;    leave list-processing.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;elseif neg_st eq 'X'.&lt;/P&gt;&lt;P&gt;  select matnr&lt;/P&gt;&lt;P&gt;         werks&lt;/P&gt;&lt;P&gt;         lgort&lt;/P&gt;&lt;P&gt;         labst&lt;/P&gt;&lt;P&gt;         from mard&lt;/P&gt;&lt;P&gt;         into table gt_mard&lt;/P&gt;&lt;P&gt;         for all entries in gt_mara&lt;/P&gt;&lt;P&gt;         where matnr = gt_mara-matnr&lt;/P&gt;&lt;P&gt;         and werks in so_werks&lt;/P&gt;&lt;P&gt;         and lgort in so_lgort&lt;/P&gt;&lt;P&gt;         and labst lt 0.&lt;/P&gt;&lt;P&gt;  if sy-subrc eq 0.&lt;/P&gt;&lt;P&gt;   sort gt_mard by matnr.&lt;/P&gt;&lt;P&gt;   else.&lt;/P&gt;&lt;P&gt;   message s008(zwhsmsg). "With no stock exist for specified data'.&lt;/P&gt;&lt;P&gt;   leave list-processing.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;else.&lt;/P&gt;&lt;P&gt;    SELECT matnr&lt;/P&gt;&lt;P&gt;           werks&lt;/P&gt;&lt;P&gt;           lgort&lt;/P&gt;&lt;P&gt;           labst&lt;/P&gt;&lt;P&gt;           FROM mard&lt;/P&gt;&lt;P&gt;           INTO TABLE gt_mard&lt;/P&gt;&lt;P&gt;           FOR ALL ENTRIES IN gt_mara&lt;/P&gt;&lt;P&gt;           WHERE matnr = gt_mara-matnr&lt;/P&gt;&lt;P&gt;            AND  werks IN so_werks&lt;/P&gt;&lt;P&gt;            AND  lgort IN so_lgort.&lt;/P&gt;&lt;P&gt;    IF sy-subrc EQ 0.&lt;/P&gt;&lt;P&gt;      SORT gt_mard BY matnr.&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;      MESSAGE s008(zwhsmsg). "with 'No stock Exist for specified data'.&lt;/P&gt;&lt;P&gt;      leave list-processing.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;    SELECT matnr&lt;/P&gt;&lt;P&gt;           maktx&lt;/P&gt;&lt;P&gt;           FROM makt&lt;/P&gt;&lt;P&gt;           INTO TABLE gt_makt&lt;/P&gt;&lt;P&gt;           FOR ALL ENTRIES IN gt_mara&lt;/P&gt;&lt;P&gt;           WHERE matnr = gt_mara-matnr.&lt;/P&gt;&lt;P&gt;    IF sy-subrc EQ 0.&lt;/P&gt;&lt;P&gt;      SORT gt_makt BY matnr.&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;      MESSAGE s008(zwhsmsg). "with 'No stock Exist for specified data'.&lt;/P&gt;&lt;P&gt;      leave list-processing.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    SELECT matnr&lt;/P&gt;&lt;P&gt;           werks&lt;/P&gt;&lt;P&gt;           lgort&lt;/P&gt;&lt;P&gt;           omeng&lt;/P&gt;&lt;P&gt;           FROM vbbs&lt;/P&gt;&lt;P&gt;           INTO TABLE gt_vbbs&lt;/P&gt;&lt;P&gt;           WHERE matnr IN so_matnr&lt;/P&gt;&lt;P&gt;            AND  werks IN so_werks&lt;/P&gt;&lt;P&gt;            AND  lgort IN so_lgort.&lt;/P&gt;&lt;P&gt;    IF sy-subrc EQ 0.&lt;/P&gt;&lt;P&gt;      SORT gt_vbbs BY matnr.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " GET_DATA&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  FORMAT_DATA&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     Form Definition for Arranging data into final Table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM format_data .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT gt_vbbs INTO gs_vbbs.&lt;/P&gt;&lt;P&gt;    gs_vbbs1 = gs_vbbs.&lt;/P&gt;&lt;P&gt;    COLLECT gs_vbbs1 INTO gt_vbbs1.&lt;/P&gt;&lt;P&gt;    CLEAR gs_vbbs1.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT gt_mard INTO gs_mard.&lt;/P&gt;&lt;P&gt;    READ TABLE gt_mara INTO gs_mara WITH KEY matnr = gs_mard-matnr BINARY SEARCH.&lt;/P&gt;&lt;P&gt;    IF sy-subrc EQ 0.&lt;/P&gt;&lt;P&gt;      READ TABLE gt_marc INTO gs_marc WITH KEY matnr = gs_mard-matnr BINARY SEARCH.&lt;/P&gt;&lt;P&gt;      IF sy-subrc EQ 0.&lt;/P&gt;&lt;P&gt;        READ TABLE gt_makt INTO gs_makt WITH KEY matnr = gs_mard-matnr BINARY SEARCH.&lt;/P&gt;&lt;P&gt;        IF sy-subrc EQ 0.&lt;/P&gt;&lt;P&gt;          gs_final-werks = gs_mard-werks.&lt;/P&gt;&lt;P&gt;          gs_final-lgort = gs_mard-lgort.&lt;/P&gt;&lt;P&gt;          gs_final-labst = gs_mard-labst.&lt;/P&gt;&lt;P&gt;          gs_final-matnr = gs_mara-matnr.&lt;/P&gt;&lt;P&gt;          gs_final-meins = gs_mara-meins.&lt;/P&gt;&lt;P&gt;          gs_final-matkl = gs_mara-matkl.&lt;/P&gt;&lt;P&gt;          gs_final-mtart = gs_mara-mtart.&lt;/P&gt;&lt;P&gt;          gs_final-ekgrp = gs_marc-ekgrp.&lt;/P&gt;&lt;P&gt;          gs_final-maktx = gs_makt-maktx.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          LOOP AT gt_vbbs1 INTO gs_vbbs1 WHERE matnr = gs_mard-matnr&lt;/P&gt;&lt;P&gt;                                        AND  werks = gs_mard-werks&lt;/P&gt;&lt;P&gt;                                        AND  lgort = gs_mard-lgort.&lt;/P&gt;&lt;P&gt;            gs_final-omeng = gs_vbbs1-omeng.&lt;/P&gt;&lt;P&gt;          ENDLOOP.&lt;/P&gt;&lt;P&gt;          gs_final-balan = gs_mard-labst - gs_final-omeng.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          APPEND gs_final TO gt_final.&lt;/P&gt;&lt;P&gt;          CLEAR gs_final.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " FORMAT_DATA&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  FIELD_CATALOG&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;     Form Definition for Field Catalog&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM field_catalog .&lt;/P&gt;&lt;P&gt;  gs_fieldcat-fieldname  = 'WERKS'.&lt;/P&gt;&lt;P&gt;  gs_fieldcat-tabname    = 'GT_FINAL'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; gs_fieldcat-key        = '1'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  gs_fieldcat-seltext_l  = text-003.&lt;/P&gt;&lt;P&gt;  gs_fieldcat-col_pos    = 1.&lt;/P&gt;&lt;P&gt;  APPEND gs_fieldcat TO gt_fieldcat.&lt;/P&gt;&lt;P&gt;  CLEAR gs_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  gs_fieldcat-fieldname  = 'MATNR'.&lt;/P&gt;&lt;P&gt;  gs_fieldcat-tabname    = 'GT_FINAL'.&lt;/P&gt;&lt;P&gt;  gs_fieldcat-key        = '1'.&lt;/P&gt;&lt;P&gt;  gs_fieldcat-seltext_l  = text-004.&lt;/P&gt;&lt;P&gt;  gs_fieldcat-col_pos    = 2.&lt;/P&gt;&lt;P&gt;  APPEND gs_fieldcat TO gt_fieldcat.&lt;/P&gt;&lt;P&gt;  CLEAR gs_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  gs_fieldcat-fieldname  = 'MAKTX'.&lt;/P&gt;&lt;P&gt;  gs_fieldcat-tabname    = 'GT_FINAL'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; gs_fieldcat-key        = '2'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  gs_fieldcat-seltext_l  = text-005.&lt;/P&gt;&lt;P&gt;  gs_fieldcat-col_pos    = 3.&lt;/P&gt;&lt;P&gt;  APPEND gs_fieldcat TO gt_fieldcat.&lt;/P&gt;&lt;P&gt;  CLEAR gs_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  gs_fieldcat-fieldname  = 'MEINS'.&lt;/P&gt;&lt;P&gt;  gs_fieldcat-tabname    = 'GT_FINAL'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; gs_fieldcat-key        = '1'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  gs_fieldcat-seltext_l  = text-006.&lt;/P&gt;&lt;P&gt;  gs_fieldcat-col_pos    = 4.&lt;/P&gt;&lt;P&gt;  APPEND gs_fieldcat TO gt_fieldcat.&lt;/P&gt;&lt;P&gt;  CLEAR gs_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  gs_fieldcat-fieldname  = 'BALAN'.&lt;/P&gt;&lt;P&gt;  gs_fieldcat-tabname    = 'GT_FINAL'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; gs_fieldcat-key        = '1'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  gs_fieldcat-seltext_l  = text-007.&lt;/P&gt;&lt;P&gt;  gs_fieldcat-qfieldname = 'MEINS'.&lt;/P&gt;&lt;P&gt;  gs_fieldcat-col_pos    = 5.&lt;/P&gt;&lt;P&gt;  APPEND gs_fieldcat TO gt_fieldcat.&lt;/P&gt;&lt;P&gt;  CLEAR gs_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  gs_fieldcat-fieldname  = 'LABST'.&lt;/P&gt;&lt;P&gt;  gs_fieldcat-tabname    = 'GT_FINAL'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; gs_fieldcat-key        = '1'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  gs_fieldcat-seltext_l  = text-008.&lt;/P&gt;&lt;P&gt;  gs_fieldcat-qfieldname = 'MEINS'.&lt;/P&gt;&lt;P&gt;  gs_fieldcat-col_pos    = 6.&lt;/P&gt;&lt;P&gt;  APPEND gs_fieldcat TO gt_fieldcat.&lt;/P&gt;&lt;P&gt;  CLEAR gs_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  gs_fieldcat-fieldname  = 'OMENG'.&lt;/P&gt;&lt;P&gt;  gs_fieldcat-tabname    = 'GT_FINAL'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; gs_fieldcat-key        = '1'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  gs_fieldcat-seltext_l  = text-009.&lt;/P&gt;&lt;P&gt;  gs_fieldcat-qfieldname = 'MEINS'.&lt;/P&gt;&lt;P&gt;  gs_fieldcat-col_pos    = 7.&lt;/P&gt;&lt;P&gt;  APPEND gs_fieldcat TO gt_fieldcat.&lt;/P&gt;&lt;P&gt;  CLEAR gs_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  gs_fieldcat-fieldname  = 'LGORT'.&lt;/P&gt;&lt;P&gt;  gs_fieldcat-tabname    = 'GT_FINAL'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; gs_fieldcat-key        = '1'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  gs_fieldcat-seltext_l  = text-010.&lt;/P&gt;&lt;P&gt;  gs_fieldcat-col_pos    = 8.&lt;/P&gt;&lt;P&gt;  APPEND gs_fieldcat TO gt_fieldcat.&lt;/P&gt;&lt;P&gt;  CLEAR gs_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  gs_fieldcat-fieldname  = 'EKGRP'.&lt;/P&gt;&lt;P&gt;  gs_fieldcat-tabname    = 'GT_FINAL'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; gs_fieldcat-key        = '1'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  gs_fieldcat-seltext_l  = text-011.&lt;/P&gt;&lt;P&gt;  gs_fieldcat-col_pos    = 9.&lt;/P&gt;&lt;P&gt;  APPEND gs_fieldcat TO gt_fieldcat.&lt;/P&gt;&lt;P&gt;  CLEAR gs_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  gs_fieldcat-fieldname  = 'MATKL'.&lt;/P&gt;&lt;P&gt;  gs_fieldcat-tabname    = 'GT_FINAL'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; gs_fieldcat-key        = '1'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  gs_fieldcat-seltext_l  = text-012.&lt;/P&gt;&lt;P&gt;  gs_fieldcat-col_pos    = 10.&lt;/P&gt;&lt;P&gt;  APPEND gs_fieldcat TO gt_fieldcat.&lt;/P&gt;&lt;P&gt;  CLEAR gs_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  gs_fieldcat-fieldname  = 'MTART'.&lt;/P&gt;&lt;P&gt;  gs_fieldcat-tabname    = 'GT_FINAL'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; gs_fieldcat-key        = '1'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  gs_fieldcat-seltext_l  = text-013.&lt;/P&gt;&lt;P&gt;  gs_fieldcat-col_pos    = 11.&lt;/P&gt;&lt;P&gt;  APPEND gs_fieldcat TO gt_fieldcat.&lt;/P&gt;&lt;P&gt;  CLEAR gs_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " FIELD_CATALOG&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  BUILD_SORTCAT&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;      Form Definition for Sort Catalog&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM build_sortcat .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  gs_sortcat-spos = 1.&lt;/P&gt;&lt;P&gt;  gs_sortcat-fieldname = 'MATNR'.&lt;/P&gt;&lt;P&gt;  gs_sortcat-up = 'X'.&lt;/P&gt;&lt;P&gt;  APPEND gs_sortcat TO gt_sortcat.&lt;/P&gt;&lt;P&gt;  CLEAR gs_sortcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " BUILD_SORTCAT&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  DISPLAY_ALV&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;      Form Definition for Displaying ALV&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM display_alv .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT gt_final IS INITIAL.&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'&lt;/P&gt;&lt;P&gt;     EXPORTING&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      I_INTERFACE_CHECK                 = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      I_BYPASSING_BUFFER                = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      I_BUFFER_ACTIVE                   = ' '&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;       i_callback_program                = sy-repid&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      I_CALLBACK_PF_STATUS_SET          = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      I_CALLBACK_USER_COMMAND           = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      I_CALLBACK_TOP_OF_PAGE            = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      I_CALLBACK_HTML_TOP_OF_PAGE       = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      I_CALLBACK_HTML_END_OF_LIST       = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      I_STRUCTURE_NAME                  =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      I_BACKGROUND_ID                   = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      I_GRID_TITLE                      =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      I_GRID_SETTINGS                   =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;       is_layout                         = gs_layout&lt;/P&gt;&lt;P&gt;       it_fieldcat                       = gt_fieldcat&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      IT_EXCLUDING                      =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      IT_SPECIAL_GROUPS                 =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;       it_sort                           = gt_sortcat&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      IT_FILTER                         =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      IS_SEL_HIDE                       =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      I_DEFAULT                         = 'X'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      I_SAVE                            = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      IS_VARIANT                        =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      IT_EVENTS                         =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      IT_EVENT_EXIT                     =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      IS_PRINT                          =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      IS_REPREP_ID                      =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      I_SCREEN_START_COLUMN             = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      I_SCREEN_START_LINE               = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      I_SCREEN_END_COLUMN               = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      I_SCREEN_END_LINE                 = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      I_HTML_HEIGHT_TOP                 = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      I_HTML_HEIGHT_END                 = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      IT_ALV_GRAPHICS                   =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      IT_HYPERLINK                      =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      IT_ADD_FIELDCAT                   =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      IT_EXCEPT_QINFO                   =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      IR_SALV_FULLSCREEN_ADAPTER        =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    IMPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      E_EXIT_CAUSED_BY_CALLER           =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      ES_EXIT_CAUSED_BY_USER            =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      TABLES&lt;/P&gt;&lt;P&gt;        t_outtab                          = gt_final.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      program_error                     = 1&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      OTHERS                            = 2              .&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    MESSAGE i000(zwhsmsg)." WITH 'No data Found'.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " DISPLAY_ALV&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  AUTHORITY_DATA&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      form definition for Authorizations&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 authority_data .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  AUTHORITY-CHECK OBJECT 'M_BEST_EKG'&lt;/P&gt;&lt;P&gt;                         ID 'ACTVT' FIELD '03'&lt;/P&gt;&lt;P&gt;                         ID 'EKGRP' FIELD so_ekgrp-low.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;    MESSAGE e009(zwhsmsg)." WITH 'You are not authorised'.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " AUTHORITY_DATA&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        Thanks in Advance..&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks and Regards&lt;/P&gt;&lt;P&gt;Siri...&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 20 May 2008 09:46:09 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/performance-issue/m-p/3846545#M924796</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-05-20T09:46:09Z</dc:date>
    </item>
    <item>
      <title>Re: Performance issue</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/performance-issue/m-p/3846546#M924797</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 it as follows.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;1st select querry.....&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF so_matnr[] IS NOT INITIAL.&lt;/P&gt;&lt;P&gt;SELECT matnr&lt;/P&gt;&lt;P&gt;FROM mara&lt;/P&gt;&lt;P&gt;INTO gt_mara&lt;/P&gt;&lt;P&gt;WHERE matnr IN so_matnr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;since ur select option so_matnr will be having one or more values...........if u write select single it will selct only one record from the table at a time...........so what ever u want from one table u should get all those at a time.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;all ur select querries are like that that only...please change them as about &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;in perform get data also ur hitting the database table again.......so do one thing.......&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;in validation perform itself get whatever data u want......&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;i think this helpfull to u,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;kk.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 20 May 2008 09:59:14 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/performance-issue/m-p/3846546#M924797</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-05-20T09:59:14Z</dc:date>
    </item>
    <item>
      <title>Re: Performance issue</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/performance-issue/m-p/3846547#M924798</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;Join Mara &amp;amp; marc and Makt into the first select statement  using Inner join.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Shruthi&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 20 May 2008 10:46:28 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/performance-issue/m-p/3846547#M924798</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-05-20T10:46:28Z</dc:date>
    </item>
  </channel>
</rss>

