<?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 TREE in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-tree/m-p/3327723#M797064</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi!&lt;/P&gt;&lt;P&gt;I wanted my alv report to show the following fields only but its showing the entire report, can anyone help me please.This shows the contract list and goes through transaction va43.I have attached the report too.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;3. result screena. ONLY the billing plan lines fulfill ALL of followings are displayed1) Billing Status (FPLT- FKSAF) is &amp;#147;A&amp;#148; or &amp;#147;B&amp;#148;&lt;/P&gt;&lt;P&gt;2) Billing Date (FPLT- AFDAT) is earlier than or equal to Base Date specified in selection screen&lt;/P&gt;&lt;P&gt;b. One line for a billing plan line. If an item has multiple billing plan lines in selection, display them in multiple lines; data of Contract Header/Item &amp;amp; Billing Plan Header are the same for these lines, and only the data of Billing Plan line are different for these linesc. add fields of item data&lt;/P&gt;&lt;P&gt;1) Internal Order # = VBAP-AUFNR&lt;/P&gt;&lt;P&gt;2) Usage = VBAP-VKAUS&lt;/P&gt;&lt;P&gt;d. billing plan header &amp;#150; by default, they are NOT displayed but the users have the option to display them&lt;/P&gt;&lt;P&gt;1) Billing Play Type&lt;/P&gt;&lt;P&gt;2) Start date&lt;/P&gt;&lt;P&gt;3) End date&lt;/P&gt;&lt;P&gt;4) Horizon&lt;/P&gt;&lt;P&gt;e. add fields of billing plan header billing plan item.&lt;/P&gt;&lt;P&gt;1) Settlement&lt;/P&gt;&lt;P&gt;2) To&lt;/P&gt;&lt;P&gt;3) Billing date&lt;/P&gt;&lt;P&gt;4) Bill.value&lt;/P&gt;&lt;P&gt;5) Bill St&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;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;HR originaltext="---------------------------" /&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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 31 Jan 2008 18:35:08 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2008-01-31T18:35:08Z</dc:date>
    <item>
      <title>ALV TREE</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-tree/m-p/3327720#M797061</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi people!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I need to put hotspot in a ALV TREE (CL_GUI_ALV_TREE). It's possible? I didn't see any hotspot method!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Can You Help me??&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks in advance!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Gabriel&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 31 Jan 2008 17:55:34 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-tree/m-p/3327720#M797061</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-01-31T17:55:34Z</dc:date>
    </item>
    <item>
      <title>Re: ALV TREE</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-tree/m-p/3327721#M797062</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;Please refer to the link below :&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.sapdev.co.uk/reporting/alv/alvtree/alvtree_actui.htm" target="test_blank"&gt;http://www.sapdev.co.uk/reporting/alv/alvtree/alvtree_actui.htm&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks,&lt;/P&gt;&lt;P&gt;Sriram Ponna.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 31 Jan 2008 18:05:26 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-tree/m-p/3327721#M797062</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-01-31T18:05:26Z</dc:date>
    </item>
    <item>
      <title>Re: ALV TREE</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-tree/m-p/3327722#M797063</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;This needs to be in defination portions.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;local definition.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;class lcl_handle_events definition deferred.&lt;/P&gt;&lt;P&gt;data: w_events type ref to lcl_handle_events.&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;      CLASS lcl_handle_events DEFINITION&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;class lcl_handle_events definition.&lt;/P&gt;&lt;P&gt;  public section.&lt;/P&gt;&lt;P&gt;    methods: on_link_click for event link_click of cl_salv_events_tree&lt;/P&gt;&lt;P&gt;             importing columnname node_key.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endclass.                    "lcl_handle_events DEFINITION&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;      CLASS lcl_handle_events IMPLEMENTATION&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;class lcl_handle_events implementation.&lt;/P&gt;&lt;P&gt;  method on_link_click.&lt;/P&gt;&lt;P&gt;    if columnname = 'VBELN'.&lt;/P&gt;&lt;P&gt;      if node_key co c_int.&lt;/P&gt;&lt;P&gt;        read table itab into workarea index node_key.&lt;/P&gt;&lt;P&gt;        if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;          call transaction 'XXXX'. "You can use skip first screen.&lt;/P&gt;&lt;P&gt;        endif.&lt;/P&gt;&lt;P&gt;      endif.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;  endmethod.                    "on_single_click&lt;/P&gt;&lt;P&gt;endclass.                    "lcl_handle_events IMPLEMENTATION&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Itab here is which you pass to CL_SALV_TREE=&amp;gt;FACTORY&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Well anyways, before you display you need to regiser events&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Event register for on click. created hyperlink for customers when&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;registering the nodes.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  data: l_events type ref to cl_salv_events_tree.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  l_events = w_tree-&amp;gt;get_event( ).&lt;/P&gt;&lt;P&gt;  create object w_events.&lt;/P&gt;&lt;P&gt;  set handler w_events-&amp;gt;on_link_click for l_events.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Well, i am using SALV for Tree. I feel more comfortable with SALV.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;By the way, there is NODE_KEYPRESS event in the class which you mentioned. You can use that.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Edited by: abap technical on Jan 31, 2008 11:25 AM&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Edited by: abap technical on Jan 31, 2008 11:28 AM&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 31 Jan 2008 18:25:26 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-tree/m-p/3327722#M797063</guid>
      <dc:creator>former_member191735</dc:creator>
      <dc:date>2008-01-31T18:25:26Z</dc:date>
    </item>
    <item>
      <title>Re: ALV TREE</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-tree/m-p/3327723#M797064</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi!&lt;/P&gt;&lt;P&gt;I wanted my alv report to show the following fields only but its showing the entire report, can anyone help me please.This shows the contract list and goes through transaction va43.I have attached the report too.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;3. result screena. ONLY the billing plan lines fulfill ALL of followings are displayed1) Billing Status (FPLT- FKSAF) is &amp;#147;A&amp;#148; or &amp;#147;B&amp;#148;&lt;/P&gt;&lt;P&gt;2) Billing Date (FPLT- AFDAT) is earlier than or equal to Base Date specified in selection screen&lt;/P&gt;&lt;P&gt;b. One line for a billing plan line. If an item has multiple billing plan lines in selection, display them in multiple lines; data of Contract Header/Item &amp;amp; Billing Plan Header are the same for these lines, and only the data of Billing Plan line are different for these linesc. add fields of item data&lt;/P&gt;&lt;P&gt;1) Internal Order # = VBAP-AUFNR&lt;/P&gt;&lt;P&gt;2) Usage = VBAP-VKAUS&lt;/P&gt;&lt;P&gt;d. billing plan header &amp;#150; by default, they are NOT displayed but the users have the option to display them&lt;/P&gt;&lt;P&gt;1) Billing Play Type&lt;/P&gt;&lt;P&gt;2) Start date&lt;/P&gt;&lt;P&gt;3) End date&lt;/P&gt;&lt;P&gt;4) Horizon&lt;/P&gt;&lt;P&gt;e. add fields of billing plan header billing plan item.&lt;/P&gt;&lt;P&gt;1) Settlement&lt;/P&gt;&lt;P&gt;2) To&lt;/P&gt;&lt;P&gt;3) Billing date&lt;/P&gt;&lt;P&gt;4) Bill.value&lt;/P&gt;&lt;P&gt;5) Bill St&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;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;HR originaltext="---------------------------" /&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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 31 Jan 2008 18:35:08 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-tree/m-p/3327723#M797064</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-01-31T18:35:08Z</dc:date>
    </item>
  </channel>
</rss>

