<?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/1810498#M347540</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;These two select statements are inside a loop,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECT * FROM CDPOS INTO TABLE T_CDPOS WHERE OBJECTCLAS ='MATERIAL'&lt;/P&gt;&lt;P&gt;AND OBJECTID = T_ZWPBPH-PBPINO AND FNAME = 'SPART'.&lt;/P&gt;&lt;P&gt;IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;DESCRIBE TABLE T_CDPOS LINES V_COUNT.&lt;/P&gt;&lt;P&gt;READ TABLE T_CDPOS INDEX V_COUNT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECT SINGLE * FROM CDHDR INTO T_CDHDR WHERE OBJECTCLAS ='MATERIAL'&lt;/P&gt;&lt;P&gt;AND OBJECTID = T_CDPOS-OBJECTID AND CHANGENR = T_CDPOS-CHANGENR.&lt;/P&gt;&lt;P&gt;IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;MOVE-CORRESPONDING T_CDHDR TO T_ALV.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If they are outside the loop it will boost the performance.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;Kathirvel&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 07 Dec 2006 15:11:32 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2006-12-07T15:11:32Z</dc:date>
    <item>
      <title>performance issue</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/performance-issue/m-p/1810497#M347539</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;This is my code . is there any other ways to improve performance of this code?&lt;/P&gt;&lt;P&gt;REPORT  ZWRLOMDMM_PMG_PHWEB_PLD   NO STANDARD PAGE HEADING&lt;/P&gt;&lt;P&gt;        LINE-SIZE 120&lt;/P&gt;&lt;P&gt;        LINE-COUNT 65&lt;/P&gt;&lt;P&gt;        MESSAGE-ID 00.&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; TABLES                                                              *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TABLES: MARA .      "General Material Data&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;Global-variables.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: STIME LIKE BDCP-CRETIME.&lt;/P&gt;&lt;P&gt;DATA: ETIME LIKE BDCP-CRETIME.&lt;/P&gt;&lt;P&gt;&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; TYPE-POOLS                                                          *&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;TYPE-POOLS:SLIS .&lt;/P&gt;&lt;P&gt;DATA:FIELDCATALOG_BASIC TYPE SLIS_T_FIELDCAT_ALV WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;     GD_REPID LIKE SY-REPID.&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; INTERNAL TABLES                                                     *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Internal Tables to Get Data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Internal Table For MARA Table.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA:BEGIN OF T_MARA OCCURS 0 ,&lt;/P&gt;&lt;P&gt;        MATNR LIKE MARA-MATNR,&lt;/P&gt;&lt;P&gt;        MTART LIKE MARA-MTART,&lt;/P&gt;&lt;P&gt;        ERSDA LIKE MARA-ERSDA,&lt;/P&gt;&lt;P&gt;        ERNAM LIKE MARA-ERNAM,&lt;/P&gt;&lt;P&gt;        AENAM LIKE MARA-AENAM,&lt;/P&gt;&lt;P&gt;        SPART LIKE MARA-SPART,&lt;/P&gt;&lt;P&gt;        LAEDA LIKE MARA-LAEDA,&lt;/P&gt;&lt;P&gt;     END OF T_MARA.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Internal Table For ZWPBPH Table.&lt;/P&gt;&lt;P&gt;DATA:BEGIN OF T_ZWPBPH OCCURS 0 ,&lt;/P&gt;&lt;P&gt;       PBPINO LIKE ZWPBPH-PBPINO,&lt;/P&gt;&lt;P&gt;       PBPAPINO LIKE ZWPBPH-PBPAPINO,&lt;/P&gt;&lt;P&gt;     END OF T_ZWPBPH.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Internal Table For Basic List Field Catalog.&lt;/P&gt;&lt;P&gt;DATA:BEGIN OF T_ALV OCCURS 0 ,&lt;/P&gt;&lt;P&gt;       MATNR LIKE MARA-MATNR,&lt;/P&gt;&lt;P&gt;       MTART LIKE MARA-MTART,&lt;/P&gt;&lt;P&gt;       ERSDA LIKE MARA-ERSDA,&lt;/P&gt;&lt;P&gt;       ERNAM LIKE MARA-ERNAM,&lt;/P&gt;&lt;P&gt;       SPART LIKE MARA-SPART,&lt;/P&gt;&lt;P&gt;       SPART1(3),&lt;/P&gt;&lt;P&gt;       USERNAME LIKE CDHDR-USERNAME,&lt;/P&gt;&lt;P&gt;       UDATE LIKE CDHDR-UDATE,&lt;/P&gt;&lt;P&gt;       UTIME LIKE CDHDR-UTIME,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;     END OF T_ALV.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Internal Table For BDCP&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF T_BDCP OCCURS 0 ,&lt;/P&gt;&lt;P&gt;       CDOBJID LIKE MARA-MATNR,&lt;/P&gt;&lt;P&gt;       CRETIME LIKE BDCP-CRETIME,&lt;/P&gt;&lt;P&gt;       USRNAME LIKE BDCP-USRNAME,&lt;/P&gt;&lt;P&gt;       END OF T_BDCP .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Internal Table For Model&lt;/P&gt;&lt;P&gt;DATA:T_MODEL LIKE T_ZWPBPH OCCURS 0 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;*Internal Table For Product&lt;/P&gt;&lt;P&gt;DATA:T_PRODUCT LIKE T_ZWPBPH OCCURS 0 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;*Internal Table For Family&lt;/P&gt;&lt;P&gt;DATA:T_FAMILY LIKE T_ZWPBPH OCCURS 0 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;*Internal Table For Line&lt;/P&gt;&lt;P&gt;DATA:T_LINE LIKE T_ZWPBPH OCCURS 0 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;*Internal Table For Type&lt;/P&gt;&lt;P&gt;DATA:T_TYPE LIKE T_ZWPBPH OCCURS 0 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;*Internal Table For Cdpos.&lt;/P&gt;&lt;P&gt;DATA:T_CDPOS LIKE CDPOS OCCURS 0 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;*Internal Table For CDHDR.&lt;/P&gt;&lt;P&gt;DATA:T_CDHDR LIKE CDHDR .&lt;/P&gt;&lt;P&gt;RANGES : cretime FOR bdcp-cretime.&lt;/P&gt;&lt;P&gt;DATA:T_MARA_HASH LIKE HASHED TABLE OF T_MARA&lt;/P&gt;&lt;P&gt;WITH UNIQUE KEY MATNR  WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;DATA:T_MODEL_HASH LIKE HASHED TABLE OF T_MODEL&lt;/P&gt;&lt;P&gt;WITH UNIQUE KEY PBPINO  WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;DATA:T_PRODUCT_HASH LIKE HASHED TABLE OF T_PRODUCT&lt;/P&gt;&lt;P&gt;WITH UNIQUE KEY PBPINO  WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;DATA:T_FAMILY_HASH LIKE HASHED TABLE OF T_FAMILY&lt;/P&gt;&lt;P&gt;WITH UNIQUE KEY PBPINO  WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;DATA:T_LINE_HASH LIKE HASHED TABLE OF T_LINE&lt;/P&gt;&lt;P&gt;WITH UNIQUE KEY PBPINO  WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;DATA:T_TYPE_HASH LIKE HASHED TABLE OF T_TYPE&lt;/P&gt;&lt;P&gt;WITH UNIQUE KEY PBPINO  WITH HEADER LINE.&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;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; SELECTION SCREEN                                                    *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.&lt;/P&gt;&lt;P&gt;PARAMETERS: P_MATN RADIOBUTTON GROUP R1  USER-COMMAND run default 'X'.&lt;/P&gt;&lt;P&gt;SELECT-OPTIONS: P_MATNR FOR MARA-MATNR MODIF ID SC1 .&lt;/P&gt;&lt;P&gt;PARAMETERS: P_DAT RADIOBUTTON GROUP R1  .&lt;/P&gt;&lt;P&gt;SELECT-OPTIONS: P_DATE FOR SY-DATUM  MODIF ID SC2.&lt;/P&gt;&lt;P&gt;PARAMETERS: P_CDAT RADIOBUTTON GROUP R1  .&lt;/P&gt;&lt;P&gt;SELECT-OPTIONS: P_CDATE FOR SY-DATUM  MODIF ID SC3 .&lt;/P&gt;&lt;P&gt;PARAMETERS: P_DIV RADIOBUTTON GROUP R1  .&lt;/P&gt;&lt;P&gt;SELECT-OPTIONS: : P_DIVIS for mara-spart  MODIF ID SC4.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK b1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;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;&lt;/P&gt;&lt;P&gt;  REFRESH: T_MARA,&lt;/P&gt;&lt;P&gt;           T_ZWPBPH,&lt;/P&gt;&lt;P&gt;           T_ALV,&lt;/P&gt;&lt;P&gt;           T_MODEL,&lt;/P&gt;&lt;P&gt;           T_PRODUCT,&lt;/P&gt;&lt;P&gt;           T_FAMILY,&lt;/P&gt;&lt;P&gt;           T_LINE,&lt;/P&gt;&lt;P&gt;           T_TYPE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR:   T_MARA,&lt;/P&gt;&lt;P&gt;           T_ZWPBPH,&lt;/P&gt;&lt;P&gt;           T_ALV,&lt;/P&gt;&lt;P&gt;           T_MODEL,&lt;/P&gt;&lt;P&gt;           T_PRODUCT,&lt;/P&gt;&lt;P&gt;           T_FAMILY,&lt;/P&gt;&lt;P&gt;           T_LINE,&lt;/P&gt;&lt;P&gt;           T_TYPE.&lt;/P&gt;&lt;P&gt;  GD_REPID = SY-REPID.&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;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*AT SELECTION-SCREEN OUTPUT.&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;P&gt;AT SELECTION-SCREEN OUTPUT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT SCREEN.&lt;/P&gt;&lt;P&gt;    IF P_MATN = 'X'.&lt;/P&gt;&lt;P&gt;      FREE : P_DIVIS,P_DATE,P_CDATE.&lt;/P&gt;&lt;P&gt;      IF SCREEN-GROUP1 = 'SC2' or SCREEN-GROUP1 = 'SC3'&lt;/P&gt;&lt;P&gt;      or SCREEN-GROUP1 = 'SC4'.&lt;/P&gt;&lt;P&gt;        SCREEN-INPUT  = 0.&lt;/P&gt;&lt;P&gt;        MODIFY SCREEN.&lt;/P&gt;&lt;P&gt;        CONTINUE.&lt;/P&gt;&lt;P&gt;      ENDIF .&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;    IF P_DAT = 'X' .&lt;/P&gt;&lt;P&gt;      FREE : P_MATNR,P_DIVIS,P_CDATE.&lt;/P&gt;&lt;P&gt;      IF SCREEN-GROUP1 = 'SC1' or  SCREEN-GROUP1 = 'SC3'&lt;/P&gt;&lt;P&gt;      or SCREEN-GROUP1 = 'SC4'.&lt;/P&gt;&lt;P&gt;        SCREEN-INPUT  = 0.&lt;/P&gt;&lt;P&gt;        MODIFY SCREEN.&lt;/P&gt;&lt;P&gt;        CONTINUE.&lt;/P&gt;&lt;P&gt;      ENDIF .&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;    IF P_CDAT = 'X' .&lt;/P&gt;&lt;P&gt;      FREE : P_MATNR,P_DIVIS,P_DATE.&lt;/P&gt;&lt;P&gt;      IF SCREEN-GROUP1 = 'SC1' or  SCREEN-GROUP1 = 'SC2'&lt;/P&gt;&lt;P&gt;      or SCREEN-GROUP1 = 'SC4'.&lt;/P&gt;&lt;P&gt;        SCREEN-INPUT  = 0.&lt;/P&gt;&lt;P&gt;        MODIFY SCREEN.&lt;/P&gt;&lt;P&gt;        CONTINUE.&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 P_DIV = 'X'.&lt;/P&gt;&lt;P&gt;      FREE : P_DATE,P_MATNR,P_CDATE.&lt;/P&gt;&lt;P&gt;      IF SCREEN-GROUP1 = 'SC1' or SCREEN-GROUP1 = 'SC2'&lt;/P&gt;&lt;P&gt;      or SCREEN-GROUP1 = 'SC3'.&lt;/P&gt;&lt;P&gt;        SCREEN-INPUT = 0.&lt;/P&gt;&lt;P&gt;        MODIFY SCREEN.&lt;/P&gt;&lt;P&gt;        CONTINUE.&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;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_FIELDCATALOG_BASIC.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; PERFORM GET_FIELDCATALOG_SECONDARY.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM POPULATE_DATA.&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;&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_FIELDCATALOG_BASIC.&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;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get Fieldcatalog For Basic List&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM GET_FIELDCATALOG_BASIC.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  FIELDCATALOG_BASIC-FIELDNAME = 'MATNR'.&lt;/P&gt;&lt;P&gt;  FIELDCATALOG_BASIC-SELTEXT_M = 'Material Number'.&lt;/P&gt;&lt;P&gt;  FIELDCATALOG_BASIC-COL_POS   = 0.&lt;/P&gt;&lt;P&gt;  FIELDCATALOG_BASIC-OUTPUTLEN = 20.&lt;/P&gt;&lt;P&gt;  FIELDCATALOG_BASIC-EMPHASIZE = 'X'.&lt;/P&gt;&lt;P&gt;  FIELDCATALOG_BASIC-KEY       = 'X'.&lt;/P&gt;&lt;P&gt;  APPEND FIELDCATALOG_BASIC TO FIELDCATALOG_BASIC.&lt;/P&gt;&lt;P&gt;  CLEAR FIELDCATALOG_BASIC.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  FIELDCATALOG_BASIC-FIELDNAME = 'MTART'.&lt;/P&gt;&lt;P&gt;  FIELDCATALOG_BASIC-SELTEXT_M = 'Material Type'.&lt;/P&gt;&lt;P&gt;  FIELDCATALOG_BASIC-COL_POS   = 0.&lt;/P&gt;&lt;P&gt;  FIELDCATALOG_BASIC-OUTPUTLEN = 15.&lt;/P&gt;&lt;P&gt;  FIELDCATALOG_BASIC-EMPHASIZE = 'X'.&lt;/P&gt;&lt;P&gt;  FIELDCATALOG_BASIC-KEY       = 'X'.&lt;/P&gt;&lt;P&gt;  APPEND FIELDCATALOG_BASIC TO FIELDCATALOG_BASIC.&lt;/P&gt;&lt;P&gt;  CLEAR FIELDCATALOG_BASIC.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  FIELDCATALOG_BASIC-FIELDNAME = 'ERSDA'.&lt;/P&gt;&lt;P&gt;  FIELDCATALOG_BASIC-SELTEXT_M = 'Created Date'.&lt;/P&gt;&lt;P&gt;  FIELDCATALOG_BASIC-COL_POS   = 0.&lt;/P&gt;&lt;P&gt;  FIELDCATALOG_BASIC-OUTPUTLEN = 12.&lt;/P&gt;&lt;P&gt;  FIELDCATALOG_BASIC-EMPHASIZE = 'X'.&lt;/P&gt;&lt;P&gt;  FIELDCATALOG_BASIC-KEY       = 'X'.&lt;/P&gt;&lt;P&gt;  APPEND FIELDCATALOG_BASIC TO FIELDCATALOG_BASIC.&lt;/P&gt;&lt;P&gt;  CLEAR FIELDCATALOG_BASIC.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  FIELDCATALOG_BASIC-FIELDNAME = 'ERNAM'.&lt;/P&gt;&lt;P&gt;  FIELDCATALOG_BASIC-SELTEXT_M = 'Created By'.&lt;/P&gt;&lt;P&gt;  FIELDCATALOG_BASIC-COL_POS   = 0.&lt;/P&gt;&lt;P&gt;  FIELDCATALOG_BASIC-OUTPUTLEN = 15.&lt;/P&gt;&lt;P&gt;  FIELDCATALOG_BASIC-EMPHASIZE = 'X'.&lt;/P&gt;&lt;P&gt;  FIELDCATALOG_BASIC-KEY       = 'X'.&lt;/P&gt;&lt;P&gt;  APPEND FIELDCATALOG_BASIC TO FIELDCATALOG_BASIC.&lt;/P&gt;&lt;P&gt;  CLEAR FIELDCATALOG_BASIC.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  FIELDCATALOG_BASIC-FIELDNAME = 'SPART'.&lt;/P&gt;&lt;P&gt;  FIELDCATALOG_BASIC-SELTEXT_M = 'Division PMG'.&lt;/P&gt;&lt;P&gt;  FIELDCATALOG_BASIC-COL_POS   = 0.&lt;/P&gt;&lt;P&gt;  FIELDCATALOG_BASIC-OUTPUTLEN = 8.&lt;/P&gt;&lt;P&gt;  FIELDCATALOG_BASIC-EMPHASIZE = 'X'.&lt;/P&gt;&lt;P&gt;  FIELDCATALOG_BASIC-KEY       = 'X'.&lt;/P&gt;&lt;P&gt;  APPEND FIELDCATALOG_BASIC TO FIELDCATALOG_BASIC.&lt;/P&gt;&lt;P&gt;  CLEAR FIELDCATALOG_BASIC.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  FIELDCATALOG_BASIC-FIELDNAME = 'SPART1'.&lt;/P&gt;&lt;P&gt;  FIELDCATALOG_BASIC-SELTEXT_M = 'Division PhWEB'.&lt;/P&gt;&lt;P&gt;  FIELDCATALOG_BASIC-COL_POS   = 0.&lt;/P&gt;&lt;P&gt;  FIELDCATALOG_BASIC-OUTPUTLEN = 8.&lt;/P&gt;&lt;P&gt;  FIELDCATALOG_BASIC-EMPHASIZE = 'X'.&lt;/P&gt;&lt;P&gt;  FIELDCATALOG_BASIC-KEY       = 'X'.&lt;/P&gt;&lt;P&gt;  APPEND FIELDCATALOG_BASIC TO FIELDCATALOG_BASIC.&lt;/P&gt;&lt;P&gt;  CLEAR FIELDCATALOG_BASIC.&lt;/P&gt;&lt;P&gt;  FIELDCATALOG_BASIC-FIELDNAME = 'USERNAME'.&lt;/P&gt;&lt;P&gt;  FIELDCATALOG_BASIC-SELTEXT_M = 'Changed By'.&lt;/P&gt;&lt;P&gt;  FIELDCATALOG_BASIC-COL_POS   = 0.&lt;/P&gt;&lt;P&gt;  FIELDCATALOG_BASIC-OUTPUTLEN = 14.&lt;/P&gt;&lt;P&gt;  FIELDCATALOG_BASIC-EMPHASIZE = 'X'.&lt;/P&gt;&lt;P&gt;  FIELDCATALOG_BASIC-KEY       = 'X'.&lt;/P&gt;&lt;P&gt;  APPEND FIELDCATALOG_BASIC TO FIELDCATALOG_BASIC.&lt;/P&gt;&lt;P&gt;  CLEAR FIELDCATALOG_BASIC.&lt;/P&gt;&lt;P&gt;  FIELDCATALOG_BASIC-FIELDNAME = 'UDATE'.&lt;/P&gt;&lt;P&gt;  FIELDCATALOG_BASIC-SELTEXT_M = 'Changed ON'.&lt;/P&gt;&lt;P&gt;  FIELDCATALOG_BASIC-COL_POS   = 0.&lt;/P&gt;&lt;P&gt;  FIELDCATALOG_BASIC-OUTPUTLEN = 14.&lt;/P&gt;&lt;P&gt;  FIELDCATALOG_BASIC-EMPHASIZE = 'X'.&lt;/P&gt;&lt;P&gt;  FIELDCATALOG_BASIC-KEY       = 'X'.&lt;/P&gt;&lt;P&gt;  APPEND FIELDCATALOG_BASIC TO FIELDCATALOG_BASIC.&lt;/P&gt;&lt;P&gt;  CLEAR FIELDCATALOG_BASIC.&lt;/P&gt;&lt;P&gt;  FIELDCATALOG_BASIC-FIELDNAME = 'UTIME'.&lt;/P&gt;&lt;P&gt;  FIELDCATALOG_BASIC-SELTEXT_M = 'Changed Time'.&lt;/P&gt;&lt;P&gt;  FIELDCATALOG_BASIC-COL_POS   = 0.&lt;/P&gt;&lt;P&gt;  FIELDCATALOG_BASIC-OUTPUTLEN = 14.&lt;/P&gt;&lt;P&gt;  FIELDCATALOG_BASIC-EMPHASIZE = 'X'.&lt;/P&gt;&lt;P&gt;  FIELDCATALOG_BASIC-KEY       = 'X'.&lt;/P&gt;&lt;P&gt;  FIELDCATALOG_BASIC-no_zero   = 'X' .&lt;/P&gt;&lt;P&gt;  APPEND FIELDCATALOG_BASIC TO FIELDCATALOG_BASIC.&lt;/P&gt;&lt;P&gt;  CLEAR FIELDCATALOG_BASIC.&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;&lt;/P&gt;&lt;P&gt;ENDFORM.                    "GET_FIELDCATALOG_BASIC&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      FORM POPULATE_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;FORM POPULATE_DATA.&lt;/P&gt;&lt;P&gt;*Get Data From MARA And ZWPBPH Tables&lt;/P&gt;&lt;P&gt;  DATA:V_COUNT(10) TYPE C.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF P_MATN = 'X'.&lt;/P&gt;&lt;P&gt;  SELECT MATNR MTART ERSDA ERNAM AENAM SPART LAEDA FROM MARA INTO TABLE&lt;/P&gt;&lt;P&gt;  T_MARA where MATNR IN P_MATNR .&lt;/P&gt;&lt;P&gt;    T_MARA_HASH[] = T_MARA[].&lt;/P&gt;&lt;P&gt;    IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;      MESSAGE 'Invalid Material Number' TYPE 'E'.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ELSEIF P_DAT = 'X' AND P_DATE IS  INITIAL .&lt;/P&gt;&lt;P&gt;    P_DATE-LOW = '00010101'.&lt;/P&gt;&lt;P&gt;    P_DATE-HIGH = SY-DATUM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CONCATENATE P_DATE-LOW  '000000' INTO STIME.&lt;/P&gt;&lt;P&gt;    CONCATENATE P_DATE-HIGH sy-uzeit INTO  ETIME.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    cretime-sign = 'I'.&lt;/P&gt;&lt;P&gt;    cretime-option = 'BT'.&lt;/P&gt;&lt;P&gt;    cretime-low = stime.&lt;/P&gt;&lt;P&gt;    cretime-high = etime.&lt;/P&gt;&lt;P&gt;    APPEND cretime.&lt;/P&gt;&lt;P&gt;    CLEAR cretime.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECT CDOBJID FROM BDCP INTO TABLE T_BDCP WHERE CDOBJCL = 'MATERIAL'&lt;/P&gt;&lt;P&gt;    AND CRETIME IN CRETIME AND TABNAME ='MARA' AND FLDNAME ='SPART'.&lt;/P&gt;&lt;P&gt;    IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;  SELECT MATNR MTART ERSDA ERNAM AENAM SPART LAEDA FROM MARA INTO TABLE&lt;/P&gt;&lt;P&gt;  T_MARA FOR ALL ENTRIES IN T_BDCP  where MATNR = T_BDCP-CDOBJID .&lt;/P&gt;&lt;P&gt;      T_MARA_HASH[] = T_MARA[].&lt;/P&gt;&lt;P&gt;      IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;        MESSAGE 'Invalid Date Range' TYPE 'E'.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;      MESSAGE 'Invalid Date Range' TYPE 'E'.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ELSEIF P_DAT = 'X' AND P_DATE IS NOT INITIAL .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CONCATENATE P_DATE-LOW  '000000' INTO STIME.&lt;/P&gt;&lt;P&gt;    CONCATENATE P_DATE-HIGH sy-uzeit INTO  ETIME.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    cretime-sign = 'I'.&lt;/P&gt;&lt;P&gt;    cretime-option = 'BT'.&lt;/P&gt;&lt;P&gt;    cretime-low = stime.&lt;/P&gt;&lt;P&gt;    cretime-high = etime.&lt;/P&gt;&lt;P&gt;    APPEND cretime.&lt;/P&gt;&lt;P&gt;    CLEAR cretime.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECT CDOBJID FROM BDCP INTO TABLE T_BDCP WHERE CDOBJCL = 'MATERIAL'&lt;/P&gt;&lt;P&gt;  AND CRETIME IN CRETIME AND TABNAME ='MARA' AND FLDNAME ='SPART'.&lt;/P&gt;&lt;P&gt;    IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;  SELECT MATNR MTART ERSDA ERNAM AENAM SPART LAEDA FROM MARA INTO TABLE&lt;/P&gt;&lt;P&gt;  T_MARA FOR ALL ENTRIES IN T_BDCP  where MATNR = T_BDCP-CDOBJID .&lt;/P&gt;&lt;P&gt;      T_MARA_HASH[] = T_MARA[].&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;        MESSAGE 'Invalid Date Range' TYPE 'E'.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ELSEIF P_CDAT = 'X'.&lt;/P&gt;&lt;P&gt;  SELECT MATNR MTART ERSDA ERNAM AENAM SPART LAEDA FROM MARA INTO TABLE&lt;/P&gt;&lt;P&gt; T_MARA where  ERSDA IN P_CDATE .&lt;/P&gt;&lt;P&gt;    T_MARA_HASH[] = T_MARA[].&lt;/P&gt;&lt;P&gt;  ELSEIF P_DIV = 'X'.&lt;/P&gt;&lt;P&gt;  SELECT MATNR MTART ERSDA ERNAM AENAM SPART LAEDA FROM MARA INTO TABLE&lt;/P&gt;&lt;P&gt;  T_MARA where SPART IN P_DIVIS .&lt;/P&gt;&lt;P&gt;    T_MARA_HASH[] = T_MARA[].&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;      MESSAGE 'Invalid Division' TYPE 'E'.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  IF T_MARA[] IS NOT INITIAL .&lt;/P&gt;&lt;P&gt;    SELECT PBPINO PBPAPINO FROM ZWPBPH INTO TABLE T_ZWPBPH FOR ALL&lt;/P&gt;&lt;P&gt;    ENTRIES IN T_MARA WHERE PBPINO = T_MARA-MATNR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF T_ZWPBPH[] IS NOT INITIAL .&lt;/P&gt;&lt;P&gt;      SELECT  PBPINO PBPAPINO FROM ZWPBPH INTO TABLE T_MODEL FOR ALL&lt;/P&gt;&lt;P&gt;      ENTRIES IN T_ZWPBPH  WHERE PBPINO = T_ZWPBPH-PBPAPINO.&lt;/P&gt;&lt;P&gt;      T_MODEL_HASH[] = T_MODEL[].&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF T_MODEL[] IS NOT INITIAL.&lt;/P&gt;&lt;P&gt;      SELECT  PBPINO PBPAPINO FROM ZWPBPH  INTO TABLE T_PRODUCT FOR ALL&lt;/P&gt;&lt;P&gt;      ENTRIES IN T_MODEL WHERE PBPINO = T_MODEL-PBPAPINO.&lt;/P&gt;&lt;P&gt;        T_PRODUCT_HASH[] = T_PRODUCT[].&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        IF T_PRODUCT[] IS NOT INITIAL.&lt;/P&gt;&lt;P&gt;       SELECT  PBPINO PBPAPINO FROM ZWPBPH  INTO TABLE T_FAMILY FOR ALL&lt;/P&gt;&lt;P&gt;       ENTRIES IN T_PRODUCT WHERE PBPINO = T_PRODUCT-PBPAPINO.&lt;/P&gt;&lt;P&gt;          T_FAMILY_HASH[] = T_FAMILY[].&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          IF T_FAMILY[] IS NOT INITIAL.&lt;/P&gt;&lt;P&gt;        SELECT  PBPINO PBPAPINO FROM ZWPBPH  INTO TABLE T_LINE  FOR ALL&lt;/P&gt;&lt;P&gt;        ENTRIES IN T_FAMILY  WHERE PBPINO = T_FAMILY-PBPAPINO.&lt;/P&gt;&lt;P&gt;            T_LINE_HASH[] = T_LINE[].&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            IF T_LINE[] IS NOT INITIAL.&lt;/P&gt;&lt;P&gt;          SELECT  PBPINO PBPAPINO FROM ZWPBPH INTO TABLE T_TYPE FOR ALL&lt;/P&gt;&lt;P&gt;          ENTRIES IN T_LINE WHERE PBPINO = T_LINE-PBPAPINO.&lt;/P&gt;&lt;P&gt;              T_TYPE_HASH[] = T_TYPE[].&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;        ENDIF.&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;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;    LOOP AT  T_ZWPBPH.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      READ TABLE T_MODEL_HASH WITH KEY PBPINO = T_ZWPBPH-PBPAPINO.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      READ TABLE T_PRODUCT_HASH WITH KEY PBPINO = T_MODEL_HASH-PBPAPINO.&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;P&gt;        CONTINUE.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;     READ TABLE T_FAMILY_HASH WITH KEY PBPINO = T_PRODUCT_HASH-PBPAPINO.&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;P&gt;        CONTINUE.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;      IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;        READ TABLE T_LINE_HASH WITH KEY PBPINO = T_FAMILY_HASH-PBPAPINO.&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;P&gt;        CONTINUE.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;      IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;        READ TABLE T_TYPE_HASH WITH KEY PBPINO = T_LINE_HASH-PBPAPINO.&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;P&gt;        CONTINUE.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;        READ TABLE T_MARA_HASH WITH KEY  MATNR =  T_ZWPBPH-PBPINO.&lt;/P&gt;&lt;P&gt;        IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;          IF T_MARA_HASH-SPART &amp;lt;&amp;gt; T_TYPE_HASH-PBPAPINO+1(2).&lt;/P&gt;&lt;P&gt;            MOVE-CORRESPONDING T_MARA_HASH TO T_ALV.&lt;/P&gt;&lt;P&gt;            T_ALV-MATNR = T_ZWPBPH-PBPINO.&lt;/P&gt;&lt;P&gt;            T_ALV-SPART1 = T_TYPE_HASH-PBPAPINO+1(2).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    SELECT * FROM CDPOS INTO TABLE T_CDPOS WHERE OBJECTCLAS ='MATERIAL'&lt;/P&gt;&lt;P&gt;       AND OBJECTID = T_ZWPBPH-PBPINO AND FNAME = 'SPART'.&lt;/P&gt;&lt;P&gt;            IF SY-SUBRC  = 0.&lt;/P&gt;&lt;P&gt;              DESCRIBE TABLE T_CDPOS LINES V_COUNT.&lt;/P&gt;&lt;P&gt;              READ TABLE T_CDPOS INDEX  V_COUNT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECT  SINGLE * FROM CDHDR INTO T_CDHDR WHERE OBJECTCLAS ='MATERIAL'&lt;/P&gt;&lt;P&gt;  AND OBJECTID = T_CDPOS-OBJECTID AND CHANGENR = T_CDPOS-CHANGENR.&lt;/P&gt;&lt;P&gt;              IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;                MOVE-CORRESPONDING T_CDHDR TO T_ALV.&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;        ENDIF.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;      IF T_ALV-MATNR &amp;lt;&amp;gt; SPACE.&lt;/P&gt;&lt;P&gt;        APPEND T_ALV.&lt;/P&gt;&lt;P&gt;        CLEAR T_ALV.&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;     ENDIF.&lt;/P&gt;&lt;P&gt;  SORT T_ALV BY MATNR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  call function 'REUSE_ALV_GRID_DISPLAY'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      i_callback_program = GD_REPID&lt;/P&gt;&lt;P&gt;      it_fieldcat        = FIELDCATALOG_BASIC[]&lt;/P&gt;&lt;P&gt;      i_save             = 'X'&lt;/P&gt;&lt;P&gt;    TABLES&lt;/P&gt;&lt;P&gt;      t_outtab           = T_ALV&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      program_error      = 1&lt;/P&gt;&lt;P&gt;      others             = 2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    "POPULATE_DATA&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 07 Dec 2006 15:07:50 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/performance-issue/m-p/1810497#M347539</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-12-07T15:07:50Z</dc:date>
    </item>
    <item>
      <title>Re: performance issue</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/performance-issue/m-p/1810498#M347540</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;These two select statements are inside a loop,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECT * FROM CDPOS INTO TABLE T_CDPOS WHERE OBJECTCLAS ='MATERIAL'&lt;/P&gt;&lt;P&gt;AND OBJECTID = T_ZWPBPH-PBPINO AND FNAME = 'SPART'.&lt;/P&gt;&lt;P&gt;IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;DESCRIBE TABLE T_CDPOS LINES V_COUNT.&lt;/P&gt;&lt;P&gt;READ TABLE T_CDPOS INDEX V_COUNT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECT SINGLE * FROM CDHDR INTO T_CDHDR WHERE OBJECTCLAS ='MATERIAL'&lt;/P&gt;&lt;P&gt;AND OBJECTID = T_CDPOS-OBJECTID AND CHANGENR = T_CDPOS-CHANGENR.&lt;/P&gt;&lt;P&gt;IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;MOVE-CORRESPONDING T_CDHDR TO T_ALV.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If they are outside the loop it will boost the performance.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;Kathirvel&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 07 Dec 2006 15:11:32 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/performance-issue/m-p/1810498#M347540</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-12-07T15:11:32Z</dc:date>
    </item>
    <item>
      <title>Re: performance issue</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/performance-issue/m-p/1810499#M347541</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;  1. Before for all entries statement of all the select statements check whether the table has any value or not i.,e if not t_ekbe[] is initial.&lt;/P&gt;&lt;P&gt;  &lt;/P&gt;&lt;P&gt;  2. Avoid using select statements within a loop .&lt;/P&gt;&lt;P&gt;  &lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Santosh&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 07 Dec 2006 15:12:10 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/performance-issue/m-p/1810499#M347541</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-12-07T15:12:10Z</dc:date>
    </item>
    <item>
      <title>Re: performance issue</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/performance-issue/m-p/1810500#M347542</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Try this:&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;
