<?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: error : Program &amp;quot; &amp;quot; not found. while creating Dynamic Table. in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/error-program-quot-quot-not-found-while-creating-dynamic-table/m-p/2429212#M542936</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;that i used while pasting here, so as to differentiate between my words and the actual code.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;thanx&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 05 Jul 2007 11:32:08 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2007-07-05T11:32:08Z</dc:date>
    <item>
      <title>error : Program " " not found. while creating Dynamic Table.</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/error-program-quot-quot-not-found-while-creating-dynamic-table/m-p/2429207#M542931</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hi, &lt;/P&gt;&lt;P&gt;    i am creating a dynamic table for displaying in alv.&lt;/P&gt;&lt;P&gt;its giving me the following error.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;kindly help.&lt;/P&gt;&lt;P&gt;regards,&lt;/P&gt;&lt;P&gt;naresh&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*************************************************************************************************REPORT zasd_credit_memo_list1 NO STANDARD PAGE HEADING&lt;/P&gt;&lt;P&gt;       LINE-SIZE  225&lt;/P&gt;&lt;P&gt;       LINE-COUNT 65.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;INCLUDE zasd_invoice_data.&lt;/P&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   v_kunrg FOR vbrk-kunrg.&lt;/P&gt;&lt;P&gt;SELECT-OPTIONS   v_kunag FOR vbrk-kunag.&lt;/P&gt;&lt;P&gt;SELECT-OPTIONS   v_fkart FOR vbrk-fkart NO INTERVALS.&lt;/P&gt;&lt;P&gt;SELECT-OPTIONS   v_vkorg FOR vbrk-vkorg.&lt;/P&gt;&lt;P&gt;SELECT-OPTIONS   v_vtweg FOR vbrk-vtweg OBLIGATORY NO INTERVALS.&lt;/P&gt;&lt;P&gt;SELECT-OPTIONS   v_spart FOR vbrp-spart .&lt;/P&gt;&lt;P&gt;SELECT-OPTIONS : v_werks FOR vbrp-werks,&lt;/P&gt;&lt;P&gt;                 v_vkgrp FOR vbrp-vkgrp NO INTERVALS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECT-OPTIONS : v_vkbur FOR vbrp-vkbur,&lt;/P&gt;&lt;P&gt;                 v_kdgrp FOR vbrk-kdgrp,&lt;/P&gt;&lt;P&gt;                 v_fkdat FOR vbrk-fkdat OBLIGATORY.&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 LINE.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN COMMENT 1(80) text_003.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF LINE.&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;&lt;/P&gt;&lt;P&gt;PARAMETERS : s1 RADIOBUTTON GROUP rad1,&lt;/P&gt;&lt;P&gt;             s2 RADIOBUTTON GROUP rad1,&lt;/P&gt;&lt;P&gt;             s3 RADIOBUTTON GROUP rad1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK b2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;INCLUDE zasd_invreg_sum.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="------------------------------------------------------------------" /&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;/P&gt;&lt;HR originaltext="------------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;INITIALIZATION.&lt;/P&gt;&lt;P&gt;  w_repid = sy-repid.&lt;/P&gt;&lt;P&gt;  text_003 = 'For all sales groups Please enter * mark in sales group'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;START-OF-SELECTION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT v_vtweg.&lt;/P&gt;&lt;P&gt;    AUTHORITY-CHECK OBJECT 'Z_VTWEG'  ID 'ACTVT' FIELD '16'&lt;/P&gt;&lt;P&gt;                                      ID 'VTWEG' FIELD v_vtweg-low.&lt;/P&gt;&lt;P&gt;    IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;     MESSAGE e000(38) WITH 'No authorization for Channel ' v_vtweg-low .&lt;/P&gt;&lt;P&gt;      DELETE v_vtweg INDEX sy-tabix.&lt;/P&gt;&lt;P&gt;      EXIT.&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;  LOOP AT v_vkgrp.&lt;/P&gt;&lt;P&gt;    AUTHORITY-CHECK OBJECT 'Z_VKGRP'  ID 'ACTVT' FIELD '16'&lt;/P&gt;&lt;P&gt;                                      ID 'VKGRP' FIELD v_vkgrp-low.&lt;/P&gt;&lt;P&gt;    IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;   MESSAGE e000(38) WITH 'No authorization for Sale Group ' v_vkgrp-low.&lt;/P&gt;&lt;P&gt;      DELETE v_vkgrp INDEX sy-tabix.&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;      PERFORM cre_summary.&lt;/P&gt;&lt;P&gt;      PERFORM cre_sum_process.&lt;/P&gt;&lt;P&gt;      PERFORM cre_sum_display.&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;P&gt;***INCLUDE ZASD_INVREG_SUM .&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;FORM cre_summary.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Fetching all reasons&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; SELECT augru bezei INTO TABLE it_tvaut FROM tvaut&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        WHERE spras = 'E'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;**data from vbrk&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECT vbeln fkart waerk vkorg vtweg regio knumv&lt;/P&gt;&lt;P&gt;          fkdat kdgrp kunag netwr kurrf kunrg spart&lt;/P&gt;&lt;P&gt;          FROM vbrk INTO TABLE it_vbrk&lt;/P&gt;&lt;P&gt;          WHERE fkart IN v_fkart&lt;/P&gt;&lt;P&gt;          AND   spart IN v_spart&lt;/P&gt;&lt;P&gt;          AND   fkdat IN v_fkdat&lt;/P&gt;&lt;P&gt;          AND   vkorg IN v_vkorg&lt;/P&gt;&lt;P&gt;          AND   vtweg IN v_vtweg&lt;/P&gt;&lt;P&gt;          AND   kunrg IN v_kunrg&lt;/P&gt;&lt;P&gt;          AND   kunag IN v_kunag&lt;/P&gt;&lt;P&gt;          AND   kdgrp IN v_kdgrp.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT it_vbrk[] IS INITIAL.&lt;/P&gt;&lt;P&gt;    SELECT vbeln posnr fkimg werks vkgrp&lt;/P&gt;&lt;P&gt;           vkbur lgort netwr kzwi2 kzwi1 mwsbp augru_auft&lt;/P&gt;&lt;P&gt;          FROM vbrp INTO TABLE it_vbrp_temp&lt;/P&gt;&lt;P&gt;          FOR ALL ENTRIES IN it_vbrk&lt;/P&gt;&lt;P&gt;          WHERE vbeln EQ it_vbrk-vbeln&lt;/P&gt;&lt;P&gt;            AND werks IN v_werks&lt;/P&gt;&lt;P&gt;            AND vkgrp IN v_vkgrp&lt;/P&gt;&lt;P&gt;            AND vkbur IN v_vkbur.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    SORT it_vbrp_temp BY vbeln.&lt;/P&gt;&lt;P&gt;    LOOP AT it_vbrp_temp.&lt;/P&gt;&lt;P&gt;      MOVE-CORRESPONDING it_vbrp_temp TO it_vbrp.&lt;/P&gt;&lt;P&gt;      COLLECT it_vbrp.&lt;/P&gt;&lt;P&gt;      CLEAR it_vbrp.&lt;/P&gt;&lt;P&gt;      CLEAR it_vbrp_temp.&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;   MESSAGE i000(0k) WITH 'There is no invoice exist for this selection'.&lt;/P&gt;&lt;P&gt;    EXIT.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT it_vbrk[] IS INITIAL.&lt;/P&gt;&lt;P&gt;    SELECT kunnr name1 mcod3 FROM kna1 INTO TABLE it_kna1&lt;/P&gt;&lt;P&gt;            FOR ALL ENTRIES IN it_vbrk&lt;/P&gt;&lt;P&gt;            WHERE kunnr = it_vbrk-kunrg.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    SELECT kunnr name1 mcod3 FROM kna1 APPENDING TABLE it_kna1&lt;/P&gt;&lt;P&gt;            FOR ALL ENTRIES IN it_vbrk&lt;/P&gt;&lt;P&gt;            WHERE kunnr = it_vbrk-kunag.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    SORT it_kna1 BY kunnr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    SELECT fkart vtext INTO TABLE it_invtype FROM tvfkt&lt;/P&gt;&lt;P&gt;            FOR ALL ENTRIES IN it_vbrk&lt;/P&gt;&lt;P&gt;            WHERE fkart = it_vbrk-fkart&lt;/P&gt;&lt;P&gt;              AND spras = 'EN'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    SELECT * FROM konv INTO TABLE it_konv&lt;/P&gt;&lt;P&gt;            FOR ALL ENTRIES IN it_vbrk&lt;/P&gt;&lt;P&gt;            WHERE knumv = it_vbrk-knumv&lt;/P&gt;&lt;P&gt;              AND kschl = 'ZIN1'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    SELECT * FROM ztrip1 INTO TABLE it_trip&lt;/P&gt;&lt;P&gt;            FOR ALL ENTRIES IN it_vbrk&lt;/P&gt;&lt;P&gt;            WHERE vbeln1 EQ it_vbrk-vbeln.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    SELECT * FROM lfa1 INTO TABLE it_lfa1&lt;/P&gt;&lt;P&gt;            FOR ALL ENTRIES IN it_trip&lt;/P&gt;&lt;P&gt;            WHERE lifnr = it_trip-lifnr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    SORT it_lfa1 BY lifnr.&lt;/P&gt;&lt;P&gt;    DELETE ADJACENT DUPLICATES FROM it_lfa1 COMPARING lifnr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    SELECT * FROM j_1imocust INTO TABLE it_mocust&lt;/P&gt;&lt;P&gt;            FOR ALL ENTRIES IN it_kna1&lt;/P&gt;&lt;P&gt;            WHERE kunnr = it_kna1-kunnr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    SELECT * FROM j_3atvau INTO TABLE it_j_3atvau&lt;/P&gt;&lt;P&gt;            WHERE auart = 'ZCR' OR&lt;/P&gt;&lt;P&gt;                  auart = 'ZDR'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    select augru bezei from tvaut into table it_tvaut&lt;/P&gt;&lt;P&gt;             for all entries in it_j_3atvau&lt;/P&gt;&lt;P&gt;             where&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;            spras = 'en' and&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;             augru = it_j_3atvau-augru.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    SORT it_mocust BY kunnr.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT it_konv[] IS INITIAL.&lt;/P&gt;&lt;P&gt;    SORT it_konv BY knumv.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    LOOP AT it_konv.&lt;/P&gt;&lt;P&gt;      MOVE-CORRESPONDING it_konv TO it_konv_sum.&lt;/P&gt;&lt;P&gt;      COLLECT it_konv_sum.&lt;/P&gt;&lt;P&gt;      CLEAR it_konv.&lt;/P&gt;&lt;P&gt;      CLEAR it_konv_sum.&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;ENDFORM.                    " inv_reg_summary&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  cre_sum_display&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        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 cre_sum_display.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM dyn_table_create.&lt;/P&gt;&lt;P&gt;  PERFORM build_field_catlog.&lt;/P&gt;&lt;P&gt;  PERFORM grid_display.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " cre_sum_display&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_FIELD_CATLOG&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        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 build_field_catlog.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ls_layout-colwidth_optimize = 'X'.&lt;/P&gt;&lt;P&gt;  ls_layout-zebra = 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'&lt;/P&gt;&lt;P&gt;       EXPORTING&lt;/P&gt;&lt;P&gt;            i_program_name   = w_repid&lt;/P&gt;&lt;P&gt;            i_structure_name = 'zinvoice'&lt;/P&gt;&lt;P&gt;            i_inclname       = w_repid&lt;/P&gt;&lt;P&gt;       CHANGING&lt;/P&gt;&lt;P&gt;            ct_fieldcat      = i_fieldtab[].&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT i_fieldtab INTO l_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CASE l_fieldcat-fieldname.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      WHEN 'VBELN'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        l_fieldcat-seltext_s = 'Invoice number'.&lt;/P&gt;&lt;P&gt;        l_fieldcat-seltext_m = 'Invoice number'.&lt;/P&gt;&lt;P&gt;        l_fieldcat-seltext_l = 'Invoice number'.&lt;/P&gt;&lt;P&gt;        l_fieldcat-reptext_ddic = 'Invoice number'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      WHEN 'FKDAT'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        l_fieldcat-seltext_s = 'Invoice Date'.&lt;/P&gt;&lt;P&gt;        l_fieldcat-seltext_m = 'Invoice Date'.&lt;/P&gt;&lt;P&gt;        l_fieldcat-seltext_l = 'Invoice Date'.&lt;/P&gt;&lt;P&gt;        l_fieldcat-reptext_ddic = 'Invoice Date'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      WHEN 'FKIMG'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        l_fieldcat-seltext_s = 'Invoice Quantity'.&lt;/P&gt;&lt;P&gt;        l_fieldcat-seltext_m = 'Invoice Quantity'.&lt;/P&gt;&lt;P&gt;        l_fieldcat-seltext_l = 'Invoice Quantity'.&lt;/P&gt;&lt;P&gt;        l_fieldcat-reptext_ddic = 'Invoice Quantity'.&lt;/P&gt;&lt;P&gt;        l_fieldcat-do_sum  = 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      WHEN 'VTEXT'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        l_fieldcat-seltext_s = 'Billing Type'.&lt;/P&gt;&lt;P&gt;        l_fieldcat-seltext_m = 'Billing Type'.&lt;/P&gt;&lt;P&gt;        l_fieldcat-seltext_l = 'Billing Type'.&lt;/P&gt;&lt;P&gt;        l_fieldcat-reptext_ddic = 'Billing Type'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      WHEN 'KBETR'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        l_fieldcat-seltext_s = 'MRP'.&lt;/P&gt;&lt;P&gt;        l_fieldcat-seltext_m = 'MRP'.&lt;/P&gt;&lt;P&gt;        l_fieldcat-seltext_l = 'MRP'.&lt;/P&gt;&lt;P&gt;        l_fieldcat-reptext_ddic = 'MRP'.&lt;/P&gt;&lt;P&gt;        l_fieldcat-do_sum  = 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      WHEN 'GMATVAL'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        l_fieldcat-seltext_s = 'Gross Mat Value'.&lt;/P&gt;&lt;P&gt;        l_fieldcat-seltext_m = 'Gross Mat Value'.&lt;/P&gt;&lt;P&gt;        l_fieldcat-seltext_l = 'Gross Mat Value'.&lt;/P&gt;&lt;P&gt;        l_fieldcat-reptext_ddic = 'Gross Mat Value'.&lt;/P&gt;&lt;P&gt;        l_fieldcat-do_sum  = 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      WHEN 'DAMOUNT'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        l_fieldcat-seltext_s = 'Other Disc Amount'.&lt;/P&gt;&lt;P&gt;        l_fieldcat-seltext_m = 'Other Disc Amount'.&lt;/P&gt;&lt;P&gt;        l_fieldcat-seltext_l = 'Other Disc Amount'.&lt;/P&gt;&lt;P&gt;        l_fieldcat-reptext_ddic = 'Other Disc Amount'.&lt;/P&gt;&lt;P&gt;        l_fieldcat-do_sum  = 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      WHEN 'WAVWR'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        l_fieldcat-seltext_s = 'Cost'.&lt;/P&gt;&lt;P&gt;        l_fieldcat-seltext_m = 'Cost'.&lt;/P&gt;&lt;P&gt;        l_fieldcat-seltext_l = 'Cost'.&lt;/P&gt;&lt;P&gt;        l_fieldcat-reptext_ddic = 'Cost'.&lt;/P&gt;&lt;P&gt;        l_fieldcat-do_sum  = 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      WHEN 'NETWR'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        l_fieldcat-seltext_s = 'Taxable Amount'.&lt;/P&gt;&lt;P&gt;        l_fieldcat-seltext_m = 'Taxable Amount'.&lt;/P&gt;&lt;P&gt;        l_fieldcat-seltext_l = 'Taxable Amount'.&lt;/P&gt;&lt;P&gt;        l_fieldcat-reptext_ddic = 'Taxable Amount'.&lt;/P&gt;&lt;P&gt;        l_fieldcat-do_sum  = 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      WHEN 'TRATE'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        l_fieldcat-seltext_s = 'Tax Rate'.&lt;/P&gt;&lt;P&gt;        l_fieldcat-seltext_m = 'Tax Rate'.&lt;/P&gt;&lt;P&gt;        l_fieldcat-seltext_l = 'Tax Rate'.&lt;/P&gt;&lt;P&gt;        l_fieldcat-reptext_ddic = 'Tax Rate'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      WHEN 'TAMOUNT'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        l_fieldcat-seltext_s = 'Tax Amount'.&lt;/P&gt;&lt;P&gt;        l_fieldcat-seltext_m = 'Tax Amount'.&lt;/P&gt;&lt;P&gt;        l_fieldcat-seltext_l = 'Tax Amount'.&lt;/P&gt;&lt;P&gt;        l_fieldcat-reptext_ddic = 'Tax Amount'.&lt;/P&gt;&lt;P&gt;        l_fieldcat-do_sum  = 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      WHEN 'CONAMNT'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        l_fieldcat-seltext_s = 'Contrib Amnt'.&lt;/P&gt;&lt;P&gt;        l_fieldcat-seltext_m = 'Contrib Amnt'.&lt;/P&gt;&lt;P&gt;        l_fieldcat-seltext_l = 'Contrib Amnt'.&lt;/P&gt;&lt;P&gt;        l_fieldcat-reptext_ddic = 'Contrib Amnt'.&lt;/P&gt;&lt;P&gt;        l_fieldcat-do_sum  = 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      WHEN 'CONPERC'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        l_fieldcat-seltext_s = 'Contrib %'.&lt;/P&gt;&lt;P&gt;        l_fieldcat-seltext_m = 'Contrib %'.&lt;/P&gt;&lt;P&gt;        l_fieldcat-seltext_l = 'Contrib %'.&lt;/P&gt;&lt;P&gt;        l_fieldcat-reptext_ddic = 'Contrib %'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      WHEN 'DMARGIN'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        l_fieldcat-seltext_s = 'Dealer Margin'.&lt;/P&gt;&lt;P&gt;        l_fieldcat-seltext_m = 'Dealer Margin'.&lt;/P&gt;&lt;P&gt;        l_fieldcat-seltext_l = 'Dealer Margin'.&lt;/P&gt;&lt;P&gt;        l_fieldcat-reptext_ddic = 'Dealer Margin'.&lt;/P&gt;&lt;P&gt;        l_fieldcat-do_sum  = 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      WHEN 'TCS'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        l_fieldcat-seltext_s = 'TCS'.&lt;/P&gt;&lt;P&gt;        l_fieldcat-seltext_m = 'TCS'.&lt;/P&gt;&lt;P&gt;        l_fieldcat-seltext_l = 'TCS'.&lt;/P&gt;&lt;P&gt;        l_fieldcat-reptext_ddic = 'TCS'.&lt;/P&gt;&lt;P&gt;        l_fieldcat-do_sum  = 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      WHEN 'NAMOUNT'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        l_fieldcat-seltext_s = 'Net Amount'.&lt;/P&gt;&lt;P&gt;        l_fieldcat-seltext_m = 'Net Amount'.&lt;/P&gt;&lt;P&gt;        l_fieldcat-seltext_l = 'Net Amount'.&lt;/P&gt;&lt;P&gt;        l_fieldcat-reptext_ddic = 'Net Amount'.&lt;/P&gt;&lt;P&gt;        l_fieldcat-do_sum  = 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      WHEN 'CITY'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        l_fieldcat-seltext_s = 'CITY'.&lt;/P&gt;&lt;P&gt;        l_fieldcat-seltext_m = 'CITY'.&lt;/P&gt;&lt;P&gt;        l_fieldcat-seltext_l = 'CITY'.&lt;/P&gt;&lt;P&gt;        l_fieldcat-reptext_ddic = 'CITY'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      WHEN 'MATNR'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        l_fieldcat-seltext_s = 'Material code'.&lt;/P&gt;&lt;P&gt;        l_fieldcat-seltext_m = 'Material code'.&lt;/P&gt;&lt;P&gt;        l_fieldcat-seltext_l = 'Material code'.&lt;/P&gt;&lt;P&gt;        l_fieldcat-reptext_ddic = 'Material code'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      WHEN 'MATKL'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        l_fieldcat-seltext_s = 'Material Group'.&lt;/P&gt;&lt;P&gt;        l_fieldcat-seltext_m = 'Material Group'.&lt;/P&gt;&lt;P&gt;        l_fieldcat-seltext_l = 'Material Group'.&lt;/P&gt;&lt;P&gt;        l_fieldcat-reptext_ddic = 'Material Group'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      WHEN 'KUNAG'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        l_fieldcat-seltext_s = 'Sold To Party'.&lt;/P&gt;&lt;P&gt;        l_fieldcat-seltext_m = 'Sold To Party'.&lt;/P&gt;&lt;P&gt;        l_fieldcat-seltext_l = 'Sold To Party'.&lt;/P&gt;&lt;P&gt;        l_fieldcat-reptext_ddic = 'Sold To Party'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      WHEN 'NAME'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        l_fieldcat-seltext_s = 'NAME'.&lt;/P&gt;&lt;P&gt;        l_fieldcat-seltext_m = 'NAME'.&lt;/P&gt;&lt;P&gt;        l_fieldcat-seltext_l = 'NAME'.&lt;/P&gt;&lt;P&gt;        l_fieldcat-reptext_ddic = 'NAME'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      WHEN 'LIFNR'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        l_fieldcat-seltext_s = 'Tranporter'.&lt;/P&gt;&lt;P&gt;        l_fieldcat-seltext_m = 'Tranporter'.&lt;/P&gt;&lt;P&gt;        l_fieldcat-seltext_l = 'Tranporter'.&lt;/P&gt;&lt;P&gt;        l_fieldcat-reptext_ddic = 'Tranporter'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      WHEN 'TNAME'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        l_fieldcat-seltext_s = 'Tranp Name'.&lt;/P&gt;&lt;P&gt;        l_fieldcat-seltext_m = 'Tranp Name'.&lt;/P&gt;&lt;P&gt;        l_fieldcat-seltext_l = 'Tranp Name'.&lt;/P&gt;&lt;P&gt;        l_fieldcat-reptext_ddic = 'Tranp Name'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDCASE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    MODIFY  i_fieldtab  FROM  l_fieldcat .&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DELETE i_fieldtab WHERE fieldname = 'AUGRU_AUFT'&lt;/P&gt;&lt;P&gt;                    OR    fieldname = 'BEZEI'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT it_tvaut.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CLEAR : l_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    l_fieldcat-fieldname = it_tvaut-bezei.&lt;/P&gt;&lt;P&gt;    l_fieldcat-seltext_s = it_tvaut-bezei.&lt;/P&gt;&lt;P&gt;    l_fieldcat-seltext_m = it_tvaut-bezei.&lt;/P&gt;&lt;P&gt;    l_fieldcat-seltext_l = it_tvaut-bezei.&lt;/P&gt;&lt;P&gt;    l_fieldcat-reptext_ddic = it_tvaut-bezei.&lt;/P&gt;&lt;P&gt;    l_fieldcat-do_sum  = 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    APPEND  l_fieldcat TO i_fieldtab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  MOVE i_fieldtab[] TO gt_fieldcat[].&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      EXPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           i_callback_program = w_repid&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           it_fieldcat        = i_fieldtab[]&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           is_layout          = ls_layout&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           i_save             = 'A'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           is_variant         = i_variant&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      TABLES&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           t_outtab           = it_display&lt;/P&gt;&lt;/LI&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;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT it_display ASSIGNING &amp;lt;ln_disp&amp;gt;.&lt;/P&gt;&lt;P&gt;    LOOP AT i_fieldtab.&lt;/P&gt;&lt;P&gt;      ASSIGN COMPONENT i_fieldtab-fieldname OF STRUCTURE&lt;/P&gt;&lt;P&gt;      &amp;lt;ln_disp&amp;gt; TO &amp;lt;value_to&amp;gt;.&lt;/P&gt;&lt;P&gt;      ASSIGN COMPONENT i_fieldtab-fieldname OF STRUCTURE&lt;/P&gt;&lt;P&gt;      &amp;lt;dyn_wa&amp;gt; TO &amp;lt;value_from&amp;gt;.&lt;/P&gt;&lt;P&gt;      MOVE &amp;lt;value_to&amp;gt; TO &amp;lt;value_from&amp;gt;.&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;    COLLECT &amp;lt;dyn_wa&amp;gt; INTO &amp;lt;dyn_table&amp;gt;.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " BUILD_FIELD_CATLOG&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  cre_sum_process&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        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 cre_sum_process.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA : v_mwsbp LIKE vbrp-mwsbp.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT it_vbrp INTO is_vbrp.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    MOVE-CORRESPONDING is_vbrp TO is_display.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    READ TABLE it_vbrk INTO is_vbrk WITH KEY vbeln = is_vbrp-vbeln.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    READ TABLE it_kna1 INTO is_kna1 WITH KEY kunnr = is_vbrk-kunrg&lt;/P&gt;&lt;P&gt;                                                     BINARY SEARCH.&lt;/P&gt;&lt;P&gt;    IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;      MOVE : is_kna1-kunnr TO is_display-kunnr,&lt;/P&gt;&lt;P&gt;             is_kna1-name1 TO is_display-name1,&lt;/P&gt;&lt;P&gt;             is_kna1-mcod3 TO is_display-city.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    READ TABLE it_kna1 INTO is_kna1 WITH KEY kunnr = is_vbrk-kunag&lt;/P&gt;&lt;P&gt;                                                     BINARY SEARCH.&lt;/P&gt;&lt;P&gt;    IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;      MOVE : is_kna1-name1 TO is_display-name.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    MOVE-CORRESPONDING is_vbrk TO is_display.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   READ TABLE it_invtype INTO is_invtype WITH KEY fkart = is_vbrk-fkart.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;      MOVE is_invtype-vtext TO is_display-vtext.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Setting Reason&lt;/P&gt;&lt;P&gt;    READ TABLE it_tvaut WITH KEY  augru = is_vbrp-augru_auft.&lt;/P&gt;&lt;P&gt;    IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;      MOVE it_tvaut-bezei TO is_display-bezei.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    READ TABLE it_konv_sum WITH KEY knumv = is_vbrk-knumv.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF is_vbrk-fkart = 'ZRE' OR is_vbrk-fkart = 'RE' OR&lt;/P&gt;&lt;P&gt;       is_vbrk-fkart = 'G2' OR is_vbrk-fkart = 'S1' OR&lt;/P&gt;&lt;P&gt;       is_vbrk-fkart = 'ZS1'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*TAXABLE AMOUNT&lt;/P&gt;&lt;P&gt;      is_display-netwr = - ( is_vbrp-netwr ).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*QUANTITY&lt;/P&gt;&lt;P&gt;      is_display-fkimg = - ( is_vbrp-fkimg ).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*TAXAMOUNT&lt;/P&gt;&lt;P&gt;      is_display-tamount = - ( is_vbrp-mwsbp ).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*TCS&lt;/P&gt;&lt;P&gt;      is_display-tcs = it_konv_sum-kwert.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*TAXRATE , NETAMOUNT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      v_mwsbp = is_vbrp-mwsbp - it_konv_sum-kwert.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      is_display-trate = - ( v_mwsbp / is_vbrp-netwr ) * 100.&lt;/P&gt;&lt;P&gt;      is_display-namount = - ( is_vbrp-mwsbp + is_vbrp-netwr ).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*OTHER DISCOUNT AMOUNT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      is_display-damount = - ( is_vbrp-kzwi2 - is_vbrp-kzwi1 ).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*GROSS MAT VALUE&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF NOT is_vbrp-fkimg IS INITIAL.&lt;/P&gt;&lt;P&gt;        l_wot = ( is_vbrp-kzwi2 / is_vbrp-fkimg ).&lt;/P&gt;&lt;P&gt;        l_wot1 = 1 + (  is_display-trate / 100 ).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        IF NOT l_wot1 IS INITIAL.&lt;/P&gt;&lt;P&gt;          is_display-gmatval = - ( ( l_wot / l_wot1 ) * is_vbrp-fkimg ).&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;    ELSE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*TAXAMOUNT&lt;/P&gt;&lt;P&gt;      v_mwsbp =  is_vbrp-mwsbp - it_konv_sum-kwert.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      is_display-tamount = v_mwsbp.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*TCS&lt;/P&gt;&lt;P&gt;      is_display-tcs = it_konv_sum-kwert.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*TAXRATE , NETAMOUNT&lt;/P&gt;&lt;P&gt;      is_display-trate = ( v_mwsbp / is_vbrp-netwr ) * 100.&lt;/P&gt;&lt;P&gt;      is_display-namount = ( is_vbrp-mwsbp + is_vbrp-netwr ).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*OTHER DISCOUNT AMOUNT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      is_display-damount = is_vbrp-kzwi2 - is_vbrp-kzwi1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*GROSS MAT VALUE&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF NOT is_vbrp-fkimg IS INITIAL.&lt;/P&gt;&lt;P&gt;        l_wot = ( is_vbrp-kzwi2 / is_vbrp-fkimg ).&lt;/P&gt;&lt;P&gt;        l_wot1 = 1 + (  is_display-trate / 100 ).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        IF NOT l_wot1 IS INITIAL.&lt;/P&gt;&lt;P&gt;          is_display-gmatval = ( l_wot / l_wot1 ) * is_vbrp-fkimg.&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;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    APPEND is_display TO it_display.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CLEAR : is_display, is_kna1,is_vbrk,v_kwert,is_invtype.&lt;/P&gt;&lt;P&gt;    CLEAR : v_mwsbp,it_konv_sum.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " cre_sum_process&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  dyn_table_create&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        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 dyn_table_create.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL METHOD cl_alv_table_create=&amp;gt;create_dynamic_table&lt;/P&gt;&lt;P&gt;           EXPORTING&lt;/P&gt;&lt;P&gt;              it_fieldcatalog = gt_fieldcat&lt;/P&gt;&lt;P&gt;           IMPORTING&lt;/P&gt;&lt;P&gt;              ep_table        = dy_table.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ASSIGN dy_table-&amp;gt;* TO &amp;lt;dyn_table&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CREATE DATA dy_line LIKE LINE OF &amp;lt;dyn_table&amp;gt;.&lt;/P&gt;&lt;P&gt;  ASSIGN dy_line-&amp;gt;* TO &amp;lt;dyn_wa&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " dyn_table_create&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  grid_display&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        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 grid_display.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR ls_layout.&lt;/P&gt;&lt;P&gt;  ls_layout-colwidth_optimize = 'X'.&lt;/P&gt;&lt;P&gt;  ls_layout-zebra = 'X'.&lt;/P&gt;&lt;P&gt;&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       = w_repid&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           i_callback_pf_status_set = 'SET_PF_STATUS'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           i_callback_user_command  = 'USER_COMMAND'&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;            it_fieldcat              = i_fieldtab[]&lt;/P&gt;&lt;P&gt;            is_layout                = ls_layout&lt;/P&gt;&lt;P&gt;       TABLES&lt;/P&gt;&lt;P&gt;            t_outtab                 = &amp;lt;dyn_table&amp;gt;&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;  IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;    MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno&lt;/P&gt;&lt;P&gt;            WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.&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;ENDFORM.                    " grid_display&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 05 Jul 2007 10:35:07 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/error-program-quot-quot-not-found-while-creating-dynamic-table/m-p/2429207#M542931</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-07-05T10:35:07Z</dc:date>
    </item>
    <item>
      <title>Re: error : Program " " not found. while creating Dynamic Table.</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/error-program-quot-quot-not-found-while-creating-dynamic-table/m-p/2429208#M542932</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;one change is ..&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
