<?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 in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv/m-p/3099765#M735520</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 check my code below. It also uses hierarchical ALV.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;P.S. Please award points if it helps...&lt;/P&gt;&lt;P&gt;[code]&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 ZFI_REP_DISBURSE_SUM&lt;/P&gt;&lt;P&gt;*&amp;amp;&lt;/P&gt;&lt;P&gt;*&amp;amp; PROGRAM TYPE  : Report&lt;/P&gt;&lt;P&gt;*&amp;amp; RICEF ID      : R-159&lt;/P&gt;&lt;P&gt;*&amp;amp; TITLE         : Disbursement Summary Report(New version)&lt;/P&gt;&lt;P&gt;*&amp;amp; SAP Module    : FI&lt;/P&gt;&lt;P&gt;*&amp;amp; CREATION DATE : 07/20/2007&lt;/P&gt;&lt;P&gt;*&amp;amp; AUTHOR        : Aris Hidalgo&lt;/P&gt;&lt;P&gt;*&amp;amp; DESIGNER      : Aris Hidalgo&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; DESCRIPTION   : Disbursement Summary Report&lt;/P&gt;&lt;P&gt;*&amp;amp;               : NOTE: Backed up the original version to&lt;/P&gt;&lt;P&gt;*&amp;amp;               : ZFI_REP_DISBURSE_SUM_BACKUP&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;STRONG&gt;$&lt;/STRONG&gt;*********************************************************************&lt;/P&gt;&lt;P&gt;*$     CHANGE HISTORY&lt;/P&gt;&lt;P&gt;*$----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;*$   DATE        | T-Num      | Description                   | Reference&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;              |            |                               |&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;$&lt;/STRONG&gt;*********************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT zfi_rep_disburse_sum&lt;/P&gt;&lt;P&gt;       NO STANDARD PAGE HEADING&lt;/P&gt;&lt;P&gt;       LINE-SIZE 142&lt;/P&gt;&lt;P&gt;       MESSAGE-ID zfi.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;SELECTION-SCREEN                             *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.&lt;/P&gt;&lt;P&gt;PARAMETERS: p_bukrs TYPE bsak-bukrs OBLIGATORY,&lt;/P&gt;&lt;P&gt;            p_gjahr TYPE bkpf-gjahr OBLIGATORY,&lt;/P&gt;&lt;P&gt;            p_monat TYPE bkpf-monat OBLIGATORY.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK b1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&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_data_def 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;*&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;CLASS lcl_data_def DEFINITION ABSTRACT.&lt;/P&gt;&lt;P&gt;  PUBLIC SECTION.&lt;/P&gt;&lt;P&gt;    TYPES: BEGIN OF t_payr,&lt;/P&gt;&lt;P&gt;            zbukr TYPE payr-zbukr,&lt;/P&gt;&lt;P&gt;            vblnr TYPE payr-vblnr,&lt;/P&gt;&lt;P&gt;            lifnr TYPE payr-lifnr,&lt;/P&gt;&lt;P&gt;            gjahr TYPE payr-gjahr,&lt;/P&gt;&lt;P&gt;            zaldt TYPE payr-zaldt,&lt;/P&gt;&lt;P&gt;            chect TYPE payr-chect,&lt;/P&gt;&lt;P&gt;            checf TYPE payr-checf,&lt;/P&gt;&lt;P&gt;            priti TYPE payr-priti,&lt;/P&gt;&lt;P&gt;            hbkid TYPE payr-hbkid,&lt;/P&gt;&lt;P&gt;            hktid TYPE payr-hktid,&lt;/P&gt;&lt;P&gt;            rzawe TYPE payr-hktid,&lt;/P&gt;&lt;P&gt;           END OF t_payr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    TYPES: BEGIN OF t_bsak,&lt;/P&gt;&lt;P&gt;            bukrs TYPE bsak-bukrs,&lt;/P&gt;&lt;P&gt;            gjahr TYPE bsak-gjahr,&lt;/P&gt;&lt;P&gt;            belnr TYPE bsak-belnr,&lt;/P&gt;&lt;P&gt;            monat TYPE bsak-monat,&lt;/P&gt;&lt;P&gt;            shkzg TYPE bsak-shkzg,&lt;/P&gt;&lt;P&gt;            blart TYPE bsak-blart,&lt;/P&gt;&lt;P&gt;            buzei TYPE bsak-buzei,&lt;/P&gt;&lt;P&gt;            lifnr TYPE bsak-lifnr,&lt;/P&gt;&lt;P&gt;            dmbtr TYPE bsak-dmbtr,&lt;/P&gt;&lt;P&gt;            bschl TYPE bsak-bschl,&lt;/P&gt;&lt;P&gt;            augbl TYPE bsak-augbl,&lt;/P&gt;&lt;P&gt;            auggj TYPE bsak-auggj,&lt;/P&gt;&lt;P&gt;           END OF t_bsak.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    TYPES: BEGIN OF t_bsis,&lt;/P&gt;&lt;P&gt;            bukrs TYPE bsis-bukrs,&lt;/P&gt;&lt;P&gt;            belnr TYPE bsis-belnr,&lt;/P&gt;&lt;P&gt;            gjahr TYPE bsis-gjahr,&lt;/P&gt;&lt;P&gt;            monat TYPE bsis-monat,&lt;/P&gt;&lt;P&gt;            hkont TYPE bsis-hkont,&lt;/P&gt;&lt;P&gt;            buzei TYPE bsis-buzei,&lt;/P&gt;&lt;P&gt;            blart TYPE bsis-blart,&lt;/P&gt;&lt;P&gt;            shkzg TYPE bsis-shkzg,&lt;/P&gt;&lt;P&gt;            dmbtr TYPE bsis-dmbtr,&lt;/P&gt;&lt;P&gt;            bschl TYPE bsis-bschl,&lt;/P&gt;&lt;P&gt;            augbl TYPE bsis-augbl,&lt;/P&gt;&lt;P&gt;            auggj TYPE bsis-auggj,&lt;/P&gt;&lt;P&gt;           END OF t_bsis.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    TYPES: BEGIN OF t_output,&lt;/P&gt;&lt;P&gt;            sort_order      TYPE i,&lt;/P&gt;&lt;P&gt;            header(35)      TYPE c,&lt;/P&gt;&lt;P&gt;            description(35) TYPE c,&lt;/P&gt;&lt;P&gt;            blart           TYPE bsak-blart,&lt;/P&gt;&lt;P&gt;            last_year       TYPE bsak-dmbtr,&lt;/P&gt;&lt;P&gt;            this_year       TYPE bsak-dmbtr,&lt;/P&gt;&lt;P&gt;            percent1        TYPE prozab,&lt;/P&gt;&lt;P&gt;            cum_last_year   TYPE bsak-dmbtr,&lt;/P&gt;&lt;P&gt;            cum_this_year   TYPE bsak-dmbtr,&lt;/P&gt;&lt;P&gt;            percent2        TYPE prozab,&lt;/P&gt;&lt;P&gt;           END OF t_output.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    TYPES: BEGIN OF t_text,&lt;/P&gt;&lt;P&gt;            sort_order      TYPE i,&lt;/P&gt;&lt;P&gt;            header(35)      TYPE c,&lt;/P&gt;&lt;P&gt;            description(35) TYPE c,&lt;/P&gt;&lt;P&gt;            blart           TYPE bsak-blart,&lt;/P&gt;&lt;P&gt;           END OF t_text.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    TYPES: BEGIN OF t_header,&lt;/P&gt;&lt;P&gt;            header(50)     TYPE c,&lt;/P&gt;&lt;P&gt;            curr_month(42) TYPE c,&lt;/P&gt;&lt;P&gt;            cumulative(30) TYPE c,&lt;/P&gt;&lt;P&gt;            expand(1)      TYPE c,&lt;/P&gt;&lt;P&gt;           END OF t_header.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    DATA: gt_payr      TYPE SORTED TABLE OF t_payr&lt;/P&gt;&lt;P&gt;                       WITH NON-UNIQUE KEY zbukr vblnr lifnr,&lt;/P&gt;&lt;P&gt;          gt_bsak      TYPE STANDARD TABLE OF t_bsak,&lt;/P&gt;&lt;P&gt;          gt_payments  TYPE STANDARD TABLE OF t_bsak,&lt;/P&gt;&lt;P&gt;          wa_payments  LIKE LINE OF gt_payments,&lt;/P&gt;&lt;P&gt;          gt_payments2 TYPE SORTED TABLE OF t_bsak&lt;/P&gt;&lt;P&gt;                       WITH NON-UNIQUE KEY bukrs gjahr belnr,&lt;/P&gt;&lt;P&gt;          gt_payments3 TYPE SORTED TABLE OF t_bsak&lt;/P&gt;&lt;P&gt;                       WITH NON-UNIQUE KEY bukrs gjahr belnr,&lt;/P&gt;&lt;P&gt;          gt_bsis      TYPE STANDARD TABLE OF t_bsis,&lt;/P&gt;&lt;P&gt;          gt_bsis_dum  TYPE SORTED TABLE OF t_bsis&lt;/P&gt;&lt;P&gt;                       WITH NON-UNIQUE KEY bukrs belnr gjahr,&lt;/P&gt;&lt;P&gt;          wa_bsis      LIKE LINE OF gt_bsis,&lt;/P&gt;&lt;P&gt;          gt_bsas      TYPE STANDARD TABLE OF t_bsis,&lt;/P&gt;&lt;P&gt;          gt_output    TYPE STANDARD TABLE OF t_output,&lt;/P&gt;&lt;P&gt;          wa_output    LIKE LINE OF gt_output,&lt;/P&gt;&lt;P&gt;          gt_text      TYPE STANDARD TABLE OF t_text,&lt;/P&gt;&lt;P&gt;          wa_text      LIKE LINE OF gt_text,&lt;/P&gt;&lt;P&gt;          gt_header    TYPE STANDARD TABLE OF t_header,&lt;/P&gt;&lt;P&gt;          wa_header    LIKE LINE OF gt_header,&lt;/P&gt;&lt;P&gt;          lr_blart     TYPE RANGE OF bsak-blart,&lt;/P&gt;&lt;P&gt;          wa_blart     LIKE LINE OF lr_blart.&lt;/P&gt;&lt;P&gt;ENDCLASS.                    "lcl_data_def DEFINITION&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CLASS lcl_handle_events_hierseq DEFINITION DEFERRED.&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_get_data 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;*&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;CLASS lcl_get_data DEFINITION INHERITING FROM lcl_data_def.&lt;/P&gt;&lt;P&gt;  PUBLIC SECTION.&lt;/P&gt;&lt;P&gt;    METHODS: get_payment_details,&lt;/P&gt;&lt;P&gt;             get_additional_data,&lt;/P&gt;&lt;P&gt;             process_data,&lt;/P&gt;&lt;P&gt;             move_to_output_table&lt;/P&gt;&lt;P&gt;               IMPORTING&lt;/P&gt;&lt;P&gt;                 im_blart TYPE bsak-blart&lt;/P&gt;&lt;P&gt;                 im_gjahr TYPE bsak-gjahr&lt;/P&gt;&lt;P&gt;                 im_monat TYPE bsak-monat&lt;/P&gt;&lt;P&gt;                 im_dmbtr TYPE bsak-dmbtr,&lt;/P&gt;&lt;P&gt;             check_cutting_routine&lt;/P&gt;&lt;P&gt;               IMPORTING&lt;/P&gt;&lt;P&gt;                 im_bukrs TYPE bsak-bukrs&lt;/P&gt;&lt;P&gt;                 im_belnr TYPE bsak-belnr&lt;/P&gt;&lt;P&gt;                 im_gjahr TYPE bsak-gjahr&lt;/P&gt;&lt;P&gt;                 im_blart TYPE bsak-blart&lt;/P&gt;&lt;P&gt;               EXPORTING&lt;/P&gt;&lt;P&gt;                 ex_flag  TYPE flag,&lt;/P&gt;&lt;P&gt;             display_data,&lt;/P&gt;&lt;P&gt;             fill_text_table.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PRIVATE SECTION.&lt;/P&gt;&lt;P&gt;    DATA: lv_year  TYPE payr-gjahr,&lt;/P&gt;&lt;P&gt;          lv_flag  TYPE flag,&lt;/P&gt;&lt;P&gt;          lr_augdt TYPE RANGE OF bsak-augdt,&lt;/P&gt;&lt;P&gt;          lr_lifnr TYPE RANGE OF bsak-lifnr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CONSTANTS: lc_kb TYPE bsak-blart VALUE 'KB',&lt;/P&gt;&lt;P&gt;               lc_kd TYPE bsak-blart VALUE 'KD',&lt;/P&gt;&lt;P&gt;               lc_k3 TYPE bsak-blart VALUE 'K3',&lt;/P&gt;&lt;P&gt;               lc_k4 TYPE bsak-blart VALUE 'K4',&lt;/P&gt;&lt;P&gt;               lc_k5 TYPE bsak-blart VALUE 'K5',&lt;/P&gt;&lt;P&gt;               lc_k6 TYPE bsak-blart VALUE 'K6',&lt;/P&gt;&lt;P&gt;               lc_py TYPE bsak-blart VALUE 'PY',&lt;/P&gt;&lt;P&gt;               lc_pf TYPE bsak-blart VALUE 'PF',&lt;/P&gt;&lt;P&gt;               lc_pq TYPE bsak-blart VALUE 'PQ',&lt;/P&gt;&lt;P&gt;               lc_pj TYPE bsak-blart VALUE 'PJ',&lt;/P&gt;&lt;P&gt;               lc_pm TYPE bsak-blart VALUE 'PM',&lt;/P&gt;&lt;P&gt;               lc_pt TYPE bsak-blart VALUE 'PT',&lt;/P&gt;&lt;P&gt;               lc_p0 TYPE bsak-blart VALUE 'P0',&lt;/P&gt;&lt;P&gt;               lc_re TYPE bsak-blart VALUE 'RE',&lt;/P&gt;&lt;P&gt;               lc_ps TYPE bsak-blart VALUE 'PS',&lt;/P&gt;&lt;P&gt;               lc_pp TYPE bsak-blart VALUE 'PP',&lt;/P&gt;&lt;P&gt;               lc_kp TYPE bsak-blart VALUE 'KP',&lt;/P&gt;&lt;P&gt;               lc_pu TYPE bsak-blart VALUE 'PU',&lt;/P&gt;&lt;P&gt;               lc_pd TYPE bsak-blart VALUE 'PD',&lt;/P&gt;&lt;P&gt;               lc_pe TYPE bsak-blart VALUE 'PE',&lt;/P&gt;&lt;P&gt;               lc_su TYPE bsak-blart VALUE 'SU',&lt;/P&gt;&lt;P&gt;               lc_pc TYPE bsak-blart VALUE 'PC',&lt;/P&gt;&lt;P&gt;               lc_p2 TYPE bsak-blart VALUE 'P2',&lt;/P&gt;&lt;P&gt;               lc_po TYPE bsak-blart VALUE 'PO',&lt;/P&gt;&lt;P&gt;               lc_pw TYPE bsak-blart VALUE 'PW',&lt;/P&gt;&lt;P&gt;               lc_pv TYPE bsak-blart VALUE 'PV',&lt;/P&gt;&lt;P&gt;               lc_p7 TYPE bsak-blart VALUE 'P7',&lt;/P&gt;&lt;P&gt;               lc_pa TYPE bsak-blart VALUE 'PA',&lt;/P&gt;&lt;P&gt;               lc_px TYPE bsis-blart VALUE 'PX',&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;               lc_x0 TYPE bsis-blart VALUE 'X0',  "Capital Expenditures(CAPEX)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;               lc_x1 TYPE bsis-blart VALUE 'X1',  "Request of payment - Vendor&lt;/P&gt;&lt;P&gt;               lc_x2 TYPE bsis-blart VALUE 'X2',  "Logistics Fee - Diethelm&lt;/P&gt;&lt;P&gt;               lc_x3 TYPE bsis-blart VALUE 'X3',  "Logistics Fee - First Pioneer&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;               lc_y1 TYPE bsis-blart VALUE 'Y1',  "Profit Share&lt;/P&gt;&lt;P&gt;               lc_y2 TYPE bsis-blart VALUE 'Y2',  "Dividend Payments&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;               lc_z1 TYPE bsis-blart VALUE 'Z1',&lt;/P&gt;&lt;P&gt;               lc_z2 TYPE bsis-blart VALUE 'Z2',&lt;/P&gt;&lt;P&gt;               lc_z3 TYPE bsis-blart VALUE 'Z3',&lt;/P&gt;&lt;P&gt;               lc_z4 TYPE bsis-blart VALUE 'Z4',&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;               lc_p8        TYPE bsis-blart VALUE 'P8',&lt;/P&gt;&lt;P&gt;               lc_p9        TYPE bsis-blart VALUE 'P9',&lt;/P&gt;&lt;P&gt;               lc_kf        TYPE bsis-blart VALUE 'KF',&lt;/P&gt;&lt;P&gt;               lc_ks        TYPE bsis-blart VALUE 'KS',&lt;/P&gt;&lt;P&gt;               lc_ko        TYPE bsis-blart VALUE 'KO',&lt;/P&gt;&lt;P&gt;               lc_km        TYPE bsis-blart VALUE 'KM',&lt;/P&gt;&lt;P&gt;               lc_kc        TYPE bsis-blart VALUE 'KC',&lt;/P&gt;&lt;P&gt;               lc_pb        TYPE bsis-blart VALUE 'PB',&lt;/P&gt;&lt;P&gt;               lc_promo     TYPE bsis-blart VALUE 'P!',&lt;/P&gt;&lt;P&gt;               lc_repair    TYPE bsis-blart VALUE 'P@',&lt;/P&gt;&lt;P&gt;               lc_shell     TYPE bsis-blart VALUE 'P$',&lt;/P&gt;&lt;P&gt;               lc_supplies  TYPE bsis-blart VALUE 'P^',&lt;/P&gt;&lt;P&gt;               lc_p5        TYPE bsis-blart VALUE 'P5',&lt;/P&gt;&lt;P&gt;               lc_ph        TYPE bsis-blart VALUE 'PH',&lt;/P&gt;&lt;P&gt;               lc_p4        TYPE bsis-blart VALUE 'P4',&lt;/P&gt;&lt;P&gt;               lc_p6        TYPE bsis-blart VALUE 'P6',&lt;/P&gt;&lt;P&gt;               lc_p3        TYPE bsis-blart VALUE 'P3',&lt;/P&gt;&lt;P&gt;               lc_pn        TYPE bsis-blart VALUE 'PN',&lt;/P&gt;&lt;P&gt;               lc_capex_new TYPE bsis-blart VALUE 'P+'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CONSTANTS: lc_0020000800 TYPE bsis-hkont VALUE '0020000800',&lt;/P&gt;&lt;P&gt;               lc_0060000653 TYPE bsis-hkont VALUE '0060000653',&lt;/P&gt;&lt;P&gt;               lc_0020000660 TYPE bsis-hkont VALUE '0020000660',&lt;/P&gt;&lt;P&gt;               lc_0020000770 TYPE bsis-hkont VALUE '0020000770',&lt;/P&gt;&lt;P&gt;               lc_0020000650 TYPE bsis-hkont VALUE '0020000650',&lt;/P&gt;&lt;P&gt;               lc_0020000651 TYPE bsis-hkont VALUE '0020000651',&lt;/P&gt;&lt;P&gt;               lc_0020000200 TYPE bsis-hkont VALUE '0020000200',&lt;/P&gt;&lt;P&gt;               lc_0020000320 TYPE bsis-hkont VALUE '0020000320',&lt;/P&gt;&lt;P&gt;               lc_0060001100 TYPE bsis-hkont VALUE '0060001100',&lt;/P&gt;&lt;P&gt;               lc_0060001114 TYPE bsis-hkont VALUE '0060001114',&lt;/P&gt;&lt;P&gt;               lc_0070000001 TYPE bsis-hkont VALUE '0070000001',&lt;/P&gt;&lt;P&gt;               lc_0070000024 TYPE bsis-hkont VALUE '0070000024'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CONSTANTS: lc_8000000525 TYPE lfa1-lifnr VALUE '8000000525',&lt;/P&gt;&lt;P&gt;               lc_8000001015 TYPE lfa1-lifnr VALUE '8000001015',&lt;/P&gt;&lt;P&gt;               lc_debit      TYPE bsak-shkzg VALUE 'S',&lt;/P&gt;&lt;P&gt;               lc_31         TYPE bsak-bschl VALUE '31'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    DATA: o_lcl_hierseq        TYPE REF TO cl_salv_hierseq_table,&lt;/P&gt;&lt;P&gt;          o_lcl_events_hierseq TYPE REF TO lcl_handle_events_hierseq.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    DATA:lt_binding       TYPE salv_t_hierseq_binding,&lt;/P&gt;&lt;P&gt;         ls_binding       TYPE salv_s_hierseq_binding,&lt;/P&gt;&lt;P&gt;         lcl_functions    TYPE REF TO cl_salv_functions_list,&lt;/P&gt;&lt;P&gt;         lcl_columns      TYPE REF TO cl_salv_columns_hierseq,&lt;/P&gt;&lt;P&gt;         lcl_column       TYPE REF TO cl_salv_column_hierseq,&lt;/P&gt;&lt;P&gt;         lcl_level        TYPE REF TO cl_salv_hierseq_level,&lt;/P&gt;&lt;P&gt;         lcl_events       TYPE REF TO cl_salv_events_hierseq,&lt;/P&gt;&lt;P&gt;         lcl_aggregations TYPE REF TO cl_salv_aggregations,&lt;/P&gt;&lt;P&gt;         lcl_sorts        TYPE REF TO cl_salv_sorts,&lt;/P&gt;&lt;P&gt;         lcl_display      TYPE REF TO cl_salv_display_settings.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDCLASS.                    "lcl_get_data DEFINITION&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;      CLASS lcl_handle_events_hierseq 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;*&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;CLASS lcl_handle_events_hierseq DEFINITION INHERITING FROM lcl_get_data.&lt;/P&gt;&lt;P&gt;  PUBLIC SECTION.&lt;/P&gt;&lt;P&gt;    METHODS: on_top_of_page FOR EVENT top_of_page OF cl_salv_events_hierseq&lt;/P&gt;&lt;P&gt;               IMPORTING&lt;/P&gt;&lt;P&gt;                 r_top_of_page page table_index.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PRIVATE SECTION.&lt;/P&gt;&lt;P&gt;    DATA: lr_content TYPE REF TO cl_salv_form_element,&lt;/P&gt;&lt;P&gt;          lr_grid    TYPE REF TO cl_salv_form_layout_grid,&lt;/P&gt;&lt;P&gt;          lr_grid_1  TYPE REF TO cl_salv_form_layout_grid,&lt;/P&gt;&lt;P&gt;          lr_label   TYPE REF TO cl_salv_form_label,        "#EC NEEDED&lt;/P&gt;&lt;P&gt;          lr_text    TYPE REF TO cl_salv_form_text,         "#EC NEEDED&lt;/P&gt;&lt;P&gt;          l_text     TYPE string.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDCLASS.                    "lcl_handle_events_hierseq DEFINITION&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;      CLASS lcl_get_data 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;*&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;CLASS lcl_get_data IMPLEMENTATION.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;METHOD get_payment_details&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  METHOD get_payment_details.&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'&lt;/P&gt;&lt;P&gt;      EXPORTING&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      PERCENTAGE       = 0&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        text             = text-p01.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Get previous year&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    lv_year = p_gjahr - 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Get records from PAYR&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    SELECT zbukr vblnr lifnr gjahr&lt;/P&gt;&lt;P&gt;           zaldt chect checf priti&lt;/P&gt;&lt;P&gt;           hbkid hktid rzawe&lt;/P&gt;&lt;P&gt;      FROM payr&lt;/P&gt;&lt;P&gt;      INTO TABLE gt_payr&lt;/P&gt;&lt;P&gt;     WHERE zbukr = p_bukrs&lt;/P&gt;&lt;P&gt;       AND gjahr IN (lv_year, p_gjahr).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF NOT gt_payr[] IS INITIAL.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    Get records from BSAK&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      SELECT bukrs gjahr belnr&lt;/P&gt;&lt;P&gt;             monat shkzg blart&lt;/P&gt;&lt;P&gt;             buzei lifnr dmbtr&lt;/P&gt;&lt;P&gt;             bschl augbl auggj&lt;/P&gt;&lt;P&gt;        FROM bsak&lt;/P&gt;&lt;P&gt;        INTO TABLE gt_bsak&lt;/P&gt;&lt;P&gt;         FOR ALL ENTRIES IN gt_payr&lt;/P&gt;&lt;P&gt;       WHERE lifnr = gt_payr-lifnr&lt;/P&gt;&lt;P&gt;         AND bukrs = gt_payr-zbukr&lt;/P&gt;&lt;P&gt;         AND augdt IN lr_augdt&lt;/P&gt;&lt;P&gt;         AND augbl = gt_payr-vblnr.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF NOT gt_bsak[] IS INITIAL.&lt;/P&gt;&lt;P&gt;      gt_payments2[] = gt_bsak[].&lt;/P&gt;&lt;P&gt;      DELETE gt_payments2 WHERE blart = 'KZ'&lt;/P&gt;&lt;P&gt;                             OR blart = 'ZP'.&lt;/P&gt;&lt;P&gt;      gt_payments[]  = gt_bsak[].&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF NOT gt_payments[] IS INITIAL.&lt;/P&gt;&lt;P&gt;      CALL METHOD me-&amp;gt;get_additional_data.&lt;/P&gt;&lt;P&gt;      CALL METHOD me-&amp;gt;process_data.&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;      MESSAGE i000 WITH text-057.&lt;/P&gt;&lt;P&gt;      LEAVE LIST-PROCESSING.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDMETHOD.                    "get_payment_details&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;METHOD get_additional_data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  METHOD get_additional_data.&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'&lt;/P&gt;&lt;P&gt;      EXPORTING&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      PERCENTAGE       = 0&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        text             = text-p01.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF NOT gt_payments2[] IS INITIAL.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    Get records from BSAS(Cleared items)&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      SELECT bukrs belnr gjahr monat&lt;/P&gt;&lt;P&gt;             hkont buzei blart shkzg&lt;/P&gt;&lt;P&gt;             dmbtr bschl augbl auggj&lt;/P&gt;&lt;P&gt;        FROM bsas&lt;/P&gt;&lt;P&gt;        INTO TABLE gt_bsis&lt;/P&gt;&lt;P&gt;         FOR ALL ENTRIES IN gt_payments2&lt;/P&gt;&lt;P&gt;       WHERE bukrs = gt_payments2-bukrs&lt;/P&gt;&lt;P&gt;         AND augbl = gt_payments2-belnr&lt;/P&gt;&lt;P&gt;         AND auggj = gt_payments2-gjahr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      DELETE gt_bsis WHERE blart &amp;lt;&amp;gt; 'KZ'&lt;/P&gt;&lt;P&gt;                       AND blart &amp;lt;&amp;gt; 'ZP'.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF NOT gt_bsis[] IS INITIAL.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    Get records from BSAK&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      SELECT bukrs gjahr belnr&lt;/P&gt;&lt;P&gt;             monat shkzg blart&lt;/P&gt;&lt;P&gt;             buzei lifnr dmbtr&lt;/P&gt;&lt;P&gt;             bschl augbl auggj&lt;/P&gt;&lt;P&gt;        FROM bsak&lt;/P&gt;&lt;P&gt;        INTO TABLE gt_payments3&lt;/P&gt;&lt;P&gt;         FOR ALL ENTRIES IN gt_bsis&lt;/P&gt;&lt;P&gt;       WHERE bukrs = gt_bsis-bukrs&lt;/P&gt;&lt;P&gt;         AND augbl = gt_bsis-belnr&lt;/P&gt;&lt;P&gt;         AND auggj = gt_bsis-gjahr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      APPEND LINES OF gt_payments3 TO gt_payments.&lt;/P&gt;&lt;P&gt;      DELETE gt_payments WHERE bschl &amp;lt;&amp;gt; lc_31.&lt;/P&gt;&lt;P&gt;      DELETE gt_payments WHERE shkzg = lc_debit.&lt;/P&gt;&lt;P&gt;      DELETE gt_payments WHERE blart = 'KR'&lt;/P&gt;&lt;P&gt;                            OR blart = 'KZ'&lt;/P&gt;&lt;P&gt;                            OR blart = 'ZP'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF NOT gt_payments[] IS INITIAL.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      Get records from BSIS(Open items)&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        SELECT bukrs belnr gjahr monat&lt;/P&gt;&lt;P&gt;               hkont buzei blart shkzg&lt;/P&gt;&lt;P&gt;               dmbtr bschl augbl auggj&lt;/P&gt;&lt;P&gt;          FROM bsis&lt;/P&gt;&lt;P&gt;          APPENDING TABLE gt_bsis&lt;/P&gt;&lt;P&gt;           FOR ALL ENTRIES IN gt_payments&lt;/P&gt;&lt;P&gt;         WHERE bukrs = gt_payments-bukrs&lt;/P&gt;&lt;P&gt;           AND belnr = gt_payments-belnr&lt;/P&gt;&lt;P&gt;           AND gjahr = gt_payments-gjahr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      Get records from BSAS(Cleared items)&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        SELECT bukrs belnr gjahr monat&lt;/P&gt;&lt;P&gt;               hkont buzei blart shkzg&lt;/P&gt;&lt;P&gt;               dmbtr bschl augbl auggj&lt;/P&gt;&lt;P&gt;          FROM bsas&lt;/P&gt;&lt;P&gt;          APPENDING TABLE gt_bsis&lt;/P&gt;&lt;P&gt;           FOR ALL ENTRIES IN gt_payments&lt;/P&gt;&lt;P&gt;         WHERE bukrs = gt_payments-bukrs&lt;/P&gt;&lt;P&gt;           AND belnr = gt_payments-belnr&lt;/P&gt;&lt;P&gt;           AND gjahr = gt_payments-gjahr.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDMETHOD.                    "get_additional_data&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;METHOD process_data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  METHOD process_data.&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'&lt;/P&gt;&lt;P&gt;      EXPORTING&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      PERCENTAGE       = 0&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        text             = text-p02.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    FIELD-SYMBOLS: &amp;lt;fs_payments&amp;gt;  LIKE LINE OF gt_payments,&lt;/P&gt;&lt;P&gt;                   &amp;lt;fs_payments3&amp;gt; LIKE LINE OF gt_payments3,&lt;/P&gt;&lt;P&gt;                   &amp;lt;fs_bsis&amp;gt;      LIKE LINE OF gt_bsis,&lt;/P&gt;&lt;P&gt;                   &amp;lt;fs_payr&amp;gt;      LIKE LINE OF gt_payr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    SORT gt_payments  ASCENDING BY: bukrs blart gjahr monat.&lt;/P&gt;&lt;P&gt;    SORT gt_bsis      ASCENDING BY: bukrs belnr gjahr monat hkont.&lt;/P&gt;&lt;P&gt;    gt_bsis_dum[] = gt_bsis[].&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    LOOP AT gt_payments ASSIGNING &amp;lt;fs_payments&amp;gt;.&lt;/P&gt;&lt;P&gt;      CLEAR lv_flag.&lt;/P&gt;&lt;P&gt;      IF &amp;lt;fs_payments&amp;gt;-blart = lc_pv OR&lt;/P&gt;&lt;P&gt;         &amp;lt;fs_payments&amp;gt;-blart = lc_p7.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      Request of payment - Vendor&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        IF &amp;lt;fs_payments&amp;gt;-lifnr &amp;lt;&amp;gt; lc_8000000525 AND&lt;/P&gt;&lt;P&gt;           &amp;lt;fs_payments&amp;gt;-lifnr &amp;lt;&amp;gt; lc_8000001015.&lt;/P&gt;&lt;P&gt;          READ TABLE gt_payr ASSIGNING &amp;lt;fs_payr&amp;gt; WITH TABLE KEY zbukr = &amp;lt;fs_payments&amp;gt;-bukrs&lt;/P&gt;&lt;P&gt;                                                                vblnr = &amp;lt;fs_payments&amp;gt;-augbl&lt;/P&gt;&lt;P&gt;                                                                lifnr = &amp;lt;fs_payments&amp;gt;-lifnr.&lt;/P&gt;&lt;P&gt;          IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;            CALL METHOD move_to_output_table&lt;/P&gt;&lt;P&gt;              EXPORTING&lt;/P&gt;&lt;P&gt;                im_blart = lc_x1&lt;/P&gt;&lt;P&gt;                im_gjahr = &amp;lt;fs_payr&amp;gt;-zaldt+0(4)&lt;/P&gt;&lt;P&gt;                im_monat = &amp;lt;fs_payr&amp;gt;-zaldt+4(2)&lt;/P&gt;&lt;P&gt;                im_dmbtr = &amp;lt;fs_payments&amp;gt;-dmbtr.&lt;/P&gt;&lt;P&gt;            CONTINUE.&lt;/P&gt;&lt;P&gt;          ELSE.&lt;/P&gt;&lt;P&gt;            CALL METHOD me-&amp;gt;check_cutting_routine&lt;/P&gt;&lt;P&gt;              EXPORTING&lt;/P&gt;&lt;P&gt;                im_bukrs = &amp;lt;fs_payments&amp;gt;-bukrs&lt;/P&gt;&lt;P&gt;                im_belnr = &amp;lt;fs_payments&amp;gt;-belnr&lt;/P&gt;&lt;P&gt;                im_gjahr = &amp;lt;fs_payments&amp;gt;-gjahr&lt;/P&gt;&lt;P&gt;                im_blart = lc_x1&lt;/P&gt;&lt;P&gt;              IMPORTING&lt;/P&gt;&lt;P&gt;                ex_flag  = lv_flag.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            IF lv_flag = 'X'.&lt;/P&gt;&lt;P&gt;              CONTINUE.&lt;/P&gt;&lt;P&gt;            ENDIF.&lt;/P&gt;&lt;P&gt;          ENDIF.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      Diethelm&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        ELSEIF &amp;lt;fs_payments&amp;gt;-lifnr = lc_8000000525.&lt;/P&gt;&lt;P&gt;          READ TABLE gt_payr ASSIGNING &amp;lt;fs_payr&amp;gt; WITH TABLE KEY zbukr = &amp;lt;fs_payments&amp;gt;-bukrs&lt;/P&gt;&lt;P&gt;                                                                vblnr = &amp;lt;fs_payments&amp;gt;-augbl&lt;/P&gt;&lt;P&gt;                                                                lifnr = &amp;lt;fs_payments&amp;gt;-lifnr.&lt;/P&gt;&lt;P&gt;          IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;            CALL METHOD move_to_output_table&lt;/P&gt;&lt;P&gt;              EXPORTING&lt;/P&gt;&lt;P&gt;                im_blart = lc_x2&lt;/P&gt;&lt;P&gt;                im_gjahr = &amp;lt;fs_payr&amp;gt;-zaldt+0(4)&lt;/P&gt;&lt;P&gt;                im_monat = &amp;lt;fs_payr&amp;gt;-zaldt+4(2)&lt;/P&gt;&lt;P&gt;                im_dmbtr = &amp;lt;fs_payments&amp;gt;-dmbtr.&lt;/P&gt;&lt;P&gt;            CONTINUE.&lt;/P&gt;&lt;P&gt;          ELSE.&lt;/P&gt;&lt;P&gt;            CALL METHOD me-&amp;gt;check_cutting_routine&lt;/P&gt;&lt;P&gt;              EXPORTING&lt;/P&gt;&lt;P&gt;                im_bukrs = &amp;lt;fs_payments&amp;gt;-bukrs&lt;/P&gt;&lt;P&gt;                im_belnr = &amp;lt;fs_payments&amp;gt;-belnr&lt;/P&gt;&lt;P&gt;                im_gjahr = &amp;lt;fs_payments&amp;gt;-gjahr&lt;/P&gt;&lt;P&gt;                im_blart = lc_x2&lt;/P&gt;&lt;P&gt;              IMPORTING&lt;/P&gt;&lt;P&gt;                ex_flag  = lv_flag.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            IF lv_flag = 'X'.&lt;/P&gt;&lt;P&gt;              CONTINUE.&lt;/P&gt;&lt;P&gt;            ENDIF.&lt;/P&gt;&lt;P&gt;          ENDIF.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      First Pioneer&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        ELSEIF &amp;lt;fs_payments&amp;gt;-lifnr = lc_8000001015.&lt;/P&gt;&lt;P&gt;          READ TABLE gt_payr ASSIGNING &amp;lt;fs_payr&amp;gt; WITH TABLE KEY zbukr = &amp;lt;fs_payments&amp;gt;-bukrs&lt;/P&gt;&lt;P&gt;                                                                vblnr = &amp;lt;fs_payments&amp;gt;-augbl&lt;/P&gt;&lt;P&gt;                                                                lifnr = &amp;lt;fs_payments&amp;gt;-lifnr.&lt;/P&gt;&lt;P&gt;          IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;            CALL METHOD move_to_output_table&lt;/P&gt;&lt;P&gt;              EXPORTING&lt;/P&gt;&lt;P&gt;                im_blart = lc_x3&lt;/P&gt;&lt;P&gt;                im_gjahr = &amp;lt;fs_payr&amp;gt;-zaldt+0(4)&lt;/P&gt;&lt;P&gt;                im_monat = &amp;lt;fs_payr&amp;gt;-zaldt+4(2)&lt;/P&gt;&lt;P&gt;                im_dmbtr = &amp;lt;fs_payments&amp;gt;-dmbtr.&lt;/P&gt;&lt;P&gt;            CONTINUE.&lt;/P&gt;&lt;P&gt;          ELSE.&lt;/P&gt;&lt;P&gt;            CALL METHOD me-&amp;gt;check_cutting_routine&lt;/P&gt;&lt;P&gt;              EXPORTING&lt;/P&gt;&lt;P&gt;                im_bukrs = &amp;lt;fs_payments&amp;gt;-bukrs&lt;/P&gt;&lt;P&gt;                im_belnr = &amp;lt;fs_payments&amp;gt;-belnr&lt;/P&gt;&lt;P&gt;                im_gjahr = &amp;lt;fs_payments&amp;gt;-gjahr&lt;/P&gt;&lt;P&gt;                im_blart = lc_x3&lt;/P&gt;&lt;P&gt;              IMPORTING&lt;/P&gt;&lt;P&gt;                ex_flag  = lv_flag.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            IF lv_flag = 'X'.&lt;/P&gt;&lt;P&gt;              CONTINUE.&lt;/P&gt;&lt;P&gt;            ENDIF.&lt;/P&gt;&lt;P&gt;          ENDIF.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    Profit share&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      ELSEIF &amp;lt;fs_payments&amp;gt;-blart = lc_su.&lt;/P&gt;&lt;P&gt;        READ TABLE gt_bsis ASSIGNING &amp;lt;fs_bsis&amp;gt; WITH KEY bukrs = &amp;lt;fs_payments&amp;gt;-bukrs&lt;/P&gt;&lt;P&gt;                                                        belnr = &amp;lt;fs_payments&amp;gt;-belnr&lt;/P&gt;&lt;P&gt;                                                        gjahr = &amp;lt;fs_payments&amp;gt;-gjahr&lt;/P&gt;&lt;P&gt;                                                        monat = &amp;lt;fs_payments&amp;gt;-monat&lt;/P&gt;&lt;P&gt;                                                        hkont = lc_0020000800&lt;/P&gt;&lt;P&gt;                                                                BINARY SEARCH.&lt;/P&gt;&lt;P&gt;        IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;          READ TABLE gt_payr ASSIGNING &amp;lt;fs_payr&amp;gt; WITH TABLE KEY zbukr = &amp;lt;fs_payments&amp;gt;-bukrs&lt;/P&gt;&lt;P&gt;                                                                vblnr = &amp;lt;fs_payments&amp;gt;-augbl&lt;/P&gt;&lt;P&gt;                                                                lifnr = &amp;lt;fs_payments&amp;gt;-lifnr.&lt;/P&gt;&lt;P&gt;          IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;            CALL METHOD move_to_output_table&lt;/P&gt;&lt;P&gt;              EXPORTING&lt;/P&gt;&lt;P&gt;                im_blart = lc_y1&lt;/P&gt;&lt;P&gt;                im_gjahr = &amp;lt;fs_payr&amp;gt;-zaldt+0(4)&lt;/P&gt;&lt;P&gt;                im_monat = &amp;lt;fs_payr&amp;gt;-zaldt+4(2)&lt;/P&gt;&lt;P&gt;                im_dmbtr = &amp;lt;fs_payments&amp;gt;-dmbtr.&lt;/P&gt;&lt;P&gt;            CONTINUE.&lt;/P&gt;&lt;P&gt;          ELSE.&lt;/P&gt;&lt;P&gt;            CALL METHOD me-&amp;gt;check_cutting_routine&lt;/P&gt;&lt;P&gt;              EXPORTING&lt;/P&gt;&lt;P&gt;                im_bukrs = &amp;lt;fs_payments&amp;gt;-bukrs&lt;/P&gt;&lt;P&gt;                im_belnr = &amp;lt;fs_payments&amp;gt;-belnr&lt;/P&gt;&lt;P&gt;                im_gjahr = &amp;lt;fs_payments&amp;gt;-gjahr&lt;/P&gt;&lt;P&gt;                im_blart = lc_y1&lt;/P&gt;&lt;P&gt;              IMPORTING&lt;/P&gt;&lt;P&gt;                ex_flag  = lv_flag.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            IF lv_flag = 'X'.&lt;/P&gt;&lt;P&gt;              CONTINUE.&lt;/P&gt;&lt;P&gt;            ENDIF.&lt;/P&gt;&lt;P&gt;          ENDIF.&lt;/P&gt;&lt;P&gt;        ELSE.&lt;/P&gt;&lt;P&gt;          READ TABLE gt_bsis ASSIGNING &amp;lt;fs_bsis&amp;gt; WITH KEY bukrs = &amp;lt;fs_payments&amp;gt;-bukrs&lt;/P&gt;&lt;P&gt;                                                          belnr = &amp;lt;fs_payments&amp;gt;-belnr&lt;/P&gt;&lt;P&gt;                                                          gjahr = &amp;lt;fs_payments&amp;gt;-gjahr&lt;/P&gt;&lt;P&gt;                                                          monat = &amp;lt;fs_payments&amp;gt;-monat&lt;/P&gt;&lt;P&gt;                                                          hkont = lc_0060000653&lt;/P&gt;&lt;P&gt;                                                                  BINARY SEARCH.&lt;/P&gt;&lt;P&gt;          IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;            READ TABLE gt_payr ASSIGNING &amp;lt;fs_payr&amp;gt; WITH TABLE KEY zbukr = &amp;lt;fs_payments&amp;gt;-bukrs&lt;/P&gt;&lt;P&gt;                                                                  vblnr = &amp;lt;fs_payments&amp;gt;-augbl&lt;/P&gt;&lt;P&gt;                                                                  lifnr = &amp;lt;fs_payments&amp;gt;-lifnr.&lt;/P&gt;&lt;P&gt;            IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;              CALL METHOD move_to_output_table&lt;/P&gt;&lt;P&gt;                EXPORTING&lt;/P&gt;&lt;P&gt;                  im_blart = lc_y1&lt;/P&gt;&lt;P&gt;                  im_gjahr = &amp;lt;fs_payr&amp;gt;-zaldt+0(4)&lt;/P&gt;&lt;P&gt;                  im_monat = &amp;lt;fs_payr&amp;gt;-zaldt+4(2)&lt;/P&gt;&lt;P&gt;                  im_dmbtr = &amp;lt;fs_payments&amp;gt;-dmbtr.&lt;/P&gt;&lt;P&gt;              CONTINUE.&lt;/P&gt;&lt;P&gt;            ELSE.&lt;/P&gt;&lt;P&gt;              CALL METHOD me-&amp;gt;check_cutting_routine&lt;/P&gt;&lt;P&gt;                EXPORTING&lt;/P&gt;&lt;P&gt;                  im_bukrs = &amp;lt;fs_payments&amp;gt;-bukrs&lt;/P&gt;&lt;P&gt;                  im_belnr = &amp;lt;fs_payments&amp;gt;-belnr&lt;/P&gt;&lt;P&gt;                  im_gjahr = &amp;lt;fs_payments&amp;gt;-gjahr&lt;/P&gt;&lt;P&gt;                  im_blart = lc_y1&lt;/P&gt;&lt;P&gt;                IMPORTING&lt;/P&gt;&lt;P&gt;                  ex_flag  = lv_flag.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;              IF lv_flag = 'X'.&lt;/P&gt;&lt;P&gt;                CONTINUE.&lt;/P&gt;&lt;P&gt;              ENDIF.&lt;/P&gt;&lt;P&gt;            ENDIF.&lt;/P&gt;&lt;P&gt;          ELSE.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          Dividend payments&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;            READ TABLE gt_bsis ASSIGNING &amp;lt;fs_bsis&amp;gt; WITH KEY bukrs = &amp;lt;fs_payments&amp;gt;-bukrs&lt;/P&gt;&lt;P&gt;                                                            belnr = &amp;lt;fs_payments&amp;gt;-belnr&lt;/P&gt;&lt;P&gt;                                                            gjahr = &amp;lt;fs_payments&amp;gt;-gjahr&lt;/P&gt;&lt;P&gt;                                                            monat = &amp;lt;fs_payments&amp;gt;-monat&lt;/P&gt;&lt;P&gt;                                                            hkont = lc_0020000770&lt;/P&gt;&lt;P&gt;                                                                    BINARY SEARCH.&lt;/P&gt;&lt;P&gt;            IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;              READ TABLE gt_payr ASSIGNING &amp;lt;fs_payr&amp;gt; WITH TABLE KEY zbukr = &amp;lt;fs_payments&amp;gt;-bukrs&lt;/P&gt;&lt;P&gt;                                                                    vblnr = &amp;lt;fs_payments&amp;gt;-augbl&lt;/P&gt;&lt;P&gt;                                                                    lifnr = &amp;lt;fs_payments&amp;gt;-lifnr.&lt;/P&gt;&lt;P&gt;              IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;                CALL METHOD move_to_output_table&lt;/P&gt;&lt;P&gt;                  EXPORTING&lt;/P&gt;&lt;P&gt;                    im_blart = lc_y2&lt;/P&gt;&lt;P&gt;                    im_gjahr = &amp;lt;fs_payr&amp;gt;-zaldt+0(4)&lt;/P&gt;&lt;P&gt;                    im_monat = &amp;lt;fs_payr&amp;gt;-zaldt+4(2)&lt;/P&gt;&lt;P&gt;                    im_dmbtr = &amp;lt;fs_payments&amp;gt;-dmbtr.&lt;/P&gt;&lt;P&gt;                CONTINUE.&lt;/P&gt;&lt;P&gt;              ELSE.&lt;/P&gt;&lt;P&gt;                CALL METHOD me-&amp;gt;check_cutting_routine&lt;/P&gt;&lt;P&gt;                  EXPORTING&lt;/P&gt;&lt;P&gt;                    im_bukrs = &amp;lt;fs_payments&amp;gt;-bukrs&lt;/P&gt;&lt;P&gt;                    im_belnr = &amp;lt;fs_payments&amp;gt;-belnr&lt;/P&gt;&lt;P&gt;                    im_gjahr = &amp;lt;fs_payments&amp;gt;-gjahr&lt;/P&gt;&lt;P&gt;                    im_blart = lc_y2&lt;/P&gt;&lt;P&gt;                  IMPORTING&lt;/P&gt;&lt;P&gt;                    ex_flag  = lv_flag.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                IF lv_flag = 'X'.&lt;/P&gt;&lt;P&gt;                  CONTINUE.&lt;/P&gt;&lt;P&gt;                ENDIF.&lt;/P&gt;&lt;P&gt;              ENDIF.&lt;/P&gt;&lt;P&gt;            ENDIF.&lt;/P&gt;&lt;P&gt;          ENDIF.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    Creditable input tax&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      ELSEIF &amp;lt;fs_payments&amp;gt;-blart = lc_px.&lt;/P&gt;&lt;P&gt;        READ TABLE gt_bsis ASSIGNING &amp;lt;fs_bsis&amp;gt; WITH KEY bukrs = &amp;lt;fs_payments&amp;gt;-bukrs&lt;/P&gt;&lt;P&gt;                                                        belnr = &amp;lt;fs_payments&amp;gt;-belnr&lt;/P&gt;&lt;P&gt;                                                        gjahr = &amp;lt;fs_payments&amp;gt;-gjahr&lt;/P&gt;&lt;P&gt;                                                        monat = &amp;lt;fs_payments&amp;gt;-monat&lt;/P&gt;&lt;P&gt;                                                        hkont = lc_0020000650&lt;/P&gt;&lt;P&gt;                                                                BINARY SEARCH.&lt;/P&gt;&lt;P&gt;        IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;          READ TABLE gt_payr ASSIGNING &amp;lt;fs_payr&amp;gt; WITH TABLE KEY zbukr = &amp;lt;fs_payments&amp;gt;-bukrs&lt;/P&gt;&lt;P&gt;                                                                vblnr = &amp;lt;fs_payments&amp;gt;-augbl&lt;/P&gt;&lt;P&gt;                                                                lifnr = &amp;lt;fs_payments&amp;gt;-lifnr.&lt;/P&gt;&lt;P&gt;          IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;            CALL METHOD move_to_output_table&lt;/P&gt;&lt;P&gt;              EXPORTING&lt;/P&gt;&lt;P&gt;                im_blart = lc_z1&lt;/P&gt;&lt;P&gt;                im_gjahr = &amp;lt;fs_payr&amp;gt;-zaldt+0(4)&lt;/P&gt;&lt;P&gt;                im_monat = &amp;lt;fs_payr&amp;gt;-zaldt+4(2)&lt;/P&gt;&lt;P&gt;                im_dmbtr = &amp;lt;fs_payments&amp;gt;-dmbtr.&lt;/P&gt;&lt;P&gt;            CONTINUE.&lt;/P&gt;&lt;P&gt;          ELSE.&lt;/P&gt;&lt;P&gt;            CALL METHOD me-&amp;gt;check_cutting_routine&lt;/P&gt;&lt;P&gt;              EXPORTING&lt;/P&gt;&lt;P&gt;                im_bukrs = &amp;lt;fs_payments&amp;gt;-bukrs&lt;/P&gt;&lt;P&gt;                im_belnr = &amp;lt;fs_payments&amp;gt;-belnr&lt;/P&gt;&lt;P&gt;                im_gjahr = &amp;lt;fs_payments&amp;gt;-gjahr&lt;/P&gt;&lt;P&gt;                im_blart = lc_z1&lt;/P&gt;&lt;P&gt;              IMPORTING&lt;/P&gt;&lt;P&gt;                ex_flag  = lv_flag.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            IF lv_flag = 'X'.&lt;/P&gt;&lt;P&gt;              CONTINUE.&lt;/P&gt;&lt;P&gt;            ENDIF.&lt;/P&gt;&lt;P&gt;          ENDIF.&lt;/P&gt;&lt;P&gt;        ELSE.&lt;/P&gt;&lt;P&gt;          READ TABLE gt_bsis ASSIGNING &amp;lt;fs_bsis&amp;gt; WITH KEY bukrs = &amp;lt;fs_payments&amp;gt;-bukrs&lt;/P&gt;&lt;P&gt;                                                          belnr = &amp;lt;fs_payments&amp;gt;-belnr&lt;/P&gt;&lt;P&gt;                                                          gjahr = &amp;lt;fs_payments&amp;gt;-gjahr&lt;/P&gt;&lt;P&gt;                                                          monat = &amp;lt;fs_payments&amp;gt;-monat&lt;/P&gt;&lt;P&gt;                                                          hkont = lc_0020000651&lt;/P&gt;&lt;P&gt;                                                                  BINARY SEARCH.&lt;/P&gt;&lt;P&gt;          IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;            READ TABLE gt_payr ASSIGNING &amp;lt;fs_payr&amp;gt; WITH TABLE KEY zbukr = &amp;lt;fs_payments&amp;gt;-bukrs&lt;/P&gt;&lt;P&gt;                                                                  vblnr = &amp;lt;fs_payments&amp;gt;-augbl&lt;/P&gt;&lt;P&gt;                                                                  lifnr = &amp;lt;fs_payments&amp;gt;-lifnr.&lt;/P&gt;&lt;P&gt;            IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;              CALL METHOD move_to_output_table&lt;/P&gt;&lt;P&gt;                EXPORTING&lt;/P&gt;&lt;P&gt;                  im_blart = lc_z1&lt;/P&gt;&lt;P&gt;                  im_gjahr = &amp;lt;fs_payr&amp;gt;-zaldt+0(4)&lt;/P&gt;&lt;P&gt;                  im_monat = &amp;lt;fs_payr&amp;gt;-zaldt+4(2)&lt;/P&gt;&lt;P&gt;                  im_dmbtr = &amp;lt;fs_payments&amp;gt;-dmbtr.&lt;/P&gt;&lt;P&gt;              CONTINUE.&lt;/P&gt;&lt;P&gt;            ELSE.&lt;/P&gt;&lt;P&gt;              CALL METHOD me-&amp;gt;check_cutting_routine&lt;/P&gt;&lt;P&gt;                EXPORTING&lt;/P&gt;&lt;P&gt;                  im_bukrs = &amp;lt;fs_payments&amp;gt;-bukrs&lt;/P&gt;&lt;P&gt;                  im_belnr = &amp;lt;fs_payments&amp;gt;-belnr&lt;/P&gt;&lt;P&gt;                  im_gjahr = &amp;lt;fs_payments&amp;gt;-gjahr&lt;/P&gt;&lt;P&gt;                  im_blart = lc_z1&lt;/P&gt;&lt;P&gt;                IMPORTING&lt;/P&gt;&lt;P&gt;                  ex_flag  = lv_flag.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;              IF lv_flag = 'X'.&lt;/P&gt;&lt;P&gt;                CONTINUE.&lt;/P&gt;&lt;P&gt;              ENDIF.&lt;/P&gt;&lt;P&gt;            ENDIF.&lt;/P&gt;&lt;P&gt;          ELSE.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          Withholding taxes&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;            LOOP AT gt_bsis ASSIGNING &amp;lt;fs_bsis&amp;gt;&lt;/P&gt;&lt;P&gt;                            WHERE bukrs = &amp;lt;fs_payments&amp;gt;-bukrs&lt;/P&gt;&lt;P&gt;                              AND belnr = &amp;lt;fs_payments&amp;gt;-belnr&lt;/P&gt;&lt;P&gt;                              AND gjahr = &amp;lt;fs_payments&amp;gt;-gjahr&lt;/P&gt;&lt;P&gt;                              AND monat = &amp;lt;fs_payments&amp;gt;-monat&lt;/P&gt;&lt;P&gt;                              AND hkont BETWEEN lc_0020000200 AND lc_0020000320.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;              READ TABLE gt_payr ASSIGNING &amp;lt;fs_payr&amp;gt;&lt;/P&gt;&lt;P&gt;                                 WITH TABLE KEY zbukr = &amp;lt;fs_payments&amp;gt;-bukrs&lt;/P&gt;&lt;P&gt;                                                vblnr = &amp;lt;fs_payments&amp;gt;-augbl&lt;/P&gt;&lt;P&gt;                                                lifnr = &amp;lt;fs_payments&amp;gt;-lifnr.&lt;/P&gt;&lt;P&gt;              IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;                CALL METHOD move_to_output_table&lt;/P&gt;&lt;P&gt;                  EXPORTING&lt;/P&gt;&lt;P&gt;                    im_blart = lc_z2&lt;/P&gt;&lt;P&gt;                    im_gjahr = &amp;lt;fs_payr&amp;gt;-zaldt+0(4)&lt;/P&gt;&lt;P&gt;                    im_monat = &amp;lt;fs_payr&amp;gt;-zaldt+4(2)&lt;/P&gt;&lt;P&gt;                    im_dmbtr = &amp;lt;fs_payments&amp;gt;-dmbtr.&lt;/P&gt;&lt;P&gt;                MOVE 'X' TO lv_flag.&lt;/P&gt;&lt;P&gt;                EXIT.&lt;/P&gt;&lt;P&gt;              ELSE.&lt;/P&gt;&lt;P&gt;                CALL METHOD me-&amp;gt;check_cutting_routine&lt;/P&gt;&lt;P&gt;                  EXPORTING&lt;/P&gt;&lt;P&gt;                    im_bukrs = &amp;lt;fs_payments&amp;gt;-bukrs&lt;/P&gt;&lt;P&gt;                    im_belnr = &amp;lt;fs_payments&amp;gt;-belnr&lt;/P&gt;&lt;P&gt;                    im_gjahr = &amp;lt;fs_payments&amp;gt;-gjahr&lt;/P&gt;&lt;P&gt;                    im_blart = lc_z2&lt;/P&gt;&lt;P&gt;                  IMPORTING&lt;/P&gt;&lt;P&gt;                    ex_flag  = lv_flag.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                IF lv_flag = 'X'.&lt;/P&gt;&lt;P&gt;                  EXIT.&lt;/P&gt;&lt;P&gt;                ENDIF.&lt;/P&gt;&lt;P&gt;              ENDIF.&lt;/P&gt;&lt;P&gt;            ENDLOOP.&lt;/P&gt;&lt;P&gt;            IF lv_flag = 'X'.&lt;/P&gt;&lt;P&gt;              CONTINUE.&lt;/P&gt;&lt;P&gt;            ELSE.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          Taxes and Licenses&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;              LOOP AT gt_bsis ASSIGNING &amp;lt;fs_bsis&amp;gt;&lt;/P&gt;&lt;P&gt;                              WHERE bukrs = &amp;lt;fs_payments&amp;gt;-bukrs&lt;/P&gt;&lt;P&gt;                                AND belnr = &amp;lt;fs_payments&amp;gt;-belnr&lt;/P&gt;&lt;P&gt;                                AND gjahr = &amp;lt;fs_payments&amp;gt;-gjahr&lt;/P&gt;&lt;P&gt;                                AND monat = &amp;lt;fs_payments&amp;gt;-monat&lt;/P&gt;&lt;P&gt;                                AND hkont BETWEEN lc_0060001100 AND lc_0060001114.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                READ TABLE gt_payr ASSIGNING &amp;lt;fs_payr&amp;gt;&lt;/P&gt;&lt;P&gt;                                   WITH TABLE KEY zbukr = &amp;lt;fs_payments&amp;gt;-bukrs&lt;/P&gt;&lt;P&gt;                                                  vblnr = &amp;lt;fs_payments&amp;gt;-augbl&lt;/P&gt;&lt;P&gt;                                                  lifnr = &amp;lt;fs_payments&amp;gt;-lifnr.&lt;/P&gt;&lt;P&gt;                IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;                  CALL METHOD move_to_output_table&lt;/P&gt;&lt;P&gt;                    EXPORTING&lt;/P&gt;&lt;P&gt;                      im_blart = lc_z3&lt;/P&gt;&lt;P&gt;                      im_gjahr = &amp;lt;fs_payr&amp;gt;-zaldt+0(4)&lt;/P&gt;&lt;P&gt;                      im_monat = &amp;lt;fs_payr&amp;gt;-zaldt+4(2)&lt;/P&gt;&lt;P&gt;                      im_dmbtr = &amp;lt;fs_payments&amp;gt;-dmbtr.&lt;/P&gt;&lt;P&gt;                  MOVE 'X' TO lv_flag.&lt;/P&gt;&lt;P&gt;                  EXIT.&lt;/P&gt;&lt;P&gt;                ELSE.&lt;/P&gt;&lt;P&gt;                  CALL METHOD me-&amp;gt;check_cutting_routine&lt;/P&gt;&lt;P&gt;                    EXPORTING&lt;/P&gt;&lt;P&gt;                      im_bukrs = &amp;lt;fs_payments&amp;gt;-bukrs&lt;/P&gt;&lt;P&gt;                      im_belnr = &amp;lt;fs_payments&amp;gt;-belnr&lt;/P&gt;&lt;P&gt;                      im_gjahr = &amp;lt;fs_payments&amp;gt;-gjahr&lt;/P&gt;&lt;P&gt;                      im_blart = lc_z3&lt;/P&gt;&lt;P&gt;                    IMPORTING&lt;/P&gt;&lt;P&gt;                      ex_flag  = lv_flag.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                  IF lv_flag = 'X'.&lt;/P&gt;&lt;P&gt;                    EXIT.&lt;/P&gt;&lt;P&gt;                  ENDIF.&lt;/P&gt;&lt;P&gt;                ENDIF.&lt;/P&gt;&lt;P&gt;              ENDLOOP.&lt;/P&gt;&lt;P&gt;              IF lv_flag = 'X'.&lt;/P&gt;&lt;P&gt;                CONTINUE.&lt;/P&gt;&lt;P&gt;              ELSE.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;            Income Tax&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;                READ TABLE gt_bsis ASSIGNING &amp;lt;fs_bsis&amp;gt;&lt;/P&gt;&lt;P&gt;                                   WITH KEY bukrs = &amp;lt;fs_payments&amp;gt;-bukrs&lt;/P&gt;&lt;P&gt;                                            belnr = &amp;lt;fs_payments&amp;gt;-belnr&lt;/P&gt;&lt;P&gt;                                            gjahr = &amp;lt;fs_payments&amp;gt;-gjahr&lt;/P&gt;&lt;P&gt;                                            monat = &amp;lt;fs_payments&amp;gt;-monat&lt;/P&gt;&lt;P&gt;                                            hkont = lc_0020000660&lt;/P&gt;&lt;P&gt;                                                    BINARY SEARCH.&lt;/P&gt;&lt;P&gt;                IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;                  READ TABLE gt_payr ASSIGNING &amp;lt;fs_payr&amp;gt;&lt;/P&gt;&lt;P&gt;                                     WITH TABLE KEY zbukr = &amp;lt;fs_payments&amp;gt;-bukrs&lt;/P&gt;&lt;P&gt;                                                    vblnr = &amp;lt;fs_payments&amp;gt;-augbl&lt;/P&gt;&lt;P&gt;                                                    lifnr = &amp;lt;fs_payments&amp;gt;-lifnr.&lt;/P&gt;&lt;P&gt;                  IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;                    CALL METHOD move_to_output_table&lt;/P&gt;&lt;P&gt;                      EXPORTING&lt;/P&gt;&lt;P&gt;                        im_blart = lc_z4&lt;/P&gt;&lt;P&gt;                        im_gjahr = &amp;lt;fs_payr&amp;gt;-zaldt+0(4)&lt;/P&gt;&lt;P&gt;                        im_monat = &amp;lt;fs_payr&amp;gt;-zaldt+4(2)&lt;/P&gt;&lt;P&gt;                        im_dmbtr = &amp;lt;fs_payments&amp;gt;-dmbtr.&lt;/P&gt;&lt;P&gt;                    CONTINUE.&lt;/P&gt;&lt;P&gt;                  ELSE.&lt;/P&gt;&lt;P&gt;                    CALL METHOD me-&amp;gt;check_cutting_routine&lt;/P&gt;&lt;P&gt;                      EXPORTING&lt;/P&gt;&lt;P&gt;                        im_bukrs = &amp;lt;fs_payments&amp;gt;-bukrs&lt;/P&gt;&lt;P&gt;                        im_belnr = &amp;lt;fs_payments&amp;gt;-belnr&lt;/P&gt;&lt;P&gt;                        im_gjahr = &amp;lt;fs_payments&amp;gt;-gjahr&lt;/P&gt;&lt;P&gt;                        im_blart = lc_z4&lt;/P&gt;&lt;P&gt;                      IMPORTING&lt;/P&gt;&lt;P&gt;                        ex_flag  = lv_flag.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                    IF lv_flag = 'X'.&lt;/P&gt;&lt;P&gt;                      EXIT.&lt;/P&gt;&lt;P&gt;                    ENDIF.&lt;/P&gt;&lt;P&gt;                  ENDIF.&lt;/P&gt;&lt;P&gt;                ENDIF.&lt;/P&gt;&lt;P&gt;              ENDIF.&lt;/P&gt;&lt;P&gt;            ENDIF.&lt;/P&gt;&lt;P&gt;          ENDIF.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    Capital Expenditures(CAPEX) - November 2007 onwards&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      ELSEIF &amp;lt;fs_payments&amp;gt;-blart = lc_capex_new.&lt;/P&gt;&lt;P&gt;        READ TABLE gt_payr ASSIGNING &amp;lt;fs_payr&amp;gt;&lt;/P&gt;&lt;P&gt;                           WITH TABLE KEY zbukr = &amp;lt;fs_payments&amp;gt;-bukrs&lt;/P&gt;&lt;P&gt;                                          vblnr = &amp;lt;fs_payments&amp;gt;-augbl&lt;/P&gt;&lt;P&gt;                                          lifnr = &amp;lt;fs_payments&amp;gt;-lifnr.&lt;/P&gt;&lt;P&gt;        IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;          CALL METHOD move_to_output_table&lt;/P&gt;&lt;P&gt;            EXPORTING&lt;/P&gt;&lt;P&gt;              im_blart = lc_x0&lt;/P&gt;&lt;P&gt;              im_gjahr = &amp;lt;fs_payr&amp;gt;-zaldt+0(4)&lt;/P&gt;&lt;P&gt;              im_monat = &amp;lt;fs_payr&amp;gt;-zaldt+4(2)&lt;/P&gt;&lt;P&gt;              im_dmbtr = &amp;lt;fs_payments&amp;gt;-dmbtr.&lt;/P&gt;&lt;P&gt;          CONTINUE.&lt;/P&gt;&lt;P&gt;        ELSE.&lt;/P&gt;&lt;P&gt;          CALL METHOD me-&amp;gt;check_cutting_routine&lt;/P&gt;&lt;P&gt;            EXPORTING&lt;/P&gt;&lt;P&gt;              im_bukrs = &amp;lt;fs_payments&amp;gt;-bukrs&lt;/P&gt;&lt;P&gt;              im_belnr = &amp;lt;fs_payments&amp;gt;-belnr&lt;/P&gt;&lt;P&gt;              im_gjahr = &amp;lt;fs_payments&amp;gt;-gjahr&lt;/P&gt;&lt;P&gt;              im_blart = lc_x0&lt;/P&gt;&lt;P&gt;            IMPORTING&lt;/P&gt;&lt;P&gt;              ex_flag  = lv_flag.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          IF lv_flag = 'X'.&lt;/P&gt;&lt;P&gt;            EXIT.&lt;/P&gt;&lt;P&gt;          ENDIF.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    Capital Expenditures(CAPEX) - Up to October 2007&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      ELSEIF &amp;lt;fs_payments&amp;gt;-blart = lc_pt OR&lt;/P&gt;&lt;P&gt;             &amp;lt;fs_payments&amp;gt;-blart = lc_p0 OR&lt;/P&gt;&lt;P&gt;             &amp;lt;fs_payments&amp;gt;-blart = lc_re.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        LOOP AT gt_bsis ASSIGNING &amp;lt;fs_bsis&amp;gt;&lt;/P&gt;&lt;P&gt;                        WHERE bukrs = &amp;lt;fs_payments&amp;gt;-bukrs&lt;/P&gt;&lt;P&gt;                          AND belnr = &amp;lt;fs_payments&amp;gt;-belnr&lt;/P&gt;&lt;P&gt;                          AND gjahr = &amp;lt;fs_payments&amp;gt;-gjahr&lt;/P&gt;&lt;P&gt;                          AND monat = &amp;lt;fs_payments&amp;gt;-monat&lt;/P&gt;&lt;P&gt;                          AND hkont BETWEEN lc_0070000001 AND lc_0070000024.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          READ TABLE gt_payr ASSIGNING &amp;lt;fs_payr&amp;gt;&lt;/P&gt;&lt;P&gt;                             WITH TABLE KEY zbukr = &amp;lt;fs_payments&amp;gt;-bukrs&lt;/P&gt;&lt;P&gt;                                            vblnr = &amp;lt;fs_payments&amp;gt;-augbl&lt;/P&gt;&lt;P&gt;                                            lifnr = &amp;lt;fs_payments&amp;gt;-lifnr.&lt;/P&gt;&lt;P&gt;          IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;            CALL METHOD move_to_output_table&lt;/P&gt;&lt;P&gt;              EXPORTING&lt;/P&gt;&lt;P&gt;                im_blart = lc_x0&lt;/P&gt;&lt;P&gt;                im_gjahr = &amp;lt;fs_payr&amp;gt;-zaldt+0(4)&lt;/P&gt;&lt;P&gt;                im_monat = &amp;lt;fs_payr&amp;gt;-zaldt+4(2)&lt;/P&gt;&lt;P&gt;                im_dmbtr = &amp;lt;fs_payments&amp;gt;-dmbtr.&lt;/P&gt;&lt;P&gt;            MOVE 'X' TO lv_flag.&lt;/P&gt;&lt;P&gt;            EXIT.&lt;/P&gt;&lt;P&gt;          ELSE.&lt;/P&gt;&lt;P&gt;            CALL METHOD me-&amp;gt;check_cutting_routine&lt;/P&gt;&lt;P&gt;              EXPORTING&lt;/P&gt;&lt;P&gt;                im_bukrs = &amp;lt;fs_payments&amp;gt;-bukrs&lt;/P&gt;&lt;P&gt;                im_belnr = &amp;lt;fs_payments&amp;gt;-belnr&lt;/P&gt;&lt;P&gt;                im_gjahr = &amp;lt;fs_payments&amp;gt;-gjahr&lt;/P&gt;&lt;P&gt;                im_blart = lc_x0&lt;/P&gt;&lt;P&gt;              IMPORTING&lt;/P&gt;&lt;P&gt;                ex_flag  = lv_flag.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            IF lv_flag = 'X'.&lt;/P&gt;&lt;P&gt;              EXIT.&lt;/P&gt;&lt;P&gt;            ENDIF.&lt;/P&gt;&lt;P&gt;          ENDIF.&lt;/P&gt;&lt;P&gt;        ENDLOOP.&lt;/P&gt;&lt;P&gt;        IF lv_flag = 'X'.&lt;/P&gt;&lt;P&gt;          CONTINUE.&lt;/P&gt;&lt;P&gt;        ELSE.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        AP - Trade(Non Production w/o PO)&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;          READ TABLE gt_payr ASSIGNING &amp;lt;fs_payr&amp;gt;&lt;/P&gt;&lt;P&gt;                             WITH TABLE KEY zbukr = &amp;lt;fs_payments&amp;gt;-bukrs&lt;/P&gt;&lt;P&gt;                                            vblnr = &amp;lt;fs_payments&amp;gt;-augbl&lt;/P&gt;&lt;P&gt;                                            lifnr = &amp;lt;fs_payments&amp;gt;-lifnr.&lt;/P&gt;&lt;P&gt;          IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;            CALL METHOD move_to_output_table&lt;/P&gt;&lt;P&gt;              EXPORTING&lt;/P&gt;&lt;P&gt;                im_blart = lc_pt&lt;/P&gt;&lt;P&gt;                im_gjahr = &amp;lt;fs_payr&amp;gt;-zaldt+0(4)&lt;/P&gt;&lt;P&gt;                im_monat = &amp;lt;fs_payr&amp;gt;-zaldt+4(2)&lt;/P&gt;&lt;P&gt;                im_dmbtr = &amp;lt;fs_payments&amp;gt;-dmbtr.&lt;/P&gt;&lt;P&gt;            CONTINUE.&lt;/P&gt;&lt;P&gt;          ELSE.&lt;/P&gt;&lt;P&gt;            CALL METHOD me-&amp;gt;check_cutting_routine&lt;/P&gt;&lt;P&gt;              EXPORTING&lt;/P&gt;&lt;P&gt;                im_bukrs = &amp;lt;fs_payments&amp;gt;-bukrs&lt;/P&gt;&lt;P&gt;                im_belnr = &amp;lt;fs_payments&amp;gt;-belnr&lt;/P&gt;&lt;P&gt;                im_gjahr = &amp;lt;fs_payments&amp;gt;-gjahr&lt;/P&gt;&lt;P&gt;                im_blart = lc_pt&lt;/P&gt;&lt;P&gt;              IMPORTING&lt;/P&gt;&lt;P&gt;                ex_flag  = lv_flag.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            IF lv_flag = 'X'.&lt;/P&gt;&lt;P&gt;              CONTINUE.&lt;/P&gt;&lt;P&gt;            ENDIF.&lt;/P&gt;&lt;P&gt;          ENDIF.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      Other document types&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        READ TABLE gt_payr ASSIGNING &amp;lt;fs_payr&amp;gt;&lt;/P&gt;&lt;P&gt;                           WITH TABLE KEY zbukr = &amp;lt;fs_payments&amp;gt;-bukrs&lt;/P&gt;&lt;P&gt;                                          vblnr = &amp;lt;fs_payments&amp;gt;-augbl&lt;/P&gt;&lt;P&gt;                                          lifnr = &amp;lt;fs_payments&amp;gt;-lifnr.&lt;/P&gt;&lt;P&gt;        IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;          CALL METHOD move_to_output_table&lt;/P&gt;&lt;P&gt;            EXPORTING&lt;/P&gt;&lt;P&gt;              im_blart = &amp;lt;fs_payments&amp;gt;-blart&lt;/P&gt;&lt;P&gt;              im_gjahr = &amp;lt;fs_payr&amp;gt;-zaldt+0(4)&lt;/P&gt;&lt;P&gt;              im_monat = &amp;lt;fs_payr&amp;gt;-zaldt+4(2)&lt;/P&gt;&lt;P&gt;              im_dmbtr = &amp;lt;fs_payments&amp;gt;-dmbtr.&lt;/P&gt;&lt;P&gt;          CONTINUE.&lt;/P&gt;&lt;P&gt;        ELSE.&lt;/P&gt;&lt;P&gt;          CALL METHOD me-&amp;gt;check_cutting_routine&lt;/P&gt;&lt;P&gt;            EXPORTING&lt;/P&gt;&lt;P&gt;              im_bukrs = &amp;lt;fs_payments&amp;gt;-bukrs&lt;/P&gt;&lt;P&gt;              im_belnr = &amp;lt;fs_payments&amp;gt;-belnr&lt;/P&gt;&lt;P&gt;              im_gjahr = &amp;lt;fs_payments&amp;gt;-gjahr&lt;/P&gt;&lt;P&gt;              im_blart = &amp;lt;fs_payments&amp;gt;-blart&lt;/P&gt;&lt;P&gt;            IMPORTING&lt;/P&gt;&lt;P&gt;              ex_flag  = lv_flag.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          IF lv_flag = 'X'.&lt;/P&gt;&lt;P&gt;            CONTINUE.&lt;/P&gt;&lt;P&gt;          ENDIF.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;  ENDMETHOD.                    "process_data&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;METHOD move_to_output_table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  METHOD move_to_output_table.&lt;/P&gt;&lt;P&gt;    CLEAR wa_output.&lt;/P&gt;&lt;P&gt;    READ TABLE gt_output INTO wa_output WITH KEY blart = im_blart.&lt;/P&gt;&lt;P&gt;*/If document type is not yet added&lt;/P&gt;&lt;P&gt;    IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;      wa_output-blart = im_blart.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    Year before the user specified year&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      IF im_gjahr = lv_year.&lt;/P&gt;&lt;P&gt;        IF im_monat = p_monat.&lt;/P&gt;&lt;P&gt;          wa_output-last_year = im_dmbtr.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;        IF im_monat &amp;lt;= p_monat.&lt;/P&gt;&lt;P&gt;          ADD im_dmbtr TO wa_output-cum_last_year.&lt;/P&gt;&lt;P&gt;          APPEND wa_output TO gt_output.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;        CLEAR wa_output.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    User specified year&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      ELSEIF im_gjahr = p_gjahr.&lt;/P&gt;&lt;P&gt;        IF im_monat = p_monat.&lt;/P&gt;&lt;P&gt;          wa_output-this_year = im_dmbtr.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;        IF im_monat &amp;lt;= p_monat.&lt;/P&gt;&lt;P&gt;          ADD im_dmbtr TO wa_output-cum_this_year.&lt;/P&gt;&lt;P&gt;          APPEND wa_output TO gt_output.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;        CLEAR wa_output.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;*/If document type has been already added&lt;/P&gt;&lt;P&gt;    ELSEIF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;      wa_output-blart = im_blart.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    Year before the user specified year&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      IF im_gjahr = lv_year.&lt;/P&gt;&lt;P&gt;        IF im_monat = p_monat.&lt;/P&gt;&lt;P&gt;          ADD im_dmbtr TO wa_output-last_year.&lt;/P&gt;&lt;P&gt;          MODIFY TABLE gt_output FROM wa_output.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;        IF im_monat &amp;lt;= p_monat.&lt;/P&gt;&lt;P&gt;          ADD im_dmbtr TO wa_output-cum_last_year.&lt;/P&gt;&lt;P&gt;          MODIFY TABLE gt_output FROM wa_output.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;        CLEAR wa_output.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    User specified year&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      ELSEIF im_gjahr = p_gjahr.&lt;/P&gt;&lt;P&gt;        IF im_monat = p_monat.&lt;/P&gt;&lt;P&gt;          ADD im_dmbtr TO wa_output-this_year.&lt;/P&gt;&lt;P&gt;          MODIFY TABLE gt_output FROM wa_output.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;        IF im_monat &amp;lt;= p_monat.&lt;/P&gt;&lt;P&gt;          ADD im_dmbtr TO wa_output-cum_this_year.&lt;/P&gt;&lt;P&gt;          MODIFY TABLE gt_output FROM wa_output.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;        CLEAR wa_output.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDMETHOD.                    "move_to_output_table&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;METHOD check_cutting_routine&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  METHOD check_cutting_routine.&lt;/P&gt;&lt;P&gt;    FIELD-SYMBOLS: &amp;lt;fs_payments2&amp;gt; LIKE LINE OF gt_payments2,&lt;/P&gt;&lt;P&gt;                   &amp;lt;fs_payments3&amp;gt; LIKE LINE OF gt_payments3,&lt;/P&gt;&lt;P&gt;                   &amp;lt;fs_bsis_dum&amp;gt;  LIKE LINE OF gt_bsis_dum,&lt;/P&gt;&lt;P&gt;                   &amp;lt;fs_payr&amp;gt;      LIKE LINE OF gt_payr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    READ TABLE gt_payments3 ASSIGNING &amp;lt;fs_payments3&amp;gt;&lt;/P&gt;&lt;P&gt;                            WITH TABLE KEY bukrs = im_bukrs&lt;/P&gt;&lt;P&gt;                                           gjahr = im_gjahr&lt;/P&gt;&lt;P&gt;                                           belnr = im_belnr.&lt;/P&gt;&lt;P&gt;    IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;      READ TABLE gt_bsis_dum ASSIGNING &amp;lt;fs_bsis_dum&amp;gt;&lt;/P&gt;&lt;P&gt;                             WITH TABLE KEY bukrs = &amp;lt;fs_payments3&amp;gt;-bukrs&lt;/P&gt;&lt;P&gt;                                            belnr = &amp;lt;fs_payments3&amp;gt;-augbl&lt;/P&gt;&lt;P&gt;                                            gjahr = &amp;lt;fs_payments3&amp;gt;-auggj.&lt;/P&gt;&lt;P&gt;      IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;        READ TABLE gt_payments2 ASSIGNING &amp;lt;fs_payments2&amp;gt;&lt;/P&gt;&lt;P&gt;                                WITH TABLE KEY bukrs = &amp;lt;fs_bsis_dum&amp;gt;-bukrs&lt;/P&gt;&lt;P&gt;                                               gjahr = &amp;lt;fs_bsis_dum&amp;gt;-auggj&lt;/P&gt;&lt;P&gt;                                               belnr = &amp;lt;fs_bsis_dum&amp;gt;-augbl.&lt;/P&gt;&lt;P&gt;        IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;          READ TABLE gt_payr ASSIGNING &amp;lt;fs_payr&amp;gt;&lt;/P&gt;&lt;P&gt;                             WITH TABLE KEY zbukr = &amp;lt;fs_payments2&amp;gt;-bukrs&lt;/P&gt;&lt;P&gt;                                            vblnr = &amp;lt;fs_payments2&amp;gt;-augbl&lt;/P&gt;&lt;P&gt;                                            lifnr = &amp;lt;fs_payments2&amp;gt;-lifnr.&lt;/P&gt;&lt;P&gt;          IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;            CALL METHOD move_to_output_table&lt;/P&gt;&lt;P&gt;              EXPORTING&lt;/P&gt;&lt;P&gt;                im_blart = im_blart&lt;/P&gt;&lt;P&gt;                im_gjahr = &amp;lt;fs_payr&amp;gt;-zaldt+0(4)&lt;/P&gt;&lt;P&gt;                im_monat = &amp;lt;fs_payr&amp;gt;-zaldt+4(2)&lt;/P&gt;&lt;P&gt;                im_dmbtr = &amp;lt;fs_payments3&amp;gt;-dmbtr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            MOVE 'X' TO ex_flag.&lt;/P&gt;&lt;P&gt;          ENDIF.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDMETHOD.                    "check_cutting_routine&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;METHOD display_data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  METHOD display_data.&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'&lt;/P&gt;&lt;P&gt;      EXPORTING&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      PERCENTAGE       = 0&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        text             = text-p03.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    DATA: lt_month_names          TYPE STANDARD TABLE OF t247,&lt;/P&gt;&lt;P&gt;          lv_month_name(30)       TYPE c,&lt;/P&gt;&lt;P&gt;          lv_month_name_short(03) TYPE c,&lt;/P&gt;&lt;P&gt;          lv_cumulative(50)       TYPE c.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    FIELD-SYMBOLS: &amp;lt;fs_output&amp;gt;      LIKE LINE OF gt_output,&lt;/P&gt;&lt;P&gt;                   &amp;lt;fs_month_names&amp;gt; LIKE LINE OF lt_month_names.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CALL METHOD me-&amp;gt;fill_text_table.&lt;/P&gt;&lt;P&gt;    SORT gt_text BY sort_order.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'MONTH_NAMES_GET'&lt;/P&gt;&lt;P&gt;      EXPORTING&lt;/P&gt;&lt;P&gt;        language                    = sy-langu&lt;/P&gt;&lt;UL&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;      RETURN_CODE                 =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      TABLES&lt;/P&gt;&lt;P&gt;        month_names                 = lt_month_names&lt;/P&gt;&lt;P&gt;      EXCEPTIONS&lt;/P&gt;&lt;P&gt;        month_names_not_found       = 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;    IF NOT lt_month_names[] IS INITIAL.&lt;/P&gt;&lt;P&gt;      READ TABLE lt_month_names ASSIGNING &amp;lt;fs_month_names&amp;gt; WITH KEY mnr = p_monat.&lt;/P&gt;&lt;P&gt;      IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;        lv_month_name_short = &amp;lt;fs_month_names&amp;gt;-ktx.&lt;/P&gt;&lt;P&gt;        lv_month_name       = &amp;lt;fs_month_names&amp;gt;-ltx.&lt;/P&gt;&lt;P&gt;        CONCATENATE text-006 '(' lv_month_name ')' INTO lv_month_name.&lt;/P&gt;&lt;P&gt;        READ TABLE lt_month_names ASSIGNING &amp;lt;fs_month_names&amp;gt; WITH KEY mnr = 1."#EC *&lt;/P&gt;&lt;P&gt;        IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;          CONCATENATE text-005 '(' &amp;lt;fs_month_names&amp;gt;-ktx '-' lv_month_name_short ')'&lt;/P&gt;&lt;P&gt;          INTO lv_cumulative.&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;    LOOP AT gt_text INTO wa_text.&lt;/P&gt;&lt;P&gt;      READ TABLE gt_output ASSIGNING &amp;lt;fs_output&amp;gt; WITH KEY blart = wa_text-blart.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;        IF &amp;lt;fs_output&amp;gt;-last_year &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;          &amp;lt;fs_output&amp;gt;-percent1 = ( &amp;lt;fs_output&amp;gt;-this_year -&lt;/P&gt;&lt;P&gt;                               &amp;lt;fs_output&amp;gt;-last_year ) /&lt;/P&gt;&lt;P&gt;                               &amp;lt;fs_output&amp;gt;-last_year.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        IF &amp;lt;fs_output&amp;gt;-cum_last_year &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;          &amp;lt;fs_output&amp;gt;-percent2 = ( &amp;lt;fs_output&amp;gt;-cum_this_year -&lt;/P&gt;&lt;P&gt;                                 &amp;lt;fs_output&amp;gt;-cum_last_year ) /&lt;/P&gt;&lt;P&gt;                                 &amp;lt;fs_output&amp;gt;-cum_last_year.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        &amp;lt;fs_output&amp;gt;-sort_order  = wa_text-sort_order.&lt;/P&gt;&lt;P&gt;        &amp;lt;fs_output&amp;gt;-description = wa_text-description.&lt;/P&gt;&lt;P&gt;        &amp;lt;fs_output&amp;gt;-header      = wa_text-header.&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;P&gt;        CLEAR wa_output.&lt;/P&gt;&lt;P&gt;        wa_output-sort_order  = wa_text-sort_order.&lt;/P&gt;&lt;P&gt;        wa_output-blart       = wa_text-blart.&lt;/P&gt;&lt;P&gt;        wa_output-description = wa_text-description.&lt;/P&gt;&lt;P&gt;        wa_output-header      = wa_text-header.&lt;/P&gt;&lt;P&gt;        APPEND wa_output TO gt_output.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      CLEAR: wa_text-description, wa_text-sort_order, wa_text-blart.&lt;/P&gt;&lt;P&gt;      MODIFY gt_text FROM wa_text.&lt;/P&gt;&lt;P&gt;      wa_header-header     = wa_text-header.&lt;/P&gt;&lt;P&gt;      wa_header-curr_month = lv_month_name.&lt;/P&gt;&lt;P&gt;      wa_header-cumulative = lv_cumulative.&lt;/P&gt;&lt;P&gt;      APPEND wa_header TO gt_header.&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;    DELETE ADJACENT DUPLICATES FROM gt_text   COMPARING header.&lt;/P&gt;&lt;P&gt;    DELETE ADJACENT DUPLICATES FROM gt_header COMPARING header.&lt;/P&gt;&lt;P&gt;    DELETE gt_output WHERE description IS INITIAL.&lt;/P&gt;&lt;P&gt;    SORT gt_output BY sort_order.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    DEFINE m_binding.&lt;/P&gt;&lt;P&gt;      ls_binding-master = &amp;amp;1.&lt;/P&gt;&lt;P&gt;      ls_binding-slave  = &amp;amp;2.&lt;/P&gt;&lt;P&gt;      append ls_binding to lt_binding.&lt;/P&gt;&lt;P&gt;    END-OF-DEFINITION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    m_binding 'HEADER' 'HEADER'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    TRY.&lt;/P&gt;&lt;P&gt;        cl_salv_hierseq_table=&amp;gt;factory(&lt;/P&gt;&lt;P&gt;          EXPORTING&lt;/P&gt;&lt;P&gt;            t_binding_level1_level2 = lt_binding&lt;/P&gt;&lt;P&gt;          IMPORTING&lt;/P&gt;&lt;P&gt;            r_hierseq               = o_lcl_hierseq&lt;/P&gt;&lt;P&gt;          CHANGING&lt;/P&gt;&lt;P&gt;            t_table_level1           = gt_header&lt;/P&gt;&lt;P&gt;            t_table_level2           = gt_output ).&lt;/P&gt;&lt;P&gt;      CATCH cx_salv_data_error cx_salv_not_found.       "#EC NO_HANDLER&lt;/P&gt;&lt;P&gt;    ENDTRY.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    lcl_functions = o_lcl_hierseq-&amp;gt;get_functions( ).&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Set all standard ALV functions&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    lcl_functions-&amp;gt;set_all( abap_true ).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    TRY.&lt;/P&gt;&lt;P&gt;        lcl_columns = o_lcl_hierseq-&amp;gt;get_columns( 1 ).&lt;/P&gt;&lt;P&gt;      CATCH cx_salv_not_found.                          "#EC NO_HANDLER&lt;/P&gt;&lt;P&gt;    ENDTRY.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Expand/collapse functionality&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    TRY.&lt;/P&gt;&lt;P&gt;        lcl_columns-&amp;gt;set_expand_column( 'EXPAND' ).&lt;/P&gt;&lt;P&gt;      CATCH cx_salv_data_error.                         "#EC NO_HANDLER&lt;/P&gt;&lt;P&gt;    ENDTRY.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Master header settings&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    TRY.&lt;/P&gt;&lt;P&gt;        lcl_level = o_lcl_hierseq-&amp;gt;get_level( 1 ).&lt;/P&gt;&lt;P&gt;      CATCH cx_salv_not_found.                          "#EC NO_HANDLER&lt;/P&gt;&lt;P&gt;    ENDTRY.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Slave header settings&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    TRY.&lt;/P&gt;&lt;P&gt;        lcl_columns = o_lcl_hierseq-&amp;gt;get_columns( 2 ).&lt;/P&gt;&lt;P&gt;      CATCH cx_salv_not_found.                          "#EC NO_HANDLER&lt;/P&gt;&lt;P&gt;    ENDTRY.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Optimize width of columns&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    lcl_columns-&amp;gt;set_optimize( abap_true ).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Expand items by default&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    lcl_level-&amp;gt;set_items_expanded( ).&lt;/P&gt;&lt;P&gt;    lcl_events = o_lcl_hierseq-&amp;gt;get_event( ).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Set display to striped pattern&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    lcl_display = o_lcl_hierseq-&amp;gt;get_display_settings( ).&lt;/P&gt;&lt;P&gt;    lcl_display-&amp;gt;set_striped_pattern( cl_salv_display_settings=&amp;gt;true ).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*/Sort columns&lt;/P&gt;&lt;P&gt;    TRY.&lt;/P&gt;&lt;P&gt;        lcl_sorts = o_lcl_hierseq-&amp;gt;get_sorts( 1 ).&lt;/P&gt;&lt;P&gt;      CATCH cx_salv_not_found.                          "#EC NO_HANDLER&lt;/P&gt;&lt;P&gt;    ENDTRY.&lt;/P&gt;&lt;P&gt;    lcl_sorts-&amp;gt;set_group_active( ).&lt;/P&gt;&lt;P&gt;    TRY.&lt;/P&gt;&lt;P&gt;        lcl_sorts-&amp;gt;add_sort(&lt;/P&gt;&lt;P&gt;          columnname = 'HEADER'&lt;/P&gt;&lt;P&gt;          subtotal   = abap_true ).&lt;/P&gt;&lt;P&gt;      CATCH cx_salv_not_found cx_salv_existing cx_salv_data_error."#EC NO_HANDLER&lt;/P&gt;&lt;P&gt;    ENDTRY.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*/Set aggregations&lt;/P&gt;&lt;P&gt;    TRY.&lt;/P&gt;&lt;P&gt;        lcl_aggregations = o_lcl_hierseq-&amp;gt;get_aggregations( 2 ).&lt;/P&gt;&lt;P&gt;      CATCH cx_salv_not_found.                          "#EC NO_HANDLER&lt;/P&gt;&lt;P&gt;    ENDTRY.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    TRY.&lt;/P&gt;&lt;P&gt;        lcl_aggregations-&amp;gt;add_aggregation( 'LAST_YEAR' ).&lt;/P&gt;&lt;P&gt;      CATCH cx_salv_not_found cx_salv_data_error cx_salv_existing."#EC NO_HANDLER&lt;/P&gt;&lt;P&gt;    ENDTRY.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    TRY.&lt;/P&gt;&lt;P&gt;        lcl_aggregations-&amp;gt;add_aggregation( 'THIS_YEAR' ).&lt;/P&gt;&lt;P&gt;      CATCH cx_salv_not_found cx_salv_data_error cx_salv_existing."#EC NO_HANDLER&lt;/P&gt;&lt;P&gt;    ENDTRY.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    TRY.&lt;/P&gt;&lt;P&gt;        lcl_aggregations-&amp;gt;add_aggregation( 'PERCENT1' ).&lt;/P&gt;&lt;P&gt;      CATCH cx_salv_not_found cx_salv_data_error cx_salv_existing."#EC NO_HANDLER&lt;/P&gt;&lt;P&gt;    ENDTRY.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    TRY.&lt;/P&gt;&lt;P&gt;        lcl_aggregations-&amp;gt;add_aggregation( 'CUM_LAST_YEAR' ).&lt;/P&gt;&lt;P&gt;      CATCH cx_salv_not_found cx_salv_data_error cx_salv_existing."#EC NO_HANDLER&lt;/P&gt;&lt;P&gt;    ENDTRY.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    TRY.&lt;/P&gt;&lt;P&gt;        lcl_aggregations-&amp;gt;add_aggregation( 'CUM_THIS_YEAR' ).&lt;/P&gt;&lt;P&gt;      CATCH cx_salv_not_found cx_salv_data_error cx_salv_existing."#EC NO_HANDLER&lt;/P&gt;&lt;P&gt;    ENDTRY.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    TRY.&lt;/P&gt;&lt;P&gt;        lcl_aggregations-&amp;gt;add_aggregation( 'PERCENT2' ).&lt;/P&gt;&lt;P&gt;      CATCH cx_salv_not_found cx_salv_data_error cx_salv_existing."#EC NO_HANDLER&lt;/P&gt;&lt;P&gt;    ENDTRY.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*/Hide columns&lt;/P&gt;&lt;P&gt;    TRY.&lt;/P&gt;&lt;P&gt;        lcl_column ?= lcl_columns-&amp;gt;get_column( 'HEADER' ).&lt;/P&gt;&lt;P&gt;        lcl_column-&amp;gt;set_visible( if_salv_c_bool_sap=&amp;gt;false ).&lt;/P&gt;&lt;P&gt;      CATCH cx_salv_not_found.                          "#EC NO_HANDLER&lt;/P&gt;&lt;P&gt;    ENDTRY.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    TRY.&lt;/P&gt;&lt;P&gt;        lcl_column ?= lcl_columns-&amp;gt;get_column( 'SORT_ORDER' ).&lt;/P&gt;&lt;P&gt;        lcl_column-&amp;gt;set_visible( if_salv_c_bool_sap=&amp;gt;false ).&lt;/P&gt;&lt;P&gt;      CATCH cx_salv_not_found.                          "#EC NO_HANDLER&lt;/P&gt;&lt;P&gt;    ENDTRY.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    TRY.&lt;/P&gt;&lt;P&gt;        lcl_column ?= lcl_columns-&amp;gt;get_column( 'BLART' ).&lt;/P&gt;&lt;P&gt;        lcl_column-&amp;gt;set_visible( if_salv_c_bool_sap=&amp;gt;false ).&lt;/P&gt;&lt;P&gt;      CATCH cx_salv_not_found.                          "#EC NO_HANDLER&lt;/P&gt;&lt;P&gt;    ENDTRY.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*/Set column names&lt;/P&gt;&lt;P&gt;    TRY.&lt;/P&gt;&lt;P&gt;        lcl_column ?= lcl_columns-&amp;gt;get_column( 'DESCRIPTION' ).&lt;/P&gt;&lt;P&gt;        lcl_column-&amp;gt;set_long_text( text-078 ).&lt;/P&gt;&lt;P&gt;      CATCH cx_salv_not_found.                          "#EC NO_HANDLER&lt;/P&gt;&lt;P&gt;    ENDTRY.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    TRY.&lt;/P&gt;&lt;P&gt;        lcl_column ?= lcl_columns-&amp;gt;get_column( 'LAST_YEAR' ).&lt;/P&gt;&lt;P&gt;        lcl_column-&amp;gt;set_long_text( text-007 ).&lt;/P&gt;&lt;P&gt;        lcl_column-&amp;gt;set_output_length( '15' ).&lt;/P&gt;&lt;P&gt;      CATCH cx_salv_not_found.                          "#EC NO_HANDLER&lt;/P&gt;&lt;P&gt;    ENDTRY.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    TRY.&lt;/P&gt;&lt;P&gt;        lcl_column ?= lcl_columns-&amp;gt;get_column( 'THIS_YEAR' ).&lt;/P&gt;&lt;P&gt;        lcl_column-&amp;gt;set_long_text( text-008 ).&lt;/P&gt;&lt;P&gt;        lcl_column-&amp;gt;set_output_length( '15' ).&lt;/P&gt;&lt;P&gt;      CATCH cx_salv_not_found.                          "#EC NO_HANDLER&lt;/P&gt;&lt;P&gt;    ENDTRY.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    TRY.&lt;/P&gt;&lt;P&gt;        lcl_column ?= lcl_columns-&amp;gt;get_column( 'PERCENT1' ).&lt;/P&gt;&lt;P&gt;        lcl_column-&amp;gt;set_medium_text( text-009 ).&lt;/P&gt;&lt;P&gt;        lcl_column-&amp;gt;set_long_text( text-009 ).&lt;/P&gt;&lt;P&gt;        lcl_column-&amp;gt;set_output_length( '12' ).&lt;/P&gt;&lt;P&gt;      CATCH cx_salv_not_found.                          "#EC NO_HANDLER&lt;/P&gt;&lt;P&gt;    ENDTRY.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    TRY.&lt;/P&gt;&lt;P&gt;        lcl_column ?= lcl_columns-&amp;gt;get_column( 'CUM_LAST_YEAR' ).&lt;/P&gt;&lt;P&gt;        lcl_column-&amp;gt;set_long_text( text-010 ).&lt;/P&gt;&lt;P&gt;        lcl_column-&amp;gt;set_output_length( '15' ).&lt;/P&gt;&lt;P&gt;      CATCH cx_salv_not_found.                          "#EC NO_HANDLER&lt;/P&gt;&lt;P&gt;    ENDTRY.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    TRY.&lt;/P&gt;&lt;P&gt;        lcl_column ?= lcl_columns-&amp;gt;get_column( 'CUM_THIS_YEAR' ).&lt;/P&gt;&lt;P&gt;        lcl_column-&amp;gt;set_long_text( text-011 ).&lt;/P&gt;&lt;P&gt;        lcl_column-&amp;gt;set_output_length( '15' ).&lt;/P&gt;&lt;P&gt;      CATCH cx_salv_not_found.                          "#EC NO_HANDLER&lt;/P&gt;&lt;P&gt;    ENDTRY.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    TRY.&lt;/P&gt;&lt;P&gt;        lcl_column ?= lcl_columns-&amp;gt;get_column( 'PERCENT2' ).&lt;/P&gt;&lt;P&gt;        lcl_column-&amp;gt;set_medium_text( text-012 ).&lt;/P&gt;&lt;P&gt;        lcl_column-&amp;gt;set_long_text( text-012 ).&lt;/P&gt;&lt;P&gt;        lcl_column-&amp;gt;set_output_length( '12' ).&lt;/P&gt;&lt;P&gt;      CATCH cx_salv_not_found.                          "#EC NO_HANDLER&lt;/P&gt;&lt;P&gt;    ENDTRY.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CREATE OBJECT o_lcl_events_hierseq.&lt;/P&gt;&lt;P&gt;    SET HANDLER o_lcl_events_hierseq-&amp;gt;on_top_of_page FOR lcl_events.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    o_lcl_hierseq-&amp;gt;display( ).&lt;/P&gt;&lt;P&gt;  ENDMETHOD.                    "display_data&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;METHOD fill_text_table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  METHOD fill_text_table.&lt;/P&gt;&lt;P&gt;    DEFINE fill_text_table.&lt;/P&gt;&lt;P&gt;      add 1 to wa_text-sort_order.&lt;/P&gt;&lt;P&gt;      wa_text-header      = &amp;amp;1.&lt;/P&gt;&lt;P&gt;      wa_text-description = &amp;amp;2.&lt;/P&gt;&lt;P&gt;      wa_text-blart       = &amp;amp;3.&lt;/P&gt;&lt;P&gt;      append wa_text to gt_text.&lt;/P&gt;&lt;P&gt;    END-OF-DEFINITION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Importation details&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    fill_text_table text-048 text-060 lc_kf.&lt;/P&gt;&lt;P&gt;    fill_text_table text-048 text-061 lc_ks.&lt;/P&gt;&lt;P&gt;    fill_text_table text-048 text-062 lc_ko.&lt;/P&gt;&lt;P&gt;    fill_text_table text-048 text-063 lc_km.&lt;/P&gt;&lt;P&gt;    fill_text_table text-048 text-013 lc_kb.&lt;/P&gt;&lt;P&gt;    fill_text_table text-048 text-064 lc_kc.&lt;/P&gt;&lt;P&gt;    fill_text_table text-048 text-014 lc_kd.&lt;/P&gt;&lt;P&gt;    fill_text_table text-048 text-015 lc_k3.&lt;/P&gt;&lt;P&gt;    fill_text_table text-048 text-016 lc_k4.&lt;/P&gt;&lt;P&gt;    fill_text_table text-048 text-017 lc_k6.&lt;/P&gt;&lt;P&gt;    fill_text_table text-048 text-018 lc_k5.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Finished goods details&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    fill_text_table text-049 text-021 lc_pq.&lt;/P&gt;&lt;P&gt;    fill_text_table text-049 text-020 lc_pf.&lt;/P&gt;&lt;P&gt;    fill_text_table text-049 text-019 lc_py.&lt;/P&gt;&lt;P&gt;    fill_text_table text-049 text-065 lc_pb.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Local production items&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    fill_text_table text-050 text-022 lc_pj.&lt;/P&gt;&lt;P&gt;    fill_text_table text-050 text-023 lc_pm.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Local non-production items&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    fill_text_table text-051 text-033 lc_p2.&lt;/P&gt;&lt;P&gt;    fill_text_table text-051 text-024 lc_pt.&lt;/P&gt;&lt;P&gt;    fill_text_table text-051 text-058 lc_x0.&lt;/P&gt;&lt;P&gt;    fill_text_table text-051 text-025 lc_ps.&lt;/P&gt;&lt;P&gt;    fill_text_table text-051 text-066 lc_promo.&lt;/P&gt;&lt;P&gt;    fill_text_table text-051 text-067 lc_repair.&lt;/P&gt;&lt;P&gt;    fill_text_table text-051 text-068 lc_shell.&lt;/P&gt;&lt;P&gt;    fill_text_table text-051 text-069 lc_supplies.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Payroll transactions&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    fill_text_table text-052 text-027 lc_kp.&lt;/P&gt;&lt;P&gt;    fill_text_table text-052 text-028 lc_pu.&lt;/P&gt;&lt;P&gt;    fill_text_table text-052 text-040 lc_y1.&lt;/P&gt;&lt;P&gt;    fill_text_table text-052 text-026 lc_pp.&lt;/P&gt;&lt;P&gt;    fill_text_table text-052 text-029 lc_pd.&lt;/P&gt;&lt;P&gt;    fill_text_table text-052 text-030 lc_pe.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Taxes&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    fill_text_table text-059 text-042 lc_z1.&lt;/P&gt;&lt;P&gt;    fill_text_table text-059 text-043 lc_z2.&lt;/P&gt;&lt;P&gt;    fill_text_table text-059 text-044 lc_z3.&lt;/P&gt;&lt;P&gt;    fill_text_table text-059 text-045 lc_z4.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Others&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    fill_text_table text-053 text-032 lc_pc.&lt;/P&gt;&lt;P&gt;    fill_text_table text-053 text-070 lc_p5.&lt;/P&gt;&lt;P&gt;    fill_text_table text-053 text-041 lc_y2.&lt;/P&gt;&lt;P&gt;    fill_text_table text-053 text-035 lc_pw.&lt;/P&gt;&lt;P&gt;    fill_text_table text-053 text-071 lc_ph.&lt;/P&gt;&lt;P&gt;    fill_text_table text-053 text-072 lc_p4.&lt;/P&gt;&lt;P&gt;    fill_text_table text-053 text-037 lc_x2.&lt;/P&gt;&lt;P&gt;    fill_text_table text-053 text-038 lc_x3.&lt;/P&gt;&lt;P&gt;    fill_text_table text-053 text-073 lc_p6.&lt;/P&gt;&lt;P&gt;    fill_text_table text-053 text-074 lc_p3.&lt;/P&gt;&lt;P&gt;    fill_text_table text-053 text-039 lc_pa.&lt;/P&gt;&lt;P&gt;    fill_text_table text-053 text-034 lc_po.&lt;/P&gt;&lt;P&gt;    fill_text_table text-053 text-036 lc_x1.&lt;/P&gt;&lt;P&gt;    fill_text_table text-053 text-046 lc_p8.&lt;/P&gt;&lt;P&gt;    fill_text_table text-053 text-047 lc_p9.&lt;/P&gt;&lt;P&gt;    fill_text_table text-053 text-075 lc_pn.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDMETHOD.                    "fill_text_table&lt;/P&gt;&lt;P&gt;ENDCLASS.                    "lcl_get_data IMPLEMENTATION&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;      CLASS lcl_handle_events_hierseq 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;*&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;CLASS lcl_handle_events_hierseq IMPLEMENTATION.&lt;/P&gt;&lt;P&gt;  METHOD on_top_of_page.&lt;/P&gt;&lt;P&gt;    DATA: lv_butxt       TYPE t001-butxt,&lt;/P&gt;&lt;P&gt;          lv_month_year  TYPE string,&lt;/P&gt;&lt;P&gt;          lt_month_names TYPE STANDARD TABLE OF t247.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    FIELD-SYMBOLS: &amp;lt;fs_month_names&amp;gt; LIKE LINE OF lt_month_names.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CREATE OBJECT lr_grid.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    SELECT SINGLE butxt&lt;/P&gt;&lt;P&gt;      FROM t001&lt;/P&gt;&lt;P&gt;      INTO lv_butxt&lt;/P&gt;&lt;P&gt;     WHERE bukrs = p_bukrs.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    MOVE lv_butxt TO l_text.&lt;/P&gt;&lt;P&gt;    lr_grid-&amp;gt;create_header_information( row     = 1&lt;/P&gt;&lt;P&gt;                                        column  = 50&lt;/P&gt;&lt;P&gt;                                        text    = l_text&lt;/P&gt;&lt;P&gt;                                        tooltip = l_text ).&lt;/P&gt;&lt;P&gt;    lr_grid-&amp;gt;add_row( ).&lt;/P&gt;&lt;P&gt;    lr_grid_1 = lr_grid-&amp;gt;create_grid( row    = 3&lt;/P&gt;&lt;P&gt;                                      column = 50 ).&lt;/P&gt;&lt;P&gt;    lr_label = lr_grid_1-&amp;gt;create_label( row     = 1&lt;/P&gt;&lt;P&gt;                                        column  = 1&lt;/P&gt;&lt;P&gt;                                        text    = text-003&lt;/P&gt;&lt;P&gt;                                        tooltip = text-003 ).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    lr_label = lr_grid_1-&amp;gt;create_label( row     = 2&lt;/P&gt;&lt;P&gt;                                        column  = 1&lt;/P&gt;&lt;P&gt;                                        text    = text-t01&lt;/P&gt;&lt;P&gt;                                        tooltip = text-t01 ).&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'MONTH_NAMES_GET'&lt;/P&gt;&lt;P&gt;      EXPORTING&lt;/P&gt;&lt;P&gt;        language                    = sy-langu&lt;/P&gt;&lt;UL&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;      RETURN_CODE                 =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      TABLES&lt;/P&gt;&lt;P&gt;        month_names                 = lt_month_names&lt;/P&gt;&lt;P&gt;     EXCEPTIONS&lt;/P&gt;&lt;P&gt;       month_names_not_found       = 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;    IF NOT lt_month_names[] IS INITIAL.&lt;/P&gt;&lt;P&gt;      READ TABLE lt_month_names ASSIGNING &amp;lt;fs_month_names&amp;gt; WITH KEY mnr = p_monat.&lt;/P&gt;&lt;P&gt;      IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;        CONCATENATE &amp;lt;fs_month_names&amp;gt;-ltx p_gjahr INTO lv_month_year SEPARATED BY space.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;    lr_text = lr_grid_1-&amp;gt;create_text( row     = 2&lt;/P&gt;&lt;P&gt;                                      column  = 2&lt;/P&gt;&lt;P&gt;                                      text    = lv_month_year&lt;/P&gt;&lt;P&gt;                                      tooltip = lv_month_year ).&lt;/P&gt;&lt;P&gt;    lr_content = lr_grid.&lt;/P&gt;&lt;P&gt;    r_top_of_page-&amp;gt;set_content( lr_content ).&lt;/P&gt;&lt;P&gt;  ENDMETHOD.                    "on_top_of_page&lt;/P&gt;&lt;P&gt;ENDCLASS.                    "lcl_handle_events_hierseq IMPLEMENTATION&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;  DATA: o_lcl_get_data TYPE REF TO lcl_get_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CREATE OBJECT o_lcl_get_data.&lt;/P&gt;&lt;P&gt;  CALL METHOD o_lcl_get_data-&amp;gt;get_payment_details.&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;END-OF-SELECTION                             *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;END-OF-SELECTION.&lt;/P&gt;&lt;P&gt;  CALL METHOD o_lcl_get_data-&amp;gt;display_data.&lt;/P&gt;&lt;P&gt;[/code]&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Fri, 23 Nov 2007 06:30:23 GMT</pubDate>
    <dc:creator>aris_hidalgo</dc:creator>
    <dc:date>2007-11-23T06:30:23Z</dc:date>
    <item>
      <title>ALV</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv/m-p/3099762#M735517</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hi sdn&lt;/P&gt;&lt;P&gt;im using hirarachy alv display &lt;/P&gt;&lt;P&gt;FORM alv_disp TABLES   p_t_header   LIKE  i_header&lt;/P&gt;&lt;P&gt;                       p_t_item     LIKE  i_item&lt;/P&gt;&lt;P&gt;                       p_t_fieldcat LIKE  t_fieldcat&lt;/P&gt;&lt;P&gt;              USING    p_x_print    TYPE  slis_print_alv.&lt;/P&gt;&lt;P&gt;  DATA : l_repid  TYPE sy-repid.&lt;/P&gt;&lt;P&gt;  l_repid = sy-repid.&lt;/P&gt;&lt;P&gt;  t_keyinfo-header01 = 'vbeln'.&lt;/P&gt;&lt;P&gt;  t_keyinfo-item01   = 'matnr'.&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'REUSE_ALV_HIERSEQ_LIST_DISPLAY'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      i_callback_program = l_repid&lt;/P&gt;&lt;P&gt;      it_fieldcat        = p_t_fieldcat[]&lt;/P&gt;&lt;P&gt;      i_default          = 'X'&lt;/P&gt;&lt;P&gt;      i_tabname_header   = 'i_header'&lt;/P&gt;&lt;P&gt;      i_tabname_item     = 'i_item'&lt;/P&gt;&lt;P&gt;      is_keyinfo         = t_keyinfo&lt;/P&gt;&lt;P&gt;      is_print           = p_x_print&lt;/P&gt;&lt;P&gt;    TABLES&lt;/P&gt;&lt;P&gt;      t_outtab_header    = p_t_header[]&lt;/P&gt;&lt;P&gt;      t_outtab_item      = p_t_item[].&lt;/P&gt;&lt;P&gt;  IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " alv_disp&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;in that not display the values&lt;/P&gt;&lt;P&gt;in p_t_header[]  p_t_item[] have also values is there&lt;/P&gt;&lt;P&gt;but not displayed values .&lt;/P&gt;&lt;P&gt;code is every thing fine&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 23 Nov 2007 06:24:23 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv/m-p/3099762#M735517</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-11-23T06:24:23Z</dc:date>
    </item>
    <item>
      <title>Re: ALV</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv/m-p/3099763#M735518</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;refer this link once &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.sapdev.co.uk/reporting/alv/alvtree.htm" target="test_blank"&gt;http://www.sapdev.co.uk/reporting/alv/alvtree.htm&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;lt;b&amp;gt;Reward if usefull&amp;lt;/b&amp;gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 23 Nov 2007 06:27:27 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv/m-p/3099763#M735518</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-11-23T06:27:27Z</dc:date>
    </item>
    <item>
      <title>Re: ALV</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv/m-p/3099764#M735519</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi&lt;/P&gt;&lt;P&gt;see the sample code for Hierarchial display and do accordingly&lt;/P&gt;&lt;P&gt;REPORT ZBHALV_GRID.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TABLES:LFA1,EKKO.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECT-OPTIONS:LIFNR FOR LFA1-LIFNR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA:BEGIN OF ITAB OCCURS 0,&lt;/P&gt;&lt;P&gt;LIFNR LIKE LFA1-LIFNR,&lt;/P&gt;&lt;P&gt;NAME1 LIKE LFA1-NAME1,&lt;/P&gt;&lt;P&gt;LAND1 LIKE LFA1-LAND1,&lt;/P&gt;&lt;P&gt;ORT01 LIKE LFA1-ORT01,&lt;/P&gt;&lt;P&gt;REGIO LIKE LFA1-REGIO,&lt;/P&gt;&lt;P&gt;SORTL LIKE LFA1-SORTL,&lt;/P&gt;&lt;P&gt;END OF ITAB.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*DATA:BEGIN OF JTAB OCCURS 0,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;LIFNR LIKE EKKO-LIFNR,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;EBELN LIKE EKKO-EBELN,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;BUKRS LIKE EKKO-BUKRS,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;BSTYP LIKE EKKO-BSTYP,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;BSART LIKE EKKO-BSART,&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*END OF JTAB.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA:JTAB LIKE EKKO OCCURS 0 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECT * FROM LFA1 INTO CORRESPONDING FIELDS OF TABLE ITAB WHERE LIFNR&lt;/P&gt;&lt;P&gt;IN LIFNR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECT * FROM EKKO INTO CORRESPONDING FIELDS OF TABLE JTAB WHERE LIFNR&lt;/P&gt;&lt;P&gt;IN LIFNR.&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;DATA:FCAT TYPE SLIS_T_FIELDCAT_ALV.&lt;/P&gt;&lt;P&gt;DATA:KINFO TYPE SLIS_KEYINFO_ALV.&lt;/P&gt;&lt;P&gt;DATA:LAYOUT TYPE SLIS_LAYOUT_ALV.&lt;/P&gt;&lt;P&gt;DATA:EVE TYPE SLIS_T_EVENT WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;DATA:HEAD TYPE SLIS_T_LISTHEADER WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;LAYOUT-ZEBRA = 'X'.&lt;/P&gt;&lt;P&gt;LAYOUT-COLWIDTH_OPTIMIZE = 'X'.&lt;/P&gt;&lt;P&gt;LAYOUT-WINDOW_TITLEBAR = 'VENDORS AND PURCHASE DOCCUMENTS &lt;/P&gt;&lt;P&gt;DETAILS'.&lt;/P&gt;&lt;P&gt;LAYOUT-numc_sum = 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;KINFO-HEADER01 = 'LIFNR'.&lt;/P&gt;&lt;P&gt;KINFO-ITEM01 = 'LIFNR'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'REUSE_ALV_EVENTS_GET'&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;I_LIST_TYPE = 0&lt;/P&gt;&lt;P&gt;IMPORTING&lt;/P&gt;&lt;P&gt;ET_EVENTS = EVE[]&lt;/P&gt;&lt;P&gt;EXCEPTIONS&lt;/P&gt;&lt;P&gt;LIST_TYPE_WRONG = 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;READ TABLE EVE WITH KEY NAME = 'TOP_OF_PAGE'.&lt;/P&gt;&lt;P&gt;EVE-FORM = 'TOPOFPAGE'.&lt;/P&gt;&lt;P&gt;MODIFY EVE TRANSPORTING FORM WHERE NAME = 'TOP_OF_PAGE'.&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 = SY-REPID&lt;/P&gt;&lt;P&gt;I_INTERNAL_TABNAME = 'ITAB'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;I_STRUCTURE_NAME =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;I_CLIENT_NEVER_DISPLAY = 'X'&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;I_INCLNAME = SY-REPID&lt;/P&gt;&lt;UL&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;CHANGING&lt;/P&gt;&lt;P&gt;CT_FIELDCAT = FCAT&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;EXCEPTIONS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;INCONSISTENT_INTERFACE = 1&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;PROGRAM_ERROR = 2&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;OTHERS = 3&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;.&lt;/P&gt;&lt;P&gt;IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'REUSE_ALV_HIERSEQ_LIST_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;/UL&gt;&lt;P&gt;I_CALLBACK_PROGRAM = SY-REPID&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;I_CALLBACK_PF_STATUS_SET = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;I_CALLBACK_USER_COMMAND = ' '&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;IS_LAYOUT = LAYOUT&lt;/P&gt;&lt;P&gt;IT_FIELDCAT = FCAT&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;LI level="1" type="ul"&gt;&lt;P&gt;IT_SORT =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;IT_FILTER =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;IS_SEL_HIDE =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;I_SCREEN_START_COLUMN = 5&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;I_SCREEN_START_LINE = 5&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;I_SCREEN_END_COLUMN = 120&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;I_SCREEN_END_LINE = 25&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;I_DEFAULT = 'X'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;I_SAVE = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;IS_VARIANT =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;IT_EVENTS = EVE[]&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;IT_EVENT_EXIT =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;I_TABNAME_HEADER = 'ITAB'&lt;/P&gt;&lt;P&gt;I_TABNAME_ITEM = 'JTAB'&lt;/P&gt;&lt;P&gt;I_STRUCTURE_NAME_HEADER = 'LFA1'&lt;/P&gt;&lt;P&gt;I_STRUCTURE_NAME_ITEM = 'EKKO'&lt;/P&gt;&lt;P&gt;IS_KEYINFO = KINFO&lt;/P&gt;&lt;UL&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_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;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_HEADER = ITAB[]&lt;/P&gt;&lt;P&gt;T_OUTTAB_ITEM = JTAB[]&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;EXCEPTIONS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;PROGRAM_ERROR = 1&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;OTHERS = 2&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;.&lt;/P&gt;&lt;P&gt;IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM TOPOFPAGE.&lt;/P&gt;&lt;P&gt;REFRESH HEAD.&lt;/P&gt;&lt;P&gt;HEAD-TYP = 'H'.&lt;/P&gt;&lt;P&gt;HEAD-INFO = 'VENDORS &amp;amp; PURCHASE DOCC. DETAILS'.&lt;/P&gt;&lt;P&gt;APPEND HEAD.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;IT_LIST_COMMENTARY = HEAD[]&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;I_LOGO = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;I_END_OF_LIST_GRID =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;Anji&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 23 Nov 2007 06:27:49 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv/m-p/3099764#M735519</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-11-23T06:27:49Z</dc:date>
    </item>
    <item>
      <title>Re: ALV</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv/m-p/3099765#M735520</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 check my code below. It also uses hierarchical ALV.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;P.S. Please award points if it helps...&lt;/P&gt;&lt;P&gt;[code]&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 ZFI_REP_DISBURSE_SUM&lt;/P&gt;&lt;P&gt;*&amp;amp;&lt;/P&gt;&lt;P&gt;*&amp;amp; PROGRAM TYPE  : Report&lt;/P&gt;&lt;P&gt;*&amp;amp; RICEF ID      : R-159&lt;/P&gt;&lt;P&gt;*&amp;amp; TITLE         : Disbursement Summary Report(New version)&lt;/P&gt;&lt;P&gt;*&amp;amp; SAP Module    : FI&lt;/P&gt;&lt;P&gt;*&amp;amp; CREATION DATE : 07/20/2007&lt;/P&gt;&lt;P&gt;*&amp;amp; AUTHOR        : Aris Hidalgo&lt;/P&gt;&lt;P&gt;*&amp;amp; DESIGNER      : Aris Hidalgo&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; DESCRIPTION   : Disbursement Summary Report&lt;/P&gt;&lt;P&gt;*&amp;amp;               : NOTE: Backed up the original version to&lt;/P&gt;&lt;P&gt;*&amp;amp;               : ZFI_REP_DISBURSE_SUM_BACKUP&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;STRONG&gt;$&lt;/STRONG&gt;*********************************************************************&lt;/P&gt;&lt;P&gt;*$     CHANGE HISTORY&lt;/P&gt;&lt;P&gt;*$----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;*$   DATE        | T-Num      | Description                   | Reference&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;              |            |                               |&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;$&lt;/STRONG&gt;*********************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT zfi_rep_disburse_sum&lt;/P&gt;&lt;P&gt;       NO STANDARD PAGE HEADING&lt;/P&gt;&lt;P&gt;       LINE-SIZE 142&lt;/P&gt;&lt;P&gt;       MESSAGE-ID zfi.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;SELECTION-SCREEN                             *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.&lt;/P&gt;&lt;P&gt;PARAMETERS: p_bukrs TYPE bsak-bukrs OBLIGATORY,&lt;/P&gt;&lt;P&gt;            p_gjahr TYPE bkpf-gjahr OBLIGATORY,&lt;/P&gt;&lt;P&gt;            p_monat TYPE bkpf-monat OBLIGATORY.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK b1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&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_data_def 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;*&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;CLASS lcl_data_def DEFINITION ABSTRACT.&lt;/P&gt;&lt;P&gt;  PUBLIC SECTION.&lt;/P&gt;&lt;P&gt;    TYPES: BEGIN OF t_payr,&lt;/P&gt;&lt;P&gt;            zbukr TYPE payr-zbukr,&lt;/P&gt;&lt;P&gt;            vblnr TYPE payr-vblnr,&lt;/P&gt;&lt;P&gt;            lifnr TYPE payr-lifnr,&lt;/P&gt;&lt;P&gt;            gjahr TYPE payr-gjahr,&lt;/P&gt;&lt;P&gt;            zaldt TYPE payr-zaldt,&lt;/P&gt;&lt;P&gt;            chect TYPE payr-chect,&lt;/P&gt;&lt;P&gt;            checf TYPE payr-checf,&lt;/P&gt;&lt;P&gt;            priti TYPE payr-priti,&lt;/P&gt;&lt;P&gt;            hbkid TYPE payr-hbkid,&lt;/P&gt;&lt;P&gt;            hktid TYPE payr-hktid,&lt;/P&gt;&lt;P&gt;            rzawe TYPE payr-hktid,&lt;/P&gt;&lt;P&gt;           END OF t_payr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    TYPES: BEGIN OF t_bsak,&lt;/P&gt;&lt;P&gt;            bukrs TYPE bsak-bukrs,&lt;/P&gt;&lt;P&gt;            gjahr TYPE bsak-gjahr,&lt;/P&gt;&lt;P&gt;            belnr TYPE bsak-belnr,&lt;/P&gt;&lt;P&gt;            monat TYPE bsak-monat,&lt;/P&gt;&lt;P&gt;            shkzg TYPE bsak-shkzg,&lt;/P&gt;&lt;P&gt;            blart TYPE bsak-blart,&lt;/P&gt;&lt;P&gt;            buzei TYPE bsak-buzei,&lt;/P&gt;&lt;P&gt;            lifnr TYPE bsak-lifnr,&lt;/P&gt;&lt;P&gt;            dmbtr TYPE bsak-dmbtr,&lt;/P&gt;&lt;P&gt;            bschl TYPE bsak-bschl,&lt;/P&gt;&lt;P&gt;            augbl TYPE bsak-augbl,&lt;/P&gt;&lt;P&gt;            auggj TYPE bsak-auggj,&lt;/P&gt;&lt;P&gt;           END OF t_bsak.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    TYPES: BEGIN OF t_bsis,&lt;/P&gt;&lt;P&gt;            bukrs TYPE bsis-bukrs,&lt;/P&gt;&lt;P&gt;            belnr TYPE bsis-belnr,&lt;/P&gt;&lt;P&gt;            gjahr TYPE bsis-gjahr,&lt;/P&gt;&lt;P&gt;            monat TYPE bsis-monat,&lt;/P&gt;&lt;P&gt;            hkont TYPE bsis-hkont,&lt;/P&gt;&lt;P&gt;            buzei TYPE bsis-buzei,&lt;/P&gt;&lt;P&gt;            blart TYPE bsis-blart,&lt;/P&gt;&lt;P&gt;            shkzg TYPE bsis-shkzg,&lt;/P&gt;&lt;P&gt;            dmbtr TYPE bsis-dmbtr,&lt;/P&gt;&lt;P&gt;            bschl TYPE bsis-bschl,&lt;/P&gt;&lt;P&gt;            augbl TYPE bsis-augbl,&lt;/P&gt;&lt;P&gt;            auggj TYPE bsis-auggj,&lt;/P&gt;&lt;P&gt;           END OF t_bsis.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    TYPES: BEGIN OF t_output,&lt;/P&gt;&lt;P&gt;            sort_order      TYPE i,&lt;/P&gt;&lt;P&gt;            header(35)      TYPE c,&lt;/P&gt;&lt;P&gt;            description(35) TYPE c,&lt;/P&gt;&lt;P&gt;            blart           TYPE bsak-blart,&lt;/P&gt;&lt;P&gt;            last_year       TYPE bsak-dmbtr,&lt;/P&gt;&lt;P&gt;            this_year       TYPE bsak-dmbtr,&lt;/P&gt;&lt;P&gt;            percent1        TYPE prozab,&lt;/P&gt;&lt;P&gt;            cum_last_year   TYPE bsak-dmbtr,&lt;/P&gt;&lt;P&gt;            cum_this_year   TYPE bsak-dmbtr,&lt;/P&gt;&lt;P&gt;            percent2        TYPE prozab,&lt;/P&gt;&lt;P&gt;           END OF t_output.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    TYPES: BEGIN OF t_text,&lt;/P&gt;&lt;P&gt;            sort_order      TYPE i,&lt;/P&gt;&lt;P&gt;            header(35)      TYPE c,&lt;/P&gt;&lt;P&gt;            description(35) TYPE c,&lt;/P&gt;&lt;P&gt;            blart           TYPE bsak-blart,&lt;/P&gt;&lt;P&gt;           END OF t_text.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    TYPES: BEGIN OF t_header,&lt;/P&gt;&lt;P&gt;            header(50)     TYPE c,&lt;/P&gt;&lt;P&gt;            curr_month(42) TYPE c,&lt;/P&gt;&lt;P&gt;            cumulative(30) TYPE c,&lt;/P&gt;&lt;P&gt;            expand(1)      TYPE c,&lt;/P&gt;&lt;P&gt;           END OF t_header.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    DATA: gt_payr      TYPE SORTED TABLE OF t_payr&lt;/P&gt;&lt;P&gt;                       WITH NON-UNIQUE KEY zbukr vblnr lifnr,&lt;/P&gt;&lt;P&gt;          gt_bsak      TYPE STANDARD TABLE OF t_bsak,&lt;/P&gt;&lt;P&gt;          gt_payments  TYPE STANDARD TABLE OF t_bsak,&lt;/P&gt;&lt;P&gt;          wa_payments  LIKE LINE OF gt_payments,&lt;/P&gt;&lt;P&gt;          gt_payments2 TYPE SORTED TABLE OF t_bsak&lt;/P&gt;&lt;P&gt;                       WITH NON-UNIQUE KEY bukrs gjahr belnr,&lt;/P&gt;&lt;P&gt;          gt_payments3 TYPE SORTED TABLE OF t_bsak&lt;/P&gt;&lt;P&gt;                       WITH NON-UNIQUE KEY bukrs gjahr belnr,&lt;/P&gt;&lt;P&gt;          gt_bsis      TYPE STANDARD TABLE OF t_bsis,&lt;/P&gt;&lt;P&gt;          gt_bsis_dum  TYPE SORTED TABLE OF t_bsis&lt;/P&gt;&lt;P&gt;                       WITH NON-UNIQUE KEY bukrs belnr gjahr,&lt;/P&gt;&lt;P&gt;          wa_bsis      LIKE LINE OF gt_bsis,&lt;/P&gt;&lt;P&gt;          gt_bsas      TYPE STANDARD TABLE OF t_bsis,&lt;/P&gt;&lt;P&gt;          gt_output    TYPE STANDARD TABLE OF t_output,&lt;/P&gt;&lt;P&gt;          wa_output    LIKE LINE OF gt_output,&lt;/P&gt;&lt;P&gt;          gt_text      TYPE STANDARD TABLE OF t_text,&lt;/P&gt;&lt;P&gt;          wa_text      LIKE LINE OF gt_text,&lt;/P&gt;&lt;P&gt;          gt_header    TYPE STANDARD TABLE OF t_header,&lt;/P&gt;&lt;P&gt;          wa_header    LIKE LINE OF gt_header,&lt;/P&gt;&lt;P&gt;          lr_blart     TYPE RANGE OF bsak-blart,&lt;/P&gt;&lt;P&gt;          wa_blart     LIKE LINE OF lr_blart.&lt;/P&gt;&lt;P&gt;ENDCLASS.                    "lcl_data_def DEFINITION&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CLASS lcl_handle_events_hierseq DEFINITION DEFERRED.&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_get_data 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;*&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;CLASS lcl_get_data DEFINITION INHERITING FROM lcl_data_def.&lt;/P&gt;&lt;P&gt;  PUBLIC SECTION.&lt;/P&gt;&lt;P&gt;    METHODS: get_payment_details,&lt;/P&gt;&lt;P&gt;             get_additional_data,&lt;/P&gt;&lt;P&gt;             process_data,&lt;/P&gt;&lt;P&gt;             move_to_output_table&lt;/P&gt;&lt;P&gt;               IMPORTING&lt;/P&gt;&lt;P&gt;                 im_blart TYPE bsak-blart&lt;/P&gt;&lt;P&gt;                 im_gjahr TYPE bsak-gjahr&lt;/P&gt;&lt;P&gt;                 im_monat TYPE bsak-monat&lt;/P&gt;&lt;P&gt;                 im_dmbtr TYPE bsak-dmbtr,&lt;/P&gt;&lt;P&gt;             check_cutting_routine&lt;/P&gt;&lt;P&gt;               IMPORTING&lt;/P&gt;&lt;P&gt;                 im_bukrs TYPE bsak-bukrs&lt;/P&gt;&lt;P&gt;                 im_belnr TYPE bsak-belnr&lt;/P&gt;&lt;P&gt;                 im_gjahr TYPE bsak-gjahr&lt;/P&gt;&lt;P&gt;                 im_blart TYPE bsak-blart&lt;/P&gt;&lt;P&gt;               EXPORTING&lt;/P&gt;&lt;P&gt;                 ex_flag  TYPE flag,&lt;/P&gt;&lt;P&gt;             display_data,&lt;/P&gt;&lt;P&gt;             fill_text_table.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PRIVATE SECTION.&lt;/P&gt;&lt;P&gt;    DATA: lv_year  TYPE payr-gjahr,&lt;/P&gt;&lt;P&gt;          lv_flag  TYPE flag,&lt;/P&gt;&lt;P&gt;          lr_augdt TYPE RANGE OF bsak-augdt,&lt;/P&gt;&lt;P&gt;          lr_lifnr TYPE RANGE OF bsak-lifnr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CONSTANTS: lc_kb TYPE bsak-blart VALUE 'KB',&lt;/P&gt;&lt;P&gt;               lc_kd TYPE bsak-blart VALUE 'KD',&lt;/P&gt;&lt;P&gt;               lc_k3 TYPE bsak-blart VALUE 'K3',&lt;/P&gt;&lt;P&gt;               lc_k4 TYPE bsak-blart VALUE 'K4',&lt;/P&gt;&lt;P&gt;               lc_k5 TYPE bsak-blart VALUE 'K5',&lt;/P&gt;&lt;P&gt;               lc_k6 TYPE bsak-blart VALUE 'K6',&lt;/P&gt;&lt;P&gt;               lc_py TYPE bsak-blart VALUE 'PY',&lt;/P&gt;&lt;P&gt;               lc_pf TYPE bsak-blart VALUE 'PF',&lt;/P&gt;&lt;P&gt;               lc_pq TYPE bsak-blart VALUE 'PQ',&lt;/P&gt;&lt;P&gt;               lc_pj TYPE bsak-blart VALUE 'PJ',&lt;/P&gt;&lt;P&gt;               lc_pm TYPE bsak-blart VALUE 'PM',&lt;/P&gt;&lt;P&gt;               lc_pt TYPE bsak-blart VALUE 'PT',&lt;/P&gt;&lt;P&gt;               lc_p0 TYPE bsak-blart VALUE 'P0',&lt;/P&gt;&lt;P&gt;               lc_re TYPE bsak-blart VALUE 'RE',&lt;/P&gt;&lt;P&gt;               lc_ps TYPE bsak-blart VALUE 'PS',&lt;/P&gt;&lt;P&gt;               lc_pp TYPE bsak-blart VALUE 'PP',&lt;/P&gt;&lt;P&gt;               lc_kp TYPE bsak-blart VALUE 'KP',&lt;/P&gt;&lt;P&gt;               lc_pu TYPE bsak-blart VALUE 'PU',&lt;/P&gt;&lt;P&gt;               lc_pd TYPE bsak-blart VALUE 'PD',&lt;/P&gt;&lt;P&gt;               lc_pe TYPE bsak-blart VALUE 'PE',&lt;/P&gt;&lt;P&gt;               lc_su TYPE bsak-blart VALUE 'SU',&lt;/P&gt;&lt;P&gt;               lc_pc TYPE bsak-blart VALUE 'PC',&lt;/P&gt;&lt;P&gt;               lc_p2 TYPE bsak-blart VALUE 'P2',&lt;/P&gt;&lt;P&gt;               lc_po TYPE bsak-blart VALUE 'PO',&lt;/P&gt;&lt;P&gt;               lc_pw TYPE bsak-blart VALUE 'PW',&lt;/P&gt;&lt;P&gt;               lc_pv TYPE bsak-blart VALUE 'PV',&lt;/P&gt;&lt;P&gt;               lc_p7 TYPE bsak-blart VALUE 'P7',&lt;/P&gt;&lt;P&gt;               lc_pa TYPE bsak-blart VALUE 'PA',&lt;/P&gt;&lt;P&gt;               lc_px TYPE bsis-blart VALUE 'PX',&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;               lc_x0 TYPE bsis-blart VALUE 'X0',  "Capital Expenditures(CAPEX)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;               lc_x1 TYPE bsis-blart VALUE 'X1',  "Request of payment - Vendor&lt;/P&gt;&lt;P&gt;               lc_x2 TYPE bsis-blart VALUE 'X2',  "Logistics Fee - Diethelm&lt;/P&gt;&lt;P&gt;               lc_x3 TYPE bsis-blart VALUE 'X3',  "Logistics Fee - First Pioneer&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;               lc_y1 TYPE bsis-blart VALUE 'Y1',  "Profit Share&lt;/P&gt;&lt;P&gt;               lc_y2 TYPE bsis-blart VALUE 'Y2',  "Dividend Payments&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;               lc_z1 TYPE bsis-blart VALUE 'Z1',&lt;/P&gt;&lt;P&gt;               lc_z2 TYPE bsis-blart VALUE 'Z2',&lt;/P&gt;&lt;P&gt;               lc_z3 TYPE bsis-blart VALUE 'Z3',&lt;/P&gt;&lt;P&gt;               lc_z4 TYPE bsis-blart VALUE 'Z4',&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;               lc_p8        TYPE bsis-blart VALUE 'P8',&lt;/P&gt;&lt;P&gt;               lc_p9        TYPE bsis-blart VALUE 'P9',&lt;/P&gt;&lt;P&gt;               lc_kf        TYPE bsis-blart VALUE 'KF',&lt;/P&gt;&lt;P&gt;               lc_ks        TYPE bsis-blart VALUE 'KS',&lt;/P&gt;&lt;P&gt;               lc_ko        TYPE bsis-blart VALUE 'KO',&lt;/P&gt;&lt;P&gt;               lc_km        TYPE bsis-blart VALUE 'KM',&lt;/P&gt;&lt;P&gt;               lc_kc        TYPE bsis-blart VALUE 'KC',&lt;/P&gt;&lt;P&gt;               lc_pb        TYPE bsis-blart VALUE 'PB',&lt;/P&gt;&lt;P&gt;               lc_promo     TYPE bsis-blart VALUE 'P!',&lt;/P&gt;&lt;P&gt;               lc_repair    TYPE bsis-blart VALUE 'P@',&lt;/P&gt;&lt;P&gt;               lc_shell     TYPE bsis-blart VALUE 'P$',&lt;/P&gt;&lt;P&gt;               lc_supplies  TYPE bsis-blart VALUE 'P^',&lt;/P&gt;&lt;P&gt;               lc_p5        TYPE bsis-blart VALUE 'P5',&lt;/P&gt;&lt;P&gt;               lc_ph        TYPE bsis-blart VALUE 'PH',&lt;/P&gt;&lt;P&gt;               lc_p4        TYPE bsis-blart VALUE 'P4',&lt;/P&gt;&lt;P&gt;               lc_p6        TYPE bsis-blart VALUE 'P6',&lt;/P&gt;&lt;P&gt;               lc_p3        TYPE bsis-blart VALUE 'P3',&lt;/P&gt;&lt;P&gt;               lc_pn        TYPE bsis-blart VALUE 'PN',&lt;/P&gt;&lt;P&gt;               lc_capex_new TYPE bsis-blart VALUE 'P+'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CONSTANTS: lc_0020000800 TYPE bsis-hkont VALUE '0020000800',&lt;/P&gt;&lt;P&gt;               lc_0060000653 TYPE bsis-hkont VALUE '0060000653',&lt;/P&gt;&lt;P&gt;               lc_0020000660 TYPE bsis-hkont VALUE '0020000660',&lt;/P&gt;&lt;P&gt;               lc_0020000770 TYPE bsis-hkont VALUE '0020000770',&lt;/P&gt;&lt;P&gt;               lc_0020000650 TYPE bsis-hkont VALUE '0020000650',&lt;/P&gt;&lt;P&gt;               lc_0020000651 TYPE bsis-hkont VALUE '0020000651',&lt;/P&gt;&lt;P&gt;               lc_0020000200 TYPE bsis-hkont VALUE '0020000200',&lt;/P&gt;&lt;P&gt;               lc_0020000320 TYPE bsis-hkont VALUE '0020000320',&lt;/P&gt;&lt;P&gt;               lc_0060001100 TYPE bsis-hkont VALUE '0060001100',&lt;/P&gt;&lt;P&gt;               lc_0060001114 TYPE bsis-hkont VALUE '0060001114',&lt;/P&gt;&lt;P&gt;               lc_0070000001 TYPE bsis-hkont VALUE '0070000001',&lt;/P&gt;&lt;P&gt;               lc_0070000024 TYPE bsis-hkont VALUE '0070000024'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CONSTANTS: lc_8000000525 TYPE lfa1-lifnr VALUE '8000000525',&lt;/P&gt;&lt;P&gt;               lc_8000001015 TYPE lfa1-lifnr VALUE '8000001015',&lt;/P&gt;&lt;P&gt;               lc_debit      TYPE bsak-shkzg VALUE 'S',&lt;/P&gt;&lt;P&gt;               lc_31         TYPE bsak-bschl VALUE '31'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    DATA: o_lcl_hierseq        TYPE REF TO cl_salv_hierseq_table,&lt;/P&gt;&lt;P&gt;          o_lcl_events_hierseq TYPE REF TO lcl_handle_events_hierseq.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    DATA:lt_binding       TYPE salv_t_hierseq_binding,&lt;/P&gt;&lt;P&gt;         ls_binding       TYPE salv_s_hierseq_binding,&lt;/P&gt;&lt;P&gt;         lcl_functions    TYPE REF TO cl_salv_functions_list,&lt;/P&gt;&lt;P&gt;         lcl_columns      TYPE REF TO cl_salv_columns_hierseq,&lt;/P&gt;&lt;P&gt;         lcl_column       TYPE REF TO cl_salv_column_hierseq,&lt;/P&gt;&lt;P&gt;         lcl_level        TYPE REF TO cl_salv_hierseq_level,&lt;/P&gt;&lt;P&gt;         lcl_events       TYPE REF TO cl_salv_events_hierseq,&lt;/P&gt;&lt;P&gt;         lcl_aggregations TYPE REF TO cl_salv_aggregations,&lt;/P&gt;&lt;P&gt;         lcl_sorts        TYPE REF TO cl_salv_sorts,&lt;/P&gt;&lt;P&gt;         lcl_display      TYPE REF TO cl_salv_display_settings.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDCLASS.                    "lcl_get_data DEFINITION&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;      CLASS lcl_handle_events_hierseq 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;*&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;CLASS lcl_handle_events_hierseq DEFINITION INHERITING FROM lcl_get_data.&lt;/P&gt;&lt;P&gt;  PUBLIC SECTION.&lt;/P&gt;&lt;P&gt;    METHODS: on_top_of_page FOR EVENT top_of_page OF cl_salv_events_hierseq&lt;/P&gt;&lt;P&gt;               IMPORTING&lt;/P&gt;&lt;P&gt;                 r_top_of_page page table_index.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PRIVATE SECTION.&lt;/P&gt;&lt;P&gt;    DATA: lr_content TYPE REF TO cl_salv_form_element,&lt;/P&gt;&lt;P&gt;          lr_grid    TYPE REF TO cl_salv_form_layout_grid,&lt;/P&gt;&lt;P&gt;          lr_grid_1  TYPE REF TO cl_salv_form_layout_grid,&lt;/P&gt;&lt;P&gt;          lr_label   TYPE REF TO cl_salv_form_label,        "#EC NEEDED&lt;/P&gt;&lt;P&gt;          lr_text    TYPE REF TO cl_salv_form_text,         "#EC NEEDED&lt;/P&gt;&lt;P&gt;          l_text     TYPE string.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDCLASS.                    "lcl_handle_events_hierseq DEFINITION&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;      CLASS lcl_get_data 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;*&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;CLASS lcl_get_data IMPLEMENTATION.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;METHOD get_payment_details&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  METHOD get_payment_details.&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'&lt;/P&gt;&lt;P&gt;      EXPORTING&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      PERCENTAGE       = 0&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        text             = text-p01.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Get previous year&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    lv_year = p_gjahr - 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Get records from PAYR&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    SELECT zbukr vblnr lifnr gjahr&lt;/P&gt;&lt;P&gt;           zaldt chect checf priti&lt;/P&gt;&lt;P&gt;           hbkid hktid rzawe&lt;/P&gt;&lt;P&gt;      FROM payr&lt;/P&gt;&lt;P&gt;      INTO TABLE gt_payr&lt;/P&gt;&lt;P&gt;     WHERE zbukr = p_bukrs&lt;/P&gt;&lt;P&gt;       AND gjahr IN (lv_year, p_gjahr).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF NOT gt_payr[] IS INITIAL.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    Get records from BSAK&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      SELECT bukrs gjahr belnr&lt;/P&gt;&lt;P&gt;             monat shkzg blart&lt;/P&gt;&lt;P&gt;             buzei lifnr dmbtr&lt;/P&gt;&lt;P&gt;             bschl augbl auggj&lt;/P&gt;&lt;P&gt;        FROM bsak&lt;/P&gt;&lt;P&gt;        INTO TABLE gt_bsak&lt;/P&gt;&lt;P&gt;         FOR ALL ENTRIES IN gt_payr&lt;/P&gt;&lt;P&gt;       WHERE lifnr = gt_payr-lifnr&lt;/P&gt;&lt;P&gt;         AND bukrs = gt_payr-zbukr&lt;/P&gt;&lt;P&gt;         AND augdt IN lr_augdt&lt;/P&gt;&lt;P&gt;         AND augbl = gt_payr-vblnr.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF NOT gt_bsak[] IS INITIAL.&lt;/P&gt;&lt;P&gt;      gt_payments2[] = gt_bsak[].&lt;/P&gt;&lt;P&gt;      DELETE gt_payments2 WHERE blart = 'KZ'&lt;/P&gt;&lt;P&gt;                             OR blart = 'ZP'.&lt;/P&gt;&lt;P&gt;      gt_payments[]  = gt_bsak[].&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF NOT gt_payments[] IS INITIAL.&lt;/P&gt;&lt;P&gt;      CALL METHOD me-&amp;gt;get_additional_data.&lt;/P&gt;&lt;P&gt;      CALL METHOD me-&amp;gt;process_data.&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;      MESSAGE i000 WITH text-057.&lt;/P&gt;&lt;P&gt;      LEAVE LIST-PROCESSING.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDMETHOD.                    "get_payment_details&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;METHOD get_additional_data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  METHOD get_additional_data.&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'&lt;/P&gt;&lt;P&gt;      EXPORTING&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      PERCENTAGE       = 0&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        text             = text-p01.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF NOT gt_payments2[] IS INITIAL.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    Get records from BSAS(Cleared items)&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      SELECT bukrs belnr gjahr monat&lt;/P&gt;&lt;P&gt;             hkont buzei blart shkzg&lt;/P&gt;&lt;P&gt;             dmbtr bschl augbl auggj&lt;/P&gt;&lt;P&gt;        FROM bsas&lt;/P&gt;&lt;P&gt;        INTO TABLE gt_bsis&lt;/P&gt;&lt;P&gt;         FOR ALL ENTRIES IN gt_payments2&lt;/P&gt;&lt;P&gt;       WHERE bukrs = gt_payments2-bukrs&lt;/P&gt;&lt;P&gt;         AND augbl = gt_payments2-belnr&lt;/P&gt;&lt;P&gt;         AND auggj = gt_payments2-gjahr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      DELETE gt_bsis WHERE blart &amp;lt;&amp;gt; 'KZ'&lt;/P&gt;&lt;P&gt;                       AND blart &amp;lt;&amp;gt; 'ZP'.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF NOT gt_bsis[] IS INITIAL.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    Get records from BSAK&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      SELECT bukrs gjahr belnr&lt;/P&gt;&lt;P&gt;             monat shkzg blart&lt;/P&gt;&lt;P&gt;             buzei lifnr dmbtr&lt;/P&gt;&lt;P&gt;             bschl augbl auggj&lt;/P&gt;&lt;P&gt;        FROM bsak&lt;/P&gt;&lt;P&gt;        INTO TABLE gt_payments3&lt;/P&gt;&lt;P&gt;         FOR ALL ENTRIES IN gt_bsis&lt;/P&gt;&lt;P&gt;       WHERE bukrs = gt_bsis-bukrs&lt;/P&gt;&lt;P&gt;         AND augbl = gt_bsis-belnr&lt;/P&gt;&lt;P&gt;         AND auggj = gt_bsis-gjahr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      APPEND LINES OF gt_payments3 TO gt_payments.&lt;/P&gt;&lt;P&gt;      DELETE gt_payments WHERE bschl &amp;lt;&amp;gt; lc_31.&lt;/P&gt;&lt;P&gt;      DELETE gt_payments WHERE shkzg = lc_debit.&lt;/P&gt;&lt;P&gt;      DELETE gt_payments WHERE blart = 'KR'&lt;/P&gt;&lt;P&gt;                            OR blart = 'KZ'&lt;/P&gt;&lt;P&gt;                            OR blart = 'ZP'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF NOT gt_payments[] IS INITIAL.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      Get records from BSIS(Open items)&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        SELECT bukrs belnr gjahr monat&lt;/P&gt;&lt;P&gt;               hkont buzei blart shkzg&lt;/P&gt;&lt;P&gt;               dmbtr bschl augbl auggj&lt;/P&gt;&lt;P&gt;          FROM bsis&lt;/P&gt;&lt;P&gt;          APPENDING TABLE gt_bsis&lt;/P&gt;&lt;P&gt;           FOR ALL ENTRIES IN gt_payments&lt;/P&gt;&lt;P&gt;         WHERE bukrs = gt_payments-bukrs&lt;/P&gt;&lt;P&gt;           AND belnr = gt_payments-belnr&lt;/P&gt;&lt;P&gt;           AND gjahr = gt_payments-gjahr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      Get records from BSAS(Cleared items)&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        SELECT bukrs belnr gjahr monat&lt;/P&gt;&lt;P&gt;               hkont buzei blart shkzg&lt;/P&gt;&lt;P&gt;               dmbtr bschl augbl auggj&lt;/P&gt;&lt;P&gt;          FROM bsas&lt;/P&gt;&lt;P&gt;          APPENDING TABLE gt_bsis&lt;/P&gt;&lt;P&gt;           FOR ALL ENTRIES IN gt_payments&lt;/P&gt;&lt;P&gt;         WHERE bukrs = gt_payments-bukrs&lt;/P&gt;&lt;P&gt;           AND belnr = gt_payments-belnr&lt;/P&gt;&lt;P&gt;           AND gjahr = gt_payments-gjahr.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDMETHOD.                    "get_additional_data&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;METHOD process_data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  METHOD process_data.&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'&lt;/P&gt;&lt;P&gt;      EXPORTING&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      PERCENTAGE       = 0&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        text             = text-p02.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    FIELD-SYMBOLS: &amp;lt;fs_payments&amp;gt;  LIKE LINE OF gt_payments,&lt;/P&gt;&lt;P&gt;                   &amp;lt;fs_payments3&amp;gt; LIKE LINE OF gt_payments3,&lt;/P&gt;&lt;P&gt;                   &amp;lt;fs_bsis&amp;gt;      LIKE LINE OF gt_bsis,&lt;/P&gt;&lt;P&gt;                   &amp;lt;fs_payr&amp;gt;      LIKE LINE OF gt_payr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    SORT gt_payments  ASCENDING BY: bukrs blart gjahr monat.&lt;/P&gt;&lt;P&gt;    SORT gt_bsis      ASCENDING BY: bukrs belnr gjahr monat hkont.&lt;/P&gt;&lt;P&gt;    gt_bsis_dum[] = gt_bsis[].&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    LOOP AT gt_payments ASSIGNING &amp;lt;fs_payments&amp;gt;.&lt;/P&gt;&lt;P&gt;      CLEAR lv_flag.&lt;/P&gt;&lt;P&gt;      IF &amp;lt;fs_payments&amp;gt;-blart = lc_pv OR&lt;/P&gt;&lt;P&gt;         &amp;lt;fs_payments&amp;gt;-blart = lc_p7.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      Request of payment - Vendor&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        IF &amp;lt;fs_payments&amp;gt;-lifnr &amp;lt;&amp;gt; lc_8000000525 AND&lt;/P&gt;&lt;P&gt;           &amp;lt;fs_payments&amp;gt;-lifnr &amp;lt;&amp;gt; lc_8000001015.&lt;/P&gt;&lt;P&gt;          READ TABLE gt_payr ASSIGNING &amp;lt;fs_payr&amp;gt; WITH TABLE KEY zbukr = &amp;lt;fs_payments&amp;gt;-bukrs&lt;/P&gt;&lt;P&gt;                                                                vblnr = &amp;lt;fs_payments&amp;gt;-augbl&lt;/P&gt;&lt;P&gt;                                                                lifnr = &amp;lt;fs_payments&amp;gt;-lifnr.&lt;/P&gt;&lt;P&gt;          IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;            CALL METHOD move_to_output_table&lt;/P&gt;&lt;P&gt;              EXPORTING&lt;/P&gt;&lt;P&gt;                im_blart = lc_x1&lt;/P&gt;&lt;P&gt;                im_gjahr = &amp;lt;fs_payr&amp;gt;-zaldt+0(4)&lt;/P&gt;&lt;P&gt;                im_monat = &amp;lt;fs_payr&amp;gt;-zaldt+4(2)&lt;/P&gt;&lt;P&gt;                im_dmbtr = &amp;lt;fs_payments&amp;gt;-dmbtr.&lt;/P&gt;&lt;P&gt;            CONTINUE.&lt;/P&gt;&lt;P&gt;          ELSE.&lt;/P&gt;&lt;P&gt;            CALL METHOD me-&amp;gt;check_cutting_routine&lt;/P&gt;&lt;P&gt;              EXPORTING&lt;/P&gt;&lt;P&gt;                im_bukrs = &amp;lt;fs_payments&amp;gt;-bukrs&lt;/P&gt;&lt;P&gt;                im_belnr = &amp;lt;fs_payments&amp;gt;-belnr&lt;/P&gt;&lt;P&gt;                im_gjahr = &amp;lt;fs_payments&amp;gt;-gjahr&lt;/P&gt;&lt;P&gt;                im_blart = lc_x1&lt;/P&gt;&lt;P&gt;              IMPORTING&lt;/P&gt;&lt;P&gt;                ex_flag  = lv_flag.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            IF lv_flag = 'X'.&lt;/P&gt;&lt;P&gt;              CONTINUE.&lt;/P&gt;&lt;P&gt;            ENDIF.&lt;/P&gt;&lt;P&gt;          ENDIF.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      Diethelm&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        ELSEIF &amp;lt;fs_payments&amp;gt;-lifnr = lc_8000000525.&lt;/P&gt;&lt;P&gt;          READ TABLE gt_payr ASSIGNING &amp;lt;fs_payr&amp;gt; WITH TABLE KEY zbukr = &amp;lt;fs_payments&amp;gt;-bukrs&lt;/P&gt;&lt;P&gt;                                                                vblnr = &amp;lt;fs_payments&amp;gt;-augbl&lt;/P&gt;&lt;P&gt;                                                                lifnr = &amp;lt;fs_payments&amp;gt;-lifnr.&lt;/P&gt;&lt;P&gt;          IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;            CALL METHOD move_to_output_table&lt;/P&gt;&lt;P&gt;              EXPORTING&lt;/P&gt;&lt;P&gt;                im_blart = lc_x2&lt;/P&gt;&lt;P&gt;                im_gjahr = &amp;lt;fs_payr&amp;gt;-zaldt+0(4)&lt;/P&gt;&lt;P&gt;                im_monat = &amp;lt;fs_payr&amp;gt;-zaldt+4(2)&lt;/P&gt;&lt;P&gt;                im_dmbtr = &amp;lt;fs_payments&amp;gt;-dmbtr.&lt;/P&gt;&lt;P&gt;            CONTINUE.&lt;/P&gt;&lt;P&gt;          ELSE.&lt;/P&gt;&lt;P&gt;            CALL METHOD me-&amp;gt;check_cutting_routine&lt;/P&gt;&lt;P&gt;              EXPORTING&lt;/P&gt;&lt;P&gt;                im_bukrs = &amp;lt;fs_payments&amp;gt;-bukrs&lt;/P&gt;&lt;P&gt;                im_belnr = &amp;lt;fs_payments&amp;gt;-belnr&lt;/P&gt;&lt;P&gt;                im_gjahr = &amp;lt;fs_payments&amp;gt;-gjahr&lt;/P&gt;&lt;P&gt;                im_blart = lc_x2&lt;/P&gt;&lt;P&gt;              IMPORTING&lt;/P&gt;&lt;P&gt;                ex_flag  = lv_flag.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            IF lv_flag = 'X'.&lt;/P&gt;&lt;P&gt;              CONTINUE.&lt;/P&gt;&lt;P&gt;            ENDIF.&lt;/P&gt;&lt;P&gt;          ENDIF.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      First Pioneer&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        ELSEIF &amp;lt;fs_payments&amp;gt;-lifnr = lc_8000001015.&lt;/P&gt;&lt;P&gt;          READ TABLE gt_payr ASSIGNING &amp;lt;fs_payr&amp;gt; WITH TABLE KEY zbukr = &amp;lt;fs_payments&amp;gt;-bukrs&lt;/P&gt;&lt;P&gt;                                                                vblnr = &amp;lt;fs_payments&amp;gt;-augbl&lt;/P&gt;&lt;P&gt;                                                                lifnr = &amp;lt;fs_payments&amp;gt;-lifnr.&lt;/P&gt;&lt;P&gt;          IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;            CALL METHOD move_to_output_table&lt;/P&gt;&lt;P&gt;              EXPORTING&lt;/P&gt;&lt;P&gt;                im_blart = lc_x3&lt;/P&gt;&lt;P&gt;                im_gjahr = &amp;lt;fs_payr&amp;gt;-zaldt+0(4)&lt;/P&gt;&lt;P&gt;                im_monat = &amp;lt;fs_payr&amp;gt;-zaldt+4(2)&lt;/P&gt;&lt;P&gt;                im_dmbtr = &amp;lt;fs_payments&amp;gt;-dmbtr.&lt;/P&gt;&lt;P&gt;            CONTINUE.&lt;/P&gt;&lt;P&gt;          ELSE.&lt;/P&gt;&lt;P&gt;            CALL METHOD me-&amp;gt;check_cutting_routine&lt;/P&gt;&lt;P&gt;              EXPORTING&lt;/P&gt;&lt;P&gt;                im_bukrs = &amp;lt;fs_payments&amp;gt;-bukrs&lt;/P&gt;&lt;P&gt;                im_belnr = &amp;lt;fs_payments&amp;gt;-belnr&lt;/P&gt;&lt;P&gt;                im_gjahr = &amp;lt;fs_payments&amp;gt;-gjahr&lt;/P&gt;&lt;P&gt;                im_blart = lc_x3&lt;/P&gt;&lt;P&gt;              IMPORTING&lt;/P&gt;&lt;P&gt;                ex_flag  = lv_flag.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            IF lv_flag = 'X'.&lt;/P&gt;&lt;P&gt;              CONTINUE.&lt;/P&gt;&lt;P&gt;            ENDIF.&lt;/P&gt;&lt;P&gt;          ENDIF.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    Profit share&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      ELSEIF &amp;lt;fs_payments&amp;gt;-blart = lc_su.&lt;/P&gt;&lt;P&gt;        READ TABLE gt_bsis ASSIGNING &amp;lt;fs_bsis&amp;gt; WITH KEY bukrs = &amp;lt;fs_payments&amp;gt;-bukrs&lt;/P&gt;&lt;P&gt;                                                        belnr = &amp;lt;fs_payments&amp;gt;-belnr&lt;/P&gt;&lt;P&gt;                                                        gjahr = &amp;lt;fs_payments&amp;gt;-gjahr&lt;/P&gt;&lt;P&gt;                                                        monat = &amp;lt;fs_payments&amp;gt;-monat&lt;/P&gt;&lt;P&gt;                                                        hkont = lc_0020000800&lt;/P&gt;&lt;P&gt;                                                                BINARY SEARCH.&lt;/P&gt;&lt;P&gt;        IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;          READ TABLE gt_payr ASSIGNING &amp;lt;fs_payr&amp;gt; WITH TABLE KEY zbukr = &amp;lt;fs_payments&amp;gt;-bukrs&lt;/P&gt;&lt;P&gt;                                                                vblnr = &amp;lt;fs_payments&amp;gt;-augbl&lt;/P&gt;&lt;P&gt;                                                                lifnr = &amp;lt;fs_payments&amp;gt;-lifnr.&lt;/P&gt;&lt;P&gt;          IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;            CALL METHOD move_to_output_table&lt;/P&gt;&lt;P&gt;              EXPORTING&lt;/P&gt;&lt;P&gt;                im_blart = lc_y1&lt;/P&gt;&lt;P&gt;                im_gjahr = &amp;lt;fs_payr&amp;gt;-zaldt+0(4)&lt;/P&gt;&lt;P&gt;                im_monat = &amp;lt;fs_payr&amp;gt;-zaldt+4(2)&lt;/P&gt;&lt;P&gt;                im_dmbtr = &amp;lt;fs_payments&amp;gt;-dmbtr.&lt;/P&gt;&lt;P&gt;            CONTINUE.&lt;/P&gt;&lt;P&gt;          ELSE.&lt;/P&gt;&lt;P&gt;            CALL METHOD me-&amp;gt;check_cutting_routine&lt;/P&gt;&lt;P&gt;              EXPORTING&lt;/P&gt;&lt;P&gt;                im_bukrs = &amp;lt;fs_payments&amp;gt;-bukrs&lt;/P&gt;&lt;P&gt;                im_belnr = &amp;lt;fs_payments&amp;gt;-belnr&lt;/P&gt;&lt;P&gt;                im_gjahr = &amp;lt;fs_payments&amp;gt;-gjahr&lt;/P&gt;&lt;P&gt;                im_blart = lc_y1&lt;/P&gt;&lt;P&gt;              IMPORTING&lt;/P&gt;&lt;P&gt;                ex_flag  = lv_flag.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            IF lv_flag = 'X'.&lt;/P&gt;&lt;P&gt;              CONTINUE.&lt;/P&gt;&lt;P&gt;            ENDIF.&lt;/P&gt;&lt;P&gt;          ENDIF.&lt;/P&gt;&lt;P&gt;        ELSE.&lt;/P&gt;&lt;P&gt;          READ TABLE gt_bsis ASSIGNING &amp;lt;fs_bsis&amp;gt; WITH KEY bukrs = &amp;lt;fs_payments&amp;gt;-bukrs&lt;/P&gt;&lt;P&gt;                                                          belnr = &amp;lt;fs_payments&amp;gt;-belnr&lt;/P&gt;&lt;P&gt;                                                          gjahr = &amp;lt;fs_payments&amp;gt;-gjahr&lt;/P&gt;&lt;P&gt;                                                          monat = &amp;lt;fs_payments&amp;gt;-monat&lt;/P&gt;&lt;P&gt;                                                          hkont = lc_0060000653&lt;/P&gt;&lt;P&gt;                                                                  BINARY SEARCH.&lt;/P&gt;&lt;P&gt;          IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;            READ TABLE gt_payr ASSIGNING &amp;lt;fs_payr&amp;gt; WITH TABLE KEY zbukr = &amp;lt;fs_payments&amp;gt;-bukrs&lt;/P&gt;&lt;P&gt;                                                                  vblnr = &amp;lt;fs_payments&amp;gt;-augbl&lt;/P&gt;&lt;P&gt;                                                                  lifnr = &amp;lt;fs_payments&amp;gt;-lifnr.&lt;/P&gt;&lt;P&gt;            IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;              CALL METHOD move_to_output_table&lt;/P&gt;&lt;P&gt;                EXPORTING&lt;/P&gt;&lt;P&gt;                  im_blart = lc_y1&lt;/P&gt;&lt;P&gt;                  im_gjahr = &amp;lt;fs_payr&amp;gt;-zaldt+0(4)&lt;/P&gt;&lt;P&gt;                  im_monat = &amp;lt;fs_payr&amp;gt;-zaldt+4(2)&lt;/P&gt;&lt;P&gt;                  im_dmbtr = &amp;lt;fs_payments&amp;gt;-dmbtr.&lt;/P&gt;&lt;P&gt;              CONTINUE.&lt;/P&gt;&lt;P&gt;            ELSE.&lt;/P&gt;&lt;P&gt;              CALL METHOD me-&amp;gt;check_cutting_routine&lt;/P&gt;&lt;P&gt;                EXPORTING&lt;/P&gt;&lt;P&gt;                  im_bukrs = &amp;lt;fs_payments&amp;gt;-bukrs&lt;/P&gt;&lt;P&gt;                  im_belnr = &amp;lt;fs_payments&amp;gt;-belnr&lt;/P&gt;&lt;P&gt;                  im_gjahr = &amp;lt;fs_payments&amp;gt;-gjahr&lt;/P&gt;&lt;P&gt;                  im_blart = lc_y1&lt;/P&gt;&lt;P&gt;                IMPORTING&lt;/P&gt;&lt;P&gt;                  ex_flag  = lv_flag.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;              IF lv_flag = 'X'.&lt;/P&gt;&lt;P&gt;                CONTINUE.&lt;/P&gt;&lt;P&gt;              ENDIF.&lt;/P&gt;&lt;P&gt;            ENDIF.&lt;/P&gt;&lt;P&gt;          ELSE.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          Dividend payments&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;            READ TABLE gt_bsis ASSIGNING &amp;lt;fs_bsis&amp;gt; WITH KEY bukrs = &amp;lt;fs_payments&amp;gt;-bukrs&lt;/P&gt;&lt;P&gt;                                                            belnr = &amp;lt;fs_payments&amp;gt;-belnr&lt;/P&gt;&lt;P&gt;                                                            gjahr = &amp;lt;fs_payments&amp;gt;-gjahr&lt;/P&gt;&lt;P&gt;                                                            monat = &amp;lt;fs_payments&amp;gt;-monat&lt;/P&gt;&lt;P&gt;                                                            hkont = lc_0020000770&lt;/P&gt;&lt;P&gt;                                                                    BINARY SEARCH.&lt;/P&gt;&lt;P&gt;            IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;              READ TABLE gt_payr ASSIGNING &amp;lt;fs_payr&amp;gt; WITH TABLE KEY zbukr = &amp;lt;fs_payments&amp;gt;-bukrs&lt;/P&gt;&lt;P&gt;                                                                    vblnr = &amp;lt;fs_payments&amp;gt;-augbl&lt;/P&gt;&lt;P&gt;                                                                    lifnr = &amp;lt;fs_payments&amp;gt;-lifnr.&lt;/P&gt;&lt;P&gt;              IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;                CALL METHOD move_to_output_table&lt;/P&gt;&lt;P&gt;                  EXPORTING&lt;/P&gt;&lt;P&gt;                    im_blart = lc_y2&lt;/P&gt;&lt;P&gt;                    im_gjahr = &amp;lt;fs_payr&amp;gt;-zaldt+0(4)&lt;/P&gt;&lt;P&gt;                    im_monat = &amp;lt;fs_payr&amp;gt;-zaldt+4(2)&lt;/P&gt;&lt;P&gt;                    im_dmbtr = &amp;lt;fs_payments&amp;gt;-dmbtr.&lt;/P&gt;&lt;P&gt;                CONTINUE.&lt;/P&gt;&lt;P&gt;              ELSE.&lt;/P&gt;&lt;P&gt;                CALL METHOD me-&amp;gt;check_cutting_routine&lt;/P&gt;&lt;P&gt;                  EXPORTING&lt;/P&gt;&lt;P&gt;                    im_bukrs = &amp;lt;fs_payments&amp;gt;-bukrs&lt;/P&gt;&lt;P&gt;                    im_belnr = &amp;lt;fs_payments&amp;gt;-belnr&lt;/P&gt;&lt;P&gt;                    im_gjahr = &amp;lt;fs_payments&amp;gt;-gjahr&lt;/P&gt;&lt;P&gt;                    im_blart = lc_y2&lt;/P&gt;&lt;P&gt;                  IMPORTING&lt;/P&gt;&lt;P&gt;                    ex_flag  = lv_flag.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                IF lv_flag = 'X'.&lt;/P&gt;&lt;P&gt;                  CONTINUE.&lt;/P&gt;&lt;P&gt;                ENDIF.&lt;/P&gt;&lt;P&gt;              ENDIF.&lt;/P&gt;&lt;P&gt;            ENDIF.&lt;/P&gt;&lt;P&gt;          ENDIF.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    Creditable input tax&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      ELSEIF &amp;lt;fs_payments&amp;gt;-blart = lc_px.&lt;/P&gt;&lt;P&gt;        READ TABLE gt_bsis ASSIGNING &amp;lt;fs_bsis&amp;gt; WITH KEY bukrs = &amp;lt;fs_payments&amp;gt;-bukrs&lt;/P&gt;&lt;P&gt;                                                        belnr = &amp;lt;fs_payments&amp;gt;-belnr&lt;/P&gt;&lt;P&gt;                                                        gjahr = &amp;lt;fs_payments&amp;gt;-gjahr&lt;/P&gt;&lt;P&gt;                                                        monat = &amp;lt;fs_payments&amp;gt;-monat&lt;/P&gt;&lt;P&gt;                                                        hkont = lc_0020000650&lt;/P&gt;&lt;P&gt;                                                                BINARY SEARCH.&lt;/P&gt;&lt;P&gt;        IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;          READ TABLE gt_payr ASSIGNING &amp;lt;fs_payr&amp;gt; WITH TABLE KEY zbukr = &amp;lt;fs_payments&amp;gt;-bukrs&lt;/P&gt;&lt;P&gt;                                                                vblnr = &amp;lt;fs_payments&amp;gt;-augbl&lt;/P&gt;&lt;P&gt;                                                                lifnr = &amp;lt;fs_payments&amp;gt;-lifnr.&lt;/P&gt;&lt;P&gt;          IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;            CALL METHOD move_to_output_table&lt;/P&gt;&lt;P&gt;              EXPORTING&lt;/P&gt;&lt;P&gt;                im_blart = lc_z1&lt;/P&gt;&lt;P&gt;                im_gjahr = &amp;lt;fs_payr&amp;gt;-zaldt+0(4)&lt;/P&gt;&lt;P&gt;                im_monat = &amp;lt;fs_payr&amp;gt;-zaldt+4(2)&lt;/P&gt;&lt;P&gt;                im_dmbtr = &amp;lt;fs_payments&amp;gt;-dmbtr.&lt;/P&gt;&lt;P&gt;            CONTINUE.&lt;/P&gt;&lt;P&gt;          ELSE.&lt;/P&gt;&lt;P&gt;            CALL METHOD me-&amp;gt;check_cutting_routine&lt;/P&gt;&lt;P&gt;              EXPORTING&lt;/P&gt;&lt;P&gt;                im_bukrs = &amp;lt;fs_payments&amp;gt;-bukrs&lt;/P&gt;&lt;P&gt;                im_belnr = &amp;lt;fs_payments&amp;gt;-belnr&lt;/P&gt;&lt;P&gt;                im_gjahr = &amp;lt;fs_payments&amp;gt;-gjahr&lt;/P&gt;&lt;P&gt;                im_blart = lc_z1&lt;/P&gt;&lt;P&gt;              IMPORTING&lt;/P&gt;&lt;P&gt;                ex_flag  = lv_flag.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            IF lv_flag = 'X'.&lt;/P&gt;&lt;P&gt;              CONTINUE.&lt;/P&gt;&lt;P&gt;            ENDIF.&lt;/P&gt;&lt;P&gt;          ENDIF.&lt;/P&gt;&lt;P&gt;        ELSE.&lt;/P&gt;&lt;P&gt;          READ TABLE gt_bsis ASSIGNING &amp;lt;fs_bsis&amp;gt; WITH KEY bukrs = &amp;lt;fs_payments&amp;gt;-bukrs&lt;/P&gt;&lt;P&gt;                                                          belnr = &amp;lt;fs_payments&amp;gt;-belnr&lt;/P&gt;&lt;P&gt;                                                          gjahr = &amp;lt;fs_payments&amp;gt;-gjahr&lt;/P&gt;&lt;P&gt;                                                          monat = &amp;lt;fs_payments&amp;gt;-monat&lt;/P&gt;&lt;P&gt;                                                          hkont = lc_0020000651&lt;/P&gt;&lt;P&gt;                                                                  BINARY SEARCH.&lt;/P&gt;&lt;P&gt;          IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;            READ TABLE gt_payr ASSIGNING &amp;lt;fs_payr&amp;gt; WITH TABLE KEY zbukr = &amp;lt;fs_payments&amp;gt;-bukrs&lt;/P&gt;&lt;P&gt;                                                                  vblnr = &amp;lt;fs_payments&amp;gt;-augbl&lt;/P&gt;&lt;P&gt;                                                                  lifnr = &amp;lt;fs_payments&amp;gt;-lifnr.&lt;/P&gt;&lt;P&gt;            IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;              CALL METHOD move_to_output_table&lt;/P&gt;&lt;P&gt;                EXPORTING&lt;/P&gt;&lt;P&gt;                  im_blart = lc_z1&lt;/P&gt;&lt;P&gt;                  im_gjahr = &amp;lt;fs_payr&amp;gt;-zaldt+0(4)&lt;/P&gt;&lt;P&gt;                  im_monat = &amp;lt;fs_payr&amp;gt;-zaldt+4(2)&lt;/P&gt;&lt;P&gt;                  im_dmbtr = &amp;lt;fs_payments&amp;gt;-dmbtr.&lt;/P&gt;&lt;P&gt;              CONTINUE.&lt;/P&gt;&lt;P&gt;            ELSE.&lt;/P&gt;&lt;P&gt;              CALL METHOD me-&amp;gt;check_cutting_routine&lt;/P&gt;&lt;P&gt;                EXPORTING&lt;/P&gt;&lt;P&gt;                  im_bukrs = &amp;lt;fs_payments&amp;gt;-bukrs&lt;/P&gt;&lt;P&gt;                  im_belnr = &amp;lt;fs_payments&amp;gt;-belnr&lt;/P&gt;&lt;P&gt;                  im_gjahr = &amp;lt;fs_payments&amp;gt;-gjahr&lt;/P&gt;&lt;P&gt;                  im_blart = lc_z1&lt;/P&gt;&lt;P&gt;                IMPORTING&lt;/P&gt;&lt;P&gt;                  ex_flag  = lv_flag.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;              IF lv_flag = 'X'.&lt;/P&gt;&lt;P&gt;                CONTINUE.&lt;/P&gt;&lt;P&gt;              ENDIF.&lt;/P&gt;&lt;P&gt;            ENDIF.&lt;/P&gt;&lt;P&gt;          ELSE.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          Withholding taxes&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;            LOOP AT gt_bsis ASSIGNING &amp;lt;fs_bsis&amp;gt;&lt;/P&gt;&lt;P&gt;                            WHERE bukrs = &amp;lt;fs_payments&amp;gt;-bukrs&lt;/P&gt;&lt;P&gt;                              AND belnr = &amp;lt;fs_payments&amp;gt;-belnr&lt;/P&gt;&lt;P&gt;                              AND gjahr = &amp;lt;fs_payments&amp;gt;-gjahr&lt;/P&gt;&lt;P&gt;                              AND monat = &amp;lt;fs_payments&amp;gt;-monat&lt;/P&gt;&lt;P&gt;                              AND hkont BETWEEN lc_0020000200 AND lc_0020000320.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;              READ TABLE gt_payr ASSIGNING &amp;lt;fs_payr&amp;gt;&lt;/P&gt;&lt;P&gt;                                 WITH TABLE KEY zbukr = &amp;lt;fs_payments&amp;gt;-bukrs&lt;/P&gt;&lt;P&gt;                                                vblnr = &amp;lt;fs_payments&amp;gt;-augbl&lt;/P&gt;&lt;P&gt;                                                lifnr = &amp;lt;fs_payments&amp;gt;-lifnr.&lt;/P&gt;&lt;P&gt;              IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;                CALL METHOD move_to_output_table&lt;/P&gt;&lt;P&gt;                  EXPORTING&lt;/P&gt;&lt;P&gt;                    im_blart = lc_z2&lt;/P&gt;&lt;P&gt;                    im_gjahr = &amp;lt;fs_payr&amp;gt;-zaldt+0(4)&lt;/P&gt;&lt;P&gt;                    im_monat = &amp;lt;fs_payr&amp;gt;-zaldt+4(2)&lt;/P&gt;&lt;P&gt;                    im_dmbtr = &amp;lt;fs_payments&amp;gt;-dmbtr.&lt;/P&gt;&lt;P&gt;                MOVE 'X' TO lv_flag.&lt;/P&gt;&lt;P&gt;                EXIT.&lt;/P&gt;&lt;P&gt;              ELSE.&lt;/P&gt;&lt;P&gt;                CALL METHOD me-&amp;gt;check_cutting_routine&lt;/P&gt;&lt;P&gt;                  EXPORTING&lt;/P&gt;&lt;P&gt;                    im_bukrs = &amp;lt;fs_payments&amp;gt;-bukrs&lt;/P&gt;&lt;P&gt;                    im_belnr = &amp;lt;fs_payments&amp;gt;-belnr&lt;/P&gt;&lt;P&gt;                    im_gjahr = &amp;lt;fs_payments&amp;gt;-gjahr&lt;/P&gt;&lt;P&gt;                    im_blart = lc_z2&lt;/P&gt;&lt;P&gt;                  IMPORTING&lt;/P&gt;&lt;P&gt;                    ex_flag  = lv_flag.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                IF lv_flag = 'X'.&lt;/P&gt;&lt;P&gt;                  EXIT.&lt;/P&gt;&lt;P&gt;                ENDIF.&lt;/P&gt;&lt;P&gt;              ENDIF.&lt;/P&gt;&lt;P&gt;            ENDLOOP.&lt;/P&gt;&lt;P&gt;            IF lv_flag = 'X'.&lt;/P&gt;&lt;P&gt;              CONTINUE.&lt;/P&gt;&lt;P&gt;            ELSE.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          Taxes and Licenses&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;              LOOP AT gt_bsis ASSIGNING &amp;lt;fs_bsis&amp;gt;&lt;/P&gt;&lt;P&gt;                              WHERE bukrs = &amp;lt;fs_payments&amp;gt;-bukrs&lt;/P&gt;&lt;P&gt;                                AND belnr = &amp;lt;fs_payments&amp;gt;-belnr&lt;/P&gt;&lt;P&gt;                                AND gjahr = &amp;lt;fs_payments&amp;gt;-gjahr&lt;/P&gt;&lt;P&gt;                                AND monat = &amp;lt;fs_payments&amp;gt;-monat&lt;/P&gt;&lt;P&gt;                                AND hkont BETWEEN lc_0060001100 AND lc_0060001114.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                READ TABLE gt_payr ASSIGNING &amp;lt;fs_payr&amp;gt;&lt;/P&gt;&lt;P&gt;                                   WITH TABLE KEY zbukr = &amp;lt;fs_payments&amp;gt;-bukrs&lt;/P&gt;&lt;P&gt;                                                  vblnr = &amp;lt;fs_payments&amp;gt;-augbl&lt;/P&gt;&lt;P&gt;                                                  lifnr = &amp;lt;fs_payments&amp;gt;-lifnr.&lt;/P&gt;&lt;P&gt;                IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;                  CALL METHOD move_to_output_table&lt;/P&gt;&lt;P&gt;                    EXPORTING&lt;/P&gt;&lt;P&gt;                      im_blart = lc_z3&lt;/P&gt;&lt;P&gt;                      im_gjahr = &amp;lt;fs_payr&amp;gt;-zaldt+0(4)&lt;/P&gt;&lt;P&gt;                      im_monat = &amp;lt;fs_payr&amp;gt;-zaldt+4(2)&lt;/P&gt;&lt;P&gt;                      im_dmbtr = &amp;lt;fs_payments&amp;gt;-dmbtr.&lt;/P&gt;&lt;P&gt;                  MOVE 'X' TO lv_flag.&lt;/P&gt;&lt;P&gt;                  EXIT.&lt;/P&gt;&lt;P&gt;                ELSE.&lt;/P&gt;&lt;P&gt;                  CALL METHOD me-&amp;gt;check_cutting_routine&lt;/P&gt;&lt;P&gt;                    EXPORTING&lt;/P&gt;&lt;P&gt;                      im_bukrs = &amp;lt;fs_payments&amp;gt;-bukrs&lt;/P&gt;&lt;P&gt;                      im_belnr = &amp;lt;fs_payments&amp;gt;-belnr&lt;/P&gt;&lt;P&gt;                      im_gjahr = &amp;lt;fs_payments&amp;gt;-gjahr&lt;/P&gt;&lt;P&gt;                      im_blart = lc_z3&lt;/P&gt;&lt;P&gt;                    IMPORTING&lt;/P&gt;&lt;P&gt;                      ex_flag  = lv_flag.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                  IF lv_flag = 'X'.&lt;/P&gt;&lt;P&gt;                    EXIT.&lt;/P&gt;&lt;P&gt;                  ENDIF.&lt;/P&gt;&lt;P&gt;                ENDIF.&lt;/P&gt;&lt;P&gt;              ENDLOOP.&lt;/P&gt;&lt;P&gt;              IF lv_flag = 'X'.&lt;/P&gt;&lt;P&gt;                CONTINUE.&lt;/P&gt;&lt;P&gt;              ELSE.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;            Income Tax&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;                READ TABLE gt_bsis ASSIGNING &amp;lt;fs_bsis&amp;gt;&lt;/P&gt;&lt;P&gt;                                   WITH KEY bukrs = &amp;lt;fs_payments&amp;gt;-bukrs&lt;/P&gt;&lt;P&gt;                                            belnr = &amp;lt;fs_payments&amp;gt;-belnr&lt;/P&gt;&lt;P&gt;                                            gjahr = &amp;lt;fs_payments&amp;gt;-gjahr&lt;/P&gt;&lt;P&gt;                                            monat = &amp;lt;fs_payments&amp;gt;-monat&lt;/P&gt;&lt;P&gt;                                            hkont = lc_0020000660&lt;/P&gt;&lt;P&gt;                                                    BINARY SEARCH.&lt;/P&gt;&lt;P&gt;                IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;                  READ TABLE gt_payr ASSIGNING &amp;lt;fs_payr&amp;gt;&lt;/P&gt;&lt;P&gt;                                     WITH TABLE KEY zbukr = &amp;lt;fs_payments&amp;gt;-bukrs&lt;/P&gt;&lt;P&gt;                                                    vblnr = &amp;lt;fs_payments&amp;gt;-augbl&lt;/P&gt;&lt;P&gt;                                                    lifnr = &amp;lt;fs_payments&amp;gt;-lifnr.&lt;/P&gt;&lt;P&gt;                  IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;                    CALL METHOD move_to_output_table&lt;/P&gt;&lt;P&gt;                      EXPORTING&lt;/P&gt;&lt;P&gt;                        im_blart = lc_z4&lt;/P&gt;&lt;P&gt;                        im_gjahr = &amp;lt;fs_payr&amp;gt;-zaldt+0(4)&lt;/P&gt;&lt;P&gt;                        im_monat = &amp;lt;fs_payr&amp;gt;-zaldt+4(2)&lt;/P&gt;&lt;P&gt;                        im_dmbtr = &amp;lt;fs_payments&amp;gt;-dmbtr.&lt;/P&gt;&lt;P&gt;                    CONTINUE.&lt;/P&gt;&lt;P&gt;                  ELSE.&lt;/P&gt;&lt;P&gt;                    CALL METHOD me-&amp;gt;check_cutting_routine&lt;/P&gt;&lt;P&gt;                      EXPORTING&lt;/P&gt;&lt;P&gt;                        im_bukrs = &amp;lt;fs_payments&amp;gt;-bukrs&lt;/P&gt;&lt;P&gt;                        im_belnr = &amp;lt;fs_payments&amp;gt;-belnr&lt;/P&gt;&lt;P&gt;                        im_gjahr = &amp;lt;fs_payments&amp;gt;-gjahr&lt;/P&gt;&lt;P&gt;                        im_blart = lc_z4&lt;/P&gt;&lt;P&gt;                      IMPORTING&lt;/P&gt;&lt;P&gt;                        ex_flag  = lv_flag.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                    IF lv_flag = 'X'.&lt;/P&gt;&lt;P&gt;                      EXIT.&lt;/P&gt;&lt;P&gt;                    ENDIF.&lt;/P&gt;&lt;P&gt;                  ENDIF.&lt;/P&gt;&lt;P&gt;                ENDIF.&lt;/P&gt;&lt;P&gt;              ENDIF.&lt;/P&gt;&lt;P&gt;            ENDIF.&lt;/P&gt;&lt;P&gt;          ENDIF.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    Capital Expenditures(CAPEX) - November 2007 onwards&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      ELSEIF &amp;lt;fs_payments&amp;gt;-blart = lc_capex_new.&lt;/P&gt;&lt;P&gt;        READ TABLE gt_payr ASSIGNING &amp;lt;fs_payr&amp;gt;&lt;/P&gt;&lt;P&gt;                           WITH TABLE KEY zbukr = &amp;lt;fs_payments&amp;gt;-bukrs&lt;/P&gt;&lt;P&gt;                                          vblnr = &amp;lt;fs_payments&amp;gt;-augbl&lt;/P&gt;&lt;P&gt;                                          lifnr = &amp;lt;fs_payments&amp;gt;-lifnr.&lt;/P&gt;&lt;P&gt;        IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;          CALL METHOD move_to_output_table&lt;/P&gt;&lt;P&gt;            EXPORTING&lt;/P&gt;&lt;P&gt;              im_blart = lc_x0&lt;/P&gt;&lt;P&gt;              im_gjahr = &amp;lt;fs_payr&amp;gt;-zaldt+0(4)&lt;/P&gt;&lt;P&gt;              im_monat = &amp;lt;fs_payr&amp;gt;-zaldt+4(2)&lt;/P&gt;&lt;P&gt;              im_dmbtr = &amp;lt;fs_payments&amp;gt;-dmbtr.&lt;/P&gt;&lt;P&gt;          CONTINUE.&lt;/P&gt;&lt;P&gt;        ELSE.&lt;/P&gt;&lt;P&gt;          CALL METHOD me-&amp;gt;check_cutting_routine&lt;/P&gt;&lt;P&gt;            EXPORTING&lt;/P&gt;&lt;P&gt;              im_bukrs = &amp;lt;fs_payments&amp;gt;-bukrs&lt;/P&gt;&lt;P&gt;              im_belnr = &amp;lt;fs_payments&amp;gt;-belnr&lt;/P&gt;&lt;P&gt;              im_gjahr = &amp;lt;fs_payments&amp;gt;-gjahr&lt;/P&gt;&lt;P&gt;              im_blart = lc_x0&lt;/P&gt;&lt;P&gt;            IMPORTING&lt;/P&gt;&lt;P&gt;              ex_flag  = lv_flag.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          IF lv_flag = 'X'.&lt;/P&gt;&lt;P&gt;            EXIT.&lt;/P&gt;&lt;P&gt;          ENDIF.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    Capital Expenditures(CAPEX) - Up to October 2007&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      ELSEIF &amp;lt;fs_payments&amp;gt;-blart = lc_pt OR&lt;/P&gt;&lt;P&gt;             &amp;lt;fs_payments&amp;gt;-blart = lc_p0 OR&lt;/P&gt;&lt;P&gt;             &amp;lt;fs_payments&amp;gt;-blart = lc_re.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        LOOP AT gt_bsis ASSIGNING &amp;lt;fs_bsis&amp;gt;&lt;/P&gt;&lt;P&gt;                        WHERE bukrs = &amp;lt;fs_payments&amp;gt;-bukrs&lt;/P&gt;&lt;P&gt;                          AND belnr = &amp;lt;fs_payments&amp;gt;-belnr&lt;/P&gt;&lt;P&gt;                          AND gjahr = &amp;lt;fs_payments&amp;gt;-gjahr&lt;/P&gt;&lt;P&gt;                          AND monat = &amp;lt;fs_payments&amp;gt;-monat&lt;/P&gt;&lt;P&gt;                          AND hkont BETWEEN lc_0070000001 AND lc_0070000024.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          READ TABLE gt_payr ASSIGNING &amp;lt;fs_payr&amp;gt;&lt;/P&gt;&lt;P&gt;                             WITH TABLE KEY zbukr = &amp;lt;fs_payments&amp;gt;-bukrs&lt;/P&gt;&lt;P&gt;                                            vblnr = &amp;lt;fs_payments&amp;gt;-augbl&lt;/P&gt;&lt;P&gt;                                            lifnr = &amp;lt;fs_payments&amp;gt;-lifnr.&lt;/P&gt;&lt;P&gt;          IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;            CALL METHOD move_to_output_table&lt;/P&gt;&lt;P&gt;              EXPORTING&lt;/P&gt;&lt;P&gt;                im_blart = lc_x0&lt;/P&gt;&lt;P&gt;                im_gjahr = &amp;lt;fs_payr&amp;gt;-zaldt+0(4)&lt;/P&gt;&lt;P&gt;                im_monat = &amp;lt;fs_payr&amp;gt;-zaldt+4(2)&lt;/P&gt;&lt;P&gt;                im_dmbtr = &amp;lt;fs_payments&amp;gt;-dmbtr.&lt;/P&gt;&lt;P&gt;            MOVE 'X' TO lv_flag.&lt;/P&gt;&lt;P&gt;            EXIT.&lt;/P&gt;&lt;P&gt;          ELSE.&lt;/P&gt;&lt;P&gt;            CALL METHOD me-&amp;gt;check_cutting_routine&lt;/P&gt;&lt;P&gt;              EXPORTING&lt;/P&gt;&lt;P&gt;                im_bukrs = &amp;lt;fs_payments&amp;gt;-bukrs&lt;/P&gt;&lt;P&gt;                im_belnr = &amp;lt;fs_payments&amp;gt;-belnr&lt;/P&gt;&lt;P&gt;                im_gjahr = &amp;lt;fs_payments&amp;gt;-gjahr&lt;/P&gt;&lt;P&gt;                im_blart = lc_x0&lt;/P&gt;&lt;P&gt;              IMPORTING&lt;/P&gt;&lt;P&gt;                ex_flag  = lv_flag.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            IF lv_flag = 'X'.&lt;/P&gt;&lt;P&gt;              EXIT.&lt;/P&gt;&lt;P&gt;            ENDIF.&lt;/P&gt;&lt;P&gt;          ENDIF.&lt;/P&gt;&lt;P&gt;        ENDLOOP.&lt;/P&gt;&lt;P&gt;        IF lv_flag = 'X'.&lt;/P&gt;&lt;P&gt;          CONTINUE.&lt;/P&gt;&lt;P&gt;        ELSE.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        AP - Trade(Non Production w/o PO)&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;          READ TABLE gt_payr ASSIGNING &amp;lt;fs_payr&amp;gt;&lt;/P&gt;&lt;P&gt;                             WITH TABLE KEY zbukr = &amp;lt;fs_payments&amp;gt;-bukrs&lt;/P&gt;&lt;P&gt;                                            vblnr = &amp;lt;fs_payments&amp;gt;-augbl&lt;/P&gt;&lt;P&gt;                                            lifnr = &amp;lt;fs_payments&amp;gt;-lifnr.&lt;/P&gt;&lt;P&gt;          IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;            CALL METHOD move_to_output_table&lt;/P&gt;&lt;P&gt;              EXPORTING&lt;/P&gt;&lt;P&gt;                im_blart = lc_pt&lt;/P&gt;&lt;P&gt;                im_gjahr = &amp;lt;fs_payr&amp;gt;-zaldt+0(4)&lt;/P&gt;&lt;P&gt;                im_monat = &amp;lt;fs_payr&amp;gt;-zaldt+4(2)&lt;/P&gt;&lt;P&gt;                im_dmbtr = &amp;lt;fs_payments&amp;gt;-dmbtr.&lt;/P&gt;&lt;P&gt;            CONTINUE.&lt;/P&gt;&lt;P&gt;          ELSE.&lt;/P&gt;&lt;P&gt;            CALL METHOD me-&amp;gt;check_cutting_routine&lt;/P&gt;&lt;P&gt;              EXPORTING&lt;/P&gt;&lt;P&gt;                im_bukrs = &amp;lt;fs_payments&amp;gt;-bukrs&lt;/P&gt;&lt;P&gt;                im_belnr = &amp;lt;fs_payments&amp;gt;-belnr&lt;/P&gt;&lt;P&gt;                im_gjahr = &amp;lt;fs_payments&amp;gt;-gjahr&lt;/P&gt;&lt;P&gt;                im_blart = lc_pt&lt;/P&gt;&lt;P&gt;              IMPORTING&lt;/P&gt;&lt;P&gt;                ex_flag  = lv_flag.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            IF lv_flag = 'X'.&lt;/P&gt;&lt;P&gt;              CONTINUE.&lt;/P&gt;&lt;P&gt;            ENDIF.&lt;/P&gt;&lt;P&gt;          ENDIF.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      Other document types&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        READ TABLE gt_payr ASSIGNING &amp;lt;fs_payr&amp;gt;&lt;/P&gt;&lt;P&gt;                           WITH TABLE KEY zbukr = &amp;lt;fs_payments&amp;gt;-bukrs&lt;/P&gt;&lt;P&gt;                                          vblnr = &amp;lt;fs_payments&amp;gt;-augbl&lt;/P&gt;&lt;P&gt;                                          lifnr = &amp;lt;fs_payments&amp;gt;-lifnr.&lt;/P&gt;&lt;P&gt;        IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;          CALL METHOD move_to_output_table&lt;/P&gt;&lt;P&gt;            EXPORTING&lt;/P&gt;&lt;P&gt;              im_blart = &amp;lt;fs_payments&amp;gt;-blart&lt;/P&gt;&lt;P&gt;              im_gjahr = &amp;lt;fs_payr&amp;gt;-zaldt+0(4)&lt;/P&gt;&lt;P&gt;              im_monat = &amp;lt;fs_payr&amp;gt;-zaldt+4(2)&lt;/P&gt;&lt;P&gt;              im_dmbtr = &amp;lt;fs_payments&amp;gt;-dmbtr.&lt;/P&gt;&lt;P&gt;          CONTINUE.&lt;/P&gt;&lt;P&gt;        ELSE.&lt;/P&gt;&lt;P&gt;          CALL METHOD me-&amp;gt;check_cutting_routine&lt;/P&gt;&lt;P&gt;            EXPORTING&lt;/P&gt;&lt;P&gt;              im_bukrs = &amp;lt;fs_payments&amp;gt;-bukrs&lt;/P&gt;&lt;P&gt;              im_belnr = &amp;lt;fs_payments&amp;gt;-belnr&lt;/P&gt;&lt;P&gt;              im_gjahr = &amp;lt;fs_payments&amp;gt;-gjahr&lt;/P&gt;&lt;P&gt;              im_blart = &amp;lt;fs_payments&amp;gt;-blart&lt;/P&gt;&lt;P&gt;            IMPORTING&lt;/P&gt;&lt;P&gt;              ex_flag  = lv_flag.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          IF lv_flag = 'X'.&lt;/P&gt;&lt;P&gt;            CONTINUE.&lt;/P&gt;&lt;P&gt;          ENDIF.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;  ENDMETHOD.                    "process_data&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;METHOD move_to_output_table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  METHOD move_to_output_table.&lt;/P&gt;&lt;P&gt;    CLEAR wa_output.&lt;/P&gt;&lt;P&gt;    READ TABLE gt_output INTO wa_output WITH KEY blart = im_blart.&lt;/P&gt;&lt;P&gt;*/If document type is not yet added&lt;/P&gt;&lt;P&gt;    IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;      wa_output-blart = im_blart.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    Year before the user specified year&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      IF im_gjahr = lv_year.&lt;/P&gt;&lt;P&gt;        IF im_monat = p_monat.&lt;/P&gt;&lt;P&gt;          wa_output-last_year = im_dmbtr.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;        IF im_monat &amp;lt;= p_monat.&lt;/P&gt;&lt;P&gt;          ADD im_dmbtr TO wa_output-cum_last_year.&lt;/P&gt;&lt;P&gt;          APPEND wa_output TO gt_output.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;        CLEAR wa_output.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    User specified year&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      ELSEIF im_gjahr = p_gjahr.&lt;/P&gt;&lt;P&gt;        IF im_monat = p_monat.&lt;/P&gt;&lt;P&gt;          wa_output-this_year = im_dmbtr.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;        IF im_monat &amp;lt;= p_monat.&lt;/P&gt;&lt;P&gt;          ADD im_dmbtr TO wa_output-cum_this_year.&lt;/P&gt;&lt;P&gt;          APPEND wa_output TO gt_output.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;        CLEAR wa_output.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;*/If document type has been already added&lt;/P&gt;&lt;P&gt;    ELSEIF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;      wa_output-blart = im_blart.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    Year before the user specified year&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      IF im_gjahr = lv_year.&lt;/P&gt;&lt;P&gt;        IF im_monat = p_monat.&lt;/P&gt;&lt;P&gt;          ADD im_dmbtr TO wa_output-last_year.&lt;/P&gt;&lt;P&gt;          MODIFY TABLE gt_output FROM wa_output.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;        IF im_monat &amp;lt;= p_monat.&lt;/P&gt;&lt;P&gt;          ADD im_dmbtr TO wa_output-cum_last_year.&lt;/P&gt;&lt;P&gt;          MODIFY TABLE gt_output FROM wa_output.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;        CLEAR wa_output.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    User specified year&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      ELSEIF im_gjahr = p_gjahr.&lt;/P&gt;&lt;P&gt;        IF im_monat = p_monat.&lt;/P&gt;&lt;P&gt;          ADD im_dmbtr TO wa_output-this_year.&lt;/P&gt;&lt;P&gt;          MODIFY TABLE gt_output FROM wa_output.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;        IF im_monat &amp;lt;= p_monat.&lt;/P&gt;&lt;P&gt;          ADD im_dmbtr TO wa_output-cum_this_year.&lt;/P&gt;&lt;P&gt;          MODIFY TABLE gt_output FROM wa_output.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;        CLEAR wa_output.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDMETHOD.                    "move_to_output_table&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;METHOD check_cutting_routine&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  METHOD check_cutting_routine.&lt;/P&gt;&lt;P&gt;    FIELD-SYMBOLS: &amp;lt;fs_payments2&amp;gt; LIKE LINE OF gt_payments2,&lt;/P&gt;&lt;P&gt;                   &amp;lt;fs_payments3&amp;gt; LIKE LINE OF gt_payments3,&lt;/P&gt;&lt;P&gt;                   &amp;lt;fs_bsis_dum&amp;gt;  LIKE LINE OF gt_bsis_dum,&lt;/P&gt;&lt;P&gt;                   &amp;lt;fs_payr&amp;gt;      LIKE LINE OF gt_payr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    READ TABLE gt_payments3 ASSIGNING &amp;lt;fs_payments3&amp;gt;&lt;/P&gt;&lt;P&gt;                            WITH TABLE KEY bukrs = im_bukrs&lt;/P&gt;&lt;P&gt;                                           gjahr = im_gjahr&lt;/P&gt;&lt;P&gt;                                           belnr = im_belnr.&lt;/P&gt;&lt;P&gt;    IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;      READ TABLE gt_bsis_dum ASSIGNING &amp;lt;fs_bsis_dum&amp;gt;&lt;/P&gt;&lt;P&gt;                             WITH TABLE KEY bukrs = &amp;lt;fs_payments3&amp;gt;-bukrs&lt;/P&gt;&lt;P&gt;                                            belnr = &amp;lt;fs_payments3&amp;gt;-augbl&lt;/P&gt;&lt;P&gt;                                            gjahr = &amp;lt;fs_payments3&amp;gt;-auggj.&lt;/P&gt;&lt;P&gt;      IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;        READ TABLE gt_payments2 ASSIGNING &amp;lt;fs_payments2&amp;gt;&lt;/P&gt;&lt;P&gt;                                WITH TABLE KEY bukrs = &amp;lt;fs_bsis_dum&amp;gt;-bukrs&lt;/P&gt;&lt;P&gt;                                               gjahr = &amp;lt;fs_bsis_dum&amp;gt;-auggj&lt;/P&gt;&lt;P&gt;                                               belnr = &amp;lt;fs_bsis_dum&amp;gt;-augbl.&lt;/P&gt;&lt;P&gt;        IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;          READ TABLE gt_payr ASSIGNING &amp;lt;fs_payr&amp;gt;&lt;/P&gt;&lt;P&gt;                             WITH TABLE KEY zbukr = &amp;lt;fs_payments2&amp;gt;-bukrs&lt;/P&gt;&lt;P&gt;                                            vblnr = &amp;lt;fs_payments2&amp;gt;-augbl&lt;/P&gt;&lt;P&gt;                                            lifnr = &amp;lt;fs_payments2&amp;gt;-lifnr.&lt;/P&gt;&lt;P&gt;          IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;            CALL METHOD move_to_output_table&lt;/P&gt;&lt;P&gt;              EXPORTING&lt;/P&gt;&lt;P&gt;                im_blart = im_blart&lt;/P&gt;&lt;P&gt;                im_gjahr = &amp;lt;fs_payr&amp;gt;-zaldt+0(4)&lt;/P&gt;&lt;P&gt;                im_monat = &amp;lt;fs_payr&amp;gt;-zaldt+4(2)&lt;/P&gt;&lt;P&gt;                im_dmbtr = &amp;lt;fs_payments3&amp;gt;-dmbtr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            MOVE 'X' TO ex_flag.&lt;/P&gt;&lt;P&gt;          ENDIF.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDMETHOD.                    "check_cutting_routine&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;METHOD display_data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  METHOD display_data.&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'&lt;/P&gt;&lt;P&gt;      EXPORTING&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      PERCENTAGE       = 0&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        text             = text-p03.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    DATA: lt_month_names          TYPE STANDARD TABLE OF t247,&lt;/P&gt;&lt;P&gt;          lv_month_name(30)       TYPE c,&lt;/P&gt;&lt;P&gt;          lv_month_name_short(03) TYPE c,&lt;/P&gt;&lt;P&gt;          lv_cumulative(50)       TYPE c.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    FIELD-SYMBOLS: &amp;lt;fs_output&amp;gt;      LIKE LINE OF gt_output,&lt;/P&gt;&lt;P&gt;                   &amp;lt;fs_month_names&amp;gt; LIKE LINE OF lt_month_names.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CALL METHOD me-&amp;gt;fill_text_table.&lt;/P&gt;&lt;P&gt;    SORT gt_text BY sort_order.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'MONTH_NAMES_GET'&lt;/P&gt;&lt;P&gt;      EXPORTING&lt;/P&gt;&lt;P&gt;        language                    = sy-langu&lt;/P&gt;&lt;UL&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;      RETURN_CODE                 =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      TABLES&lt;/P&gt;&lt;P&gt;        month_names                 = lt_month_names&lt;/P&gt;&lt;P&gt;      EXCEPTIONS&lt;/P&gt;&lt;P&gt;        month_names_not_found       = 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;    IF NOT lt_month_names[] IS INITIAL.&lt;/P&gt;&lt;P&gt;      READ TABLE lt_month_names ASSIGNING &amp;lt;fs_month_names&amp;gt; WITH KEY mnr = p_monat.&lt;/P&gt;&lt;P&gt;      IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;        lv_month_name_short = &amp;lt;fs_month_names&amp;gt;-ktx.&lt;/P&gt;&lt;P&gt;        lv_month_name       = &amp;lt;fs_month_names&amp;gt;-ltx.&lt;/P&gt;&lt;P&gt;        CONCATENATE text-006 '(' lv_month_name ')' INTO lv_month_name.&lt;/P&gt;&lt;P&gt;        READ TABLE lt_month_names ASSIGNING &amp;lt;fs_month_names&amp;gt; WITH KEY mnr = 1."#EC *&lt;/P&gt;&lt;P&gt;        IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;          CONCATENATE text-005 '(' &amp;lt;fs_month_names&amp;gt;-ktx '-' lv_month_name_short ')'&lt;/P&gt;&lt;P&gt;          INTO lv_cumulative.&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;    LOOP AT gt_text INTO wa_text.&lt;/P&gt;&lt;P&gt;      READ TABLE gt_output ASSIGNING &amp;lt;fs_output&amp;gt; WITH KEY blart = wa_text-blart.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;        IF &amp;lt;fs_output&amp;gt;-last_year &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;          &amp;lt;fs_output&amp;gt;-percent1 = ( &amp;lt;fs_output&amp;gt;-this_year -&lt;/P&gt;&lt;P&gt;                               &amp;lt;fs_output&amp;gt;-last_year ) /&lt;/P&gt;&lt;P&gt;                               &amp;lt;fs_output&amp;gt;-last_year.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        IF &amp;lt;fs_output&amp;gt;-cum_last_year &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;          &amp;lt;fs_output&amp;gt;-percent2 = ( &amp;lt;fs_output&amp;gt;-cum_this_year -&lt;/P&gt;&lt;P&gt;                                 &amp;lt;fs_output&amp;gt;-cum_last_year ) /&lt;/P&gt;&lt;P&gt;                                 &amp;lt;fs_output&amp;gt;-cum_last_year.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        &amp;lt;fs_output&amp;gt;-sort_order  = wa_text-sort_order.&lt;/P&gt;&lt;P&gt;        &amp;lt;fs_output&amp;gt;-description = wa_text-description.&lt;/P&gt;&lt;P&gt;        &amp;lt;fs_output&amp;gt;-header      = wa_text-header.&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;P&gt;        CLEAR wa_output.&lt;/P&gt;&lt;P&gt;        wa_output-sort_order  = wa_text-sort_order.&lt;/P&gt;&lt;P&gt;        wa_output-blart       = wa_text-blart.&lt;/P&gt;&lt;P&gt;        wa_output-description = wa_text-description.&lt;/P&gt;&lt;P&gt;        wa_output-header      = wa_text-header.&lt;/P&gt;&lt;P&gt;        APPEND wa_output TO gt_output.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      CLEAR: wa_text-description, wa_text-sort_order, wa_text-blart.&lt;/P&gt;&lt;P&gt;      MODIFY gt_text FROM wa_text.&lt;/P&gt;&lt;P&gt;      wa_header-header     = wa_text-header.&lt;/P&gt;&lt;P&gt;      wa_header-curr_month = lv_month_name.&lt;/P&gt;&lt;P&gt;      wa_header-cumulative = lv_cumulative.&lt;/P&gt;&lt;P&gt;      APPEND wa_header TO gt_header.&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;    DELETE ADJACENT DUPLICATES FROM gt_text   COMPARING header.&lt;/P&gt;&lt;P&gt;    DELETE ADJACENT DUPLICATES FROM gt_header COMPARING header.&lt;/P&gt;&lt;P&gt;    DELETE gt_output WHERE description IS INITIAL.&lt;/P&gt;&lt;P&gt;    SORT gt_output BY sort_order.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    DEFINE m_binding.&lt;/P&gt;&lt;P&gt;      ls_binding-master = &amp;amp;1.&lt;/P&gt;&lt;P&gt;      ls_binding-slave  = &amp;amp;2.&lt;/P&gt;&lt;P&gt;      append ls_binding to lt_binding.&lt;/P&gt;&lt;P&gt;    END-OF-DEFINITION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    m_binding 'HEADER' 'HEADER'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    TRY.&lt;/P&gt;&lt;P&gt;        cl_salv_hierseq_table=&amp;gt;factory(&lt;/P&gt;&lt;P&gt;          EXPORTING&lt;/P&gt;&lt;P&gt;            t_binding_level1_level2 = lt_binding&lt;/P&gt;&lt;P&gt;          IMPORTING&lt;/P&gt;&lt;P&gt;            r_hierseq               = o_lcl_hierseq&lt;/P&gt;&lt;P&gt;          CHANGING&lt;/P&gt;&lt;P&gt;            t_table_level1           = gt_header&lt;/P&gt;&lt;P&gt;            t_table_level2           = gt_output ).&lt;/P&gt;&lt;P&gt;      CATCH cx_salv_data_error cx_salv_not_found.       "#EC NO_HANDLER&lt;/P&gt;&lt;P&gt;    ENDTRY.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    lcl_functions = o_lcl_hierseq-&amp;gt;get_functions( ).&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Set all standard ALV functions&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    lcl_functions-&amp;gt;set_all( abap_true ).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    TRY.&lt;/P&gt;&lt;P&gt;        lcl_columns = o_lcl_hierseq-&amp;gt;get_columns( 1 ).&lt;/P&gt;&lt;P&gt;      CATCH cx_salv_not_found.                          "#EC NO_HANDLER&lt;/P&gt;&lt;P&gt;    ENDTRY.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Expand/collapse functionality&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    TRY.&lt;/P&gt;&lt;P&gt;        lcl_columns-&amp;gt;set_expand_column( 'EXPAND' ).&lt;/P&gt;&lt;P&gt;      CATCH cx_salv_data_error.                         "#EC NO_HANDLER&lt;/P&gt;&lt;P&gt;    ENDTRY.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Master header settings&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    TRY.&lt;/P&gt;&lt;P&gt;        lcl_level = o_lcl_hierseq-&amp;gt;get_level( 1 ).&lt;/P&gt;&lt;P&gt;      CATCH cx_salv_not_found.                          "#EC NO_HANDLER&lt;/P&gt;&lt;P&gt;    ENDTRY.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Slave header settings&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    TRY.&lt;/P&gt;&lt;P&gt;        lcl_columns = o_lcl_hierseq-&amp;gt;get_columns( 2 ).&lt;/P&gt;&lt;P&gt;      CATCH cx_salv_not_found.                          "#EC NO_HANDLER&lt;/P&gt;&lt;P&gt;    ENDTRY.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Optimize width of columns&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    lcl_columns-&amp;gt;set_optimize( abap_true ).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Expand items by default&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    lcl_level-&amp;gt;set_items_expanded( ).&lt;/P&gt;&lt;P&gt;    lcl_events = o_lcl_hierseq-&amp;gt;get_event( ).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Set display to striped pattern&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    lcl_display = o_lcl_hierseq-&amp;gt;get_display_settings( ).&lt;/P&gt;&lt;P&gt;    lcl_display-&amp;gt;set_striped_pattern( cl_salv_display_settings=&amp;gt;true ).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*/Sort columns&lt;/P&gt;&lt;P&gt;    TRY.&lt;/P&gt;&lt;P&gt;        lcl_sorts = o_lcl_hierseq-&amp;gt;get_sorts( 1 ).&lt;/P&gt;&lt;P&gt;      CATCH cx_salv_not_found.                          "#EC NO_HANDLER&lt;/P&gt;&lt;P&gt;    ENDTRY.&lt;/P&gt;&lt;P&gt;    lcl_sorts-&amp;gt;set_group_active( ).&lt;/P&gt;&lt;P&gt;    TRY.&lt;/P&gt;&lt;P&gt;        lcl_sorts-&amp;gt;add_sort(&lt;/P&gt;&lt;P&gt;          columnname = 'HEADER'&lt;/P&gt;&lt;P&gt;          subtotal   = abap_true ).&lt;/P&gt;&lt;P&gt;      CATCH cx_salv_not_found cx_salv_existing cx_salv_data_error."#EC NO_HANDLER&lt;/P&gt;&lt;P&gt;    ENDTRY.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*/Set aggregations&lt;/P&gt;&lt;P&gt;    TRY.&lt;/P&gt;&lt;P&gt;        lcl_aggregations = o_lcl_hierseq-&amp;gt;get_aggregations( 2 ).&lt;/P&gt;&lt;P&gt;      CATCH cx_salv_not_found.                          "#EC NO_HANDLER&lt;/P&gt;&lt;P&gt;    ENDTRY.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    TRY.&lt;/P&gt;&lt;P&gt;        lcl_aggregations-&amp;gt;add_aggregation( 'LAST_YEAR' ).&lt;/P&gt;&lt;P&gt;      CATCH cx_salv_not_found cx_salv_data_error cx_salv_existing."#EC NO_HANDLER&lt;/P&gt;&lt;P&gt;    ENDTRY.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    TRY.&lt;/P&gt;&lt;P&gt;        lcl_aggregations-&amp;gt;add_aggregation( 'THIS_YEAR' ).&lt;/P&gt;&lt;P&gt;      CATCH cx_salv_not_found cx_salv_data_error cx_salv_existing."#EC NO_HANDLER&lt;/P&gt;&lt;P&gt;    ENDTRY.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    TRY.&lt;/P&gt;&lt;P&gt;        lcl_aggregations-&amp;gt;add_aggregation( 'PERCENT1' ).&lt;/P&gt;&lt;P&gt;      CATCH cx_salv_not_found cx_salv_data_error cx_salv_existing."#EC NO_HANDLER&lt;/P&gt;&lt;P&gt;    ENDTRY.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    TRY.&lt;/P&gt;&lt;P&gt;        lcl_aggregations-&amp;gt;add_aggregation( 'CUM_LAST_YEAR' ).&lt;/P&gt;&lt;P&gt;      CATCH cx_salv_not_found cx_salv_data_error cx_salv_existing."#EC NO_HANDLER&lt;/P&gt;&lt;P&gt;    ENDTRY.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    TRY.&lt;/P&gt;&lt;P&gt;        lcl_aggregations-&amp;gt;add_aggregation( 'CUM_THIS_YEAR' ).&lt;/P&gt;&lt;P&gt;      CATCH cx_salv_not_found cx_salv_data_error cx_salv_existing."#EC NO_HANDLER&lt;/P&gt;&lt;P&gt;    ENDTRY.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    TRY.&lt;/P&gt;&lt;P&gt;        lcl_aggregations-&amp;gt;add_aggregation( 'PERCENT2' ).&lt;/P&gt;&lt;P&gt;      CATCH cx_salv_not_found cx_salv_data_error cx_salv_existing."#EC NO_HANDLER&lt;/P&gt;&lt;P&gt;    ENDTRY.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*/Hide columns&lt;/P&gt;&lt;P&gt;    TRY.&lt;/P&gt;&lt;P&gt;        lcl_column ?= lcl_columns-&amp;gt;get_column( 'HEADER' ).&lt;/P&gt;&lt;P&gt;        lcl_column-&amp;gt;set_visible( if_salv_c_bool_sap=&amp;gt;false ).&lt;/P&gt;&lt;P&gt;      CATCH cx_salv_not_found.                          "#EC NO_HANDLER&lt;/P&gt;&lt;P&gt;    ENDTRY.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    TRY.&lt;/P&gt;&lt;P&gt;        lcl_column ?= lcl_columns-&amp;gt;get_column( 'SORT_ORDER' ).&lt;/P&gt;&lt;P&gt;        lcl_column-&amp;gt;set_visible( if_salv_c_bool_sap=&amp;gt;false ).&lt;/P&gt;&lt;P&gt;      CATCH cx_salv_not_found.                          "#EC NO_HANDLER&lt;/P&gt;&lt;P&gt;    ENDTRY.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    TRY.&lt;/P&gt;&lt;P&gt;        lcl_column ?= lcl_columns-&amp;gt;get_column( 'BLART' ).&lt;/P&gt;&lt;P&gt;        lcl_column-&amp;gt;set_visible( if_salv_c_bool_sap=&amp;gt;false ).&lt;/P&gt;&lt;P&gt;      CATCH cx_salv_not_found.                          "#EC NO_HANDLER&lt;/P&gt;&lt;P&gt;    ENDTRY.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*/Set column names&lt;/P&gt;&lt;P&gt;    TRY.&lt;/P&gt;&lt;P&gt;        lcl_column ?= lcl_columns-&amp;gt;get_column( 'DESCRIPTION' ).&lt;/P&gt;&lt;P&gt;        lcl_column-&amp;gt;set_long_text( text-078 ).&lt;/P&gt;&lt;P&gt;      CATCH cx_salv_not_found.                          "#EC NO_HANDLER&lt;/P&gt;&lt;P&gt;    ENDTRY.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    TRY.&lt;/P&gt;&lt;P&gt;        lcl_column ?= lcl_columns-&amp;gt;get_column( 'LAST_YEAR' ).&lt;/P&gt;&lt;P&gt;        lcl_column-&amp;gt;set_long_text( text-007 ).&lt;/P&gt;&lt;P&gt;        lcl_column-&amp;gt;set_output_length( '15' ).&lt;/P&gt;&lt;P&gt;      CATCH cx_salv_not_found.                          "#EC NO_HANDLER&lt;/P&gt;&lt;P&gt;    ENDTRY.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    TRY.&lt;/P&gt;&lt;P&gt;        lcl_column ?= lcl_columns-&amp;gt;get_column( 'THIS_YEAR' ).&lt;/P&gt;&lt;P&gt;        lcl_column-&amp;gt;set_long_text( text-008 ).&lt;/P&gt;&lt;P&gt;        lcl_column-&amp;gt;set_output_length( '15' ).&lt;/P&gt;&lt;P&gt;      CATCH cx_salv_not_found.                          "#EC NO_HANDLER&lt;/P&gt;&lt;P&gt;    ENDTRY.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    TRY.&lt;/P&gt;&lt;P&gt;        lcl_column ?= lcl_columns-&amp;gt;get_column( 'PERCENT1' ).&lt;/P&gt;&lt;P&gt;        lcl_column-&amp;gt;set_medium_text( text-009 ).&lt;/P&gt;&lt;P&gt;        lcl_column-&amp;gt;set_long_text( text-009 ).&lt;/P&gt;&lt;P&gt;        lcl_column-&amp;gt;set_output_length( '12' ).&lt;/P&gt;&lt;P&gt;      CATCH cx_salv_not_found.                          "#EC NO_HANDLER&lt;/P&gt;&lt;P&gt;    ENDTRY.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    TRY.&lt;/P&gt;&lt;P&gt;        lcl_column ?= lcl_columns-&amp;gt;get_column( 'CUM_LAST_YEAR' ).&lt;/P&gt;&lt;P&gt;        lcl_column-&amp;gt;set_long_text( text-010 ).&lt;/P&gt;&lt;P&gt;        lcl_column-&amp;gt;set_output_length( '15' ).&lt;/P&gt;&lt;P&gt;      CATCH cx_salv_not_found.                          "#EC NO_HANDLER&lt;/P&gt;&lt;P&gt;    ENDTRY.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    TRY.&lt;/P&gt;&lt;P&gt;        lcl_column ?= lcl_columns-&amp;gt;get_column( 'CUM_THIS_YEAR' ).&lt;/P&gt;&lt;P&gt;        lcl_column-&amp;gt;set_long_text( text-011 ).&lt;/P&gt;&lt;P&gt;        lcl_column-&amp;gt;set_output_length( '15' ).&lt;/P&gt;&lt;P&gt;      CATCH cx_salv_not_found.                          "#EC NO_HANDLER&lt;/P&gt;&lt;P&gt;    ENDTRY.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    TRY.&lt;/P&gt;&lt;P&gt;        lcl_column ?= lcl_columns-&amp;gt;get_column( 'PERCENT2' ).&lt;/P&gt;&lt;P&gt;        lcl_column-&amp;gt;set_medium_text( text-012 ).&lt;/P&gt;&lt;P&gt;        lcl_column-&amp;gt;set_long_text( text-012 ).&lt;/P&gt;&lt;P&gt;        lcl_column-&amp;gt;set_output_length( '12' ).&lt;/P&gt;&lt;P&gt;      CATCH cx_salv_not_found.                          "#EC NO_HANDLER&lt;/P&gt;&lt;P&gt;    ENDTRY.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CREATE OBJECT o_lcl_events_hierseq.&lt;/P&gt;&lt;P&gt;    SET HANDLER o_lcl_events_hierseq-&amp;gt;on_top_of_page FOR lcl_events.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    o_lcl_hierseq-&amp;gt;display( ).&lt;/P&gt;&lt;P&gt;  ENDMETHOD.                    "display_data&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;METHOD fill_text_table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  METHOD fill_text_table.&lt;/P&gt;&lt;P&gt;    DEFINE fill_text_table.&lt;/P&gt;&lt;P&gt;      add 1 to wa_text-sort_order.&lt;/P&gt;&lt;P&gt;      wa_text-header      = &amp;amp;1.&lt;/P&gt;&lt;P&gt;      wa_text-description = &amp;amp;2.&lt;/P&gt;&lt;P&gt;      wa_text-blart       = &amp;amp;3.&lt;/P&gt;&lt;P&gt;      append wa_text to gt_text.&lt;/P&gt;&lt;P&gt;    END-OF-DEFINITION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Importation details&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    fill_text_table text-048 text-060 lc_kf.&lt;/P&gt;&lt;P&gt;    fill_text_table text-048 text-061 lc_ks.&lt;/P&gt;&lt;P&gt;    fill_text_table text-048 text-062 lc_ko.&lt;/P&gt;&lt;P&gt;    fill_text_table text-048 text-063 lc_km.&lt;/P&gt;&lt;P&gt;    fill_text_table text-048 text-013 lc_kb.&lt;/P&gt;&lt;P&gt;    fill_text_table text-048 text-064 lc_kc.&lt;/P&gt;&lt;P&gt;    fill_text_table text-048 text-014 lc_kd.&lt;/P&gt;&lt;P&gt;    fill_text_table text-048 text-015 lc_k3.&lt;/P&gt;&lt;P&gt;    fill_text_table text-048 text-016 lc_k4.&lt;/P&gt;&lt;P&gt;    fill_text_table text-048 text-017 lc_k6.&lt;/P&gt;&lt;P&gt;    fill_text_table text-048 text-018 lc_k5.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Finished goods details&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    fill_text_table text-049 text-021 lc_pq.&lt;/P&gt;&lt;P&gt;    fill_text_table text-049 text-020 lc_pf.&lt;/P&gt;&lt;P&gt;    fill_text_table text-049 text-019 lc_py.&lt;/P&gt;&lt;P&gt;    fill_text_table text-049 text-065 lc_pb.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Local production items&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    fill_text_table text-050 text-022 lc_pj.&lt;/P&gt;&lt;P&gt;    fill_text_table text-050 text-023 lc_pm.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Local non-production items&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    fill_text_table text-051 text-033 lc_p2.&lt;/P&gt;&lt;P&gt;    fill_text_table text-051 text-024 lc_pt.&lt;/P&gt;&lt;P&gt;    fill_text_table text-051 text-058 lc_x0.&lt;/P&gt;&lt;P&gt;    fill_text_table text-051 text-025 lc_ps.&lt;/P&gt;&lt;P&gt;    fill_text_table text-051 text-066 lc_promo.&lt;/P&gt;&lt;P&gt;    fill_text_table text-051 text-067 lc_repair.&lt;/P&gt;&lt;P&gt;    fill_text_table text-051 text-068 lc_shell.&lt;/P&gt;&lt;P&gt;    fill_text_table text-051 text-069 lc_supplies.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Payroll transactions&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    fill_text_table text-052 text-027 lc_kp.&lt;/P&gt;&lt;P&gt;    fill_text_table text-052 text-028 lc_pu.&lt;/P&gt;&lt;P&gt;    fill_text_table text-052 text-040 lc_y1.&lt;/P&gt;&lt;P&gt;    fill_text_table text-052 text-026 lc_pp.&lt;/P&gt;&lt;P&gt;    fill_text_table text-052 text-029 lc_pd.&lt;/P&gt;&lt;P&gt;    fill_text_table text-052 text-030 lc_pe.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Taxes&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    fill_text_table text-059 text-042 lc_z1.&lt;/P&gt;&lt;P&gt;    fill_text_table text-059 text-043 lc_z2.&lt;/P&gt;&lt;P&gt;    fill_text_table text-059 text-044 lc_z3.&lt;/P&gt;&lt;P&gt;    fill_text_table text-059 text-045 lc_z4.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Others&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    fill_text_table text-053 text-032 lc_pc.&lt;/P&gt;&lt;P&gt;    fill_text_table text-053 text-070 lc_p5.&lt;/P&gt;&lt;P&gt;    fill_text_table text-053 text-041 lc_y2.&lt;/P&gt;&lt;P&gt;    fill_text_table text-053 text-035 lc_pw.&lt;/P&gt;&lt;P&gt;    fill_text_table text-053 text-071 lc_ph.&lt;/P&gt;&lt;P&gt;    fill_text_table text-053 text-072 lc_p4.&lt;/P&gt;&lt;P&gt;    fill_text_table text-053 text-037 lc_x2.&lt;/P&gt;&lt;P&gt;    fill_text_table text-053 text-038 lc_x3.&lt;/P&gt;&lt;P&gt;    fill_text_table text-053 text-073 lc_p6.&lt;/P&gt;&lt;P&gt;    fill_text_table text-053 text-074 lc_p3.&lt;/P&gt;&lt;P&gt;    fill_text_table text-053 text-039 lc_pa.&lt;/P&gt;&lt;P&gt;    fill_text_table text-053 text-034 lc_po.&lt;/P&gt;&lt;P&gt;    fill_text_table text-053 text-036 lc_x1.&lt;/P&gt;&lt;P&gt;    fill_text_table text-053 text-046 lc_p8.&lt;/P&gt;&lt;P&gt;    fill_text_table text-053 text-047 lc_p9.&lt;/P&gt;&lt;P&gt;    fill_text_table text-053 text-075 lc_pn.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDMETHOD.                    "fill_text_table&lt;/P&gt;&lt;P&gt;ENDCLASS.                    "lcl_get_data IMPLEMENTATION&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;      CLASS lcl_handle_events_hierseq 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;*&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;CLASS lcl_handle_events_hierseq IMPLEMENTATION.&lt;/P&gt;&lt;P&gt;  METHOD on_top_of_page.&lt;/P&gt;&lt;P&gt;    DATA: lv_butxt       TYPE t001-butxt,&lt;/P&gt;&lt;P&gt;          lv_month_year  TYPE string,&lt;/P&gt;&lt;P&gt;          lt_month_names TYPE STANDARD TABLE OF t247.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    FIELD-SYMBOLS: &amp;lt;fs_month_names&amp;gt; LIKE LINE OF lt_month_names.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CREATE OBJECT lr_grid.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    SELECT SINGLE butxt&lt;/P&gt;&lt;P&gt;      FROM t001&lt;/P&gt;&lt;P&gt;      INTO lv_butxt&lt;/P&gt;&lt;P&gt;     WHERE bukrs = p_bukrs.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    MOVE lv_butxt TO l_text.&lt;/P&gt;&lt;P&gt;    lr_grid-&amp;gt;create_header_information( row     = 1&lt;/P&gt;&lt;P&gt;                                        column  = 50&lt;/P&gt;&lt;P&gt;                                        text    = l_text&lt;/P&gt;&lt;P&gt;                                        tooltip = l_text ).&lt;/P&gt;&lt;P&gt;    lr_grid-&amp;gt;add_row( ).&lt;/P&gt;&lt;P&gt;    lr_grid_1 = lr_grid-&amp;gt;create_grid( row    = 3&lt;/P&gt;&lt;P&gt;                                      column = 50 ).&lt;/P&gt;&lt;P&gt;    lr_label = lr_grid_1-&amp;gt;create_label( row     = 1&lt;/P&gt;&lt;P&gt;                                        column  = 1&lt;/P&gt;&lt;P&gt;                                        text    = text-003&lt;/P&gt;&lt;P&gt;                                        tooltip = text-003 ).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    lr_label = lr_grid_1-&amp;gt;create_label( row     = 2&lt;/P&gt;&lt;P&gt;                                        column  = 1&lt;/P&gt;&lt;P&gt;                                        text    = text-t01&lt;/P&gt;&lt;P&gt;                                        tooltip = text-t01 ).&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'MONTH_NAMES_GET'&lt;/P&gt;&lt;P&gt;      EXPORTING&lt;/P&gt;&lt;P&gt;        language                    = sy-langu&lt;/P&gt;&lt;UL&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;      RETURN_CODE                 =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      TABLES&lt;/P&gt;&lt;P&gt;        month_names                 = lt_month_names&lt;/P&gt;&lt;P&gt;     EXCEPTIONS&lt;/P&gt;&lt;P&gt;       month_names_not_found       = 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;    IF NOT lt_month_names[] IS INITIAL.&lt;/P&gt;&lt;P&gt;      READ TABLE lt_month_names ASSIGNING &amp;lt;fs_month_names&amp;gt; WITH KEY mnr = p_monat.&lt;/P&gt;&lt;P&gt;      IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;        CONCATENATE &amp;lt;fs_month_names&amp;gt;-ltx p_gjahr INTO lv_month_year SEPARATED BY space.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;    lr_text = lr_grid_1-&amp;gt;create_text( row     = 2&lt;/P&gt;&lt;P&gt;                                      column  = 2&lt;/P&gt;&lt;P&gt;                                      text    = lv_month_year&lt;/P&gt;&lt;P&gt;                                      tooltip = lv_month_year ).&lt;/P&gt;&lt;P&gt;    lr_content = lr_grid.&lt;/P&gt;&lt;P&gt;    r_top_of_page-&amp;gt;set_content( lr_content ).&lt;/P&gt;&lt;P&gt;  ENDMETHOD.                    "on_top_of_page&lt;/P&gt;&lt;P&gt;ENDCLASS.                    "lcl_handle_events_hierseq IMPLEMENTATION&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;  DATA: o_lcl_get_data TYPE REF TO lcl_get_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CREATE OBJECT o_lcl_get_data.&lt;/P&gt;&lt;P&gt;  CALL METHOD o_lcl_get_data-&amp;gt;get_payment_details.&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;END-OF-SELECTION                             *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;END-OF-SELECTION.&lt;/P&gt;&lt;P&gt;  CALL METHOD o_lcl_get_data-&amp;gt;display_data.&lt;/P&gt;&lt;P&gt;[/code]&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 23 Nov 2007 06:30:23 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv/m-p/3099765#M735520</guid>
      <dc:creator>aris_hidalgo</dc:creator>
      <dc:date>2007-11-23T06:30:23Z</dc:date>
    </item>
    <item>
      <title>Re: ALV</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv/m-p/3099766#M735521</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Kuamr ( or Kumar ? )&lt;/P&gt;&lt;P&gt;I admit it wasn't easy to understand , but let me give it a try &lt;SUP&gt;_&lt;/SUP&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I wrote similar code in my program like follows and it works. &lt;/P&gt;&lt;P&gt;You can try these alternatives in your code : &lt;/P&gt;&lt;P&gt;1. Remove the keyitem-item01 ; and/or&lt;/P&gt;&lt;P&gt;2. Create the sort table on the header key field.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Hope it helps.&lt;/P&gt;&lt;P&gt;Rgds,&lt;/P&gt;&lt;P&gt;TS WINEDYA&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM HIER_DISPLAY_ALV TABLES t_outtab.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;matnr dijadikan header key field &lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  KEYINFO-HEADER01 = 'MATNR'.&lt;/P&gt;&lt;P&gt;  is_LAYOUT-COLWIDTH_OPTIMIZE = 'X'.&lt;/P&gt;&lt;P&gt;*Tentukan kriteria pengurutan &lt;/P&gt;&lt;P&gt;   refresh it_SORT.&lt;/P&gt;&lt;P&gt;   it_SORT-SPOS = 1.&lt;/P&gt;&lt;P&gt;   it_SORT-FIELDNAME = 'MATNR'.&lt;/P&gt;&lt;P&gt;   it_SORT-TABNAME =    'IT_OUT'.&lt;/P&gt;&lt;P&gt;   it_SORT-UP = 'X'.&lt;/P&gt;&lt;P&gt;   APPEND it_SORT.&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'REUSE_ALV_HIERSEQ_LIST_DISPLAY'&lt;/P&gt;&lt;P&gt;       EXPORTING&lt;/P&gt;&lt;P&gt;            I_CALLBACK_PROGRAM            = SY-REPID&lt;/P&gt;&lt;P&gt;            I_CALLBACK_USER_COMMAND = i_callback_user_command&lt;/P&gt;&lt;P&gt;            IS_LAYOUT    = is_layout&lt;/P&gt;&lt;P&gt;            IT_SORT         = it_sort[]&lt;/P&gt;&lt;P&gt;            IT_FIELDCAT   = it_fieldcat&lt;/P&gt;&lt;P&gt;            I_DEFAULT      = 'X'&lt;/P&gt;&lt;P&gt;            I_SAVE            = 'A'&lt;/P&gt;&lt;P&gt;            IS_VARIANT     = is_variant&lt;/P&gt;&lt;P&gt;            IT_EVENTS      = it_events&lt;/P&gt;&lt;P&gt;            I_TABNAME_HEADER = 'IT_HDR'&lt;/P&gt;&lt;P&gt;            I_TABNAME_ITEM       = 'IT_OUT'&lt;/P&gt;&lt;P&gt;            IS_KEYINFO               = KEYINFO&lt;/P&gt;&lt;P&gt;       TABLES&lt;/P&gt;&lt;P&gt;            T_OUTTAB_HEADER      = IT_HDR&lt;/P&gt;&lt;P&gt;            T_OUTTAB_ITEM            = t_outtab.&lt;/P&gt;&lt;P&gt;ENDFORM.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 23 Nov 2007 07:04:30 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv/m-p/3099766#M735521</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-11-23T07:04:30Z</dc:date>
    </item>
  </channel>
</rss>

