<?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: ALV-report problem in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-report-problem/m-p/3569319#M859059</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;THIS IS THE ORIGINAL REPORT.&lt;/P&gt;&lt;P&gt;The result screen for this third checkbox which I naed it as p_rental(rental contract list) when checked should have the following fields.&lt;/P&gt;&lt;P&gt;selections for result screen when p_rental checked.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;fksaf LIKE fplt-fksaf,&lt;/P&gt;&lt;P&gt;afdat LIKE fplt-afdat,&lt;/P&gt;&lt;P&gt;fakwr LIKE fplt-fakwr,&lt;/P&gt;&lt;P&gt;fkdat LIKE fplt-fkdat,&lt;/P&gt;&lt;P&gt;fpart LIKE fpla-fpart,&lt;/P&gt;&lt;P&gt;bedat LIKE fpla-bedat,&lt;/P&gt;&lt;P&gt;endat LIKE fpla-endat,&lt;/P&gt;&lt;P&gt;horiz LIKE fpla-horiz,&lt;/P&gt;&lt;P&gt;bezei LIKE tvlvt-bezei,&lt;/P&gt;&lt;P&gt;aufnr LIKE vbpa-aufnr,&lt;/P&gt;&lt;P&gt;vkaus LIKE vbpa-vkaus,&lt;/P&gt;&lt;P&gt;route LIKE vbpa-route,&lt;/P&gt;&lt;P&gt;vbeln LIKE vbak-vbeln,&lt;/P&gt;&lt;P&gt;vbeln LIKE vbak-vbeln,&lt;/P&gt;&lt;P&gt;erdat LIKE vbak-erdat,&lt;/P&gt;&lt;P&gt;ernam LIKE vbak-ernam,&lt;/P&gt;&lt;P&gt;guebg LIKE vbak-guebg,&lt;/P&gt;&lt;P&gt;gueen LIKE vbak-gueen,&lt;/P&gt;&lt;P&gt;auart LIKE vbak-auart,&lt;/P&gt;&lt;P&gt;kunnr LIKE vbak-kunnr,&lt;/P&gt;&lt;P&gt;pstyv LIKE vbap-pstyv,&lt;/P&gt;&lt;P&gt;matnr LIKE vbap-matnr,&lt;/P&gt;&lt;P&gt;werks LIKE vbap-werks.&lt;/P&gt;&lt;P&gt;nfdat LIKE fplt-nfdat&lt;/P&gt;&lt;P&gt;name1 LIKE kna1-name1,&lt;/P&gt;&lt;P&gt;oid_ship LIKE vbap-oid_ship,&lt;/P&gt;&lt;P&gt;kpein LIKE vbap-kpein,&lt;/P&gt;&lt;P&gt;kmein LIKE vbap-kmein,&lt;/P&gt;&lt;P&gt;netpr LIKE vbap-netpr,&lt;/P&gt;&lt;P&gt;kdmat LIKE vbap-kdmat,&lt;/P&gt;&lt;P&gt;posnr LIKE vbap-posnr,&lt;/P&gt;&lt;P&gt;matkl LIKE vbap-matkl,&lt;/P&gt;&lt;P&gt;kvgr4 LIKE vbak-kvgr4,&lt;/P&gt;&lt;P&gt;vkbur LIKE vbak-vkbur,&lt;/P&gt;&lt;P&gt;vkorg LIKE vbak-vkorg,&lt;/P&gt;&lt;P&gt;vtweg LIKE vbak-vtweg,&lt;/P&gt;&lt;P&gt;vbtyp LIKE vbak-vbtyp.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The existing report is as follows with the include program.Please help.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------------" /&gt;&lt;P&gt;***INCLUDE ZSD_CONTRACT_LIST_T01 .&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TABLES: vbak, vbap, wbrk, zsdsched.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPE-POOLS: slis.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;types: BEGIN OF ty_gt_report ,&lt;/P&gt;&lt;P&gt;vbeln LIKE vbak-vbeln, "Sales Document&lt;/P&gt;&lt;P&gt;posnr LIKE vbap-posnr, "Item&lt;/P&gt;&lt;P&gt;ernam LIKE vbak-ernam, "Created by&lt;/P&gt;&lt;P&gt;erdat LIKE vbak-erdat, "Created on&lt;/P&gt;&lt;P&gt;audat LIKE vbak-audat, "Document Date&lt;/P&gt;&lt;P&gt;vbtyp LIKE vbak-vbtyp, "SD document category&lt;/P&gt;&lt;P&gt;auart LIKE vbak-auart, "Sales Document type&lt;/P&gt;&lt;P&gt;vkorg LIKE vbak-vkorg, "Sales Org&lt;/P&gt;&lt;P&gt;vtweg LIKE vbak-vtweg, "Distribution Channel&lt;/P&gt;&lt;P&gt;spart LIKE vbak-spart, "Division&lt;/P&gt;&lt;P&gt;vkbur LIKE vbak-vkbur, "Sales Office&lt;/P&gt;&lt;P&gt;guebg LIKE vbak-guebg, "Valid from date&lt;/P&gt;&lt;P&gt;gueen LIKE vbak-gueen, "Valid to date&lt;/P&gt;&lt;P&gt;kunnr LIKE vbak-kunnr, "Sold-to party&lt;/P&gt;&lt;P&gt;kunnrt LIKE kna1-name1, "Sold-to Name&lt;/P&gt;&lt;P&gt;kvgr4 LIKE vbak-kvgr4, "Territory&lt;/P&gt;&lt;P&gt;matnr LIKE vbap-matnr, "Material&lt;/P&gt;&lt;P&gt;arktx LIKE vbap-arktx, "Material Short Text&lt;/P&gt;&lt;P&gt;charg LIKE vbap-charg, "Batch&lt;/P&gt;&lt;P&gt;matkl LIKE vbap-matkl, "Material Group&lt;/P&gt;&lt;P&gt;pstyv LIKE vbap-pstyv, "Item Category&lt;/P&gt;&lt;P&gt;zmeng LIKE vbap-zmeng, "Target Quantity&lt;/P&gt;&lt;P&gt;zieme LIKE vbap-zieme, "Target Unit&lt;/P&gt;&lt;P&gt;kdmat LIKE vbap-kdmat, "Customer Material Number&lt;/P&gt;&lt;P&gt;werks LIKE vbap-werks, "Plant&lt;/P&gt;&lt;P&gt;lgort LIKE vbap-lgort, "Storage Location&lt;/P&gt;&lt;P&gt;vstel LIKE vbap-vstel, "Shipping Point&lt;/P&gt;&lt;P&gt;route LIKE vbap-route, "Route&lt;/P&gt;&lt;P&gt;netpr LIKE vbap-netpr, "Net Price&lt;/P&gt;&lt;P&gt;kpein LIKE vbap-kpein, "Condition Price Unit&lt;/P&gt;&lt;P&gt;kmein LIKE vbap-kmein, "Condition Unit&lt;/P&gt;&lt;P&gt;shkzg LIKE vbap-shkzg, "Returns Item&lt;/P&gt;&lt;P&gt;oidrc LIKE vbap-oidrc, "DRC Code&lt;/P&gt;&lt;P&gt;kunwe LIKE vbap-oid_ship, "Ship-to&lt;/P&gt;&lt;P&gt;aufnr LIKE vbap-aufnr, "Order Number&lt;/P&gt;&lt;P&gt;vkaus LIKE vbap-vkaus, "Usage&lt;/P&gt;&lt;P&gt;kunwet LIKE kna1-name1, "Ship-to Name&lt;/P&gt;&lt;P&gt;zzwprofid LIKE vbap-zzwprofid, "Waste Profile ID&lt;/P&gt;&lt;P&gt;kunre LIKE wbrk-kunre, "Bill-to&lt;/P&gt;&lt;P&gt;kunret LIKE kna1-name1, "Bill-to Name&lt;/P&gt;&lt;P&gt;addl_schd LIKE icon-id, "Push Button For addl line&lt;/P&gt;&lt;P&gt;datab LIKE zsdsched-datab, "Valid-From Date&lt;/P&gt;&lt;P&gt;datbi LIKE zsdsched-datbi, "Valid To Date&lt;/P&gt;&lt;P&gt;zschdfreq LIKE zsdsched-zschdfreq, "Contract schedule frequency&lt;/P&gt;&lt;P&gt;frequency LIKE zsdsched-frequency, "Frequency&lt;/P&gt;&lt;P&gt;monday LIKE zsdsched-monday, "Mondays&lt;/P&gt;&lt;P&gt;tuesday LIKE zsdsched-tuesday, "Tuesdays&lt;/P&gt;&lt;P&gt;wednesday LIKE zsdsched-wednesday, "Wednesdays&lt;/P&gt;&lt;P&gt;thursday LIKE zsdsched-thursday, "Thursdays&lt;/P&gt;&lt;P&gt;friday LIKE zsdsched-friday, "Fridays&lt;/P&gt;&lt;P&gt;saturday LIKE zsdsched-saturday, "Saturdays&lt;/P&gt;&lt;P&gt;sunday LIKE zsdsched-sunday, "Sundays&lt;/P&gt;&lt;P&gt;dzieme LIKE zsdsched-dzieme, "Target quantity UoM&lt;/P&gt;&lt;P&gt;comments LIKE zsdsched-comments, "Comments&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;fksaf LIKE fplt-fksaf, "Billing status for the billing plan/invoice plan date &lt;/P&gt;&lt;P&gt;afdat LIKE fplt-afdat, "Billing date for billing index and printout &lt;/P&gt;&lt;P&gt;fplnr LIKE fplt-fplnr, "Billing plan number / invoicing plan number &lt;/P&gt;&lt;P&gt;END OF ty_gt_report,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;g_t_report type standard table of g_ty_report. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data: gt_report type g_t_report,&lt;/P&gt;&lt;P&gt;gs_report LIKE LINE OF gt_report,&lt;/P&gt;&lt;P&gt;gt_sched TYPE TABLE OF zsdsched,&lt;/P&gt;&lt;P&gt;gt_sched_tmp TYPE TABLE OF zsdsched,&lt;/P&gt;&lt;P&gt;gs_sched TYPE zsdsched,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;gt_sel LIKE gt_report OCCURS 0, &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;gt_vbpa TYPE TABLE OF vbpa,&lt;/P&gt;&lt;P&gt;gs_vbpa TYPE vbpa,&lt;/P&gt;&lt;P&gt;gv_auart TYPE auart,&lt;/P&gt;&lt;P&gt;gv_counter TYPE i.&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;ALV variables &lt;/P&gt;&lt;P&gt;DATA: ls_fieldcat TYPE slis_fieldcat_alv, "Field Catalog list&lt;/P&gt;&lt;P&gt;gt_fieldcat TYPE slis_t_fieldcat_alv, "Field Catalog&lt;/P&gt;&lt;P&gt;ls_sort TYPE slis_sortinfo_alv, "Sorting list&lt;/P&gt;&lt;P&gt;gt_sort TYPE slis_t_sortinfo_alv, "Sort&lt;/P&gt;&lt;P&gt;gs_layout TYPE slis_layout_alv, "List Layout&lt;/P&gt;&lt;P&gt;gs_variant TYPE disvariant, "Display Variant&lt;/P&gt;&lt;P&gt;gv_repid LIKE sy-repid,&lt;/P&gt;&lt;P&gt;gv_save(1) TYPE c,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;gv_exit(1) TYPE c.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CONSTANTS: gc_a TYPE c VALUE 'A',&lt;/P&gt;&lt;P&gt;gc_g TYPE c VALUE 'G',&lt;/P&gt;&lt;P&gt;gc_re(2) TYPE c VALUE 'RE'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Screen-control Variables &lt;/P&gt;&lt;P&gt;CONTROLS:&lt;/P&gt;&lt;P&gt;tctrl_sched TYPE TABLEVIEW USING SCREEN 1010. " Schedule lines.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&amp;amp; Report ZSD_CONTRACT_LIST&lt;/P&gt;&lt;P&gt;*&amp;amp;&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&amp;amp; Created on: January 21, 2007&lt;/P&gt;&lt;P&gt;*&amp;amp; Description: List of Contracts - ALV&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;REPORT zsd_contract_list.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;INCLUDE zsd_contract_list_t01.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="-------------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Selection Screen &lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="-------------------------------------------------------------------" /&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF BLOCK m1 WITH FRAME TITLE text-t01.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-t02.&lt;/P&gt;&lt;P&gt;SELECT-OPTIONS: s_vkorg FOR vbak-vkorg MEMORY ID vko,&lt;/P&gt;&lt;P&gt;s_vtweg FOR vbak-vtweg MEMORY ID vtw,&lt;/P&gt;&lt;P&gt;s_spart FOR vbak-spart MEMORY ID spa,&lt;/P&gt;&lt;P&gt;s_vkbur FOR vbak-vkbur MEMORY ID vkb.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN SKIP 1.&lt;/P&gt;&lt;P&gt;SELECT-OPTIONS: s_vbeln FOR vbak-vbeln,&lt;/P&gt;&lt;P&gt;s_erdat FOR vbak-erdat,&lt;/P&gt;&lt;P&gt;s_ernam FOR vbak-ernam,&lt;/P&gt;&lt;P&gt;s_guebg FOR vbak-guebg,&lt;/P&gt;&lt;P&gt;s_gueen FOR vbak-gueen,&lt;/P&gt;&lt;P&gt;s_auart FOR gv_auart MEMORY ID vta&lt;/P&gt;&lt;P&gt;MATCHCODE OBJECT h_vakz.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN SKIP 1.&lt;/P&gt;&lt;P&gt;SELECT-OPTIONS:&lt;/P&gt;&lt;P&gt;s_kunnr FOR vbak-kunnr,&lt;/P&gt;&lt;P&gt;s_kunwe FOR vbap-oid_ship,&lt;/P&gt;&lt;P&gt;s_kunre FOR wbrk-kunre.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK b1.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME TITLE text-t03.&lt;/P&gt;&lt;P&gt;SELECT-OPTIONS: s_werks FOR vbap-werks MEMORY ID wrk,&lt;/P&gt;&lt;P&gt;s_lgort FOR vbap-lgort MEMORY ID lag,&lt;/P&gt;&lt;P&gt;s_vstel FOR vbap-vstel MEMORY ID vst,&lt;/P&gt;&lt;P&gt;s_route for vbap-route,&lt;/P&gt;&lt;P&gt;s_matnr FOR vbap-matnr.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK b2.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF BLOCK b3 WITH FRAME TITLE text-t04.&lt;/P&gt;&lt;P&gt;PARAMETERS: p_varia TYPE disvariant-variant MEMORY ID wrk,&lt;/P&gt;&lt;P&gt;p_all AS CHECKBOX DEFAULT 'X',&lt;/P&gt;&lt;P&gt;p_group AS CHECKBOX DEFAULT 'X'.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK b3.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK m1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&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;-&lt;/P&gt;&lt;HR originaltext="-------------------------------------------------------------------" /&gt;&lt;P&gt;START-OF-SELECTION.&lt;/P&gt;&lt;P&gt;PERFORM get_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="-------------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Display ALV &lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="-------------------------------------------------------------------" /&gt;&lt;P&gt;END-OF-SELECTION.&lt;/P&gt;&lt;P&gt;IF gt_report[] IS INITIAL.&lt;/P&gt;&lt;P&gt;MESSAGE s419(brain).&lt;/P&gt;&lt;P&gt;ELSE.&lt;/P&gt;&lt;P&gt;PERFORM create_alv.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN ON VALUE-REQUEST * &lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------------" /&gt;&lt;P&gt;AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_varia.&lt;/P&gt;&lt;P&gt;PERFORM f01_f4_variant CHANGING p_varia.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&amp;amp; Form get_data&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;text &lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------------" /&gt;&lt;P&gt;FORM get_data .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Select the appropriate contract data. &lt;/P&gt;&lt;P&gt;SELECT a~vbeln a~erdat a~ernam a~audat a~vbtyp a~auart a~vkorg&lt;/P&gt;&lt;P&gt;a~vtweg a~spart a~vkbur a~guebg a~gueen a~kunnr a~kvgr4&lt;/P&gt;&lt;P&gt;b~posnr b~matnr b~charg b~matkl b~arktx b~pstyv b~zmeng&lt;/P&gt;&lt;P&gt;b~zieme b~kdmat b~werks b~lgort b~vstel b~netpr b~kpein&lt;/P&gt;&lt;P&gt;b~kmein b~shkzg b~oid_extbol b~oid_miscdl b~oidrc b~oid_ship AS kunwe&lt;/P&gt;&lt;P&gt;b~zzwprofid c~datbi c~datab b~route&lt;/P&gt;&lt;P&gt;INTO CORRESPONDING FIELDS OF TABLE gt_sel&lt;/P&gt;&lt;P&gt;FROM vbak AS a&lt;/P&gt;&lt;P&gt;INNER JOIN vbap AS b ON a~vbeln = b~vbeln&lt;/P&gt;&lt;P&gt;LEFT OUTER JOIN zsdsched AS c ON b~vbeln = c~vbeln AND&lt;/P&gt;&lt;P&gt;b~posnr = c~posnr&lt;/P&gt;&lt;P&gt;WHERE a~vbeln IN s_vbeln&lt;/P&gt;&lt;P&gt;AND a~erdat IN s_erdat&lt;/P&gt;&lt;P&gt;AND a~vbtyp = gc_g&lt;/P&gt;&lt;P&gt;AND a~ernam IN s_ernam&lt;/P&gt;&lt;P&gt;AND a~vkorg IN s_vkorg&lt;/P&gt;&lt;P&gt;AND a~vtweg IN s_vtweg&lt;/P&gt;&lt;P&gt;AND a~spart IN s_spart&lt;/P&gt;&lt;P&gt;AND a~vkbur IN s_vkbur&lt;/P&gt;&lt;P&gt;AND a~guebg IN s_guebg&lt;/P&gt;&lt;P&gt;AND a~gueen IN s_gueen&lt;/P&gt;&lt;P&gt;AND a~auart IN s_auart&lt;/P&gt;&lt;P&gt;AND a~kunnr IN s_kunnr&lt;/P&gt;&lt;P&gt;AND b~oid_ship IN s_kunwe&lt;/P&gt;&lt;P&gt;AND b~werks IN s_werks&lt;/P&gt;&lt;P&gt;AND b~lgort IN s_lgort&lt;/P&gt;&lt;P&gt;AND b~vstel IN s_vstel&lt;/P&gt;&lt;P&gt;and b~route in s_route&lt;/P&gt;&lt;P&gt;AND b~matnr IN s_matnr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SORT gt_sel.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF NOT gt_sel[] IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Get Bill-to Party's for Item Lines &lt;/P&gt;&lt;P&gt;SELECT vbeln posnr parvw kunnr INTO CORRESPONDING FIELDS OF TABLE gt_vbpa&lt;/P&gt;&lt;P&gt;FROM vbpa&lt;/P&gt;&lt;P&gt;FOR ALL ENTRIES IN gt_sel&lt;/P&gt;&lt;P&gt;WHERE vbeln = gt_sel-vbeln&lt;/P&gt;&lt;P&gt;AND parvw = gc_re.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Select the remaining records from the ZSDSCHED Table. &lt;/P&gt;&lt;P&gt;SELECT * FROM zsdsched&lt;/P&gt;&lt;P&gt;INTO TABLE gt_sched&lt;/P&gt;&lt;P&gt;FOR ALL ENTRIES IN gt_sel&lt;/P&gt;&lt;P&gt;WHERE vbeln = gt_sel-vbeln&lt;/P&gt;&lt;P&gt;AND posnr = gt_sel-posnr.&lt;/P&gt;&lt;P&gt;SORT gt_sched.&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;Loop through captured data for additional information &lt;/P&gt;&lt;P&gt;LOOP AT gt_sel INTO gs_report.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Find the bill-to party &lt;/P&gt;&lt;P&gt;READ TABLE gt_vbpa INTO gs_vbpa WITH KEY vbeln = gs_report-vbeln&lt;/P&gt;&lt;P&gt;posnr = gs_report-posnr&lt;/P&gt;&lt;P&gt;parvw = gc_re.&lt;/P&gt;&lt;P&gt;IF sy-subrc 0.&lt;/P&gt;&lt;P&gt;READ TABLE gt_vbpa INTO gs_vbpa WITH KEY vbeln = gs_report-vbeln&lt;/P&gt;&lt;P&gt;parvw = gc_re.&lt;/P&gt;&lt;P&gt;CHECK sy-subrc = 0 AND gs_vbpa-kunnr IN s_kunre.&lt;/P&gt;&lt;P&gt;ELSE.&lt;/P&gt;&lt;P&gt;CHECK gs_vbpa-kunnr IN s_kunre.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;gs_report-kunre = gs_vbpa-kunnr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Get the Customer's Name &lt;/P&gt;&lt;P&gt;gs_report-kunnrt = zcl_kna1=&amp;gt;get_name1( itp_kunnr = gs_report-kunnr ).&lt;/P&gt;&lt;P&gt;gs_report-kunwet = zcl_kna1=&amp;gt;get_name1( itp_kunnr = gs_report-kunwe ).&lt;/P&gt;&lt;P&gt;gs_report-kunret = zcl_kna1=&amp;gt;get_name1( itp_kunnr = gs_report-kunre ).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Get the scheduling lines for the item line. &lt;/P&gt;&lt;P&gt;CLEAR gv_counter.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF NOT p_group IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If we are grouping the lines add the icon button. &lt;/P&gt;&lt;P&gt;LOOP AT gt_sched INTO gs_sched WHERE vbeln = gs_report-vbeln&lt;/P&gt;&lt;P&gt;AND posnr = gs_report-posnr.&lt;/P&gt;&lt;P&gt;IF gv_counter &amp;gt; 0.&lt;/P&gt;&lt;P&gt;gs_report-addl_schd = '@1E@'.&lt;/P&gt;&lt;P&gt;CONTINUE.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;MOVE-CORRESPONDING gs_sched TO gs_report.&lt;/P&gt;&lt;P&gt;ADD 1 TO gv_counter.&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;P&gt;ELSE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Otherwise get the rest of the schedule information &lt;/P&gt;&lt;P&gt;READ TABLE gt_sched INTO gs_sched&lt;/P&gt;&lt;P&gt;WITH KEY vbeln = gs_report-vbeln&lt;/P&gt;&lt;P&gt;posnr = gs_report-posnr&lt;/P&gt;&lt;P&gt;datbi = gs_report-datbi&lt;/P&gt;&lt;P&gt;datab = gs_report-datab.&lt;/P&gt;&lt;P&gt;IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;MOVE-CORRESPONDING gs_sched TO gs_report.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;APPEND gs_report TO gt_report.&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;Remove any duplicates from the reporting table &lt;/P&gt;&lt;P&gt;DELETE ADJACENT DUPLICATES FROM gt_report.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If Show all records is initial, delete non-scheduled lines (ex. Sub-items) &lt;/P&gt;&lt;P&gt;IF p_all IS INITIAL.&lt;/P&gt;&lt;P&gt;DELETE gt_report WHERE datbi = 0&lt;/P&gt;&lt;P&gt;AND datab = 0.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. " get_data&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&amp;amp; Form create_alv&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;text &lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------------" /&gt;&lt;P&gt;FORM create_alv .&lt;/P&gt;&lt;P&gt;PERFORM initialize_fieldcat USING gt_fieldcat[].&lt;/P&gt;&lt;P&gt;PERFORM populate_layout CHANGING gs_layout&lt;/P&gt;&lt;P&gt;gs_variant.&lt;/P&gt;&lt;P&gt;PERFORM populate_sort USING gt_sort[].&lt;/P&gt;&lt;P&gt;PERFORM display_alv_report.&lt;/P&gt;&lt;P&gt;ENDFORM. " create_alv&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&amp;amp; Form initialize_fieldcat&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Get and enhance the field catalog data &lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;--&amp;gt;L_FIELDCAT[] text &lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------------" /&gt;&lt;P&gt;FORM initialize_fieldcat USING l_fieldcat TYPE slis_t_fieldcat_alv.&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 = 'ZSD_CONTRACT_LIST'&lt;/P&gt;&lt;P&gt;i_internal_tabname = 'GT_REPORT'&lt;/P&gt;&lt;P&gt;i_inclname = 'ZSD_CONTRACT_LIST_T01'&lt;/P&gt;&lt;P&gt;CHANGING&lt;/P&gt;&lt;P&gt;ct_fieldcat = l_fieldcat&lt;/P&gt;&lt;P&gt;EXCEPTIONS&lt;/P&gt;&lt;P&gt;inconsistent_interface = 1&lt;/P&gt;&lt;P&gt;program_error = 2&lt;/P&gt;&lt;P&gt;OTHERS = 3.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;READ TABLE l_fieldcat INTO ls_fieldcat WITH KEY fieldname = 'VBELN'.&lt;/P&gt;&lt;P&gt;ls_fieldcat-seltext_m = ls_fieldcat-seltext_l = 'Contract'.&lt;/P&gt;&lt;P&gt;ls_fieldcat-hotspot = 'X'.&lt;/P&gt;&lt;P&gt;MODIFY l_fieldcat FROM ls_fieldcat INDEX sy-tabix.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;READ TABLE l_fieldcat INTO ls_fieldcat WITH KEY fieldname = 'KUNNRT'.&lt;/P&gt;&lt;P&gt;ls_fieldcat-seltext_s =&lt;/P&gt;&lt;P&gt;ls_fieldcat-seltext_m = ls_fieldcat-seltext_l = 'Sold-to Name'.&lt;/P&gt;&lt;P&gt;MODIFY l_fieldcat FROM ls_fieldcat INDEX sy-tabix.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;READ TABLE l_fieldcat INTO ls_fieldcat WITH KEY fieldname = 'KUNWET'.&lt;/P&gt;&lt;P&gt;ls_fieldcat-seltext_s =&lt;/P&gt;&lt;P&gt;ls_fieldcat-seltext_m = ls_fieldcat-seltext_l = 'Ship-to Name'.&lt;/P&gt;&lt;P&gt;MODIFY l_fieldcat FROM ls_fieldcat INDEX sy-tabix.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;READ TABLE l_fieldcat INTO ls_fieldcat WITH KEY fieldname = 'KUNRET'.&lt;/P&gt;&lt;P&gt;ls_fieldcat-seltext_s =&lt;/P&gt;&lt;P&gt;ls_fieldcat-seltext_m = ls_fieldcat-seltext_l = 'Bill-to Name'.&lt;/P&gt;&lt;P&gt;MODIFY l_fieldcat FROM ls_fieldcat INDEX sy-tabix.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;READ TABLE l_fieldcat INTO ls_fieldcat WITH KEY fieldname = 'ADDL_SCHD'.&lt;/P&gt;&lt;P&gt;IF NOT p_group IS INITIAL.&lt;/P&gt;&lt;P&gt;ls_fieldcat-seltext_s = 'Schd'.&lt;/P&gt;&lt;P&gt;ls_fieldcat-seltext_m = ls_fieldcat-seltext_l = 'Additional Scheduling Lines'.&lt;/P&gt;&lt;P&gt;ls_fieldcat-icon = 'X'.&lt;/P&gt;&lt;P&gt;CLEAR: ls_fieldcat-key,&lt;/P&gt;&lt;P&gt;ls_fieldcat-ref_fieldname,&lt;/P&gt;&lt;P&gt;ls_fieldcat-ref_tabname,&lt;/P&gt;&lt;P&gt;ls_fieldcat-reptext_ddic,&lt;/P&gt;&lt;P&gt;ls_fieldcat-ddic_outputlen.&lt;/P&gt;&lt;P&gt;ls_fieldcat-hotspot = 'X'.&lt;/P&gt;&lt;P&gt;MODIFY l_fieldcat FROM ls_fieldcat INDEX sy-tabix.&lt;/P&gt;&lt;P&gt;ELSE.&lt;/P&gt;&lt;P&gt;DELETE l_fieldcat INDEX sy-tabix.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;READ TABLE l_fieldcat INTO ls_fieldcat WITH KEY fieldname = 'DATAB'.&lt;/P&gt;&lt;P&gt;ls_fieldcat-seltext_s = 'Schd From'.&lt;/P&gt;&lt;P&gt;ls_fieldcat-seltext_m = ls_fieldcat-seltext_l = 'Sched. From Date'.&lt;/P&gt;&lt;P&gt;CLEAR: ls_fieldcat-key.&lt;/P&gt;&lt;P&gt;MODIFY l_fieldcat FROM ls_fieldcat INDEX sy-tabix.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;READ TABLE l_fieldcat INTO ls_fieldcat WITH KEY fieldname = 'DATBI'.&lt;/P&gt;&lt;P&gt;ls_fieldcat-seltext_s = 'Schd To'.&lt;/P&gt;&lt;P&gt;ls_fieldcat-seltext_m = ls_fieldcat-seltext_l = 'Sched. To Date'.&lt;/P&gt;&lt;P&gt;CLEAR: ls_fieldcat-key.&lt;/P&gt;&lt;P&gt;MODIFY l_fieldcat FROM ls_fieldcat INDEX sy-tabix.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. " initialize_fieldcat&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&amp;amp; Form populate_layout&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;text &lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;lt;--GS_LAYOUT &lt;/P&gt;&lt;P&gt;&amp;lt;--GS_VARIANT &lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------------" /&gt;&lt;P&gt;FORM populate_layout CHANGING gs_layout TYPE slis_layout_alv&lt;/P&gt;&lt;P&gt;gs_variant TYPE disvariant.&lt;/P&gt;&lt;P&gt;gs_layout-colwidth_optimize = 'X'.&lt;/P&gt;&lt;P&gt;gs_layout-allow_switch_to_list = 'X'.&lt;/P&gt;&lt;P&gt;gs_layout-zebra = 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;gs_variant-report = sy-repid.&lt;/P&gt;&lt;P&gt;ENDFORM. " populate_layout&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&amp;amp; Form populate_sort&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;text &lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;--&amp;gt;l_SORT[] text &lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------------" /&gt;&lt;P&gt;FORM populate_sort USING l_sort TYPE slis_t_sortinfo_alv.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. " populate_sort&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&amp;amp; Form display_alv_report&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------------" /&gt;&lt;P&gt;FORM display_alv_report .&lt;/P&gt;&lt;P&gt;gv_repid = sy-repid.&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;&lt;/P&gt;&lt;P&gt;I_INTERFACE_CHECK = ' ' &lt;/P&gt;&lt;P&gt;I_BYPASSING_BUFFER = &lt;/P&gt;&lt;P&gt;I_BUFFER_ACTIVE = ' ' &lt;/P&gt;&lt;P&gt;i_callback_program = gv_repid&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I_CALLBACK_PF_STATUS_SET = ' ' &lt;/P&gt;&lt;P&gt;i_callback_user_command = 'USER_COMMAND'&lt;/P&gt;&lt;P&gt;i_structure_name = 'gt_report'&lt;/P&gt;&lt;P&gt;is_layout = gs_layout&lt;/P&gt;&lt;P&gt;it_fieldcat = gt_fieldcat&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IT_EXCLUDING = &lt;/P&gt;&lt;P&gt;IT_SPECIAL_GROUPS = &lt;/P&gt;&lt;P&gt;it_sort = gt_sort&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IT_FILTER = &lt;/P&gt;&lt;P&gt;IS_SEL_HIDE = &lt;/P&gt;&lt;P&gt;i_default = 'X'&lt;/P&gt;&lt;P&gt;i_save = gc_a&lt;/P&gt;&lt;P&gt;is_variant = gs_variant&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IT_EVENTS = &lt;/P&gt;&lt;P&gt;IT_EVENT_EXIT = &lt;/P&gt;&lt;P&gt;IS_PRINT = &lt;/P&gt;&lt;P&gt;IS_REPREP_ID = &lt;/P&gt;&lt;P&gt;I_SCREEN_START_COLUMN = 0 &lt;/P&gt;&lt;P&gt;I_SCREEN_START_LINE = 0 &lt;/P&gt;&lt;P&gt;I_SCREEN_END_COLUMN = 0 &lt;/P&gt;&lt;P&gt;I_SCREEN_END_LINE = 0 &lt;/P&gt;&lt;P&gt;IMPORTING &lt;/P&gt;&lt;P&gt;E_EXIT_CAUSED_BY_CALLER = &lt;/P&gt;&lt;P&gt;ES_EXIT_CAUSED_BY_USER = &lt;/P&gt;&lt;P&gt;TABLES&lt;/P&gt;&lt;P&gt;t_outtab = gt_report&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;IF sy-subrc 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;ENDFORM. " display_alv_report&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&amp;amp; Form f01_f4_variant&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Get the Layout variant for the user. &lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------------" /&gt;&lt;P&gt;FORM f01_f4_variant CHANGING c_variant TYPE disvariant-variant.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: ls_variant TYPE disvariant,&lt;/P&gt;&lt;P&gt;l_exit TYPE char1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ls_variant-report = sy-repid.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'REUSE_ALV_VARIANT_F4'&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;is_variant = ls_variant&lt;/P&gt;&lt;P&gt;i_save = 'A'&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;it_default_fieldcat = &lt;/P&gt;&lt;P&gt;IMPORTING&lt;/P&gt;&lt;P&gt;e_exit = l_exit&lt;/P&gt;&lt;P&gt;es_variant = ls_variant&lt;/P&gt;&lt;P&gt;EXCEPTIONS&lt;/P&gt;&lt;P&gt;not_found = 2.&lt;/P&gt;&lt;P&gt;IF sy-subrc = 2.&lt;/P&gt;&lt;P&gt;MESSAGE ID sy-msgid TYPE 'S' NUMBER sy-msgno&lt;/P&gt;&lt;P&gt;WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.&lt;/P&gt;&lt;P&gt;ELSE.&lt;/P&gt;&lt;P&gt;IF l_exit EQ space.&lt;/P&gt;&lt;P&gt;c_variant = ls_variant-variant.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. " f01_f4_variant&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM USER_COMMAND * &lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;--&amp;gt; R_UCOMM * &lt;/P&gt;&lt;P&gt;--&amp;gt; RS_SELFIELD * &lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;FORM user_command USING r_ucomm LIKE sy-ucomm&lt;/P&gt;&lt;P&gt;rs_selfield TYPE slis_selfield.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Check function code &lt;/P&gt;&lt;P&gt;CASE r_ucomm.&lt;/P&gt;&lt;P&gt;WHEN '&amp;amp;IC1'.&lt;/P&gt;&lt;P&gt;READ TABLE gt_report INTO gs_report INDEX rs_selfield-tabindex.&lt;/P&gt;&lt;P&gt;CHECK sy-subrc = 0.&lt;/P&gt;&lt;P&gt;CASE rs_selfield-fieldname.&lt;/P&gt;&lt;P&gt;WHEN 'VBELN'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Set parameter ID for transaction screen field &lt;/P&gt;&lt;P&gt;CHECK NOT gs_report-vbeln IS INITIAL.&lt;/P&gt;&lt;P&gt;SET PARAMETER ID 'KTN' FIELD gs_report-vbeln.&lt;/P&gt;&lt;P&gt;CALL TRANSACTION 'VA43' AND SKIP FIRST SCREEN.&lt;/P&gt;&lt;P&gt;WHEN 'ADDL_SCHD'.&lt;/P&gt;&lt;P&gt;CHECK NOT gs_report-addl_schd IS INITIAL.&lt;/P&gt;&lt;P&gt;REFRESH gt_sched_tmp.&lt;/P&gt;&lt;P&gt;LOOP AT gt_sched INTO gs_sched&lt;/P&gt;&lt;P&gt;WHERE vbeln = gs_report-vbeln&lt;/P&gt;&lt;P&gt;AND posnr = gs_report-posnr.&lt;/P&gt;&lt;P&gt;APPEND gs_sched TO gt_sched_tmp.&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;P&gt;CHECK sy-subrc = 0.&lt;/P&gt;&lt;P&gt;CALL SCREEN '1010' STARTING AT 5 5.&lt;/P&gt;&lt;P&gt;ENDCASE.&lt;/P&gt;&lt;P&gt;ENDCASE.&lt;/P&gt;&lt;P&gt;ENDFORM. "user_command&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&amp;amp; Module STATUS_1010 OUTPUT&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;text &lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------------" /&gt;&lt;P&gt;MODULE status_1010 OUTPUT.&lt;/P&gt;&lt;P&gt;SET PF-STATUS 'MAIN_1010'.&lt;/P&gt;&lt;P&gt;SET TITLEBAR '1010' WITH gs_report-vbeln gs_report-posnr.&lt;/P&gt;&lt;P&gt;ENDMODULE. " STATUS_1010 OUTPUT&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&amp;amp; Module USER_COMMAND_1010 INPUT&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="----------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;text &lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------------" /&gt;&lt;P&gt;MODULE user_command_1010 INPUT.&lt;/P&gt;&lt;P&gt;CASE sy-ucomm.&lt;/P&gt;&lt;P&gt;WHEN 'BACK' OR 'CANC'.&lt;/P&gt;&lt;P&gt;LEAVE TO SCREEN 0.&lt;/P&gt;&lt;P&gt;ENDCASE.&lt;/P&gt;&lt;P&gt;ENDMODULE. " USER_COMMAND_1010 INPUT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Please help &lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 25 Mar 2008 16:56:36 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2008-03-25T16:56:36Z</dc:date>
    <item>
      <title>ALV-report problem</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-report-problem/m-p/3569308#M859048</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi freinds if you could solve my this problem I will be highly grateful to you all as its very important and I have missed the deadline already but in vain.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I got this report which shows the non-schedeuled line items and group schedule line items on check of a checkbox. With the existing functionality I have to add a third option of checkbox which when clicked shows a diffrent result screen froma different selection. I tried but its not happeneing. Pls help.&lt;/P&gt;&lt;P&gt;The result screen for this third checkbox which I naed it as p_rental(rental contract list) when checked should have the following fields.&lt;/P&gt;&lt;P&gt;selections for result screen  when p_rental checked.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    fksaf     LIKE fplt-fksaf,&lt;/P&gt;&lt;P&gt;    afdat     LIKE fplt-afdat,&lt;/P&gt;&lt;P&gt;    fakwr     LIKE fplt-fakwr,&lt;/P&gt;&lt;P&gt;    fkdat     LIKE fplt-fkdat,&lt;/P&gt;&lt;P&gt;    fpart     LIKE fpla-fpart,&lt;/P&gt;&lt;P&gt;    bedat     LIKE fpla-bedat,&lt;/P&gt;&lt;P&gt;    endat     LIKE fpla-endat,&lt;/P&gt;&lt;P&gt;    horiz     LIKE fpla-horiz,&lt;/P&gt;&lt;P&gt;    bezei     LIKE tvlvt-bezei,&lt;/P&gt;&lt;P&gt;    aufnr     LIKE vbpa-aufnr,&lt;/P&gt;&lt;P&gt;    vkaus     LIKE vbpa-vkaus,&lt;/P&gt;&lt;P&gt;    route     LIKE vbpa-route,&lt;/P&gt;&lt;P&gt;    vbeln     LIKE vbak-vbeln,&lt;/P&gt;&lt;P&gt;    vbeln     LIKE vbak-vbeln,&lt;/P&gt;&lt;P&gt;    erdat     LIKE vbak-erdat,&lt;/P&gt;&lt;P&gt;    ernam     LIKE vbak-ernam,&lt;/P&gt;&lt;P&gt;    guebg     LIKE vbak-guebg,&lt;/P&gt;&lt;P&gt;    gueen     LIKE vbak-gueen,&lt;/P&gt;&lt;P&gt;    auart     LIKE vbak-auart,&lt;/P&gt;&lt;P&gt;    kunnr     LIKE vbak-kunnr,&lt;/P&gt;&lt;P&gt;    pstyv     LIKE vbap-pstyv,&lt;/P&gt;&lt;P&gt;    matnr     LIKE vbap-matnr,&lt;/P&gt;&lt;P&gt;    werks     LIKE vbap-werks.&lt;/P&gt;&lt;P&gt;    nfdat   LIKE fplt-nfdat&lt;/P&gt;&lt;P&gt;    name1    LIKE kna1-name1,&lt;/P&gt;&lt;P&gt;    oid_ship   LIKE vbap-oid_ship,&lt;/P&gt;&lt;P&gt;    kpein   LIKE vbap-kpein,&lt;/P&gt;&lt;P&gt;    kmein   LIKE vbap-kmein,&lt;/P&gt;&lt;P&gt;    netpr   LIKE vbap-netpr,&lt;/P&gt;&lt;P&gt;    kdmat   LIKE vbap-kdmat,&lt;/P&gt;&lt;P&gt;    posnr   LIKE vbap-posnr,&lt;/P&gt;&lt;P&gt;    matkl   LIKE vbap-matkl,&lt;/P&gt;&lt;P&gt;    kvgr4   LIKE vbak-kvgr4,&lt;/P&gt;&lt;P&gt;    vkbur   LIKE vbak-vkbur,&lt;/P&gt;&lt;P&gt;    vkorg   LIKE vbak-vkorg,&lt;/P&gt;&lt;P&gt;    vtweg   LIKE vbak-vtweg,&lt;/P&gt;&lt;P&gt;    vbtyp   LIKE vbak-vbtyp.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The existing report is as follows with the include program.Please help.&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;***INCLUDE ZSD_CONTRACT_LIST_T01 .&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;&lt;/P&gt;&lt;P&gt;TABLES: vbak, vbap, wbrk, zsdsched.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPE-POOLS: slis.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;types: BEGIN OF ty_gt_report ,&lt;/P&gt;&lt;P&gt;    vbeln LIKE vbak-vbeln,              "Sales Document&lt;/P&gt;&lt;P&gt;    posnr LIKE vbap-posnr,              "Item&lt;/P&gt;&lt;P&gt;    ernam LIKE vbak-ernam,              "Created by&lt;/P&gt;&lt;P&gt;    erdat LIKE vbak-erdat,              "Created on&lt;/P&gt;&lt;P&gt;    audat LIKE vbak-audat,              "Document Date&lt;/P&gt;&lt;P&gt;    vbtyp LIKE vbak-vbtyp,              "SD document category&lt;/P&gt;&lt;P&gt;    auart LIKE vbak-auart,              "Sales Document type&lt;/P&gt;&lt;P&gt;    vkorg LIKE vbak-vkorg,              "Sales Org&lt;/P&gt;&lt;P&gt;    vtweg LIKE vbak-vtweg,              "Distribution Channel&lt;/P&gt;&lt;P&gt;    spart LIKE vbak-spart,              "Division&lt;/P&gt;&lt;P&gt;    vkbur LIKE vbak-vkbur,              "Sales Office&lt;/P&gt;&lt;P&gt;    guebg LIKE vbak-guebg,              "Valid from date&lt;/P&gt;&lt;P&gt;    gueen LIKE vbak-gueen,              "Valid to date&lt;/P&gt;&lt;P&gt;    kunnr LIKE vbak-kunnr,              "Sold-to party&lt;/P&gt;&lt;P&gt;    kunnrt LIKE kna1-name1,             "Sold-to Name&lt;/P&gt;&lt;P&gt;    kvgr4 LIKE vbak-kvgr4,              "Territory&lt;/P&gt;&lt;P&gt;    matnr LIKE vbap-matnr,              "Material&lt;/P&gt;&lt;P&gt;    arktx LIKE vbap-arktx,              "Material Short Text&lt;/P&gt;&lt;P&gt;    charg LIKE vbap-charg,              "Batch&lt;/P&gt;&lt;P&gt;    matkl LIKE vbap-matkl,              "Material Group&lt;/P&gt;&lt;P&gt;    pstyv LIKE vbap-pstyv,              "Item Category&lt;/P&gt;&lt;P&gt;    zmeng LIKE vbap-zmeng,              "Target Quantity&lt;/P&gt;&lt;P&gt;    zieme LIKE vbap-zieme,              "Target Unit&lt;/P&gt;&lt;P&gt;    kdmat LIKE vbap-kdmat,              "Customer Material Number&lt;/P&gt;&lt;P&gt;    werks LIKE vbap-werks,              "Plant&lt;/P&gt;&lt;P&gt;    lgort LIKE vbap-lgort,              "Storage Location&lt;/P&gt;&lt;P&gt;    vstel LIKE vbap-vstel,              "Shipping Point&lt;/P&gt;&lt;P&gt;    route LIKE vbap-route,              "Route&lt;/P&gt;&lt;P&gt;    netpr LIKE vbap-netpr,              "Net Price&lt;/P&gt;&lt;P&gt;    kpein LIKE vbap-kpein,              "Condition Price Unit&lt;/P&gt;&lt;P&gt;    kmein LIKE vbap-kmein,              "Condition Unit&lt;/P&gt;&lt;P&gt;    shkzg LIKE vbap-shkzg,              "Returns Item&lt;/P&gt;&lt;P&gt;    oidrc LIKE vbap-oidrc,              "DRC Code&lt;/P&gt;&lt;P&gt;    kunwe LIKE vbap-oid_ship,           "Ship-to&lt;/P&gt;&lt;P&gt;    aufnr LIKE vbap-aufnr,              "Order Number&lt;/P&gt;&lt;P&gt;    vkaus LIKE vbap-vkaus,              "Usage&lt;/P&gt;&lt;P&gt;    kunwet    LIKE kna1-name1,          "Ship-to Name&lt;/P&gt;&lt;P&gt;    zzwprofid LIKE vbap-zzwprofid,      "Waste Profile ID&lt;/P&gt;&lt;P&gt;    kunre     LIKE wbrk-kunre,          "Bill-to&lt;/P&gt;&lt;P&gt;    kunret    LIKE kna1-name1,          "Bill-to Name&lt;/P&gt;&lt;P&gt;    addl_schd LIKE icon-id,             "Push Button For addl line&lt;/P&gt;&lt;P&gt;    datab     LIKE zsdsched-datab,      "Valid-From Date&lt;/P&gt;&lt;P&gt;    datbi     LIKE zsdsched-datbi,     "Valid To Date&lt;/P&gt;&lt;P&gt;    zschdfreq  LIKE zsdsched-zschdfreq, "Contract schedule frequency&lt;/P&gt;&lt;P&gt;    frequency  LIKE zsdsched-frequency, "Frequency&lt;/P&gt;&lt;P&gt;    monday    LIKE zsdsched-monday,     "Mondays&lt;/P&gt;&lt;P&gt;    tuesday   LIKE zsdsched-tuesday,    "Tuesdays&lt;/P&gt;&lt;P&gt;    wednesday  LIKE zsdsched-wednesday, "Wednesdays&lt;/P&gt;&lt;P&gt;    thursday  LIKE zsdsched-thursday,   "Thursdays&lt;/P&gt;&lt;P&gt;    friday    LIKE zsdsched-friday,     "Fridays&lt;/P&gt;&lt;P&gt;    saturday  LIKE zsdsched-saturday,   "Saturdays&lt;/P&gt;&lt;P&gt;    sunday    LIKE zsdsched-sunday,     "Sundays&lt;/P&gt;&lt;P&gt;    dzieme    LIKE zsdsched-dzieme,     "Target quantity UoM&lt;/P&gt;&lt;P&gt;    comments  LIKE zsdsched-comments,   "Comments&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   fksaf LIKE fplt-fksaf,              "Billing status for the billing plan/invoice plan date&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   afdat LIKE fplt-afdat,              "Billing date for billing index and printout&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   fplnr LIKE fplt-fplnr,               "Billing plan number / invoicing plan number&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   END OF ty_gt_report,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;g_t_report type standard table of g_ty_report. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data:  gt_report type g_t_report,&lt;/P&gt;&lt;P&gt;      gs_report    LIKE LINE OF gt_report,&lt;/P&gt;&lt;P&gt;      gt_sched     TYPE TABLE OF zsdsched,&lt;/P&gt;&lt;P&gt;      gt_sched_tmp TYPE TABLE OF zsdsched,&lt;/P&gt;&lt;P&gt;      gs_sched     TYPE zsdsched,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     gt_sel       LIKE gt_report OCCURS 0,&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      &lt;/P&gt;&lt;P&gt;      gt_vbpa  TYPE TABLE OF vbpa,&lt;/P&gt;&lt;P&gt;      gs_vbpa  TYPE vbpa,&lt;/P&gt;&lt;P&gt;      gv_auart TYPE auart,&lt;/P&gt;&lt;P&gt;      gv_counter TYPE i.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**-- ALV variables&lt;/P&gt;&lt;P&gt;DATA: ls_fieldcat     TYPE slis_fieldcat_alv,    "Field Catalog list&lt;/P&gt;&lt;P&gt;      gt_fieldcat     TYPE slis_t_fieldcat_alv,  "Field Catalog&lt;/P&gt;&lt;P&gt;      ls_sort         TYPE slis_sortinfo_alv,    "Sorting list&lt;/P&gt;&lt;P&gt;      gt_sort         TYPE slis_t_sortinfo_alv,  "Sort&lt;/P&gt;&lt;P&gt;      gs_layout       TYPE slis_layout_alv,      "List Layout&lt;/P&gt;&lt;P&gt;      gs_variant      TYPE disvariant,           "Display Variant&lt;/P&gt;&lt;P&gt;      gv_repid        LIKE sy-repid,&lt;/P&gt;&lt;P&gt;      gv_save(1)           TYPE c,&lt;/P&gt;&lt;P&gt;      &lt;/P&gt;&lt;P&gt;      gv_exit(1)           TYPE c.&lt;/P&gt;&lt;P&gt;      &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CONSTANTS: gc_a     TYPE c VALUE 'A',&lt;/P&gt;&lt;P&gt;           gc_g     TYPE c VALUE 'G',&lt;/P&gt;&lt;P&gt;           gc_re(2) TYPE c VALUE 'RE'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Screen-control Variables&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;CONTROLS:&lt;/P&gt;&lt;P&gt;  tctrl_sched TYPE TABLEVIEW USING SCREEN 1010.     " Schedule lines.&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; Report  ZSD_CONTRACT_LIST&lt;/P&gt;&lt;P&gt;*&amp;amp;&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; Created on: January 21, 2007&lt;/P&gt;&lt;P&gt;*&amp;amp; Description: List of Contracts - ALV&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT  zsd_contract_list.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;INCLUDE zsd_contract_list_t01.&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 m1 WITH FRAME TITLE text-t01.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-t02.&lt;/P&gt;&lt;P&gt;SELECT-OPTIONS: s_vkorg FOR vbak-vkorg MEMORY ID vko,&lt;/P&gt;&lt;P&gt;                s_vtweg FOR vbak-vtweg MEMORY ID vtw,&lt;/P&gt;&lt;P&gt;                s_spart FOR vbak-spart MEMORY ID spa,&lt;/P&gt;&lt;P&gt;                s_vkbur FOR vbak-vkbur MEMORY ID vkb.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN SKIP 1.&lt;/P&gt;&lt;P&gt;SELECT-OPTIONS: s_vbeln FOR vbak-vbeln,&lt;/P&gt;&lt;P&gt;                s_erdat FOR vbak-erdat,&lt;/P&gt;&lt;P&gt;                s_ernam FOR vbak-ernam,&lt;/P&gt;&lt;P&gt;                s_guebg FOR vbak-guebg,&lt;/P&gt;&lt;P&gt;                s_gueen FOR vbak-gueen,&lt;/P&gt;&lt;P&gt;                s_auart FOR gv_auart MEMORY ID vta&lt;/P&gt;&lt;P&gt;                                     MATCHCODE OBJECT h_vakz.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN SKIP 1.&lt;/P&gt;&lt;P&gt;SELECT-OPTIONS:&lt;/P&gt;&lt;P&gt;                s_kunnr FOR vbak-kunnr,&lt;/P&gt;&lt;P&gt;                s_kunwe FOR vbap-oid_ship,&lt;/P&gt;&lt;P&gt;                s_kunre FOR wbrk-kunre.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK b1.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME TITLE text-t03.&lt;/P&gt;&lt;P&gt;SELECT-OPTIONS: s_werks FOR vbap-werks MEMORY ID wrk,&lt;/P&gt;&lt;P&gt;                s_lgort FOR vbap-lgort MEMORY ID lag,&lt;/P&gt;&lt;P&gt;                s_vstel FOR vbap-vstel MEMORY ID vst,&lt;/P&gt;&lt;P&gt;                s_route for vbap-route,&lt;/P&gt;&lt;P&gt;                s_matnr FOR vbap-matnr.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK b2.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF BLOCK b3 WITH FRAME TITLE text-t04.&lt;/P&gt;&lt;P&gt;PARAMETERS:     p_varia TYPE disvariant-variant MEMORY ID wrk,&lt;/P&gt;&lt;P&gt;                p_all   AS CHECKBOX DEFAULT 'X',&lt;/P&gt;&lt;P&gt;                p_group AS CHECKBOX DEFAULT 'X'.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK b3.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK m1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Start of Selection&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;START-OF-SELECTION.&lt;/P&gt;&lt;P&gt;  PERFORM get_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;Display ALV&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;END-OF-SELECTION.&lt;/P&gt;&lt;P&gt;  IF gt_report[] IS INITIAL.&lt;/P&gt;&lt;P&gt;    MESSAGE s419(brain).&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    PERFORM create_alv.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;AT SELECTION-SCREEN ON VALUE-REQUEST                                 *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_varia.&lt;/P&gt;&lt;P&gt;  PERFORM f01_f4_variant CHANGING p_varia.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  get_data&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM get_data .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Select the appropriate contract data.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  SELECT a~vbeln a~erdat a~ernam a~audat a~vbtyp a~auart a~vkorg&lt;/P&gt;&lt;P&gt;   a~vtweg a~spart a~vkbur a~guebg a~gueen a~kunnr a~kvgr4&lt;/P&gt;&lt;P&gt;   b~posnr b~matnr b~charg b~matkl b~arktx b~pstyv b~zmeng&lt;/P&gt;&lt;P&gt;   b~zieme b~kdmat b~werks b~lgort b~vstel b~netpr b~kpein&lt;/P&gt;&lt;P&gt;   b~kmein b~shkzg b~oid_extbol b~oid_miscdl b~oidrc b~oid_ship AS kunwe&lt;/P&gt;&lt;P&gt;   b~zzwprofid c~datbi c~datab b~route&lt;/P&gt;&lt;P&gt;     INTO CORRESPONDING FIELDS OF TABLE gt_sel&lt;/P&gt;&lt;P&gt;     FROM vbak AS a&lt;/P&gt;&lt;P&gt;         INNER JOIN vbap AS b ON a~vbeln = b~vbeln&lt;/P&gt;&lt;P&gt;         LEFT OUTER JOIN zsdsched AS c ON b~vbeln = c~vbeln AND&lt;/P&gt;&lt;P&gt;                               b~posnr = c~posnr&lt;/P&gt;&lt;P&gt;     WHERE a~vbeln IN s_vbeln&lt;/P&gt;&lt;P&gt;       AND a~erdat IN s_erdat&lt;/P&gt;&lt;P&gt;       AND a~vbtyp = gc_g&lt;/P&gt;&lt;P&gt;       AND a~ernam IN s_ernam&lt;/P&gt;&lt;P&gt;       AND a~vkorg IN s_vkorg&lt;/P&gt;&lt;P&gt;       AND a~vtweg IN s_vtweg&lt;/P&gt;&lt;P&gt;       AND a~spart IN s_spart&lt;/P&gt;&lt;P&gt;       AND a~vkbur IN s_vkbur&lt;/P&gt;&lt;P&gt;       AND a~guebg IN s_guebg&lt;/P&gt;&lt;P&gt;       AND a~gueen IN s_gueen&lt;/P&gt;&lt;P&gt;       AND a~auart IN s_auart&lt;/P&gt;&lt;P&gt;       AND a~kunnr IN s_kunnr&lt;/P&gt;&lt;P&gt;       AND b~oid_ship IN s_kunwe&lt;/P&gt;&lt;P&gt;       AND b~werks IN s_werks&lt;/P&gt;&lt;P&gt;       AND b~lgort IN s_lgort&lt;/P&gt;&lt;P&gt;       AND b~vstel IN s_vstel&lt;/P&gt;&lt;P&gt;       and b~route in s_route&lt;/P&gt;&lt;P&gt;       AND b~matnr IN s_matnr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SORT gt_sel.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT gt_sel[] IS INITIAL.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Get Bill-to Party's for Item Lines&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    SELECT vbeln posnr parvw kunnr INTO CORRESPONDING FIELDS OF TABLE gt_vbpa&lt;/P&gt;&lt;P&gt;        FROM vbpa&lt;/P&gt;&lt;P&gt;        FOR ALL ENTRIES IN gt_sel&lt;/P&gt;&lt;P&gt;        WHERE vbeln = gt_sel-vbeln&lt;/P&gt;&lt;P&gt;          AND parvw = gc_re.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Select the remaining records from the ZSDSCHED Table.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    SELECT * FROM zsdsched&lt;/P&gt;&lt;P&gt;        INTO TABLE gt_sched&lt;/P&gt;&lt;P&gt;        FOR ALL ENTRIES IN gt_sel&lt;/P&gt;&lt;P&gt;        WHERE vbeln = gt_sel-vbeln&lt;/P&gt;&lt;P&gt;          AND posnr = gt_sel-posnr.&lt;/P&gt;&lt;P&gt;    SORT gt_sched.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Loop through captured data for additional information&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  LOOP AT gt_sel INTO gs_report.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Find the bill-to party&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    READ TABLE gt_vbpa INTO gs_vbpa WITH KEY vbeln = gs_report-vbeln&lt;/P&gt;&lt;P&gt;                                             posnr = gs_report-posnr&lt;/P&gt;&lt;P&gt;                                             parvw = gc_re.&lt;/P&gt;&lt;P&gt;    IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;      READ TABLE gt_vbpa INTO gs_vbpa WITH KEY vbeln = gs_report-vbeln&lt;/P&gt;&lt;P&gt;                                               parvw = gc_re.&lt;/P&gt;&lt;P&gt;      CHECK sy-subrc = 0 AND gs_vbpa-kunnr IN s_kunre.&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;      CHECK gs_vbpa-kunnr IN s_kunre.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;    gs_report-kunre = gs_vbpa-kunnr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; Get the Customer's Name&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    gs_report-kunnrt = zcl_kna1=&amp;gt;get_name1( itp_kunnr = gs_report-kunnr ).&lt;/P&gt;&lt;P&gt;    gs_report-kunwet = zcl_kna1=&amp;gt;get_name1( itp_kunnr = gs_report-kunwe ).&lt;/P&gt;&lt;P&gt;    gs_report-kunret = zcl_kna1=&amp;gt;get_name1( itp_kunnr = gs_report-kunre ).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Get the scheduling lines for the item line.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    CLEAR gv_counter.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF NOT p_group IS INITIAL.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    If we are grouping the lines add the icon button.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      LOOP AT gt_sched INTO gs_sched WHERE vbeln = gs_report-vbeln&lt;/P&gt;&lt;P&gt;                                     AND posnr = gs_report-posnr.&lt;/P&gt;&lt;P&gt;        IF gv_counter &amp;gt; 0.&lt;/P&gt;&lt;P&gt;          gs_report-addl_schd = '@1E@'.&lt;/P&gt;&lt;P&gt;          CONTINUE.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;        MOVE-CORRESPONDING gs_sched TO gs_report.&lt;/P&gt;&lt;P&gt;        ADD 1 TO gv_counter.&lt;/P&gt;&lt;P&gt;      ENDLOOP.&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    Otherwise get the rest of the schedule information&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      READ TABLE gt_sched INTO gs_sched&lt;/P&gt;&lt;P&gt;        WITH KEY vbeln = gs_report-vbeln&lt;/P&gt;&lt;P&gt;                 posnr = gs_report-posnr&lt;/P&gt;&lt;P&gt;                 datbi = gs_report-datbi&lt;/P&gt;&lt;P&gt;                 datab = gs_report-datab.&lt;/P&gt;&lt;P&gt;      IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;        MOVE-CORRESPONDING gs_sched TO gs_report.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;    APPEND gs_report TO gt_report.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Remove any duplicates from the reporting table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  DELETE ADJACENT DUPLICATES FROM gt_report.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;If Show all records is initial, delete non-scheduled lines (ex. Sub-items)&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  IF p_all IS INITIAL.&lt;/P&gt;&lt;P&gt;    DELETE gt_report WHERE datbi = 0&lt;/P&gt;&lt;P&gt;                        AND datab = 0.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " get_data&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  create_alv&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      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 create_alv .&lt;/P&gt;&lt;P&gt;  PERFORM initialize_fieldcat USING gt_fieldcat[].&lt;/P&gt;&lt;P&gt;  PERFORM populate_layout CHANGING gs_layout&lt;/P&gt;&lt;P&gt;                                   gs_variant.&lt;/P&gt;&lt;P&gt;  PERFORM populate_sort   USING gt_sort[].&lt;/P&gt;&lt;P&gt;  PERFORM display_alv_report.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " create_alv&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  initialize_fieldcat&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;  Get and enhance the field catalog data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;L_FIELDCAT[]  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 initialize_fieldcat USING l_fieldcat TYPE slis_t_fieldcat_alv.&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         = 'ZSD_CONTRACT_LIST'&lt;/P&gt;&lt;P&gt;      i_internal_tabname     = 'GT_REPORT'&lt;/P&gt;&lt;P&gt;      i_inclname             = 'ZSD_CONTRACT_LIST_T01'&lt;/P&gt;&lt;P&gt;    CHANGING&lt;/P&gt;&lt;P&gt;      ct_fieldcat            = l_fieldcat&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      inconsistent_interface = 1&lt;/P&gt;&lt;P&gt;      program_error          = 2&lt;/P&gt;&lt;P&gt;      OTHERS                 = 3.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  READ TABLE l_fieldcat INTO ls_fieldcat WITH KEY fieldname = 'VBELN'.&lt;/P&gt;&lt;P&gt;  ls_fieldcat-seltext_m = ls_fieldcat-seltext_l = 'Contract'.&lt;/P&gt;&lt;P&gt;  ls_fieldcat-hotspot     = 'X'.&lt;/P&gt;&lt;P&gt;  MODIFY l_fieldcat FROM ls_fieldcat INDEX sy-tabix.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  READ TABLE l_fieldcat INTO ls_fieldcat WITH KEY fieldname = 'KUNNRT'.&lt;/P&gt;&lt;P&gt;  ls_fieldcat-seltext_s =&lt;/P&gt;&lt;P&gt;  ls_fieldcat-seltext_m = ls_fieldcat-seltext_l = 'Sold-to Name'.&lt;/P&gt;&lt;P&gt;  MODIFY l_fieldcat FROM ls_fieldcat INDEX sy-tabix.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  READ TABLE l_fieldcat INTO ls_fieldcat WITH KEY fieldname = 'KUNWET'.&lt;/P&gt;&lt;P&gt;  ls_fieldcat-seltext_s =&lt;/P&gt;&lt;P&gt;  ls_fieldcat-seltext_m = ls_fieldcat-seltext_l = 'Ship-to Name'.&lt;/P&gt;&lt;P&gt;  MODIFY l_fieldcat FROM ls_fieldcat INDEX sy-tabix.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  READ TABLE l_fieldcat INTO ls_fieldcat WITH KEY fieldname = 'KUNRET'.&lt;/P&gt;&lt;P&gt;  ls_fieldcat-seltext_s =&lt;/P&gt;&lt;P&gt;  ls_fieldcat-seltext_m = ls_fieldcat-seltext_l = 'Bill-to Name'.&lt;/P&gt;&lt;P&gt;  MODIFY l_fieldcat FROM ls_fieldcat INDEX sy-tabix.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  READ TABLE l_fieldcat INTO ls_fieldcat WITH KEY fieldname = 'ADDL_SCHD'.&lt;/P&gt;&lt;P&gt;  IF NOT p_group IS INITIAL.&lt;/P&gt;&lt;P&gt;    ls_fieldcat-seltext_s = 'Schd'.&lt;/P&gt;&lt;P&gt;    ls_fieldcat-seltext_m = ls_fieldcat-seltext_l = 'Additional Scheduling Lines'.&lt;/P&gt;&lt;P&gt;    ls_fieldcat-icon = 'X'.&lt;/P&gt;&lt;P&gt;    CLEAR: ls_fieldcat-key,&lt;/P&gt;&lt;P&gt;           ls_fieldcat-ref_fieldname,&lt;/P&gt;&lt;P&gt;           ls_fieldcat-ref_tabname,&lt;/P&gt;&lt;P&gt;           ls_fieldcat-reptext_ddic,&lt;/P&gt;&lt;P&gt;           ls_fieldcat-ddic_outputlen.&lt;/P&gt;&lt;P&gt;    ls_fieldcat-hotspot     = 'X'.&lt;/P&gt;&lt;P&gt;    MODIFY l_fieldcat FROM ls_fieldcat INDEX sy-tabix.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    DELETE l_fieldcat INDEX sy-tabix.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  READ TABLE l_fieldcat INTO ls_fieldcat WITH KEY fieldname = 'DATAB'.&lt;/P&gt;&lt;P&gt;  ls_fieldcat-seltext_s = 'Schd From'.&lt;/P&gt;&lt;P&gt;  ls_fieldcat-seltext_m = ls_fieldcat-seltext_l = 'Sched. From Date'.&lt;/P&gt;&lt;P&gt;  CLEAR: ls_fieldcat-key.&lt;/P&gt;&lt;P&gt;  MODIFY l_fieldcat FROM ls_fieldcat INDEX sy-tabix.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  READ TABLE l_fieldcat INTO ls_fieldcat WITH KEY fieldname = 'DATBI'.&lt;/P&gt;&lt;P&gt;  ls_fieldcat-seltext_s = 'Schd To'.&lt;/P&gt;&lt;P&gt;  ls_fieldcat-seltext_m = ls_fieldcat-seltext_l = 'Sched. To Date'.&lt;/P&gt;&lt;P&gt;  CLEAR: ls_fieldcat-key.&lt;/P&gt;&lt;P&gt;  MODIFY l_fieldcat FROM ls_fieldcat INDEX sy-tabix.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " initialize_fieldcat&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_layout&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;lt;--GS_LAYOUT&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     &amp;lt;--GS_VARIANT&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 populate_layout CHANGING  gs_layout  TYPE slis_layout_alv&lt;/P&gt;&lt;P&gt;                               gs_variant TYPE disvariant.&lt;/P&gt;&lt;P&gt;  gs_layout-colwidth_optimize = 'X'.&lt;/P&gt;&lt;P&gt;  gs_layout-allow_switch_to_list = 'X'.&lt;/P&gt;&lt;P&gt;  gs_layout-zebra                = 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  gs_variant-report = sy-repid.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " populate_layout&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_sort&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;l_SORT[]  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 populate_sort USING l_sort TYPE slis_t_sortinfo_alv.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " populate_sort&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  display_alv_report&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;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM display_alv_report .&lt;/P&gt;&lt;P&gt;  gv_repid = sy-repid.&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    I_INTERFACE_CHECK              = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    I_BYPASSING_BUFFER             =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    I_BUFFER_ACTIVE                = ' '&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      i_callback_program              =  gv_repid&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    I_CALLBACK_PF_STATUS_SET       = ' '&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      i_callback_user_command        = 'USER_COMMAND'&lt;/P&gt;&lt;P&gt;      i_structure_name               =  'gt_report'&lt;/P&gt;&lt;P&gt;      is_layout                      =   gs_layout&lt;/P&gt;&lt;P&gt;      it_fieldcat                     =  gt_fieldcat&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    IT_EXCLUDING                   =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    IT_SPECIAL_GROUPS              =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      it_sort                        =  gt_sort&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    IT_FILTER                      =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    IS_SEL_HIDE                    =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      i_default                      = 'X'&lt;/P&gt;&lt;P&gt;      i_save                         = gc_a&lt;/P&gt;&lt;P&gt;      is_variant                     = gs_variant&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    IT_EVENTS                      =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    IT_EVENT_EXIT                  =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    IS_PRINT                       =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    IS_REPREP_ID                   =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    I_SCREEN_START_COLUMN          = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    I_SCREEN_START_LINE            = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    I_SCREEN_END_COLUMN            = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    I_SCREEN_END_LINE              = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IMPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    E_EXIT_CAUSED_BY_CALLER        =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    ES_EXIT_CAUSED_BY_USER         =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      TABLES&lt;/P&gt;&lt;P&gt;        t_outtab                       = gt_report&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;  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;ENDFORM.                    " display_alv_report&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  f01_f4_variant&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;   Get the Layout variant for the user.&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 f01_f4_variant CHANGING c_variant TYPE disvariant-variant.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: ls_variant TYPE disvariant,&lt;/P&gt;&lt;P&gt;        l_exit     TYPE char1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ls_variant-report = sy-repid.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'REUSE_ALV_VARIANT_F4'&lt;/P&gt;&lt;P&gt;       EXPORTING&lt;/P&gt;&lt;P&gt;            is_variant          = ls_variant&lt;/P&gt;&lt;P&gt;            i_save              = 'A'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          it_default_fieldcat =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;       IMPORTING&lt;/P&gt;&lt;P&gt;            e_exit              = l_exit&lt;/P&gt;&lt;P&gt;            es_variant          = ls_variant&lt;/P&gt;&lt;P&gt;       EXCEPTIONS&lt;/P&gt;&lt;P&gt;            not_found = 2.&lt;/P&gt;&lt;P&gt;  IF sy-subrc = 2.&lt;/P&gt;&lt;P&gt;    MESSAGE ID sy-msgid TYPE 'S' NUMBER sy-msgno&lt;/P&gt;&lt;P&gt;            WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    IF l_exit EQ space.&lt;/P&gt;&lt;P&gt;      c_variant = ls_variant-variant.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " f01_f4_variant&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;      FORM USER_COMMAND                                          *&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; R_UCOMM                                                *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      --&amp;gt; RS_SELFIELD                                            *&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 user_command USING r_ucomm LIKE sy-ucomm&lt;/P&gt;&lt;P&gt;                  rs_selfield TYPE slis_selfield.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Check function code&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CASE r_ucomm.&lt;/P&gt;&lt;P&gt;    WHEN '&amp;amp;IC1'.&lt;/P&gt;&lt;P&gt;      READ TABLE gt_report INTO gs_report INDEX rs_selfield-tabindex.&lt;/P&gt;&lt;P&gt;      CHECK sy-subrc = 0.&lt;/P&gt;&lt;P&gt;      CASE rs_selfield-fieldname.&lt;/P&gt;&lt;P&gt;        WHEN 'VBELN'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      Set parameter ID for transaction screen field&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;          CHECK NOT gs_report-vbeln IS INITIAL.&lt;/P&gt;&lt;P&gt;          SET PARAMETER ID 'KTN' FIELD gs_report-vbeln.&lt;/P&gt;&lt;P&gt;          CALL TRANSACTION 'VA43' AND SKIP FIRST SCREEN.&lt;/P&gt;&lt;P&gt;        WHEN 'ADDL_SCHD'.&lt;/P&gt;&lt;P&gt;          CHECK NOT gs_report-addl_schd IS INITIAL.&lt;/P&gt;&lt;P&gt;          REFRESH gt_sched_tmp.&lt;/P&gt;&lt;P&gt;          LOOP AT gt_sched INTO gs_sched&lt;/P&gt;&lt;P&gt;                           WHERE vbeln = gs_report-vbeln&lt;/P&gt;&lt;P&gt;                             AND posnr = gs_report-posnr.&lt;/P&gt;&lt;P&gt;            APPEND gs_sched TO gt_sched_tmp.&lt;/P&gt;&lt;P&gt;          ENDLOOP.&lt;/P&gt;&lt;P&gt;          CHECK sy-subrc = 0.&lt;/P&gt;&lt;P&gt;          CALL SCREEN '1010' STARTING AT 5 5.&lt;/P&gt;&lt;P&gt;      ENDCASE.&lt;/P&gt;&lt;P&gt;  ENDCASE.&lt;/P&gt;&lt;P&gt;ENDFORM.                    "user_command&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;      Module  STATUS_1010  OUTPUT&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;MODULE status_1010 OUTPUT.&lt;/P&gt;&lt;P&gt;  SET PF-STATUS 'MAIN_1010'.&lt;/P&gt;&lt;P&gt;  SET TITLEBAR '1010' WITH gs_report-vbeln gs_report-posnr.&lt;/P&gt;&lt;P&gt;ENDMODULE.                 " STATUS_1010  OUTPUT&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;      Module  USER_COMMAND_1010  INPUT&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="----------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      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;MODULE user_command_1010 INPUT.&lt;/P&gt;&lt;P&gt;  CASE sy-ucomm.&lt;/P&gt;&lt;P&gt;    WHEN 'BACK' OR 'CANC'.&lt;/P&gt;&lt;P&gt;      LEAVE TO SCREEN 0.&lt;/P&gt;&lt;P&gt;  ENDCASE.&lt;/P&gt;&lt;P&gt;ENDMODULE.                 " USER_COMMAND_1010  INPUT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Please help &lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 24 Mar 2008 17:34:49 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-report-problem/m-p/3569308#M859048</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-03-24T17:34:49Z</dc:date>
    </item>
    <item>
      <title>Re: ALV-report problem</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-report-problem/m-p/3569309#M859049</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello Aarav.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If I understood you right, diferent selections are originating diferent rows in your report, but the same columns.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If so, I thin the problem is that you call FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE' always with the same structure, and this way the fieldcatalog is always the same.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If i'm right, you have 2 solution,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;- after using the FM, choose the fields you want and change l_fieldcat structure&lt;/P&gt;&lt;P&gt;- create a g_t_report2 type standard table of g_ty_report, and use it in the FM, and in the selection part of program&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Best regards.&lt;/P&gt;&lt;P&gt;Valter Oliveira.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 24 Mar 2008 17:51:57 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-report-problem/m-p/3569309#M859049</guid>
      <dc:creator>valter_oliveira</dc:creator>
      <dc:date>2008-03-24T17:51:57Z</dc:date>
    </item>
    <item>
      <title>Re: ALV-report problem</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-report-problem/m-p/3569310#M859050</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Valier!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks . Actually yes what you say is right but when this new checkbox(p_rental ) is checked yes it will show a different selection of fileds (lesser than the two existing ones), but not necessarily show diffrent result all togethere. I mean its just that the fileds in the output for this particular checkbox will be a different selection.It shall have only following fields:-&lt;/P&gt;&lt;P&gt;vbeln LIKE vbak-vbeln, "Sales Document&lt;/P&gt;&lt;P&gt;posnr LIKE vbap-posnr, "Item&lt;/P&gt;&lt;P&gt;ernam LIKE vbak-ernam, "Created by&lt;/P&gt;&lt;P&gt;erdat LIKE vbak-erdat, "Created on&lt;/P&gt;&lt;P&gt;audat LIKE vbak-audat, "Document Date&lt;/P&gt;&lt;P&gt;vbtyp LIKE vbak-vbtyp, "SD document category&lt;/P&gt;&lt;P&gt;auart LIKE vbak-auart, "Sales Document type&lt;/P&gt;&lt;P&gt;vkorg LIKE vbak-vkorg, "Sales Org&lt;/P&gt;&lt;P&gt;vtweg LIKE vbak-vtweg, "Distribution Channel&lt;/P&gt;&lt;P&gt;spart LIKE vbak-spart, "Division&lt;/P&gt;&lt;P&gt;vkbur LIKE vbak-vkbur, "Sales Office&lt;/P&gt;&lt;P&gt;guebg LIKE vbak-guebg, "Valid from date&lt;/P&gt;&lt;P&gt;gueen LIKE vbak-gueen, "Valid to date&lt;/P&gt;&lt;P&gt;kunnr LIKE vbak-kunnr, "Sold-to party&lt;/P&gt;&lt;P&gt;kunnrt LIKE kna1-name1, "Sold-to Name&lt;/P&gt;&lt;P&gt;kvgr4 LIKE vbak-kvgr4, "Territory&lt;/P&gt;&lt;P&gt;matnr LIKE vbap-matnr, "Material&lt;/P&gt;&lt;P&gt;fksaf LIKE fplt-fksaf,&lt;/P&gt;&lt;P&gt;afdat LIKE fplt-afdat,&lt;/P&gt;&lt;P&gt;fakwr LIKE fplt-fakwr,&lt;/P&gt;&lt;P&gt;fkdat LIKE fplt-fkdat,&lt;/P&gt;&lt;P&gt;fpart LIKE fpla-fpart,&lt;/P&gt;&lt;P&gt;nfdat LIKE fplt-nfdat,&lt;/P&gt;&lt;P&gt;bedat LIKE fpla-bedat,&lt;/P&gt;&lt;P&gt;endat LIKE fpla-endat,&lt;/P&gt;&lt;P&gt;horiz LIKE fpla-horiz,&lt;/P&gt;&lt;P&gt;abrvw LIKE tvlvt-abrvw,&lt;/P&gt;&lt;P&gt;Hence when this p_rental is checked it will give me output in form of fields as mentioned above and not as the previos gt_result type.&lt;/P&gt;&lt;P&gt;For this what I did was made another internal table to store this data. Added anotehr perform get_data and re-called the  re-use alv function. But unfrotunately I am doing something wrong .Could you please help me out as the deadline is already crossed and I am in a fix.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 24 Mar 2008 19:58:20 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-report-problem/m-p/3569310#M859050</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-03-24T19:58:20Z</dc:date>
    </item>
    <item>
      <title>Re: ALV-report problem</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-report-problem/m-p/3569311#M859051</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;Just use a condition while filling the catalog. I mean, if the checkbox you are talking about is checked, then fill the catalogue with those columns, if not, dont fill anything.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;You dont need to create another internal table.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;For example:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if checkbox ne 'X' .&lt;/P&gt;&lt;P&gt;  create column1.&lt;/P&gt;&lt;P&gt;  append column1 to catalogue.&lt;/P&gt;&lt;P&gt;  create column2.&lt;/P&gt;&lt;P&gt;  append column2 to catalogue.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This way, columns 1 and 2 will only display if your checkbox is not checked.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Roberto.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 24 Mar 2008 20:33:22 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-report-problem/m-p/3569311#M859051</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-03-24T20:33:22Z</dc:date>
    </item>
    <item>
      <title>Re: ALV-report problem</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-report-problem/m-p/3569312#M859052</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I am sorry my friend but I didnt get as to what you siad , as I mentioned that this will be a different set of selection all togethere , if you check at the question I posted , I have mentioned the fileds taht I want which is fiffrent from what already exists for the first two checkboxes. So I am not sure and didnt get what you said .I just wnat to diplay the fields as mentioned above when my this checkbox is checked.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks in anticipation.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Aarav&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 24 Mar 2008 20:47:30 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-report-problem/m-p/3569312#M859052</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-03-24T20:47:30Z</dc:date>
    </item>
    <item>
      <title>Re: ALV-report problem</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-report-problem/m-p/3569313#M859053</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Do you just want not to display some columns when that checkbox is checked or do you want to display a whole set of different columns with different data in them? I mean, the data of those columns will be different when you check your new checkbox?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Roberto.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 24 Mar 2008 21:03:02 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-report-problem/m-p/3569313#M859053</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-03-24T21:03:02Z</dc:date>
    </item>
    <item>
      <title>Re: ALV-report problem</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-report-problem/m-p/3569314#M859054</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Yes , It will be a diffrenet set of data alltogether but teher may be few fields which will be same a sthe first two check boxes when clicked . The new fields will be as follows&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; vbeln LIKE vbak-vbeln,              "Sales Document&lt;/P&gt;&lt;P&gt;    posnr LIKE vbap-posnr,              "Item&lt;/P&gt;&lt;P&gt;    ernam LIKE vbak-ernam,              "Created by&lt;/P&gt;&lt;P&gt;    erdat LIKE vbak-erdat,              "Created on&lt;/P&gt;&lt;P&gt;    audat LIKE vbak-audat,              "Document Date&lt;/P&gt;&lt;P&gt;    vbtyp LIKE vbak-vbtyp,              "SD document category&lt;/P&gt;&lt;P&gt;    auart LIKE vbak-auart,              "Sales Document type&lt;/P&gt;&lt;P&gt;    vkorg LIKE vbak-vkorg,              "Sales Org&lt;/P&gt;&lt;P&gt;    vtweg LIKE vbak-vtweg,              "Distribution Channel&lt;/P&gt;&lt;P&gt;    spart LIKE vbak-spart,              "Division&lt;/P&gt;&lt;P&gt;    vkbur LIKE vbak-vkbur,              "Sales Office&lt;/P&gt;&lt;P&gt;    guebg LIKE vbak-guebg,              "Valid from date&lt;/P&gt;&lt;P&gt;    gueen LIKE vbak-gueen,              "Valid to date&lt;/P&gt;&lt;P&gt;    kunnr LIKE vbak-kunnr,              "Sold-to party&lt;/P&gt;&lt;P&gt;    kunnrt LIKE kna1-name1,             "Sold-to Name&lt;/P&gt;&lt;P&gt;    kvgr4 LIKE vbak-kvgr4,              "Territory&lt;/P&gt;&lt;P&gt;    matnr LIKE vbap-matnr,              "Material&lt;/P&gt;&lt;P&gt;    fksaf     LIKE fplt-fksaf,&lt;/P&gt;&lt;P&gt;    afdat     LIKE fplt-afdat,&lt;/P&gt;&lt;P&gt;    fakwr     LIKE fplt-fakwr,&lt;/P&gt;&lt;P&gt;    fkdat     LIKE fplt-fkdat,&lt;/P&gt;&lt;P&gt;    fpart     LIKE fpla-fpart,&lt;/P&gt;&lt;P&gt;    nfdat     LIKE fplt-nfdat,&lt;/P&gt;&lt;P&gt;    bedat     LIKE fpla-bedat,&lt;/P&gt;&lt;P&gt;    endat     LIKE fpla-endat,&lt;/P&gt;&lt;P&gt;    horiz     LIKE fpla-horiz,&lt;/P&gt;&lt;P&gt;    abrvw     LIKE tvlvt-abrvw,&lt;/P&gt;&lt;P&gt;where you see theer are few fields which was alreday tehre in my earlier set of output fields for other two checkboxes.Thats teh reason I was asking like if I have to create a new alv for it .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Kindly suggest please. and the original report is alos tehre with teh include program in my question asked.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 24 Mar 2008 22:23:38 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-report-problem/m-p/3569314#M859054</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-03-24T22:23:38Z</dc:date>
    </item>
    <item>
      <title>Re: ALV-report problem</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-report-problem/m-p/3569315#M859055</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello again.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;So, &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if p_rental is unchecked, use a gt_result1 type structure and a fieldcat1, and fill gt_result1 with lets say selection1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if p_rental is checked, use a gt_result2 type structure and a fieldcat2, and fill gt_result2 with selection2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;There is other options, but this one will work for sure.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Something like&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF p_rental = space.&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 = 'ZSD_CONTRACT_LIST'&lt;/P&gt;&lt;P&gt;i_internal_tabname = 'GT_REPORT1'&lt;/P&gt;&lt;P&gt;i_inclname = 'ZSD_CONTRACT_LIST_T01'&lt;/P&gt;&lt;P&gt;CHANGING&lt;/P&gt;&lt;P&gt;ct_fieldcat = l_fieldcat1&lt;/P&gt;&lt;P&gt;EXCEPTIONS&lt;/P&gt;&lt;P&gt;inconsistent_interface = 1&lt;/P&gt;&lt;P&gt;program_error = 2&lt;/P&gt;&lt;P&gt;OTHERS = 3.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;...&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;CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;i_program_name = 'ZSD_CONTRACT_LIST'&lt;/P&gt;&lt;P&gt;i_internal_tabname = 'GT_REPORT2'&lt;/P&gt;&lt;P&gt;i_inclname = 'ZSD_CONTRACT_LIST_T01'&lt;/P&gt;&lt;P&gt;CHANGING&lt;/P&gt;&lt;P&gt;ct_fieldcat = l_fieldcat2&lt;/P&gt;&lt;P&gt;EXCEPTIONS&lt;/P&gt;&lt;P&gt;inconsistent_interface = 1&lt;/P&gt;&lt;P&gt;program_error = 2&lt;/P&gt;&lt;P&gt;OTHERS = 3.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;...&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;And the same in REUSE_ALV_GRID_DISPLAY.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Best regards.&lt;/P&gt;&lt;P&gt;Valter Oliveira.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 25 Mar 2008 10:25:58 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-report-problem/m-p/3569315#M859055</guid>
      <dc:creator>valter_oliveira</dc:creator>
      <dc:date>2008-03-25T10:25:58Z</dc:date>
    </item>
    <item>
      <title>Re: ALV-report problem</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-report-problem/m-p/3569316#M859056</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks a lot Valter. I think what you send is right and I used it as well , but you know what I am running into a runtime error now. I think everything is alright except that I havent put it right in my report what you asked me to do . I am placing the new internal table in my call function and doing it the same way but in vain. Kindly suggest me as I am very very new to ALV and I have to submit it today. I am unable to get through. Still ill reward all the points to you for your kind help . Kindly help me out please.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Please help me out .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Aarav.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 25 Mar 2008 15:51:23 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-report-problem/m-p/3569316#M859056</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-03-25T15:51:23Z</dc:date>
    </item>
    <item>
      <title>Re: ALV-report problem</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-report-problem/m-p/3569317#M859057</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi there.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;What's the error? In which part?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Remeber that in both function modules, you must make a condition regarding the parameter of the report. The second table must be included in both function modules.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Valter.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 25 Mar 2008 15:58:26 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-report-problem/m-p/3569317#M859057</guid>
      <dc:creator>valter_oliveira</dc:creator>
      <dc:date>2008-03-25T15:58:26Z</dc:date>
    </item>
    <item>
      <title>Re: ALV-report problem</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-report-problem/m-p/3569318#M859058</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;The error is in initialize fieldcat and that too for the initialize fieldcat which was alreday existing.&lt;/P&gt;&lt;P&gt;I am not able to proceed further , I think I need to copy back the original report again and start doing it from begining. The one I put up in the forum question , I need to copy that again to my report so that I am at teh start again . I may have messed up the report so I need to start again.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 25 Mar 2008 16:19:22 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-report-problem/m-p/3569318#M859058</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-03-25T16:19:22Z</dc:date>
    </item>
    <item>
      <title>Re: ALV-report problem</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-report-problem/m-p/3569319#M859059</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;THIS IS THE ORIGINAL REPORT.&lt;/P&gt;&lt;P&gt;The result screen for this third checkbox which I naed it as p_rental(rental contract list) when checked should have the following fields.&lt;/P&gt;&lt;P&gt;selections for result screen when p_rental checked.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;fksaf LIKE fplt-fksaf,&lt;/P&gt;&lt;P&gt;afdat LIKE fplt-afdat,&lt;/P&gt;&lt;P&gt;fakwr LIKE fplt-fakwr,&lt;/P&gt;&lt;P&gt;fkdat LIKE fplt-fkdat,&lt;/P&gt;&lt;P&gt;fpart LIKE fpla-fpart,&lt;/P&gt;&lt;P&gt;bedat LIKE fpla-bedat,&lt;/P&gt;&lt;P&gt;endat LIKE fpla-endat,&lt;/P&gt;&lt;P&gt;horiz LIKE fpla-horiz,&lt;/P&gt;&lt;P&gt;bezei LIKE tvlvt-bezei,&lt;/P&gt;&lt;P&gt;aufnr LIKE vbpa-aufnr,&lt;/P&gt;&lt;P&gt;vkaus LIKE vbpa-vkaus,&lt;/P&gt;&lt;P&gt;route LIKE vbpa-route,&lt;/P&gt;&lt;P&gt;vbeln LIKE vbak-vbeln,&lt;/P&gt;&lt;P&gt;vbeln LIKE vbak-vbeln,&lt;/P&gt;&lt;P&gt;erdat LIKE vbak-erdat,&lt;/P&gt;&lt;P&gt;ernam LIKE vbak-ernam,&lt;/P&gt;&lt;P&gt;guebg LIKE vbak-guebg,&lt;/P&gt;&lt;P&gt;gueen LIKE vbak-gueen,&lt;/P&gt;&lt;P&gt;auart LIKE vbak-auart,&lt;/P&gt;&lt;P&gt;kunnr LIKE vbak-kunnr,&lt;/P&gt;&lt;P&gt;pstyv LIKE vbap-pstyv,&lt;/P&gt;&lt;P&gt;matnr LIKE vbap-matnr,&lt;/P&gt;&lt;P&gt;werks LIKE vbap-werks.&lt;/P&gt;&lt;P&gt;nfdat LIKE fplt-nfdat&lt;/P&gt;&lt;P&gt;name1 LIKE kna1-name1,&lt;/P&gt;&lt;P&gt;oid_ship LIKE vbap-oid_ship,&lt;/P&gt;&lt;P&gt;kpein LIKE vbap-kpein,&lt;/P&gt;&lt;P&gt;kmein LIKE vbap-kmein,&lt;/P&gt;&lt;P&gt;netpr LIKE vbap-netpr,&lt;/P&gt;&lt;P&gt;kdmat LIKE vbap-kdmat,&lt;/P&gt;&lt;P&gt;posnr LIKE vbap-posnr,&lt;/P&gt;&lt;P&gt;matkl LIKE vbap-matkl,&lt;/P&gt;&lt;P&gt;kvgr4 LIKE vbak-kvgr4,&lt;/P&gt;&lt;P&gt;vkbur LIKE vbak-vkbur,&lt;/P&gt;&lt;P&gt;vkorg LIKE vbak-vkorg,&lt;/P&gt;&lt;P&gt;vtweg LIKE vbak-vtweg,&lt;/P&gt;&lt;P&gt;vbtyp LIKE vbak-vbtyp.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The existing report is as follows with the include program.Please help.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------------" /&gt;&lt;P&gt;***INCLUDE ZSD_CONTRACT_LIST_T01 .&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TABLES: vbak, vbap, wbrk, zsdsched.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPE-POOLS: slis.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;types: BEGIN OF ty_gt_report ,&lt;/P&gt;&lt;P&gt;vbeln LIKE vbak-vbeln, "Sales Document&lt;/P&gt;&lt;P&gt;posnr LIKE vbap-posnr, "Item&lt;/P&gt;&lt;P&gt;ernam LIKE vbak-ernam, "Created by&lt;/P&gt;&lt;P&gt;erdat LIKE vbak-erdat, "Created on&lt;/P&gt;&lt;P&gt;audat LIKE vbak-audat, "Document Date&lt;/P&gt;&lt;P&gt;vbtyp LIKE vbak-vbtyp, "SD document category&lt;/P&gt;&lt;P&gt;auart LIKE vbak-auart, "Sales Document type&lt;/P&gt;&lt;P&gt;vkorg LIKE vbak-vkorg, "Sales Org&lt;/P&gt;&lt;P&gt;vtweg LIKE vbak-vtweg, "Distribution Channel&lt;/P&gt;&lt;P&gt;spart LIKE vbak-spart, "Division&lt;/P&gt;&lt;P&gt;vkbur LIKE vbak-vkbur, "Sales Office&lt;/P&gt;&lt;P&gt;guebg LIKE vbak-guebg, "Valid from date&lt;/P&gt;&lt;P&gt;gueen LIKE vbak-gueen, "Valid to date&lt;/P&gt;&lt;P&gt;kunnr LIKE vbak-kunnr, "Sold-to party&lt;/P&gt;&lt;P&gt;kunnrt LIKE kna1-name1, "Sold-to Name&lt;/P&gt;&lt;P&gt;kvgr4 LIKE vbak-kvgr4, "Territory&lt;/P&gt;&lt;P&gt;matnr LIKE vbap-matnr, "Material&lt;/P&gt;&lt;P&gt;arktx LIKE vbap-arktx, "Material Short Text&lt;/P&gt;&lt;P&gt;charg LIKE vbap-charg, "Batch&lt;/P&gt;&lt;P&gt;matkl LIKE vbap-matkl, "Material Group&lt;/P&gt;&lt;P&gt;pstyv LIKE vbap-pstyv, "Item Category&lt;/P&gt;&lt;P&gt;zmeng LIKE vbap-zmeng, "Target Quantity&lt;/P&gt;&lt;P&gt;zieme LIKE vbap-zieme, "Target Unit&lt;/P&gt;&lt;P&gt;kdmat LIKE vbap-kdmat, "Customer Material Number&lt;/P&gt;&lt;P&gt;werks LIKE vbap-werks, "Plant&lt;/P&gt;&lt;P&gt;lgort LIKE vbap-lgort, "Storage Location&lt;/P&gt;&lt;P&gt;vstel LIKE vbap-vstel, "Shipping Point&lt;/P&gt;&lt;P&gt;route LIKE vbap-route, "Route&lt;/P&gt;&lt;P&gt;netpr LIKE vbap-netpr, "Net Price&lt;/P&gt;&lt;P&gt;kpein LIKE vbap-kpein, "Condition Price Unit&lt;/P&gt;&lt;P&gt;kmein LIKE vbap-kmein, "Condition Unit&lt;/P&gt;&lt;P&gt;shkzg LIKE vbap-shkzg, "Returns Item&lt;/P&gt;&lt;P&gt;oidrc LIKE vbap-oidrc, "DRC Code&lt;/P&gt;&lt;P&gt;kunwe LIKE vbap-oid_ship, "Ship-to&lt;/P&gt;&lt;P&gt;aufnr LIKE vbap-aufnr, "Order Number&lt;/P&gt;&lt;P&gt;vkaus LIKE vbap-vkaus, "Usage&lt;/P&gt;&lt;P&gt;kunwet LIKE kna1-name1, "Ship-to Name&lt;/P&gt;&lt;P&gt;zzwprofid LIKE vbap-zzwprofid, "Waste Profile ID&lt;/P&gt;&lt;P&gt;kunre LIKE wbrk-kunre, "Bill-to&lt;/P&gt;&lt;P&gt;kunret LIKE kna1-name1, "Bill-to Name&lt;/P&gt;&lt;P&gt;addl_schd LIKE icon-id, "Push Button For addl line&lt;/P&gt;&lt;P&gt;datab LIKE zsdsched-datab, "Valid-From Date&lt;/P&gt;&lt;P&gt;datbi LIKE zsdsched-datbi, "Valid To Date&lt;/P&gt;&lt;P&gt;zschdfreq LIKE zsdsched-zschdfreq, "Contract schedule frequency&lt;/P&gt;&lt;P&gt;frequency LIKE zsdsched-frequency, "Frequency&lt;/P&gt;&lt;P&gt;monday LIKE zsdsched-monday, "Mondays&lt;/P&gt;&lt;P&gt;tuesday LIKE zsdsched-tuesday, "Tuesdays&lt;/P&gt;&lt;P&gt;wednesday LIKE zsdsched-wednesday, "Wednesdays&lt;/P&gt;&lt;P&gt;thursday LIKE zsdsched-thursday, "Thursdays&lt;/P&gt;&lt;P&gt;friday LIKE zsdsched-friday, "Fridays&lt;/P&gt;&lt;P&gt;saturday LIKE zsdsched-saturday, "Saturdays&lt;/P&gt;&lt;P&gt;sunday LIKE zsdsched-sunday, "Sundays&lt;/P&gt;&lt;P&gt;dzieme LIKE zsdsched-dzieme, "Target quantity UoM&lt;/P&gt;&lt;P&gt;comments LIKE zsdsched-comments, "Comments&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;fksaf LIKE fplt-fksaf, "Billing status for the billing plan/invoice plan date &lt;/P&gt;&lt;P&gt;afdat LIKE fplt-afdat, "Billing date for billing index and printout &lt;/P&gt;&lt;P&gt;fplnr LIKE fplt-fplnr, "Billing plan number / invoicing plan number &lt;/P&gt;&lt;P&gt;END OF ty_gt_report,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;g_t_report type standard table of g_ty_report. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data: gt_report type g_t_report,&lt;/P&gt;&lt;P&gt;gs_report LIKE LINE OF gt_report,&lt;/P&gt;&lt;P&gt;gt_sched TYPE TABLE OF zsdsched,&lt;/P&gt;&lt;P&gt;gt_sched_tmp TYPE TABLE OF zsdsched,&lt;/P&gt;&lt;P&gt;gs_sched TYPE zsdsched,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;gt_sel LIKE gt_report OCCURS 0, &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;gt_vbpa TYPE TABLE OF vbpa,&lt;/P&gt;&lt;P&gt;gs_vbpa TYPE vbpa,&lt;/P&gt;&lt;P&gt;gv_auart TYPE auart,&lt;/P&gt;&lt;P&gt;gv_counter TYPE i.&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;ALV variables &lt;/P&gt;&lt;P&gt;DATA: ls_fieldcat TYPE slis_fieldcat_alv, "Field Catalog list&lt;/P&gt;&lt;P&gt;gt_fieldcat TYPE slis_t_fieldcat_alv, "Field Catalog&lt;/P&gt;&lt;P&gt;ls_sort TYPE slis_sortinfo_alv, "Sorting list&lt;/P&gt;&lt;P&gt;gt_sort TYPE slis_t_sortinfo_alv, "Sort&lt;/P&gt;&lt;P&gt;gs_layout TYPE slis_layout_alv, "List Layout&lt;/P&gt;&lt;P&gt;gs_variant TYPE disvariant, "Display Variant&lt;/P&gt;&lt;P&gt;gv_repid LIKE sy-repid,&lt;/P&gt;&lt;P&gt;gv_save(1) TYPE c,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;gv_exit(1) TYPE c.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CONSTANTS: gc_a TYPE c VALUE 'A',&lt;/P&gt;&lt;P&gt;gc_g TYPE c VALUE 'G',&lt;/P&gt;&lt;P&gt;gc_re(2) TYPE c VALUE 'RE'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Screen-control Variables &lt;/P&gt;&lt;P&gt;CONTROLS:&lt;/P&gt;&lt;P&gt;tctrl_sched TYPE TABLEVIEW USING SCREEN 1010. " Schedule lines.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&amp;amp; Report ZSD_CONTRACT_LIST&lt;/P&gt;&lt;P&gt;*&amp;amp;&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&amp;amp; Created on: January 21, 2007&lt;/P&gt;&lt;P&gt;*&amp;amp; Description: List of Contracts - ALV&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;REPORT zsd_contract_list.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;INCLUDE zsd_contract_list_t01.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="-------------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Selection Screen &lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="-------------------------------------------------------------------" /&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF BLOCK m1 WITH FRAME TITLE text-t01.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-t02.&lt;/P&gt;&lt;P&gt;SELECT-OPTIONS: s_vkorg FOR vbak-vkorg MEMORY ID vko,&lt;/P&gt;&lt;P&gt;s_vtweg FOR vbak-vtweg MEMORY ID vtw,&lt;/P&gt;&lt;P&gt;s_spart FOR vbak-spart MEMORY ID spa,&lt;/P&gt;&lt;P&gt;s_vkbur FOR vbak-vkbur MEMORY ID vkb.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN SKIP 1.&lt;/P&gt;&lt;P&gt;SELECT-OPTIONS: s_vbeln FOR vbak-vbeln,&lt;/P&gt;&lt;P&gt;s_erdat FOR vbak-erdat,&lt;/P&gt;&lt;P&gt;s_ernam FOR vbak-ernam,&lt;/P&gt;&lt;P&gt;s_guebg FOR vbak-guebg,&lt;/P&gt;&lt;P&gt;s_gueen FOR vbak-gueen,&lt;/P&gt;&lt;P&gt;s_auart FOR gv_auart MEMORY ID vta&lt;/P&gt;&lt;P&gt;MATCHCODE OBJECT h_vakz.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN SKIP 1.&lt;/P&gt;&lt;P&gt;SELECT-OPTIONS:&lt;/P&gt;&lt;P&gt;s_kunnr FOR vbak-kunnr,&lt;/P&gt;&lt;P&gt;s_kunwe FOR vbap-oid_ship,&lt;/P&gt;&lt;P&gt;s_kunre FOR wbrk-kunre.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK b1.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME TITLE text-t03.&lt;/P&gt;&lt;P&gt;SELECT-OPTIONS: s_werks FOR vbap-werks MEMORY ID wrk,&lt;/P&gt;&lt;P&gt;s_lgort FOR vbap-lgort MEMORY ID lag,&lt;/P&gt;&lt;P&gt;s_vstel FOR vbap-vstel MEMORY ID vst,&lt;/P&gt;&lt;P&gt;s_route for vbap-route,&lt;/P&gt;&lt;P&gt;s_matnr FOR vbap-matnr.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK b2.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF BLOCK b3 WITH FRAME TITLE text-t04.&lt;/P&gt;&lt;P&gt;PARAMETERS: p_varia TYPE disvariant-variant MEMORY ID wrk,&lt;/P&gt;&lt;P&gt;p_all AS CHECKBOX DEFAULT 'X',&lt;/P&gt;&lt;P&gt;p_group AS CHECKBOX DEFAULT 'X'.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK b3.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK m1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&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;-&lt;/P&gt;&lt;HR originaltext="-------------------------------------------------------------------" /&gt;&lt;P&gt;START-OF-SELECTION.&lt;/P&gt;&lt;P&gt;PERFORM get_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="-------------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Display ALV &lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="-------------------------------------------------------------------" /&gt;&lt;P&gt;END-OF-SELECTION.&lt;/P&gt;&lt;P&gt;IF gt_report[] IS INITIAL.&lt;/P&gt;&lt;P&gt;MESSAGE s419(brain).&lt;/P&gt;&lt;P&gt;ELSE.&lt;/P&gt;&lt;P&gt;PERFORM create_alv.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN ON VALUE-REQUEST * &lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------------" /&gt;&lt;P&gt;AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_varia.&lt;/P&gt;&lt;P&gt;PERFORM f01_f4_variant CHANGING p_varia.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&amp;amp; Form get_data&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;text &lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------------" /&gt;&lt;P&gt;FORM get_data .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Select the appropriate contract data. &lt;/P&gt;&lt;P&gt;SELECT a~vbeln a~erdat a~ernam a~audat a~vbtyp a~auart a~vkorg&lt;/P&gt;&lt;P&gt;a~vtweg a~spart a~vkbur a~guebg a~gueen a~kunnr a~kvgr4&lt;/P&gt;&lt;P&gt;b~posnr b~matnr b~charg b~matkl b~arktx b~pstyv b~zmeng&lt;/P&gt;&lt;P&gt;b~zieme b~kdmat b~werks b~lgort b~vstel b~netpr b~kpein&lt;/P&gt;&lt;P&gt;b~kmein b~shkzg b~oid_extbol b~oid_miscdl b~oidrc b~oid_ship AS kunwe&lt;/P&gt;&lt;P&gt;b~zzwprofid c~datbi c~datab b~route&lt;/P&gt;&lt;P&gt;INTO CORRESPONDING FIELDS OF TABLE gt_sel&lt;/P&gt;&lt;P&gt;FROM vbak AS a&lt;/P&gt;&lt;P&gt;INNER JOIN vbap AS b ON a~vbeln = b~vbeln&lt;/P&gt;&lt;P&gt;LEFT OUTER JOIN zsdsched AS c ON b~vbeln = c~vbeln AND&lt;/P&gt;&lt;P&gt;b~posnr = c~posnr&lt;/P&gt;&lt;P&gt;WHERE a~vbeln IN s_vbeln&lt;/P&gt;&lt;P&gt;AND a~erdat IN s_erdat&lt;/P&gt;&lt;P&gt;AND a~vbtyp = gc_g&lt;/P&gt;&lt;P&gt;AND a~ernam IN s_ernam&lt;/P&gt;&lt;P&gt;AND a~vkorg IN s_vkorg&lt;/P&gt;&lt;P&gt;AND a~vtweg IN s_vtweg&lt;/P&gt;&lt;P&gt;AND a~spart IN s_spart&lt;/P&gt;&lt;P&gt;AND a~vkbur IN s_vkbur&lt;/P&gt;&lt;P&gt;AND a~guebg IN s_guebg&lt;/P&gt;&lt;P&gt;AND a~gueen IN s_gueen&lt;/P&gt;&lt;P&gt;AND a~auart IN s_auart&lt;/P&gt;&lt;P&gt;AND a~kunnr IN s_kunnr&lt;/P&gt;&lt;P&gt;AND b~oid_ship IN s_kunwe&lt;/P&gt;&lt;P&gt;AND b~werks IN s_werks&lt;/P&gt;&lt;P&gt;AND b~lgort IN s_lgort&lt;/P&gt;&lt;P&gt;AND b~vstel IN s_vstel&lt;/P&gt;&lt;P&gt;and b~route in s_route&lt;/P&gt;&lt;P&gt;AND b~matnr IN s_matnr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SORT gt_sel.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF NOT gt_sel[] IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Get Bill-to Party's for Item Lines &lt;/P&gt;&lt;P&gt;SELECT vbeln posnr parvw kunnr INTO CORRESPONDING FIELDS OF TABLE gt_vbpa&lt;/P&gt;&lt;P&gt;FROM vbpa&lt;/P&gt;&lt;P&gt;FOR ALL ENTRIES IN gt_sel&lt;/P&gt;&lt;P&gt;WHERE vbeln = gt_sel-vbeln&lt;/P&gt;&lt;P&gt;AND parvw = gc_re.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Select the remaining records from the ZSDSCHED Table. &lt;/P&gt;&lt;P&gt;SELECT * FROM zsdsched&lt;/P&gt;&lt;P&gt;INTO TABLE gt_sched&lt;/P&gt;&lt;P&gt;FOR ALL ENTRIES IN gt_sel&lt;/P&gt;&lt;P&gt;WHERE vbeln = gt_sel-vbeln&lt;/P&gt;&lt;P&gt;AND posnr = gt_sel-posnr.&lt;/P&gt;&lt;P&gt;SORT gt_sched.&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;Loop through captured data for additional information &lt;/P&gt;&lt;P&gt;LOOP AT gt_sel INTO gs_report.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Find the bill-to party &lt;/P&gt;&lt;P&gt;READ TABLE gt_vbpa INTO gs_vbpa WITH KEY vbeln = gs_report-vbeln&lt;/P&gt;&lt;P&gt;posnr = gs_report-posnr&lt;/P&gt;&lt;P&gt;parvw = gc_re.&lt;/P&gt;&lt;P&gt;IF sy-subrc 0.&lt;/P&gt;&lt;P&gt;READ TABLE gt_vbpa INTO gs_vbpa WITH KEY vbeln = gs_report-vbeln&lt;/P&gt;&lt;P&gt;parvw = gc_re.&lt;/P&gt;&lt;P&gt;CHECK sy-subrc = 0 AND gs_vbpa-kunnr IN s_kunre.&lt;/P&gt;&lt;P&gt;ELSE.&lt;/P&gt;&lt;P&gt;CHECK gs_vbpa-kunnr IN s_kunre.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;gs_report-kunre = gs_vbpa-kunnr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Get the Customer's Name &lt;/P&gt;&lt;P&gt;gs_report-kunnrt = zcl_kna1=&amp;gt;get_name1( itp_kunnr = gs_report-kunnr ).&lt;/P&gt;&lt;P&gt;gs_report-kunwet = zcl_kna1=&amp;gt;get_name1( itp_kunnr = gs_report-kunwe ).&lt;/P&gt;&lt;P&gt;gs_report-kunret = zcl_kna1=&amp;gt;get_name1( itp_kunnr = gs_report-kunre ).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Get the scheduling lines for the item line. &lt;/P&gt;&lt;P&gt;CLEAR gv_counter.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF NOT p_group IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If we are grouping the lines add the icon button. &lt;/P&gt;&lt;P&gt;LOOP AT gt_sched INTO gs_sched WHERE vbeln = gs_report-vbeln&lt;/P&gt;&lt;P&gt;AND posnr = gs_report-posnr.&lt;/P&gt;&lt;P&gt;IF gv_counter &amp;gt; 0.&lt;/P&gt;&lt;P&gt;gs_report-addl_schd = '@1E@'.&lt;/P&gt;&lt;P&gt;CONTINUE.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;MOVE-CORRESPONDING gs_sched TO gs_report.&lt;/P&gt;&lt;P&gt;ADD 1 TO gv_counter.&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;P&gt;ELSE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Otherwise get the rest of the schedule information &lt;/P&gt;&lt;P&gt;READ TABLE gt_sched INTO gs_sched&lt;/P&gt;&lt;P&gt;WITH KEY vbeln = gs_report-vbeln&lt;/P&gt;&lt;P&gt;posnr = gs_report-posnr&lt;/P&gt;&lt;P&gt;datbi = gs_report-datbi&lt;/P&gt;&lt;P&gt;datab = gs_report-datab.&lt;/P&gt;&lt;P&gt;IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;MOVE-CORRESPONDING gs_sched TO gs_report.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;APPEND gs_report TO gt_report.&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;Remove any duplicates from the reporting table &lt;/P&gt;&lt;P&gt;DELETE ADJACENT DUPLICATES FROM gt_report.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If Show all records is initial, delete non-scheduled lines (ex. Sub-items) &lt;/P&gt;&lt;P&gt;IF p_all IS INITIAL.&lt;/P&gt;&lt;P&gt;DELETE gt_report WHERE datbi = 0&lt;/P&gt;&lt;P&gt;AND datab = 0.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. " get_data&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&amp;amp; Form create_alv&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;text &lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------------" /&gt;&lt;P&gt;FORM create_alv .&lt;/P&gt;&lt;P&gt;PERFORM initialize_fieldcat USING gt_fieldcat[].&lt;/P&gt;&lt;P&gt;PERFORM populate_layout CHANGING gs_layout&lt;/P&gt;&lt;P&gt;gs_variant.&lt;/P&gt;&lt;P&gt;PERFORM populate_sort USING gt_sort[].&lt;/P&gt;&lt;P&gt;PERFORM display_alv_report.&lt;/P&gt;&lt;P&gt;ENDFORM. " create_alv&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&amp;amp; Form initialize_fieldcat&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Get and enhance the field catalog data &lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;--&amp;gt;L_FIELDCAT[] text &lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------------" /&gt;&lt;P&gt;FORM initialize_fieldcat USING l_fieldcat TYPE slis_t_fieldcat_alv.&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 = 'ZSD_CONTRACT_LIST'&lt;/P&gt;&lt;P&gt;i_internal_tabname = 'GT_REPORT'&lt;/P&gt;&lt;P&gt;i_inclname = 'ZSD_CONTRACT_LIST_T01'&lt;/P&gt;&lt;P&gt;CHANGING&lt;/P&gt;&lt;P&gt;ct_fieldcat = l_fieldcat&lt;/P&gt;&lt;P&gt;EXCEPTIONS&lt;/P&gt;&lt;P&gt;inconsistent_interface = 1&lt;/P&gt;&lt;P&gt;program_error = 2&lt;/P&gt;&lt;P&gt;OTHERS = 3.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;READ TABLE l_fieldcat INTO ls_fieldcat WITH KEY fieldname = 'VBELN'.&lt;/P&gt;&lt;P&gt;ls_fieldcat-seltext_m = ls_fieldcat-seltext_l = 'Contract'.&lt;/P&gt;&lt;P&gt;ls_fieldcat-hotspot = 'X'.&lt;/P&gt;&lt;P&gt;MODIFY l_fieldcat FROM ls_fieldcat INDEX sy-tabix.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;READ TABLE l_fieldcat INTO ls_fieldcat WITH KEY fieldname = 'KUNNRT'.&lt;/P&gt;&lt;P&gt;ls_fieldcat-seltext_s =&lt;/P&gt;&lt;P&gt;ls_fieldcat-seltext_m = ls_fieldcat-seltext_l = 'Sold-to Name'.&lt;/P&gt;&lt;P&gt;MODIFY l_fieldcat FROM ls_fieldcat INDEX sy-tabix.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;READ TABLE l_fieldcat INTO ls_fieldcat WITH KEY fieldname = 'KUNWET'.&lt;/P&gt;&lt;P&gt;ls_fieldcat-seltext_s =&lt;/P&gt;&lt;P&gt;ls_fieldcat-seltext_m = ls_fieldcat-seltext_l = 'Ship-to Name'.&lt;/P&gt;&lt;P&gt;MODIFY l_fieldcat FROM ls_fieldcat INDEX sy-tabix.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;READ TABLE l_fieldcat INTO ls_fieldcat WITH KEY fieldname = 'KUNRET'.&lt;/P&gt;&lt;P&gt;ls_fieldcat-seltext_s =&lt;/P&gt;&lt;P&gt;ls_fieldcat-seltext_m = ls_fieldcat-seltext_l = 'Bill-to Name'.&lt;/P&gt;&lt;P&gt;MODIFY l_fieldcat FROM ls_fieldcat INDEX sy-tabix.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;READ TABLE l_fieldcat INTO ls_fieldcat WITH KEY fieldname = 'ADDL_SCHD'.&lt;/P&gt;&lt;P&gt;IF NOT p_group IS INITIAL.&lt;/P&gt;&lt;P&gt;ls_fieldcat-seltext_s = 'Schd'.&lt;/P&gt;&lt;P&gt;ls_fieldcat-seltext_m = ls_fieldcat-seltext_l = 'Additional Scheduling Lines'.&lt;/P&gt;&lt;P&gt;ls_fieldcat-icon = 'X'.&lt;/P&gt;&lt;P&gt;CLEAR: ls_fieldcat-key,&lt;/P&gt;&lt;P&gt;ls_fieldcat-ref_fieldname,&lt;/P&gt;&lt;P&gt;ls_fieldcat-ref_tabname,&lt;/P&gt;&lt;P&gt;ls_fieldcat-reptext_ddic,&lt;/P&gt;&lt;P&gt;ls_fieldcat-ddic_outputlen.&lt;/P&gt;&lt;P&gt;ls_fieldcat-hotspot = 'X'.&lt;/P&gt;&lt;P&gt;MODIFY l_fieldcat FROM ls_fieldcat INDEX sy-tabix.&lt;/P&gt;&lt;P&gt;ELSE.&lt;/P&gt;&lt;P&gt;DELETE l_fieldcat INDEX sy-tabix.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;READ TABLE l_fieldcat INTO ls_fieldcat WITH KEY fieldname = 'DATAB'.&lt;/P&gt;&lt;P&gt;ls_fieldcat-seltext_s = 'Schd From'.&lt;/P&gt;&lt;P&gt;ls_fieldcat-seltext_m = ls_fieldcat-seltext_l = 'Sched. From Date'.&lt;/P&gt;&lt;P&gt;CLEAR: ls_fieldcat-key.&lt;/P&gt;&lt;P&gt;MODIFY l_fieldcat FROM ls_fieldcat INDEX sy-tabix.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;READ TABLE l_fieldcat INTO ls_fieldcat WITH KEY fieldname = 'DATBI'.&lt;/P&gt;&lt;P&gt;ls_fieldcat-seltext_s = 'Schd To'.&lt;/P&gt;&lt;P&gt;ls_fieldcat-seltext_m = ls_fieldcat-seltext_l = 'Sched. To Date'.&lt;/P&gt;&lt;P&gt;CLEAR: ls_fieldcat-key.&lt;/P&gt;&lt;P&gt;MODIFY l_fieldcat FROM ls_fieldcat INDEX sy-tabix.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. " initialize_fieldcat&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&amp;amp; Form populate_layout&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;text &lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;lt;--GS_LAYOUT &lt;/P&gt;&lt;P&gt;&amp;lt;--GS_VARIANT &lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------------" /&gt;&lt;P&gt;FORM populate_layout CHANGING gs_layout TYPE slis_layout_alv&lt;/P&gt;&lt;P&gt;gs_variant TYPE disvariant.&lt;/P&gt;&lt;P&gt;gs_layout-colwidth_optimize = 'X'.&lt;/P&gt;&lt;P&gt;gs_layout-allow_switch_to_list = 'X'.&lt;/P&gt;&lt;P&gt;gs_layout-zebra = 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;gs_variant-report = sy-repid.&lt;/P&gt;&lt;P&gt;ENDFORM. " populate_layout&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&amp;amp; Form populate_sort&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;text &lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;--&amp;gt;l_SORT[] text &lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------------" /&gt;&lt;P&gt;FORM populate_sort USING l_sort TYPE slis_t_sortinfo_alv.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. " populate_sort&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&amp;amp; Form display_alv_report&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------------" /&gt;&lt;P&gt;FORM display_alv_report .&lt;/P&gt;&lt;P&gt;gv_repid = sy-repid.&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;&lt;/P&gt;&lt;P&gt;I_INTERFACE_CHECK = ' ' &lt;/P&gt;&lt;P&gt;I_BYPASSING_BUFFER = &lt;/P&gt;&lt;P&gt;I_BUFFER_ACTIVE = ' ' &lt;/P&gt;&lt;P&gt;i_callback_program = gv_repid&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I_CALLBACK_PF_STATUS_SET = ' ' &lt;/P&gt;&lt;P&gt;i_callback_user_command = 'USER_COMMAND'&lt;/P&gt;&lt;P&gt;i_structure_name = 'gt_report'&lt;/P&gt;&lt;P&gt;is_layout = gs_layout&lt;/P&gt;&lt;P&gt;it_fieldcat = gt_fieldcat&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IT_EXCLUDING = &lt;/P&gt;&lt;P&gt;IT_SPECIAL_GROUPS = &lt;/P&gt;&lt;P&gt;it_sort = gt_sort&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IT_FILTER = &lt;/P&gt;&lt;P&gt;IS_SEL_HIDE = &lt;/P&gt;&lt;P&gt;i_default = 'X'&lt;/P&gt;&lt;P&gt;i_save = gc_a&lt;/P&gt;&lt;P&gt;is_variant = gs_variant&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IT_EVENTS = &lt;/P&gt;&lt;P&gt;IT_EVENT_EXIT = &lt;/P&gt;&lt;P&gt;IS_PRINT = &lt;/P&gt;&lt;P&gt;IS_REPREP_ID = &lt;/P&gt;&lt;P&gt;I_SCREEN_START_COLUMN = 0 &lt;/P&gt;&lt;P&gt;I_SCREEN_START_LINE = 0 &lt;/P&gt;&lt;P&gt;I_SCREEN_END_COLUMN = 0 &lt;/P&gt;&lt;P&gt;I_SCREEN_END_LINE = 0 &lt;/P&gt;&lt;P&gt;IMPORTING &lt;/P&gt;&lt;P&gt;E_EXIT_CAUSED_BY_CALLER = &lt;/P&gt;&lt;P&gt;ES_EXIT_CAUSED_BY_USER = &lt;/P&gt;&lt;P&gt;TABLES&lt;/P&gt;&lt;P&gt;t_outtab = gt_report&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;IF sy-subrc 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;ENDFORM. " display_alv_report&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&amp;amp; Form f01_f4_variant&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Get the Layout variant for the user. &lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------------" /&gt;&lt;P&gt;FORM f01_f4_variant CHANGING c_variant TYPE disvariant-variant.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: ls_variant TYPE disvariant,&lt;/P&gt;&lt;P&gt;l_exit TYPE char1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ls_variant-report = sy-repid.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'REUSE_ALV_VARIANT_F4'&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;is_variant = ls_variant&lt;/P&gt;&lt;P&gt;i_save = 'A'&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;it_default_fieldcat = &lt;/P&gt;&lt;P&gt;IMPORTING&lt;/P&gt;&lt;P&gt;e_exit = l_exit&lt;/P&gt;&lt;P&gt;es_variant = ls_variant&lt;/P&gt;&lt;P&gt;EXCEPTIONS&lt;/P&gt;&lt;P&gt;not_found = 2.&lt;/P&gt;&lt;P&gt;IF sy-subrc = 2.&lt;/P&gt;&lt;P&gt;MESSAGE ID sy-msgid TYPE 'S' NUMBER sy-msgno&lt;/P&gt;&lt;P&gt;WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.&lt;/P&gt;&lt;P&gt;ELSE.&lt;/P&gt;&lt;P&gt;IF l_exit EQ space.&lt;/P&gt;&lt;P&gt;c_variant = ls_variant-variant.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. " f01_f4_variant&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM USER_COMMAND * &lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;--&amp;gt; R_UCOMM * &lt;/P&gt;&lt;P&gt;--&amp;gt; RS_SELFIELD * &lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;FORM user_command USING r_ucomm LIKE sy-ucomm&lt;/P&gt;&lt;P&gt;rs_selfield TYPE slis_selfield.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Check function code &lt;/P&gt;&lt;P&gt;CASE r_ucomm.&lt;/P&gt;&lt;P&gt;WHEN '&amp;amp;IC1'.&lt;/P&gt;&lt;P&gt;READ TABLE gt_report INTO gs_report INDEX rs_selfield-tabindex.&lt;/P&gt;&lt;P&gt;CHECK sy-subrc = 0.&lt;/P&gt;&lt;P&gt;CASE rs_selfield-fieldname.&lt;/P&gt;&lt;P&gt;WHEN 'VBELN'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Set parameter ID for transaction screen field &lt;/P&gt;&lt;P&gt;CHECK NOT gs_report-vbeln IS INITIAL.&lt;/P&gt;&lt;P&gt;SET PARAMETER ID 'KTN' FIELD gs_report-vbeln.&lt;/P&gt;&lt;P&gt;CALL TRANSACTION 'VA43' AND SKIP FIRST SCREEN.&lt;/P&gt;&lt;P&gt;WHEN 'ADDL_SCHD'.&lt;/P&gt;&lt;P&gt;CHECK NOT gs_report-addl_schd IS INITIAL.&lt;/P&gt;&lt;P&gt;REFRESH gt_sched_tmp.&lt;/P&gt;&lt;P&gt;LOOP AT gt_sched INTO gs_sched&lt;/P&gt;&lt;P&gt;WHERE vbeln = gs_report-vbeln&lt;/P&gt;&lt;P&gt;AND posnr = gs_report-posnr.&lt;/P&gt;&lt;P&gt;APPEND gs_sched TO gt_sched_tmp.&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;P&gt;CHECK sy-subrc = 0.&lt;/P&gt;&lt;P&gt;CALL SCREEN '1010' STARTING AT 5 5.&lt;/P&gt;&lt;P&gt;ENDCASE.&lt;/P&gt;&lt;P&gt;ENDCASE.&lt;/P&gt;&lt;P&gt;ENDFORM. "user_command&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&amp;amp; Module STATUS_1010 OUTPUT&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;text &lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------------" /&gt;&lt;P&gt;MODULE status_1010 OUTPUT.&lt;/P&gt;&lt;P&gt;SET PF-STATUS 'MAIN_1010'.&lt;/P&gt;&lt;P&gt;SET TITLEBAR '1010' WITH gs_report-vbeln gs_report-posnr.&lt;/P&gt;&lt;P&gt;ENDMODULE. " STATUS_1010 OUTPUT&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&amp;amp; Module USER_COMMAND_1010 INPUT&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="----------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;text &lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------------" /&gt;&lt;P&gt;MODULE user_command_1010 INPUT.&lt;/P&gt;&lt;P&gt;CASE sy-ucomm.&lt;/P&gt;&lt;P&gt;WHEN 'BACK' OR 'CANC'.&lt;/P&gt;&lt;P&gt;LEAVE TO SCREEN 0.&lt;/P&gt;&lt;P&gt;ENDCASE.&lt;/P&gt;&lt;P&gt;ENDMODULE. " USER_COMMAND_1010 INPUT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Please help &lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 25 Mar 2008 16:56:36 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-report-problem/m-p/3569319#M859059</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-03-25T16:56:36Z</dc:date>
    </item>
    <item>
      <title>Re: ALV-report problem</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-report-problem/m-p/3569320#M859060</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Valter!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I created this report with your suggestion which seems ok yet it lands me up again in the run-time error. Is it possible that you please have a look at my report which I am sending and kindly suggest and guide me as to what the eroor could be due to.&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;***INCLUDE ZSD_CONTRACT_LIST_T01_RENTAL1 .&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;&lt;/P&gt;&lt;P&gt;TABLES: vbak, vbap, wbrk, zsdsched,vbkd, fplt, fpla, tvlvt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPE-POOLS: slis.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data: BEGIN OF gt_report occurs 0,&lt;/P&gt;&lt;P&gt;    vbeln LIKE vbak-vbeln,              "Sales Document&lt;/P&gt;&lt;P&gt;    posnr LIKE vbap-posnr,              "Item&lt;/P&gt;&lt;P&gt;    ernam LIKE vbak-ernam,              "Created by&lt;/P&gt;&lt;P&gt;    erdat LIKE vbak-erdat,              "Created on&lt;/P&gt;&lt;P&gt;    audat LIKE vbak-audat,              "Document Date&lt;/P&gt;&lt;P&gt;    vbtyp LIKE vbak-vbtyp,              "SD document category&lt;/P&gt;&lt;P&gt;    auart LIKE vbak-auart,              "Sales Document type&lt;/P&gt;&lt;P&gt;    vkorg LIKE vbak-vkorg,              "Sales Org&lt;/P&gt;&lt;P&gt;    vtweg LIKE vbak-vtweg,              "Distribution Channel&lt;/P&gt;&lt;P&gt;    spart LIKE vbak-spart,              "Division&lt;/P&gt;&lt;P&gt;    vkbur LIKE vbak-vkbur,              "Sales Office&lt;/P&gt;&lt;P&gt;    guebg LIKE vbak-guebg,              "Valid from date&lt;/P&gt;&lt;P&gt;    gueen LIKE vbak-gueen,              "Valid to date&lt;/P&gt;&lt;P&gt;    kunnr LIKE vbak-kunnr,              "Sold-to party&lt;/P&gt;&lt;P&gt;    kunnrt LIKE kna1-name1,             "Sold-to Name&lt;/P&gt;&lt;P&gt;    kvgr4 LIKE vbak-kvgr4,              "Territory&lt;/P&gt;&lt;P&gt;    matnr LIKE vbap-matnr,              "Material&lt;/P&gt;&lt;P&gt;    arktx LIKE vbap-arktx,              "Material Short Text&lt;/P&gt;&lt;P&gt;    charg LIKE vbap-charg,              "Batch&lt;/P&gt;&lt;P&gt;    matkl LIKE vbap-matkl,              "Material Group&lt;/P&gt;&lt;P&gt;    pstyv LIKE vbap-pstyv,              "Item Category&lt;/P&gt;&lt;P&gt;    zmeng LIKE vbap-zmeng,              "Target Quantity&lt;/P&gt;&lt;P&gt;    zieme LIKE vbap-zieme,              "Target Unit&lt;/P&gt;&lt;P&gt;    kdmat LIKE vbap-kdmat,              "Customer Material Number&lt;/P&gt;&lt;P&gt;    werks LIKE vbap-werks,              "Plant&lt;/P&gt;&lt;P&gt;    lgort LIKE vbap-lgort,              "Storage Location&lt;/P&gt;&lt;P&gt;    vstel LIKE vbap-vstel,              "Shipping Point&lt;/P&gt;&lt;P&gt;    route LIKE vbap-route,              "Route&lt;/P&gt;&lt;P&gt;    netpr LIKE vbap-netpr,              "Net Price&lt;/P&gt;&lt;P&gt;    kpein LIKE vbap-kpein,              "Condition Price Unit&lt;/P&gt;&lt;P&gt;    kmein LIKE vbap-kmein,              "Condition Unit&lt;/P&gt;&lt;P&gt;    shkzg LIKE vbap-shkzg,              "Returns Item&lt;/P&gt;&lt;P&gt;    oidrc LIKE vbap-oidrc,              "DRC Code&lt;/P&gt;&lt;P&gt;    kunwe LIKE vbap-oid_ship,           "Ship-to&lt;/P&gt;&lt;P&gt;    aufnr LIKE vbap-aufnr,              "Order Number&lt;/P&gt;&lt;P&gt;    vkaus LIKE vbap-vkaus,              "Usage&lt;/P&gt;&lt;P&gt;    kunwet    LIKE kna1-name1,          "Ship-to Name&lt;/P&gt;&lt;P&gt;    zzwprofid LIKE vbap-zzwprofid,      "Waste Profile ID&lt;/P&gt;&lt;P&gt;    kunre     LIKE wbrk-kunre,          "Bill-to&lt;/P&gt;&lt;P&gt;    kunret    LIKE kna1-name1,          "Bill-to Name&lt;/P&gt;&lt;P&gt;    addl_schd LIKE icon-id,             "Push Button For addl line&lt;/P&gt;&lt;P&gt;    datab     LIKE zsdsched-datab,      "Valid-From Date&lt;/P&gt;&lt;P&gt;    datbi     LIKE zsdsched-datbi,     "Valid To Date&lt;/P&gt;&lt;P&gt;    zschdfreq  LIKE zsdsched-zschdfreq, "Contract schedule frequency&lt;/P&gt;&lt;P&gt;    frequency  LIKE zsdsched-frequency, "Frequency&lt;/P&gt;&lt;P&gt;    monday    LIKE zsdsched-monday,     "Mondays&lt;/P&gt;&lt;P&gt;    tuesday   LIKE zsdsched-tuesday,    "Tuesdays&lt;/P&gt;&lt;P&gt;    wednesday  LIKE zsdsched-wednesday, "Wednesdays&lt;/P&gt;&lt;P&gt;    thursday  LIKE zsdsched-thursday,   "Thursdays&lt;/P&gt;&lt;P&gt;    friday    LIKE zsdsched-friday,     "Fridays&lt;/P&gt;&lt;P&gt;    saturday  LIKE zsdsched-saturday,   "Saturdays&lt;/P&gt;&lt;P&gt;    sunday    LIKE zsdsched-sunday,     "Sundays&lt;/P&gt;&lt;P&gt;    dzieme    LIKE zsdsched-dzieme,     "Target quantity UoM&lt;/P&gt;&lt;P&gt;    comments  LIKE zsdsched-comments,   "Comments&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   END OF gt_report.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  data: Begin of gt_report1 occurs 0,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    fksaf     LIKE fplt-fksaf,&lt;/P&gt;&lt;P&gt;    afdat     LIKE fplt-afdat,&lt;/P&gt;&lt;P&gt;    fakwr     LIKE fplt-fakwr,&lt;/P&gt;&lt;P&gt;    fkdat     LIKE fplt-fkdat,&lt;/P&gt;&lt;P&gt;    nfdat     LIKE fplt-nfdat,&lt;/P&gt;&lt;P&gt;    fpart     LIKE fpla-fpart,&lt;/P&gt;&lt;P&gt;    bedat     LIKE fpla-bedat,&lt;/P&gt;&lt;P&gt;    endat     LIKE fpla-endat,&lt;/P&gt;&lt;P&gt;    horiz     LIKE fpla-horiz,&lt;/P&gt;&lt;P&gt;    bezei     LIKE tvlvt-bezei,&lt;/P&gt;&lt;P&gt;    vbeln     LIKE vbak-vbeln,&lt;/P&gt;&lt;P&gt;    erdat     LIKE vbak-erdat,&lt;/P&gt;&lt;P&gt;    ernam     LIKE vbak-ernam,&lt;/P&gt;&lt;P&gt;    guebg     LIKE vbak-guebg,&lt;/P&gt;&lt;P&gt;    gueen     LIKE vbak-gueen,&lt;/P&gt;&lt;P&gt;    auart     LIKE vbak-auart,&lt;/P&gt;&lt;P&gt;    kunnr     LIKE vbak-kunnr,&lt;/P&gt;&lt;P&gt;    kvgr4     LIKE vbak-kvgr4,&lt;/P&gt;&lt;P&gt;    vkbur     LIKE vbak-vkbur,&lt;/P&gt;&lt;P&gt;    vkorg     LIKE vbak-vkorg,&lt;/P&gt;&lt;P&gt;    vtweg     LIKE vbak-vtweg,&lt;/P&gt;&lt;P&gt;    vbtyp     LIKE vbak-vbtyp,&lt;/P&gt;&lt;P&gt;    name1     LIKE kna1-name1,&lt;/P&gt;&lt;P&gt;    pstyv     LIKE vbap-pstyv,&lt;/P&gt;&lt;P&gt;    matnr     LIKE vbap-matnr,&lt;/P&gt;&lt;P&gt;    werks     LIKE vbap-werks,&lt;/P&gt;&lt;P&gt;    oid_ship  LIKE vbap-oid_ship,&lt;/P&gt;&lt;P&gt;    kpein     LIKE vbap-kpein,&lt;/P&gt;&lt;P&gt;    kmein     LIKE vbap-kmein,&lt;/P&gt;&lt;P&gt;    netpr     LIKE vbap-netpr,&lt;/P&gt;&lt;P&gt;    kdmat     LIKE vbap-kdmat,&lt;/P&gt;&lt;P&gt;    posnr     LIKE vbap-posnr,&lt;/P&gt;&lt;P&gt;    matkl     LIKE vbap-matkl,&lt;/P&gt;&lt;P&gt;    aufnr     LIKE vbap-aufnr,&lt;/P&gt;&lt;P&gt;    vkaus     LIKE vbap-vkaus,&lt;/P&gt;&lt;P&gt;    route     LIKE vbap-route,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    End of gt_report1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data: gs_report    LIKE LINE OF gt_report,&lt;/P&gt;&lt;P&gt;      gt_sched     TYPE TABLE OF zsdsched,&lt;/P&gt;&lt;P&gt;      gt_sched_tmp TYPE TABLE OF zsdsched,&lt;/P&gt;&lt;P&gt;      gs_sched     TYPE zsdsched,&lt;/P&gt;&lt;P&gt;      gt_sel       LIKE gt_report OCCURS 0,&lt;/P&gt;&lt;P&gt;      gt_sel1      like  gt_report1 occurs 0,&lt;/P&gt;&lt;P&gt;      gt_vbpa  TYPE TABLE OF vbpa,&lt;/P&gt;&lt;P&gt;      gs_vbpa  TYPE vbpa,&lt;/P&gt;&lt;P&gt;      gv_auart TYPE auart,&lt;/P&gt;&lt;P&gt;      gv_counter TYPE i.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**-- ALV variables&lt;/P&gt;&lt;P&gt;DATA: ls_fieldcat     TYPE slis_fieldcat_alv,    "Field Catalog list&lt;/P&gt;&lt;P&gt;      gt_fieldcat     TYPE slis_t_fieldcat_alv,  "Field Catalog&lt;/P&gt;&lt;P&gt;      ls_sort         TYPE slis_sortinfo_alv,    "Sorting list&lt;/P&gt;&lt;P&gt;      gt_sort         TYPE slis_t_sortinfo_alv,  "Sort&lt;/P&gt;&lt;P&gt;      gs_layout       TYPE slis_layout_alv,      "List Layout&lt;/P&gt;&lt;P&gt;      gs_variant      TYPE disvariant,           "Display Variant&lt;/P&gt;&lt;P&gt;      gv_repid        LIKE sy-repid,&lt;/P&gt;&lt;P&gt;      gv_save(1)           TYPE c,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ls_fieldcat1     TYPE slis_fieldcat_alv,    "Field Catalog list&lt;/P&gt;&lt;P&gt;      gt_fieldcat1     TYPE slis_t_fieldcat_alv,  "Field Catalog&lt;/P&gt;&lt;P&gt;      ls_sort1         TYPE slis_sortinfo_alv,    "Sorting list&lt;/P&gt;&lt;P&gt;      gt_sort1         TYPE slis_t_sortinfo_alv,  "Sort&lt;/P&gt;&lt;P&gt;      gs_layout1       TYPE slis_layout_alv,      "List Layout&lt;/P&gt;&lt;P&gt;      gs_variant1      TYPE disvariant,           "Display Variant&lt;/P&gt;&lt;P&gt;      gv_repid1        LIKE sy-repid,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      gv_exit(1)           TYPE c.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CONSTANTS: gc_a     TYPE c VALUE 'A',&lt;/P&gt;&lt;P&gt;           gc_g     TYPE c VALUE 'G',&lt;/P&gt;&lt;P&gt;           gc_re(2) TYPE c VALUE 'RE'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Screen-control Variables&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;CONTROLS:&lt;/P&gt;&lt;P&gt;  tctrl_sched TYPE TABLEVIEW USING SCREEN 1010.     " Schedule lines.&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; Report  ZSD_CONTRACT_LIST_RENTAL1&lt;/P&gt;&lt;P&gt;*&amp;amp;&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; Created on: March 27, 2008.&lt;/P&gt;&lt;P&gt;*&amp;amp; Description: List of Contracts - ALV&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT  zsd_contract_list_rental1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;INCLUDE zsd_contract_list_t01_rental1.&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 m1 WITH FRAME TITLE text-t01.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-t02.&lt;/P&gt;&lt;P&gt;SELECT-OPTIONS: s_vkorg FOR vbak-vkorg MEMORY ID vko,&lt;/P&gt;&lt;P&gt;                s_vtweg FOR vbak-vtweg MEMORY ID vtw,&lt;/P&gt;&lt;P&gt;                s_spart FOR vbak-spart MEMORY ID spa,&lt;/P&gt;&lt;P&gt;                s_vkbur FOR vbak-vkbur MEMORY ID vkb.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN SKIP 1.&lt;/P&gt;&lt;P&gt;SELECT-OPTIONS: s_vbeln FOR vbak-vbeln,&lt;/P&gt;&lt;P&gt;                s_erdat FOR vbak-erdat,&lt;/P&gt;&lt;P&gt;                s_ernam FOR vbak-ernam,&lt;/P&gt;&lt;P&gt;                s_guebg FOR vbak-guebg,&lt;/P&gt;&lt;P&gt;                s_gueen FOR vbak-gueen,&lt;/P&gt;&lt;P&gt;                s_auart FOR gv_auart MEMORY ID vta&lt;/P&gt;&lt;P&gt;                                     MATCHCODE OBJECT h_vakz.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN SKIP 1.&lt;/P&gt;&lt;P&gt;SELECT-OPTIONS:&lt;/P&gt;&lt;P&gt;                s_kunnr FOR vbak-kunnr,&lt;/P&gt;&lt;P&gt;                s_kunwe FOR vbap-oid_ship,&lt;/P&gt;&lt;P&gt;                s_kunre FOR wbrk-kunre.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK b1.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME TITLE text-t03.&lt;/P&gt;&lt;P&gt;SELECT-OPTIONS: s_werks FOR vbap-werks MEMORY ID wrk,&lt;/P&gt;&lt;P&gt;                s_lgort FOR vbap-lgort MEMORY ID lag,&lt;/P&gt;&lt;P&gt;                s_vstel FOR vbap-vstel MEMORY ID vst,&lt;/P&gt;&lt;P&gt;                s_route for vbap-route,&lt;/P&gt;&lt;P&gt;                s_matnr FOR vbap-matnr.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK b2.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF BLOCK b3 WITH FRAME TITLE text-t04.&lt;/P&gt;&lt;P&gt;PARAMETERS:     p_varia TYPE disvariant-variant MEMORY ID wrk,&lt;/P&gt;&lt;P&gt;                p_all   AS CHECKBOX DEFAULT 'X',&lt;/P&gt;&lt;P&gt;                p_group AS CHECKBOX DEFAULT 'X',&lt;/P&gt;&lt;P&gt;                p_rental AS CHECKBOX DEFAULT 'X'.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK b3.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK m1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Start of Selection&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;START-OF-SELECTION.&lt;/P&gt;&lt;P&gt;  PERFORM get_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;Display ALV&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;END-OF-SELECTION.&lt;/P&gt;&lt;P&gt;  IF gt_report[] IS INITIAL.&lt;/P&gt;&lt;P&gt;    MESSAGE s419(brain).&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    PERFORM create_alv.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;AT SELECTION-SCREEN ON VALUE-REQUEST                                 *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_varia.&lt;/P&gt;&lt;P&gt;  PERFORM f01_f4_variant CHANGING p_varia.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  get_data&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM get_data .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   select the appropriate rental data.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECT a~vbeln a~erdat a~ernam a~guebg a~gueen a~auart&lt;/P&gt;&lt;P&gt;       a~kunnr a~kvgr4 a~vkbur a~vkorg a~vtweg a~vbtyp&lt;/P&gt;&lt;P&gt;       b~pstyv b~matnr b~werks b~oid_ship b~kpein b~kmein&lt;/P&gt;&lt;P&gt;       b~netpr b~kdmat b~posnr b~matkl b~aufnr b~vkaus b~route&lt;/P&gt;&lt;P&gt;       d~bezei e~afdat e~fakwr e~fkdat e~nfdat f~fpart f~bedat f~endat f~horiz&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; INTO CORRESPONDING FIELDS OF TABLE gt_sel1&lt;/P&gt;&lt;P&gt;     FROM vbak AS a&lt;/P&gt;&lt;P&gt;         INNER JOIN vbap AS b ON a~vbeln = b~vbeln&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        INNER JOIN vbpa as c ON a&lt;SUB&gt;vbeln = c&lt;/SUB&gt;vbeln&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;         INNER JOIN vbkd AS g ON a~vbeln = g~vbeln&lt;/P&gt;&lt;P&gt;         INNER JOIN fplt AS e ON g~fplnr = e~fplnr&lt;/P&gt;&lt;P&gt;         INNER JOIN fpla AS f ON e~fplnr = f~fplnr&lt;/P&gt;&lt;P&gt;         INNER JOIN tvlvt AS d ON b~vkaus = d~abrvw&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;     WHERE a~vbeln IN s_vbeln&lt;/P&gt;&lt;P&gt;       AND a~erdat IN s_erdat&lt;/P&gt;&lt;P&gt;       AND a~vbtyp = gc_g&lt;/P&gt;&lt;P&gt;       AND a~ernam IN s_ernam&lt;/P&gt;&lt;P&gt;       AND a~vkorg IN s_vkorg&lt;/P&gt;&lt;P&gt;       AND a~vtweg IN s_vtweg&lt;/P&gt;&lt;P&gt;       AND a~spart IN s_spart&lt;/P&gt;&lt;P&gt;       AND a~vkbur IN s_vkbur&lt;/P&gt;&lt;P&gt;       AND a~guebg IN s_guebg&lt;/P&gt;&lt;P&gt;       AND a~gueen IN s_gueen&lt;/P&gt;&lt;P&gt;       AND a~auart IN s_auart&lt;/P&gt;&lt;P&gt;       AND a~kunnr IN s_kunnr&lt;/P&gt;&lt;P&gt;       AND b~oid_ship IN s_kunwe&lt;/P&gt;&lt;P&gt;       AND b~werks IN s_werks&lt;/P&gt;&lt;P&gt;       AND b~lgort IN s_lgort&lt;/P&gt;&lt;P&gt;       AND b~vstel IN s_vstel&lt;/P&gt;&lt;P&gt;       and b~route in s_route&lt;/P&gt;&lt;P&gt;       AND b~matnr IN s_matnr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    sort gt_sel1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Select the appropriate contract data.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  SELECT a~vbeln a~erdat a~ernam a~audat a~vbtyp a~auart a~vkorg&lt;/P&gt;&lt;P&gt;   a~vtweg a~spart a~vkbur a~guebg a~gueen a~kunnr a~kvgr4&lt;/P&gt;&lt;P&gt;   b~posnr b~matnr b~charg b~matkl b~arktx b~pstyv b~zmeng&lt;/P&gt;&lt;P&gt;   b~zieme b~kdmat b~werks b~lgort b~vstel b~netpr b~kpein&lt;/P&gt;&lt;P&gt;   b~kmein b~shkzg b~oid_extbol b~oid_miscdl b~oidrc b~oid_ship AS kunwe&lt;/P&gt;&lt;P&gt;   b~zzwprofid c~datbi c~datab b~route&lt;/P&gt;&lt;P&gt;     INTO CORRESPONDING FIELDS OF TABLE gt_sel&lt;/P&gt;&lt;P&gt;     FROM vbak AS a&lt;/P&gt;&lt;P&gt;         INNER JOIN vbap AS b ON a~vbeln = b~vbeln&lt;/P&gt;&lt;P&gt;         LEFT OUTER JOIN zsdsched AS c ON b~vbeln = c~vbeln AND&lt;/P&gt;&lt;P&gt;                               b~posnr = c~posnr&lt;/P&gt;&lt;P&gt;     WHERE a~vbeln IN s_vbeln&lt;/P&gt;&lt;P&gt;       AND a~erdat IN s_erdat&lt;/P&gt;&lt;P&gt;       AND a~vbtyp = gc_g&lt;/P&gt;&lt;P&gt;       AND a~ernam IN s_ernam&lt;/P&gt;&lt;P&gt;       AND a~vkorg IN s_vkorg&lt;/P&gt;&lt;P&gt;       AND a~vtweg IN s_vtweg&lt;/P&gt;&lt;P&gt;       AND a~spart IN s_spart&lt;/P&gt;&lt;P&gt;       AND a~vkbur IN s_vkbur&lt;/P&gt;&lt;P&gt;       AND a~guebg IN s_guebg&lt;/P&gt;&lt;P&gt;       AND a~gueen IN s_gueen&lt;/P&gt;&lt;P&gt;       AND a~auart IN s_auart&lt;/P&gt;&lt;P&gt;       AND a~kunnr IN s_kunnr&lt;/P&gt;&lt;P&gt;       AND b~oid_ship IN s_kunwe&lt;/P&gt;&lt;P&gt;       AND b~werks IN s_werks&lt;/P&gt;&lt;P&gt;       AND b~lgort IN s_lgort&lt;/P&gt;&lt;P&gt;       AND b~vstel IN s_vstel&lt;/P&gt;&lt;P&gt;       and b~route in s_route&lt;/P&gt;&lt;P&gt;       AND b~matnr IN s_matnr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SORT gt_sel.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT gt_sel[] IS INITIAL.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Get Bill-to Party's for Item Lines&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    SELECT vbeln posnr parvw kunnr INTO CORRESPONDING FIELDS OF TABLE gt_vbpa&lt;/P&gt;&lt;P&gt;        FROM vbpa&lt;/P&gt;&lt;P&gt;        FOR ALL ENTRIES IN gt_sel&lt;/P&gt;&lt;P&gt;        WHERE vbeln = gt_sel-vbeln&lt;/P&gt;&lt;P&gt;          AND parvw = gc_re.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Select the remaining records from the ZSDSCHED Table.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    SELECT * FROM zsdsched&lt;/P&gt;&lt;P&gt;        INTO TABLE gt_sched&lt;/P&gt;&lt;P&gt;        FOR ALL ENTRIES IN gt_sel&lt;/P&gt;&lt;P&gt;        WHERE vbeln = gt_sel-vbeln&lt;/P&gt;&lt;P&gt;          AND posnr = gt_sel-posnr.&lt;/P&gt;&lt;P&gt;    SORT gt_sched.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Loop through captured data for additional information&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  LOOP AT gt_sel INTO gs_report.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Find the bill-to party&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    READ TABLE gt_vbpa INTO gs_vbpa WITH KEY vbeln = gs_report-vbeln&lt;/P&gt;&lt;P&gt;                                             posnr = gs_report-posnr&lt;/P&gt;&lt;P&gt;                                             parvw = gc_re.&lt;/P&gt;&lt;P&gt;    IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;      READ TABLE gt_vbpa INTO gs_vbpa WITH KEY vbeln = gs_report-vbeln&lt;/P&gt;&lt;P&gt;                                               parvw = gc_re.&lt;/P&gt;&lt;P&gt;      CHECK sy-subrc = 0 AND gs_vbpa-kunnr IN s_kunre.&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;      CHECK gs_vbpa-kunnr IN s_kunre.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;    gs_report-kunre = gs_vbpa-kunnr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; Get the Customer's Name&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    gs_report-kunnrt = zcl_kna1=&amp;gt;get_name1( itp_kunnr = gs_report-kunnr ).&lt;/P&gt;&lt;P&gt;    gs_report-kunwet = zcl_kna1=&amp;gt;get_name1( itp_kunnr = gs_report-kunwe ).&lt;/P&gt;&lt;P&gt;    gs_report-kunret = zcl_kna1=&amp;gt;get_name1( itp_kunnr = gs_report-kunre ).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Get the scheduling lines for the item line.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    CLEAR gv_counter.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF NOT p_group IS INITIAL.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    If we are grouping the lines add the icon button.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      LOOP AT gt_sched INTO gs_sched WHERE vbeln = gs_report-vbeln&lt;/P&gt;&lt;P&gt;                                     AND posnr = gs_report-posnr.&lt;/P&gt;&lt;P&gt;        IF gv_counter &amp;gt; 0.&lt;/P&gt;&lt;P&gt;          gs_report-addl_schd = '@1E@'.&lt;/P&gt;&lt;P&gt;          CONTINUE.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;        MOVE-CORRESPONDING gs_sched TO gs_report.&lt;/P&gt;&lt;P&gt;        ADD 1 TO gv_counter.&lt;/P&gt;&lt;P&gt;      ENDLOOP.&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    Otherwise get the rest of the schedule information&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      READ TABLE gt_sched INTO gs_sched&lt;/P&gt;&lt;P&gt;        WITH KEY vbeln = gs_report-vbeln&lt;/P&gt;&lt;P&gt;                 posnr = gs_report-posnr&lt;/P&gt;&lt;P&gt;                 datbi = gs_report-datbi&lt;/P&gt;&lt;P&gt;                 datab = gs_report-datab.&lt;/P&gt;&lt;P&gt;      IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;        MOVE-CORRESPONDING gs_sched TO gs_report.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;    APPEND gs_report TO gt_report.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Remove any duplicates from the reporting table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  DELETE ADJACENT DUPLICATES FROM gt_report.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;If Show all records is initial, delete non-scheduled lines (ex. Sub-items)&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  IF p_all IS INITIAL.&lt;/P&gt;&lt;P&gt;    DELETE gt_report WHERE datbi = 0&lt;/P&gt;&lt;P&gt;                        AND datab = 0.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " get_data&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  create_alv&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      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 create_alv .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  if p_rental is initial.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM initialize_fieldcat USING gt_fieldcat[].&lt;/P&gt;&lt;P&gt;  PERFORM populate_layout CHANGING gs_layout&lt;/P&gt;&lt;P&gt;                                   gs_variant.&lt;/P&gt;&lt;P&gt;  PERFORM populate_sort   USING gt_sort[].&lt;/P&gt;&lt;P&gt;  PERFORM display_alv_report.&lt;/P&gt;&lt;P&gt; else.&lt;/P&gt;&lt;P&gt; PERFORM initialize_fieldcat1 USING gt_fieldcat1[].&lt;/P&gt;&lt;P&gt;  PERFORM populate_layout1 CHANGING gs_layout1&lt;/P&gt;&lt;P&gt;                                   gs_variant1.&lt;/P&gt;&lt;P&gt;  PERFORM populate_sort1   USING gt_sort1[].&lt;/P&gt;&lt;P&gt;  PERFORM display_alv_report1.&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;ENDFORM.                    " create_alv&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  initialize_fieldcat&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;  Get and enhance the field catalog data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;L_FIELDCAT[]  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 initialize_fieldcat USING l_fieldcat TYPE slis_t_fieldcat_alv.&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         = 'ZSD_CONTRACT_LIST_rental1'&lt;/P&gt;&lt;P&gt;      i_internal_tabname     = 'GT_REPORT'&lt;/P&gt;&lt;P&gt;      i_inclname             = 'ZSD_CONTRACT_LIST_T01_rental1'&lt;/P&gt;&lt;P&gt;    CHANGING&lt;/P&gt;&lt;P&gt;      ct_fieldcat            = l_fieldcat&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      inconsistent_interface = 1&lt;/P&gt;&lt;P&gt;      program_error          = 2&lt;/P&gt;&lt;P&gt;      OTHERS                 = 3.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  READ TABLE l_fieldcat INTO ls_fieldcat WITH KEY fieldname = 'VBELN'.&lt;/P&gt;&lt;P&gt;  ls_fieldcat-seltext_m = ls_fieldcat-seltext_l = 'Contract'.&lt;/P&gt;&lt;P&gt;  ls_fieldcat-hotspot     = 'X'.&lt;/P&gt;&lt;P&gt;  MODIFY l_fieldcat FROM ls_fieldcat INDEX sy-tabix.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  READ TABLE l_fieldcat INTO ls_fieldcat WITH KEY fieldname = 'KUNNRT'.&lt;/P&gt;&lt;P&gt;  ls_fieldcat-seltext_s =&lt;/P&gt;&lt;P&gt;  ls_fieldcat-seltext_m = ls_fieldcat-seltext_l = 'Sold-to Name'.&lt;/P&gt;&lt;P&gt;  MODIFY l_fieldcat FROM ls_fieldcat INDEX sy-tabix.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  READ TABLE l_fieldcat INTO ls_fieldcat WITH KEY fieldname = 'KUNWET'.&lt;/P&gt;&lt;P&gt;  ls_fieldcat-seltext_s =&lt;/P&gt;&lt;P&gt;  ls_fieldcat-seltext_m = ls_fieldcat-seltext_l = 'Ship-to Name'.&lt;/P&gt;&lt;P&gt;  MODIFY l_fieldcat FROM ls_fieldcat INDEX sy-tabix.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  READ TABLE l_fieldcat INTO ls_fieldcat WITH KEY fieldname = 'KUNRET'.&lt;/P&gt;&lt;P&gt;  ls_fieldcat-seltext_s =&lt;/P&gt;&lt;P&gt;  ls_fieldcat-seltext_m = ls_fieldcat-seltext_l = 'Bill-to Name'.&lt;/P&gt;&lt;P&gt;  MODIFY l_fieldcat FROM ls_fieldcat INDEX sy-tabix.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  READ TABLE l_fieldcat INTO ls_fieldcat WITH KEY fieldname = 'ADDL_SCHD'.&lt;/P&gt;&lt;P&gt;  IF NOT p_group IS INITIAL.&lt;/P&gt;&lt;P&gt;    ls_fieldcat-seltext_s = 'Schd'.&lt;/P&gt;&lt;P&gt;    ls_fieldcat-seltext_m = ls_fieldcat-seltext_l = 'Additional Scheduling Lines'.&lt;/P&gt;&lt;P&gt;    ls_fieldcat-icon = 'X'.&lt;/P&gt;&lt;P&gt;    CLEAR: ls_fieldcat-key,&lt;/P&gt;&lt;P&gt;           ls_fieldcat-ref_fieldname,&lt;/P&gt;&lt;P&gt;           ls_fieldcat-ref_tabname,&lt;/P&gt;&lt;P&gt;           ls_fieldcat-reptext_ddic,&lt;/P&gt;&lt;P&gt;           ls_fieldcat-ddic_outputlen.&lt;/P&gt;&lt;P&gt;    ls_fieldcat-hotspot     = 'X'.&lt;/P&gt;&lt;P&gt;    MODIFY l_fieldcat FROM ls_fieldcat INDEX sy-tabix.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    DELETE l_fieldcat INDEX sy-tabix.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  READ TABLE l_fieldcat INTO ls_fieldcat WITH KEY fieldname = 'DATAB'.&lt;/P&gt;&lt;P&gt;  ls_fieldcat-seltext_s = 'Schd From'.&lt;/P&gt;&lt;P&gt;  ls_fieldcat-seltext_m = ls_fieldcat-seltext_l = 'Sched. From Date'.&lt;/P&gt;&lt;P&gt;  CLEAR: ls_fieldcat-key.&lt;/P&gt;&lt;P&gt;  MODIFY l_fieldcat FROM ls_fieldcat INDEX sy-tabix.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  READ TABLE l_fieldcat INTO ls_fieldcat1 WITH KEY fieldname = 'DATBI'.&lt;/P&gt;&lt;P&gt;  ls_fieldcat-seltext_s = 'Schd To'.&lt;/P&gt;&lt;P&gt;  ls_fieldcat-seltext_m = ls_fieldcat-seltext_l = 'Sched. To Date'.&lt;/P&gt;&lt;P&gt;  CLEAR: ls_fieldcat-key.&lt;/P&gt;&lt;P&gt;  MODIFY l_fieldcat FROM ls_fieldcat INDEX sy-tabix.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " initialize_fieldcat&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_layout&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;lt;--GS_LAYOUT&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     &amp;lt;--GS_VARIANT&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 populate_layout CHANGING  gs_layout  TYPE slis_layout_alv&lt;/P&gt;&lt;P&gt;                               gs_variant TYPE disvariant.&lt;/P&gt;&lt;P&gt;  gs_layout-colwidth_optimize = 'X'.&lt;/P&gt;&lt;P&gt;  gs_layout-allow_switch_to_list = 'X'.&lt;/P&gt;&lt;P&gt;  gs_layout-zebra                = 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  gs_variant-report = sy-repid.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " populate_layout&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_sort&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;l_SORT[]  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 populate_sort USING l_sort TYPE slis_t_sortinfo_alv.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " populate_sort&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  display_alv_report&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;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM display_alv_report .&lt;/P&gt;&lt;P&gt;  gv_repid = sy-repid.&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    I_INTERFACE_CHECK              = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    I_BYPASSING_BUFFER             =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    I_BUFFER_ACTIVE                = ' '&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      i_callback_program              =  gv_repid&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    I_CALLBACK_PF_STATUS_SET       = ' '&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      i_callback_user_command        = 'USER_COMMAND'&lt;/P&gt;&lt;P&gt;      i_structure_name               =  'gt_report'&lt;/P&gt;&lt;P&gt;      is_layout                      =   gs_layout&lt;/P&gt;&lt;P&gt;      it_fieldcat                     =  gt_fieldcat&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    IT_EXCLUDING                   =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    IT_SPECIAL_GROUPS              =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      it_sort                        =  gt_sort&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    IT_FILTER                      =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    IS_SEL_HIDE                    =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      i_default                      = 'X'&lt;/P&gt;&lt;P&gt;      i_save                         = gc_a&lt;/P&gt;&lt;P&gt;      is_variant                     = gs_variant&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    IT_EVENTS                      =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    IT_EVENT_EXIT                  =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    IS_PRINT                       =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    IS_REPREP_ID                   =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    I_SCREEN_START_COLUMN          = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    I_SCREEN_START_LINE            = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    I_SCREEN_END_COLUMN            = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    I_SCREEN_END_LINE              = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IMPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    E_EXIT_CAUSED_BY_CALLER        =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    ES_EXIT_CAUSED_BY_USER         =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      TABLES&lt;/P&gt;&lt;P&gt;        t_outtab                       = gt_report&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;  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;ENDFORM.                    " display_alv_report&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;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  initialize_fieldcat1&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;  Get and enhance the field catalog data for rental fields&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;L_FIELDCAT[]  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 initialize_fieldcat1 USING l_fieldcat1 TYPE slis_t_fieldcat_alv.&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         = 'ZSD_CONTRACT_LIST_rental1'&lt;/P&gt;&lt;P&gt;      i_internal_tabname     = 'GT_SEL1'&lt;/P&gt;&lt;P&gt;      i_inclname             = 'ZSD_CONTRACT_LIST_T01_rental1'&lt;/P&gt;&lt;P&gt;    CHANGING&lt;/P&gt;&lt;P&gt;      ct_fieldcat            = l_fieldcat1&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      inconsistent_interface = 1&lt;/P&gt;&lt;P&gt;      program_error          = 2&lt;/P&gt;&lt;P&gt;      OTHERS                 = 3.&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.                    " initialize_fieldcat&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_layout&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;lt;--GS_LAYOUT&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     &amp;lt;--GS_VARIANT&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 populate_layout1 CHANGING  gs_layout1  TYPE slis_layout_alv&lt;/P&gt;&lt;P&gt;                               gs_variant1 TYPE disvariant.&lt;/P&gt;&lt;P&gt;  gs_layout1-colwidth_optimize = 'X'.&lt;/P&gt;&lt;P&gt;  gs_layout1-allow_switch_to_list = 'X'.&lt;/P&gt;&lt;P&gt;  gs_layout1-zebra                = 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  gs_variant1-report = sy-repid.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " populate_layout&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_sort&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;l_SORT[]  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 populate_sort1 USING l_sort TYPE slis_t_sortinfo_alv.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " populate_sort&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  display_alv_report&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;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM display_alv_report1 .&lt;/P&gt;&lt;P&gt;  gv_repid = sy-repid.&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    I_INTERFACE_CHECK              = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    I_BYPASSING_BUFFER             =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    I_BUFFER_ACTIVE                = ' '&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      i_callback_program              =  gv_repid&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    I_CALLBACK_PF_STATUS_SET       = ' '&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      i_callback_user_command        = 'USER_COMMAND'&lt;/P&gt;&lt;P&gt;      i_structure_name               =  'gt_sel1'&lt;/P&gt;&lt;P&gt;      is_layout                      =   gs_layout1&lt;/P&gt;&lt;P&gt;      it_fieldcat                     =  gt_fieldcat1&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    IT_EXCLUDING                   =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    IT_SPECIAL_GROUPS              =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      it_sort                        =  gt_sort1&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    IT_FILTER                      =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    IS_SEL_HIDE                    =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      i_default                      = 'X'&lt;/P&gt;&lt;P&gt;      i_save                         = gc_a&lt;/P&gt;&lt;P&gt;      is_variant                     = gs_variant1&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    IT_EVENTS                      =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    IT_EVENT_EXIT                  =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    IS_PRINT                       =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    IS_REPREP_ID                   =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    I_SCREEN_START_COLUMN          = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    I_SCREEN_START_LINE            = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    I_SCREEN_END_COLUMN            = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    I_SCREEN_END_LINE              = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IMPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    E_EXIT_CAUSED_BY_CALLER        =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    ES_EXIT_CAUSED_BY_USER         =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      TABLES&lt;/P&gt;&lt;P&gt;        t_outtab                       = gt_sel1&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;  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;ENDFORM.                    " display_alv_report&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  f01_f4_variant&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;   Get the Layout variant for the user.&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 f01_f4_variant CHANGING c_variant TYPE disvariant-variant.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: ls_variant TYPE disvariant,&lt;/P&gt;&lt;P&gt;        l_exit     TYPE char1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ls_variant-report = sy-repid.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'REUSE_ALV_VARIANT_F4'&lt;/P&gt;&lt;P&gt;       EXPORTING&lt;/P&gt;&lt;P&gt;            is_variant          = ls_variant&lt;/P&gt;&lt;P&gt;            i_save              = 'A'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          it_default_fieldcat =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;       IMPORTING&lt;/P&gt;&lt;P&gt;            e_exit              = l_exit&lt;/P&gt;&lt;P&gt;            es_variant          = ls_variant&lt;/P&gt;&lt;P&gt;       EXCEPTIONS&lt;/P&gt;&lt;P&gt;            not_found = 2.&lt;/P&gt;&lt;P&gt;  IF sy-subrc = 2.&lt;/P&gt;&lt;P&gt;    MESSAGE ID sy-msgid TYPE 'S' NUMBER sy-msgno&lt;/P&gt;&lt;P&gt;            WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    IF l_exit EQ space.&lt;/P&gt;&lt;P&gt;      c_variant = ls_variant-variant.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " f01_f4_variant&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;      FORM USER_COMMAND                                          *&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; R_UCOMM                                                *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      --&amp;gt; RS_SELFIELD                                            *&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 user_command USING r_ucomm LIKE sy-ucomm&lt;/P&gt;&lt;P&gt;                  rs_selfield TYPE slis_selfield.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Check function code&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CASE r_ucomm.&lt;/P&gt;&lt;P&gt;    WHEN '&amp;amp;IC1'.&lt;/P&gt;&lt;P&gt;      READ TABLE gt_report INTO gs_report INDEX rs_selfield-tabindex.&lt;/P&gt;&lt;P&gt;      CHECK sy-subrc = 0.&lt;/P&gt;&lt;P&gt;      CASE rs_selfield-fieldname.&lt;/P&gt;&lt;P&gt;        WHEN 'VBELN'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      Set parameter ID for transaction screen field&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;          CHECK NOT gs_report-vbeln IS INITIAL.&lt;/P&gt;&lt;P&gt;          SET PARAMETER ID 'KTN' FIELD gs_report-vbeln.&lt;/P&gt;&lt;P&gt;          CALL TRANSACTION 'VA43' AND SKIP FIRST SCREEN.&lt;/P&gt;&lt;P&gt;        WHEN 'ADDL_SCHD'.&lt;/P&gt;&lt;P&gt;          CHECK NOT gs_report-addl_schd IS INITIAL.&lt;/P&gt;&lt;P&gt;          REFRESH gt_sched_tmp.&lt;/P&gt;&lt;P&gt;          LOOP AT gt_sched INTO gs_sched&lt;/P&gt;&lt;P&gt;                           WHERE vbeln = gs_report-vbeln&lt;/P&gt;&lt;P&gt;                             AND posnr = gs_report-posnr.&lt;/P&gt;&lt;P&gt;            APPEND gs_sched TO gt_sched_tmp.&lt;/P&gt;&lt;P&gt;          ENDLOOP.&lt;/P&gt;&lt;P&gt;          CHECK sy-subrc = 0.&lt;/P&gt;&lt;P&gt;          CALL SCREEN '1010' STARTING AT 5 5.&lt;/P&gt;&lt;P&gt;      ENDCASE.&lt;/P&gt;&lt;P&gt;  ENDCASE.&lt;/P&gt;&lt;P&gt;ENDFORM.                    "user_command&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;      Module  STATUS_1010  OUTPUT&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;MODULE status_1010 OUTPUT.&lt;/P&gt;&lt;P&gt;  SET PF-STATUS 'MAIN_1010'.&lt;/P&gt;&lt;P&gt;  SET TITLEBAR '1010' WITH gs_report-vbeln gs_report-posnr.&lt;/P&gt;&lt;P&gt;ENDMODULE.                 " STATUS_1010  OUTPUT&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;      Module  USER_COMMAND_1010  INPUT&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;MODULE user_command_1010 INPUT.&lt;/P&gt;&lt;P&gt;  CASE sy-ucomm.&lt;/P&gt;&lt;P&gt;    WHEN 'BACK' OR 'CANC'.&lt;/P&gt;&lt;P&gt;      LEAVE TO SCREEN 0.&lt;/P&gt;&lt;P&gt;  ENDCASE.&lt;/P&gt;&lt;P&gt;ENDMODULE.                 " USER_COMMAND_1010  INPUT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 27 Mar 2008 15:04:43 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-report-problem/m-p/3569320#M859060</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-03-27T15:04:43Z</dc:date>
    </item>
  </channel>
</rss>