EXPORTING
i_program_name = w_repid
i_structure_name = 'ZINVOICE'    " change to upper case
i_inclname = w_repid
CHANGING
ct_fieldcat = i_fieldtab[].&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 05 Jul 2007 10:38:16 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/error-program-quot-quot-not-found-while-creating-dynamic-table/m-p/2429208#M542932</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-07-05T10:38:16Z</dc:date>
    </item>
    <item>
      <title>Re: error : Program " " not found. while creating Dynamic Table.</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/error-program-quot-quot-not-found-while-creating-dynamic-table/m-p/2429209#M542933</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;inspite of changing it 2 upper case its giving the same eror.&lt;/P&gt;&lt;P&gt;thanx.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;regards,&lt;/P&gt;&lt;P&gt;naresh&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 05 Jul 2007 10:48:51 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/error-program-quot-quot-not-found-while-creating-dynamic-table/m-p/2429209#M542933</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-07-05T10:48:51Z</dc:date>
    </item>
    <item>
      <title>Re: error : Program " " not found. while creating Dynamic Table.</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/error-program-quot-quot-not-found-while-creating-dynamic-table/m-p/2429210#M542934</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;inspite of changing it 2 upper case its giving the same eror.&lt;/P&gt;&lt;P&gt;thanx.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: gt_fieldcat TYPE lvc_t_fcat.&lt;/P&gt;&lt;P&gt;i_fieldtab TYPE  slis_t_fieldcat_alv WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;MOVE i_fieldtab[] TO gt_fieldcat[].&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;i have used this code after bulding field catalog.&lt;/P&gt;&lt;P&gt;i dont know whether its coz of this.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;coz when i debug, during execution of &lt;/P&gt;&lt;P&gt; CALL METHOD cl_alv_table_create=&amp;gt;create_dynamic_table&lt;/P&gt;&lt;P&gt;its showing error.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;regards,&lt;/P&gt;&lt;P&gt;naresh&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 05 Jul 2007 10:57:31 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/error-program-quot-quot-not-found-while-creating-dynamic-table/m-p/2429210#M542934</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-07-05T10:57:31Z</dc:date>
    </item>
    <item>
      <title>Re: error : Program " " not found. while creating Dynamic Table.</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/error-program-quot-quot-not-found-while-creating-dynamic-table/m-p/2429211#M542935</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;why there are *s in from of REPORT statement&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*************************************************************************************************REPORT zasd_credit_memo_list1 NO&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 05 Jul 2007 11:01:14 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/error-program-quot-quot-not-found-while-creating-dynamic-table/m-p/2429211#M542935</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-07-05T11:01:14Z</dc:date>
    </item>
    <item>
      <title>Re: error : Program " " not found. while creating Dynamic Table.</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/error-program-quot-quot-not-found-while-creating-dynamic-table/m-p/2429212#M542936</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;that i used while pasting here, so as to differentiate between my words and the actual code.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;thanx&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 05 Jul 2007 11:32:08 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/error-program-quot-quot-not-found-while-creating-dynamic-table/m-p/2429212#M542936</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-07-05T11:32:08Z</dc:date>
    </item>
    <item>
      <title>Re: error : Program " " not found. while creating Dynamic Table.</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/error-program-quot-quot-not-found-while-creating-dynamic-table/m-p/2429213#M542937</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello Naresh&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The error cause lies here:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;DATA: gt_fieldcat TYPE lvc_t_fcat.