SORT: t_model_hash   BY pbpino,
      t_product_hash BY pbpino,
      t_family_hash  BY pbpino,
      t_line_hash    BY pbpino,
      t_type_hash    BY pbpino.

READ TABLE t_model_hash WITH KEY pbpino = t_zwpbph-pbpapino
    BINARY SEARCH.

IF sy-subrc = 0.
  READ TABLE t_product_hash WITH KEY pbpino = t_model_hash-pbpapino
    BINARY SEARCH.
ELSE.
  CONTINUE.
ENDIF.

IF sy-subrc = 0.
  READ TABLE t_family_hash WITH KEY pbpino = t_product_hash-pbpapino
    BINARY SEARCH.
ELSE.
  CONTINUE.
ENDIF.

IF sy-subrc = 0.
  READ TABLE t_line_hash WITH KEY pbpino = t_family_hash-pbpapino
    BINARY SEARCH.
ELSE.
  CONTINUE.
ENDIF.

IF sy-subrc = 0.
  READ TABLE t_type_hash WITH KEY pbpino = t_line_hash-pbpapino
    BINARY SEARCH.
ELSE.
  CONTINUE.
ENDIF.
&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Rob&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 07 Dec 2006 15:42:16 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/performance-issue/m-p/1810500#M347542</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-12-07T15:42:16Z</dc:date>
    </item>
    <item>
      <title>Re: performance issue</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/performance-issue/m-p/1810501#M347543</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;The Table BDCP select is causing the performance issue , as you are not passing the primary key field.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;insted you can use the Functional modules for reading the change pointers.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Try FM : CHANGE_POINTERS_READ.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Hope this will be helpful !!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks,&lt;/P&gt;&lt;P&gt;Sudheer&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 07 Dec 2006 16:00:09 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/performance-issue/m-p/1810501#M347543</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-12-07T16:00: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/1810502#M347544</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;There is a secondary index for BDCP on CRETIME and CDOBJCL so, so long as your range on CRETIME is not empty and mot too large, you should be OK there.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Rob&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 07 Dec 2006 16:12:05 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/performance-issue/m-p/1810502#M347544</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-12-07T16:12:05Z</dc:date>
    </item>
  </channel>
</rss>