i_fieldtab TYPE slis_t_fieldcat_alv WITH HEADER LINE,

MOVE i_fieldtab[] TO gt_fieldcat[].  " &amp;lt;- incompatible structures&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="3" type="ul"&gt;&lt;P&gt;Fieldcat (of SLIS_S_FIELDCAT_ALV):&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;types: begin of slis_fieldcat_main0,&lt;/P&gt;&lt;P&gt;         row_pos        like sy-curow, " output in row&lt;/P&gt;&lt;P&gt;         col_pos        like sy-cucol, " position of the column&lt;/P&gt;&lt;P&gt;         fieldname      type slis_fieldname,&lt;/P&gt;&lt;P&gt;         tabname        type slis_tabname,&lt;/P&gt;&lt;P&gt;         currency(5)    type c,&lt;/P&gt;&lt;P&gt;         cfieldname     type slis_fieldname, " field with currency unit&lt;/P&gt;&lt;P&gt;         ctabname       type slis_tabname,   " and table     " &amp;lt;== difference&lt;/P&gt;&lt;P&gt;         ifieldname     type slis_fieldname, " initial column " &amp;lt;== difference&lt;/P&gt;&lt;P&gt;         quantity(3)    type c,&lt;/P&gt;&lt;P&gt;         qfieldname     type slis_fieldname, " field with quantity unit&lt;/P&gt;&lt;P&gt;         qtabname       type slis_tabname,   " and table&lt;/P&gt;&lt;P&gt;         round          type i,        " round in write statement&lt;/P&gt;&lt;P&gt;         exponent(3)       type c,     " exponent for floats&lt;/P&gt;&lt;P&gt;         key(1)         type c,        " column with key-color&lt;/P&gt;&lt;P&gt;         icon(1)        type c,        " as icon&lt;/P&gt;&lt;P&gt;         symbol(1)      type c,        " as symbol&lt;/P&gt;&lt;P&gt;         checkbox(1)    type c,        " as checkbox&lt;/P&gt;&lt;P&gt;...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Fields of LVC_S_FCAT:&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;ROW_POS	ALV-Control: Ausgabezeile (INTERNE VERWENDUNG)
COL_POS	ALV-Control: Ausgabespalte
FIELDNAME	ALV-Control: Feldname internes Tabellenfeld
TABNAME	LVC-Tabname
CURRENCY	ALV-Control: Währungseinheit
CFIELDNAME	ALV-Control: Feldname für referenzierte Währungseinheit
QUANTITY	ALV-Control: Mengeneinheit
QFIELDNAME	ALV-Control: Feldname für referenzierte Mengeneinheit
IFIELDNAME	ALV-Control: Feldname internes Tabellenfeld
ROUND	ALV-Control: ROUND-Wert
EXPONENT	ALV-Control: Exponent für Float-Darstellung
KEY	ALV-Control: Keyfeld
KEY_SEL	ALV-Control: Ausblendbare Key-Spalte
ICON	ALV-Control: Ausgabe als Ikone
...&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;After the MOVE statement the fieldcatalog is completly messed up.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;  Uwe&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 05 Jul 2007 12:18:36 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/error-program-quot-quot-not-found-while-creating-dynamic-table/m-p/2429213#M542937</guid>
      <dc:creator>uwe_schieferstein</dc:creator>
      <dc:date>2007-07-05T12:18:36Z</dc:date>
    </item>
    <item>
      <title>Re: error : Program " " not found. while creating Dynamic Table.</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/error-program-quot-quot-not-found-while-creating-dynamic-table/m-p/2429214#M542938</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello Naresh&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In the following thread&lt;/P&gt;&lt;P&gt;&lt;A class="jive_macro jive_macro_thread" href="https://community.sap.com/" __jive_macro_name="thread" modifiedtitle="true" __default_attr="416210"&gt;&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I have shown how to create dynamic itab and even complex itab (having deep structures) using RTTI. The final version of my sample report is at the very end of this thread yet the discussion is quite interesting to read:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;*&amp;amp;---------------------------------------------------------------------*
*&amp;amp; Report  ZUS_SDN_RTTI_CREATE_STRUCTUR_2
*&amp;amp;
*&amp;amp;---------------------------------------------------------------------*
*&amp;amp; NOTE: 1st revised version of ZUS_SDN_RTTI_CREATE_STRUCTUR_1
*&amp;amp;
*&amp;amp;---------------------------------------------------------------------*
 
REPORT  zus_sdn_rtti_create_structur_2.
 
 
TYPE-POOLS: abap.
 
 
DATA:
  celltab          TYPE lvc_t_styl.
 
DATA:
  gd_tabnam        TYPE string,
  gd_tabfield      TYPE string,
  go_table         TYPE REF TO cl_salv_table,
  go_sdescr        TYPE REF TO cl_abap_structdescr,
  go_sdescr_new    TYPE REF TO cl_abap_structdescr,
  go_tdescr        TYPE REF TO cl_abap_tabledescr,
  go_typedescr     TYPE REF TO cl_abap_typedescr,
  gdo_data         TYPE REF TO data,
  gdo_handle       TYPE REF TO data,
  gs_component     TYPE abap_compdescr,
  gs_comp          TYPE abap_componentdescr,
  gt_components    TYPE abap_component_tab.
*
*    name       TYPE string,
*    type       TYPE REF TO cl_abap_datadescr,
*    as_include TYPE abap_bool,
*    suffix     TYPE string,
 
FIELD-SYMBOLS:
  &amp;lt;gd_fld&amp;gt;            TYPE ANY,  " single field
  &amp;lt;gs_outtab&amp;gt;         TYPE ANY,  " structure with CELLTAB
  &amp;lt;gs_itab&amp;gt;           TYPE ANY,  " structure without CELLTAB
  &amp;lt;gt_itab_pbo&amp;gt;       TYPE STANDARD TABLE,  " without CELLTAB
  &amp;lt;gt_itab_pai&amp;gt;       TYPE STANDARD TABLE,  " without CELLTAB
  &amp;lt;gt_outtab_pbo&amp;gt;     TYPE STANDARD TABLE,  " with CELLTAB
  &amp;lt;gt_outtab_pai&amp;gt;     TYPE STANDARD TABLE.  " with CELLTAB
 
 
PARAMETER:
  p_tabnam      TYPE tabname  DEFAULT 'KNB1'.
 
PARAMETERS:
  p_skip        AS CHECKBOX  DEFAULT 'X'.  " skip simulation
 
 
START-OF-SELECTION.
 
  " Describe structure
  go_sdescr ?= cl_abap_structdescr=&amp;gt;describe_by_name( p_tabnam ).
  gd_tabnam     = go_sdescr-&amp;gt;get_relative_name( ).
 
 
 
* Simulate dynamic addition of columns to ALV list
  DO 5 TIMES.
    READ TABLE go_sdescr-&amp;gt;components INTO gs_component INDEX syst-index.
 
    "   Build fieldname
    CONCATENATE gd_tabnam gs_component-name INTO gd_tabfield
                                            SEPARATED BY '-'.
 
    CLEAR: gs_comp.
    gs_comp-type ?= cl_abap_datadescr=&amp;gt;describe_by_name( gd_tabfield ).
    gs_comp-name  = gs_component-name.
    APPEND gs_comp TO gt_components.
 
 
    go_sdescr_new  = cl_abap_structdescr=&amp;gt;create( gt_components ).
    go_tdescr      = cl_abap_tabledescr=&amp;gt;create( go_sdescr_new ).
    "   Create data refence followed by table creation
    CREATE DATA gdo_handle TYPE HANDLE go_tdescr.
    ASSIGN gdo_handle-&amp;gt;* TO &amp;lt;gt_outtab_pbo&amp;gt;.
 
*   Dynamic select
    SELECT        * FROM  (p_tabnam) UP TO 10 ROWS
      INTO CORRESPONDING FIELDS OF TABLE &amp;lt;gt_outtab_pbo&amp;gt;
           WHERE  bukrs  = '2000'.
 
    IF ( p_skip = abap_false ).
      TRY.
          CALL METHOD cl_salv_table=&amp;gt;factory
            IMPORTING
              r_salv_table = go_table
            CHANGING
              t_table      = &amp;lt;gt_outtab_pbo&amp;gt;.
          go_table-&amp;gt;display( ).
        CATCH cx_salv_msg .
      ENDTRY.
    ENDIF.
 
  ENDDO.
 
  TRY.
      CALL METHOD cl_salv_table=&amp;gt;factory
        IMPORTING
          r_salv_table = go_table
        CHANGING
          t_table      = &amp;lt;gt_outtab_pbo&amp;gt;.
      go_table-&amp;gt;display( ).
    CATCH cx_salv_msg .
  ENDTRY.
 
 
  " Display component list in order to prove that indeed the field names
  " are used (instead of the data element names)
  TRY.
      CALL METHOD cl_salv_table=&amp;gt;factory
        IMPORTING
          r_salv_table = go_table
        CHANGING
          t_table      = gt_components.
      go_table-&amp;gt;display( ).
    CATCH cx_salv_msg .
  ENDTRY.
 
 
  " Create data reference for structure (without CELLTAB)!!!
  CREATE DATA gdo_handle TYPE HANDLE go_sdescr_new.
 
 
  REFRESH: gt_components.
  CLEAR: gs_comp.
  gs_comp-type ?=
        cl_abap_structdescr=&amp;gt;describe_by_data_ref( gdo_handle ).
  gs_comp-name       = 'DATA'.
  gs_comp-as_include = abap_true.
  APPEND gs_comp TO gt_components.
 
 
  " Add table type as field to structure ==&amp;gt; complex structure
  CLEAR: gs_comp.
  gs_comp-type ?= cl_abap_typedescr=&amp;gt;describe_by_data( celltab ).
  gs_comp-name  = 'CELLTAB'.
  APPEND gs_comp TO gt_components.
 
  go_sdescr  = cl_abap_structdescr=&amp;gt;create( gt_components ).
  go_tdescr  = cl_abap_tabledescr=&amp;gt;create( go_sdescr ).
  CREATE DATA gdo_handle TYPE HANDLE go_tdescr.
  ASSIGN gdo_handle-&amp;gt;* TO &amp;lt;gt_outtab_pbo&amp;gt;.
 
*   Dynamic select
  SELECT        * FROM  (p_tabnam) UP TO 10 ROWS
    INTO CORRESPONDING FIELDS OF TABLE &amp;lt;gt_outtab_pbo&amp;gt;
         WHERE  bukrs  = '2000'.
 
 
  PERFORM fill_celltab.
 
 
 
  " Create second itab (PAI data)
  CREATE DATA gdo_handle TYPE HANDLE go_tdescr.
  ASSIGN gdo_handle-&amp;gt;* TO &amp;lt;gt_outtab_pai&amp;gt;.
 
  &amp;lt;gt_outtab_pai&amp;gt; = &amp;lt;gt_outtab_pbo&amp;gt;.  " PAI data = PBO data
  " Renumbering of customer makes it easier to spot the differences
  LOOP AT &amp;lt;gt_outtab_pai&amp;gt; ASSIGNING &amp;lt;gs_outtab&amp;gt;.
    ASSIGN COMPONENT 'KUNNR' OF STRUCTURE &amp;lt;gs_outtab&amp;gt; TO &amp;lt;gd_fld&amp;gt;.
    &amp;lt;gd_fld&amp;gt; = syst-tabix.  " new numbering of customers
  ENDLOOP.
  LOOP AT &amp;lt;gt_outtab_pbo&amp;gt; ASSIGNING &amp;lt;gs_outtab&amp;gt;.
    ASSIGN COMPONENT 'KUNNR' OF STRUCTURE &amp;lt;gs_outtab&amp;gt; TO &amp;lt;gd_fld&amp;gt;.
    &amp;lt;gd_fld&amp;gt; = syst-tabix.  " new numbering of customers
  ENDLOOP.
 
  DELETE &amp;lt;gt_outtab_pbo&amp;gt; INDEX 3.  " ==&amp;gt;  3rd row in PAI data is new
  DELETE &amp;lt;gt_outtab_pai&amp;gt; INDEX 7.  " ==&amp;gt;  7th row in PBO data is DELE
 
 
 
  " Shuffle data from outtab to corresponding itab (w/o CELLTAB)
  PERFORM shuffle_outtab_to_itab.
 
 
 
 
  " List output
  PERFORM write_list.
 
 
  EXIT.
 
  " Simplified version of table creation:
  CLEAR: gdo_data.
  UNASSIGN &amp;lt;gt_outtab_pbo&amp;gt;.
 
  CREATE DATA gdo_data TYPE STANDARD TABLE OF (p_tabnam).
  ASSIGN gdo_data-&amp;gt;* TO &amp;lt;gt_outtab_pbo&amp;gt;.
 
 
 
END-OF-SELECTION.
 
 
*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  FILL_CELLTAB
*&amp;amp;---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  --&amp;gt;  p1        text
*  &amp;lt;--  p2        text
*----------------------------------------------------------------------*
FORM fill_celltab .
* define local data
  DATA:
    ls_cell       TYPE lvc_s_styl,
    lt_celltab    TYPE lvc_t_styl.
 
 
  FIELD-SYMBOLS:
    &amp;lt;gs_struc&amp;gt;    TYPE ANY,
    &amp;lt;lt_celltab&amp;gt;  TYPE lvc_t_styl.
 
 
  " Create dummy entry for local CELLTAB
  ls_cell-fieldname = 'BUKRS'.
  ls_cell-style     = cl_gui_alv_grid=&amp;gt;mc_style_enabled.
  INSERT ls_cell INTO TABLE lt_celltab.
 
 
  LOOP AT &amp;lt;gt_outtab_pbo&amp;gt; ASSIGNING &amp;lt;gs_struc&amp;gt;.
    ASSIGN COMPONENT 'CELLTAB' OF STRUCTURE &amp;lt;gs_struc&amp;gt; TO &amp;lt;lt_celltab&amp;gt;.
 
    &amp;lt;lt_celltab&amp;gt; = lt_celltab.
 
    "   No MODIFY required because we are working with the field symbol
  ENDLOOP.
 
ENDFORM.                    " FILL_CELLTAB
 
*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  SHUFFLE_OUTTAB_TO_ITAB
*&amp;amp;---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  --&amp;gt;  p1        text
*  &amp;lt;--  p2        text
*----------------------------------------------------------------------*
FORM shuffle_outtab_to_itab .
 
  go_tdescr  = cl_abap_tabledescr=&amp;gt;create( go_sdescr_new ).
  CREATE DATA gdo_handle TYPE HANDLE go_tdescr.
  ASSIGN gdo_handle-&amp;gt;* TO &amp;lt;gt_itab_pbo&amp;gt;.
*
  go_tdescr  = cl_abap_tabledescr=&amp;gt;create( go_sdescr_new ).
  CREATE DATA gdo_handle TYPE HANDLE go_tdescr.
  ASSIGN gdo_handle-&amp;gt;* TO &amp;lt;gt_itab_pai&amp;gt;.
 
  LOOP AT &amp;lt;gt_outtab_pbo&amp;gt; ASSIGNING &amp;lt;gs_outtab&amp;gt;.
    ASSIGN COMPONENT 'DATA' OF STRUCTURE &amp;lt;gs_outtab&amp;gt; TO &amp;lt;gs_itab&amp;gt;.
    APPEND &amp;lt;gs_itab&amp;gt; TO &amp;lt;gt_itab_pbo&amp;gt;.
  ENDLOOP.
*
  LOOP AT &amp;lt;gt_outtab_pai&amp;gt; ASSIGNING &amp;lt;gs_outtab&amp;gt;.
    ASSIGN COMPONENT 'DATA' OF STRUCTURE &amp;lt;gs_outtab&amp;gt; TO &amp;lt;gs_itab&amp;gt;.
    APPEND &amp;lt;gs_itab&amp;gt; TO &amp;lt;gt_itab_pai&amp;gt;.
  ENDLOOP.
 
ENDFORM.                    " SHUFFLE_OUTTAB_TO_ITAB
 
 
*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  WRITE_LIST
*&amp;amp;---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  --&amp;gt;  p1        text
*  &amp;lt;--  p2        text
*----------------------------------------------------------------------*
FORM write_list .
 
  WRITE: / 'PBO data:'.
  LOOP AT &amp;lt;gt_itab_pbo&amp;gt; ASSIGNING &amp;lt;gs_itab&amp;gt;.
    WRITE: / 'Record No.=', syst-tabix, '==&amp;gt;'.
    DO.
      ASSIGN COMPONENT syst-index OF STRUCTURE &amp;lt;gs_itab&amp;gt; TO &amp;lt;gd_fld&amp;gt;.
      IF ( syst-subrc NE 0 ).
        EXIT.
      ENDIF.
 
      WRITE: &amp;lt;gd_fld&amp;gt;.
 
    ENDDO.
  ENDLOOP.
  SKIP 2.
 
  WRITE: / 'PAI data:'.
  LOOP AT &amp;lt;gt_itab_pai&amp;gt; ASSIGNING &amp;lt;gs_itab&amp;gt;.
    WRITE: / 'Record No.=', syst-tabix, '==&amp;gt;'.
    DO.
      ASSIGN COMPONENT syst-index OF STRUCTURE &amp;lt;gs_itab&amp;gt; TO &amp;lt;gd_fld&amp;gt;.
      IF ( syst-subrc NE 0 ).
        EXIT.
      ENDIF.
 
      WRITE: &amp;lt;gd_fld&amp;gt;.
 
    ENDDO.
  ENDLOOP.
 
ENDFORM.                    " WRITE_LIST&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;  Uwe&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 05 Jul 2007 13:10:35 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/error-program-quot-quot-not-found-while-creating-dynamic-table/m-p/2429214#M542938</guid>
      <dc:creator>uwe_schieferstein</dc:creator>
      <dc:date>2007-07-05T13:10:35Z</dc:date>
    </item>
    <item>
      <title>Re: error : Program " " not found. while creating Dynamic Table.</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/error-program-quot-quot-not-found-while-creating-dynamic-table/m-p/2429215#M542939</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hello Uwe Schieferstein  ,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;thank u so much, my problem is solved with ur code.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;regards,&lt;/P&gt;&lt;P&gt; naresh&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Message was edited by: &lt;/P&gt;&lt;P&gt;        naresh kumar&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 06 Jul 2007 04:25:10 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/error-program-quot-quot-not-found-while-creating-dynamic-table/m-p/2429215#M542939</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-07-06T04:25:10Z</dc:date>
    </item>
  </channel>
</rss>

