<?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: interactive report issue in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/interactive-report-issue/m-p/4174448#M998010</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;here is the example code it will help you to call another transaction .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT z000fre_bs_acc&lt;/P&gt;&lt;P&gt;       NO STANDARD PAGE HEADING&lt;/P&gt;&lt;P&gt;       LINE-SIZE 132 .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Title       :  Balance Sheet &amp;amp; GL Accounts                           *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Author      :  Suvarchala C                                          *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Date        :  18/12/2007                                            *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Reference   :  2KEE   transaction                                    *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Type        :  Report                                                *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Frequency   :  Regularly                                             *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Input       :  Selection criteria                                    *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Output      :  Report to be designed should display sum of all the   *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;               movements on each combination of Business area and    *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;               Balance Sheet GL account summarized in 1 line for the *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;               given selection criteria                              *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Description :  Report to get the combination of Business area and    *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;               Balance Sheet GL account summarized on 1 line         *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                  M O D I F I C A T I O N   L O G                    *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Date    User id       Change #               Description           *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;--------  ----------   ----------  ----------------------------------*&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;18/12/07  EXCCHINTS01  ADSK920712             New development        *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;TABLES                                                               *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;TABLES:&lt;/P&gt;&lt;P&gt;  glt0,                                " G/L acc master rec trans figs&lt;/P&gt;&lt;P&gt;  ska1,                                " G/L Account Master&lt;/P&gt;&lt;P&gt;  sscrfields.                          " Fields on selection screens&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;TYPE POOLS                                                           *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;TYPE-POOLS:&lt;/P&gt;&lt;P&gt;  slis,                                " Global Type pool&lt;/P&gt;&lt;P&gt;  rsds.                                " Types for free deferrals&lt;/P&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;WORK AREA                                                           *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;P&gt;DATA:&lt;/P&gt;&lt;P&gt;  wa_afield    TYPE slis_fieldcat_alv, " Field Catatlog&lt;/P&gt;&lt;P&gt;  wa_layout    TYPE slis_layout_alv,   " Layout&lt;/P&gt;&lt;P&gt;  wa_layout2   TYPE slis_layout_alv,   " Layout&lt;/P&gt;&lt;P&gt;  wa_event     TYPE slis_alv_event,    " Events&lt;/P&gt;&lt;P&gt;  wa_variant   TYPE disvariant,        " Variant&lt;/P&gt;&lt;P&gt;  wa_xvariant  TYPE disvariant.        " Variant&lt;/P&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;INTERNAL TABLES                                                     *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;P&gt;DATA:&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Table for Fields of the current screen&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  i_dynpread   LIKE dynpread OCCURS 1&lt;/P&gt;&lt;P&gt;               WITH HEADER LINE,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Table for List Header&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  i_listheader TYPE slis_t_listheader&lt;/P&gt;&lt;P&gt;               WITH HEADER LINE,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Table for Field Catalog&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  i_fieldcat   TYPE&lt;/P&gt;&lt;P&gt;               slis_t_fieldcat_alv,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Table for Field Catalog2&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  i_fieldcat2  TYPE&lt;/P&gt;&lt;P&gt;               slis_t_fieldcat_alv,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Table for Events&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  i_events     TYPE slis_t_event.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Table for G/L account master record transaction figures&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DATA:&lt;/P&gt;&lt;P&gt;  BEGIN OF i_glt0 OCCURS 0,&lt;/P&gt;&lt;P&gt;    busctr   LIKE glt0-rbusa,          " Business Area&lt;/P&gt;&lt;P&gt;    accno    LIKE glt0-racct,          " Account Number&lt;/P&gt;&lt;P&gt;    t_curr   LIKE tka01-pcacur,        " Currency&lt;/P&gt;&lt;P&gt;    ccode    LIKE glt0-bukrs,          " Company code&lt;/P&gt;&lt;P&gt;    fyear    LIKE glt0-ryear,          " Fiscal year&lt;/P&gt;&lt;P&gt;    tsl      LIKE glt0-ksl01,          " Amount in Transaction Currency&lt;/P&gt;&lt;P&gt;    hsl      LIKE glt0-hsl01,          " Amount in Local Currency&lt;/P&gt;&lt;P&gt;    ksl      LIKE glt0-tsl01.          " Amount in Group Currency&lt;/P&gt;&lt;P&gt;        INCLUDE STRUCTURE glt0.&lt;/P&gt;&lt;P&gt;DATA:&lt;/P&gt;&lt;P&gt;    txt50    LIKE skat-txt50,          " GL Account Name&lt;/P&gt;&lt;P&gt;    altkt    LIKE skb1-altkt,          " French GL Account&lt;/P&gt;&lt;P&gt;  END OF i_glt0,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Temporary table for glt0&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  i_glt0temp LIKE i_glt0 OCCURS 0&lt;/P&gt;&lt;P&gt;              WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;  i_glt0temp1 LIKE i_glt0 OCCURS 0&lt;/P&gt;&lt;P&gt;              WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Table for GL Account Names&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DATA:&lt;/P&gt;&lt;P&gt;  BEGIN OF i_skat OCCURS 0,&lt;/P&gt;&lt;P&gt;    saknr LIKE skat-saknr,             " Account Number&lt;/P&gt;&lt;P&gt;    txt50 LIKE skat-txt50,             " GL Account Name&lt;/P&gt;&lt;P&gt;END OF i_skat,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Table for French GL Accounts&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  BEGIN OF i_skb1 OCCURS 0,&lt;/P&gt;&lt;P&gt;    bukrs LIKE skb1-bukrs,             " Company Code&lt;/P&gt;&lt;P&gt;    saknr LIKE skb1-saknr,             " Account Number&lt;/P&gt;&lt;P&gt;    altkt LIKE skb1-altkt,             " French GL Account&lt;/P&gt;&lt;P&gt;  END OF i_skb1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Table for periods&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DATA:&lt;/P&gt;&lt;P&gt;  BEGIN OF i_periods OCCURS 16,&lt;/P&gt;&lt;P&gt;    ccode    LIKE glt0-bukrs,          " Company code&lt;/P&gt;&lt;P&gt;    fyear    LIKE glt0-ryear,          " Fiscal year&lt;/P&gt;&lt;P&gt;    altkt LIKE skb1-altkt,             " French GL Account&lt;/P&gt;&lt;P&gt;    poper  LIKE                        " Period&lt;/P&gt;&lt;P&gt;           fdbl_balance_line-period,&lt;/P&gt;&lt;P&gt;    ksl    LIKE glt0-ksl01,            " Group Currency amt&lt;/P&gt;&lt;P&gt;    hsl    LIKE glt0-hsl01,            " Local Currency amt&lt;/P&gt;&lt;P&gt;    tsl    LIKE glt0-tsl01,            " Transactional amt&lt;/P&gt;&lt;P&gt;    rtcur  LIKE glt0-rtcur,            " Currency&lt;/P&gt;&lt;P&gt;  END OF i_periods.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Table for French GL Account&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DATA:&lt;/P&gt;&lt;P&gt;  BEGIN OF i_altkt OCCURS 0,&lt;/P&gt;&lt;P&gt;    busctr   LIKE glt0-rbusa,          " Business Area&lt;/P&gt;&lt;P&gt;    accno    LIKE glt0-racct,          " Account Number&lt;/P&gt;&lt;P&gt;    ccode    LIKE glt0-bukrs,          " Company code&lt;/P&gt;&lt;P&gt;    altkt    LIKE skb1-altkt,          " French GL Account&lt;/P&gt;&lt;P&gt;  END OF i_altkt,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Table for Balance Sheet GL Accounts&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  BEGIN OF i_ska1 OCCURS 0,&lt;/P&gt;&lt;P&gt;    saknr LIKE ska1-saknr,             " GL Account&lt;/P&gt;&lt;P&gt;  END OF i_ska1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;DATA DECLARATION AND CONSTANTS                                      *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;P&gt;DATA:&lt;/P&gt;&lt;P&gt;  v_repid        LIKE sy-repid,        " Report Name&lt;/P&gt;&lt;P&gt;  v_cntpoper     TYPE i,               " Counter for selected periods&lt;/P&gt;&lt;P&gt;  v_cntrldnr     TYPE i,               " Counter for selected ledgers&lt;/P&gt;&lt;P&gt;  v_cntryear     TYPE i,               " Counter for selected years&lt;/P&gt;&lt;P&gt;  v_packsize     TYPE i VALUE 1000,    " Packet size&lt;/P&gt;&lt;P&gt;  v_exit(1)      TYPE c,               " Exit&lt;/P&gt;&lt;P&gt;  v_save(1)      TYPE c,               " Save&lt;/P&gt;&lt;P&gt;  v_text1(60)    TYPE c,               " Text&lt;/P&gt;&lt;P&gt;  v_text2(60)    TYPE c.               " Text&lt;/P&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;RANGES                                                              *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;P&gt;RANGES:&lt;/P&gt;&lt;P&gt;  r_rclnt FOR  glpca-rclnt.            " Client&lt;/P&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;/P&gt;&lt;P&gt;SELECT-OPTIONS:&lt;/P&gt;&lt;P&gt;  s_rldnr    FOR  glt0-rldnr           " Ledger&lt;/P&gt;&lt;P&gt;             DEFAULT '00' NO-DISPLAY,&lt;/P&gt;&lt;P&gt;  s_rrcty    FOR  glt0-rrcty,          " Record type&lt;/P&gt;&lt;P&gt;  s_rvers    FOR  glt0-rvers           " Version&lt;/P&gt;&lt;P&gt;             DEFAULT '001' OBLIGATORY,&lt;/P&gt;&lt;P&gt;  s_bukrs    FOR  glt0-bukrs,          " Company Code&lt;/P&gt;&lt;P&gt;  s_ryear    FOR  glt0-ryear           " Fiscal year&lt;/P&gt;&lt;P&gt;             DEFAULT sy-datlo,&lt;/P&gt;&lt;P&gt;  s_racct    FOR  ska1-saknr,          " Account Number&lt;/P&gt;&lt;P&gt;  s_rbusa    FOR  glt0-rbusa,          " FI-SL Buss Trans&lt;/P&gt;&lt;P&gt;  s_poper    FOR  glt0-rpmax.          " Period&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Display-variant&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-e01.&lt;/P&gt;&lt;P&gt;PARAMETERS:&lt;/P&gt;&lt;P&gt;  p_vari LIKE disvariant-variant.      " Variant&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN COMMENT 47(40) varname FOR FIELD p_vari.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK b1.&lt;/P&gt;&lt;P&gt;PARAMETERS&lt;/P&gt;&lt;P&gt;  log_grp(4) TYPE c NO-DISPLAY DEFAULT 'pc10'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;INITIALIZATION                                                      *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;P&gt;INITIALIZATION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  v_repid = sy-repid.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Settings for display variants&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  v_save = 'A'.&lt;/P&gt;&lt;P&gt;  CLEAR wa_variant.&lt;/P&gt;&lt;P&gt;  wa_variant-report = v_repid.&lt;/P&gt;&lt;P&gt;  wa_variant-log_group = log_grp.&lt;/P&gt;&lt;P&gt;  wa_variant-username = sy-uname.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get default variant&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  wa_xvariant = wa_variant.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'REUSE_ALV_VARIANT_DEFAULT_GET'&lt;/P&gt;&lt;P&gt;       EXPORTING&lt;/P&gt;&lt;P&gt;            i_save     = v_save&lt;/P&gt;&lt;P&gt;       CHANGING&lt;/P&gt;&lt;P&gt;            cs_variant = wa_xvariant&lt;/P&gt;&lt;P&gt;       EXCEPTIONS&lt;/P&gt;&lt;P&gt;            not_found  = 2.&lt;/P&gt;&lt;P&gt;  IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;    p_vari = wa_xvariant-variant.&lt;/P&gt;&lt;P&gt;  ENDIF.                               " IF SY-SUBRC = 0&lt;/P&gt;&lt;P&gt;  varname = wa_xvariant-text.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;AT SELCTION-SCREEN on value request                                 *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_vari.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;F4 help for variant&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM f_f4_for_variant.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;AT SELCTION-SCREEN                                                  *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Check authorizations&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM f_check_authority_groups.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Validate Variant&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM f_validate_vari.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Validate the Version&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;AT SELECTION-SCREEN ON s_rvers.&lt;/P&gt;&lt;P&gt;  IF NOT s_rvers[] IS INITIAL.&lt;/P&gt;&lt;P&gt;    PERFORM f_validate_rvers.&lt;/P&gt;&lt;P&gt;  ENDIF.                               " IF S_RVERS[]..&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Validate Company Code&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;AT SELECTION-SCREEN ON s_bukrs.&lt;/P&gt;&lt;P&gt;  IF NOT s_bukrs[] IS INITIAL.&lt;/P&gt;&lt;P&gt;    PERFORM f_validate_bukrs.&lt;/P&gt;&lt;P&gt;  ENDIF.                               " IF S_BUKRS[]..&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Validate Account Number&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;AT SELECTION-SCREEN ON s_racct.&lt;/P&gt;&lt;P&gt;  IF NOT s_racct[] IS INITIAL.&lt;/P&gt;&lt;P&gt;    PERFORM f_validate_racct.&lt;/P&gt;&lt;P&gt;  ENDIF.                               " IF S_RACCT[]..&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Validate Business Area&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;AT SELECTION-SCREEN ON s_rbusa.&lt;/P&gt;&lt;P&gt;  IF NOT s_rbusa[] IS INITIAL.&lt;/P&gt;&lt;P&gt;    PERFORM f_validate_rbusa.&lt;/P&gt;&lt;P&gt;  ENDIF.                               " IF S_RBUSA[]..&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;START-OF-SELECTION                                                  *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;P&gt;START-OF-SELECTION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Optimize database performance&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM f_db_optimizer.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Fetch Business area and accounting data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM f_fetch_busadata.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Fetch GL Acc names &amp;amp; Balance Sheet GL Accounts&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  IF NOT i_glt0[] IS INITIAL.&lt;/P&gt;&lt;P&gt;    PERFORM f_fetch_balacc.&lt;/P&gt;&lt;P&gt;    PERFORM f_fetch_glacc.&lt;/P&gt;&lt;P&gt;  ENDIF.                               " IF NOT I_GLT0[]..&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;END-OF-SELECTION                                                    *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;P&gt;END-OF-SELECTION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT i_glt0[] IS INITIAL.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Modify Selected GL Acc data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    PERFORM f_modify_gldata.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Calculate yearly totals&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    PERFORM f_fetch_yeartot.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Calculate G/L totals&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    PERFORM f_calculate_gltot.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Filling fieldcat&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    PERFORM f_setup_field_tab.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Filling table t_events (for dynamic callbacks from ALV)&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    REFRESH i_events.&lt;/P&gt;&lt;P&gt;    wa_event-name = 'TOP_OF_PAGE'.&lt;/P&gt;&lt;P&gt;    wa_event-form = 'TOP_OF_PAGE'.&lt;/P&gt;&lt;P&gt;    APPEND wa_event TO i_events.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Filling listheader&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    PERFORM f_fill_listheader.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Display Primary list&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    PERFORM f_list_display.&lt;/P&gt;&lt;P&gt;  ENDIF.                               " IF NOT I_glt0[]..&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      FORM F_F4_FOR_VARIANT&lt;/P&gt;&lt;P&gt;*&amp;amp;----&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; F4- help for variant&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;There are no interface parameters to be passed to this routine&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;FORM f_f4_for_variant.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get Variant&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  wa_variant-log_group = log_grp.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get the variants&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CALL FUNCTION 'REUSE_ALV_VARIANT_F4'&lt;/P&gt;&lt;P&gt;       EXPORTING&lt;/P&gt;&lt;P&gt;            is_variant = wa_variant&lt;/P&gt;&lt;P&gt;            i_save     = v_save&lt;/P&gt;&lt;P&gt;       IMPORTING&lt;/P&gt;&lt;P&gt;            e_exit     = v_exit&lt;/P&gt;&lt;P&gt;            es_variant = wa_xvariant&lt;/P&gt;&lt;P&gt;       EXCEPTIONS&lt;/P&gt;&lt;P&gt;            not_found  = 2.&lt;/P&gt;&lt;P&gt;  IF sy-subrc EQ 2.&lt;/P&gt;&lt;P&gt;    MESSAGE s017(0k).&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Update the Screen Fields&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    IF v_exit EQ space.&lt;/P&gt;&lt;P&gt;      p_vari = wa_xvariant-variant.&lt;/P&gt;&lt;P&gt;      varname = wa_xvariant-text.&lt;/P&gt;&lt;P&gt;      i_dynpread-fieldname  = 'VARNAME'.&lt;/P&gt;&lt;P&gt;      i_dynpread-fieldvalue = wa_xvariant-text.&lt;/P&gt;&lt;P&gt;      APPEND i_dynpread.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      CALL FUNCTION 'DYNP_VALUES_UPDATE'&lt;/P&gt;&lt;P&gt;           EXPORTING&lt;/P&gt;&lt;P&gt;                dyname               = v_repid&lt;/P&gt;&lt;P&gt;                dynumb               = '1000'&lt;/P&gt;&lt;P&gt;           TABLES&lt;/P&gt;&lt;P&gt;                dynpfields           = i_dynpread&lt;/P&gt;&lt;P&gt;           EXCEPTIONS&lt;/P&gt;&lt;P&gt;                invalid_abapworkarea = 1&lt;/P&gt;&lt;P&gt;                invalid_dynprofield  = 2&lt;/P&gt;&lt;P&gt;                invalid_dynproname   = 3&lt;/P&gt;&lt;P&gt;                invalid_dynpronummer = 4&lt;/P&gt;&lt;P&gt;                invalid_request      = 5&lt;/P&gt;&lt;P&gt;                no_fielddescription  = 6&lt;/P&gt;&lt;P&gt;                undefind_error       = 7&lt;/P&gt;&lt;P&gt;                OTHERS               = 8.&lt;/P&gt;&lt;P&gt;      IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;        MESSAGE s017(0k).&lt;/P&gt;&lt;P&gt;      ENDIF.                           " IF SY-SUBRC NE 0.&lt;/P&gt;&lt;P&gt;    ENDIF.                             " IF V_EXIT EQ SPACE&lt;/P&gt;&lt;P&gt;  ENDIF.                               " IF SY-SUBRC EQ 2&lt;/P&gt;&lt;P&gt;ENDFORM.                               " F_F4_FOR_VARIANT&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      FORM F_USR_CMD                                                *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;This routine is used to display secondary list&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;UCOMM       User Command&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;SELFIELD    Cell Field&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;FORM f_usr_cmd USING ucomm    LIKE sy-ucomm&lt;/P&gt;&lt;P&gt;                   selfield TYPE slis_selfield.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CASE ucomm.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Double click&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    WHEN '&amp;amp;IC1'.&lt;/P&gt;&lt;P&gt;      IF selfield-tabindex = 0.&lt;/P&gt;&lt;P&gt;        MESSAGE e004(ok).&lt;/P&gt;&lt;P&gt;      ENDIF.                           " IF SELFIELD-TABINDEX&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      READ TABLE i_glt0 INDEX selfield-tabindex.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Fill Field catalog&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      PERFORM f_fill_tables2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      wa_layout2-detail_initial_lines = 'X'.&lt;/P&gt;&lt;P&gt;      wa_layout2-detail_popup         = 'X'.&lt;/P&gt;&lt;P&gt;      wa_layout2-min_linesize         = 40.&lt;/P&gt;&lt;P&gt;      wa_layout2-f2code               = 'PIC1'.&lt;/P&gt;&lt;P&gt;      wa_layout2-colwidth_optimize    = 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Display Process indicatior in currenct widow&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'&lt;/P&gt;&lt;P&gt;           EXPORTING&lt;/P&gt;&lt;P&gt;                text = text-p60.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Display Secondary list&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'&lt;/P&gt;&lt;P&gt;           EXPORTING&lt;/P&gt;&lt;P&gt;                i_interface_check        = ' '&lt;/P&gt;&lt;P&gt;                i_callback_program       = v_repid&lt;/P&gt;&lt;P&gt;                i_callback_pf_status_set = 'F_SET_PF_STATUS_2'&lt;/P&gt;&lt;P&gt;                i_callback_user_command  = 'F_USR_CMD'&lt;/P&gt;&lt;P&gt;                i_structure_name         = 'T_PERIODS'&lt;/P&gt;&lt;P&gt;                is_layout                = wa_layout2&lt;/P&gt;&lt;P&gt;                it_fieldcat              = i_fieldcat2&lt;/P&gt;&lt;P&gt;                i_default                = 'X'&lt;/P&gt;&lt;P&gt;                i_screen_start_column    = 1&lt;/P&gt;&lt;P&gt;                i_screen_start_line      = 1&lt;/P&gt;&lt;P&gt;                i_screen_end_column      = 75&lt;/P&gt;&lt;P&gt;                i_screen_end_line        = 17&lt;/P&gt;&lt;P&gt;           TABLES&lt;/P&gt;&lt;P&gt;                t_outtab                 = i_periods&lt;/P&gt;&lt;P&gt;           EXCEPTIONS&lt;/P&gt;&lt;P&gt;                program_error            = 1&lt;/P&gt;&lt;P&gt;                OTHERS                   = 2.&lt;/P&gt;&lt;P&gt;      IF sy-subrc EQ 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Do nothing&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      ENDIF.                           " IF SY-SUBRC EQ 0&lt;/P&gt;&lt;P&gt;      CLEAR i_glt0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    WHEN '&amp;amp;ICP'.&lt;/P&gt;&lt;P&gt;      SET SCREEN 0.&lt;/P&gt;&lt;P&gt;      LEAVE SCREEN.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    WHEN 'PIC1'.&lt;/P&gt;&lt;P&gt;      IF selfield-tabindex = 0.&lt;/P&gt;&lt;P&gt;        MESSAGE e004(ok).&lt;/P&gt;&lt;P&gt;      ENDIF.                           " IF SELFIELD-TABINDEX&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      READ TABLE i_periods INDEX selfield-tabindex.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Display individual items&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      PERFORM f_submit_report.&lt;/P&gt;&lt;P&gt;  ENDCASE.                             " CASE UCOMM&lt;/P&gt;&lt;P&gt;ENDFORM.                               " F_USR_CMD&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      FORM F_SET_UP_FIELD_TAB                                       *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Prepare Field catalog&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;No interface parameters are required&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;FORM f_setup_field_tab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA lv_i TYPE i.                    " Integer&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR lv_i.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Business Area&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CLEAR wa_afield.&lt;/P&gt;&lt;P&gt;  wa_afield-seltext_m     = text-w01.&lt;/P&gt;&lt;P&gt;  wa_afield-key = 'X'.&lt;/P&gt;&lt;P&gt;  PERFORM f_add_afield_to_fieldtab USING 'RBUSA'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;GL Account&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CLEAR wa_afield.&lt;/P&gt;&lt;P&gt;  wa_afield-seltext_m     = text-w02.&lt;/P&gt;&lt;P&gt;  wa_afield-key = 'X'.&lt;/P&gt;&lt;P&gt;  PERFORM f_add_afield_to_fieldtab USING 'RACCT'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;French GL Account&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CLEAR wa_afield.&lt;/P&gt;&lt;P&gt;  wa_afield-key = 'X'.&lt;/P&gt;&lt;P&gt;  wa_afield-seltext_m     = text-w03.&lt;/P&gt;&lt;P&gt;  PERFORM f_add_afield_to_fieldtab USING 'ALTKT'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;GL Account Name&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CLEAR wa_afield.&lt;/P&gt;&lt;P&gt;  wa_afield-key = 'X'.&lt;/P&gt;&lt;P&gt;  wa_afield-seltext_m     = text-w04.&lt;/P&gt;&lt;P&gt;  PERFORM f_add_afield_to_fieldtab USING 'TXT50'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Record Type&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CLEAR wa_afield.&lt;/P&gt;&lt;P&gt;  wa_afield-seltext_m     = text-w05.&lt;/P&gt;&lt;P&gt;  wa_afield-key = ' '.&lt;/P&gt;&lt;P&gt;  PERFORM f_add_afield_to_fieldtab USING 'RRCTY'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Transactional Currency total&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CLEAR wa_afield.&lt;/P&gt;&lt;P&gt;  wa_afield-ref_tabname = 'GLPCA'.&lt;/P&gt;&lt;P&gt;  wa_afield-cfieldname  = 'RTCUR'.&lt;/P&gt;&lt;P&gt;  wa_afield-do_sum      = 'X'.&lt;/P&gt;&lt;P&gt;  wa_afield-seltext_m   = text-w06.&lt;/P&gt;&lt;P&gt;  PERFORM f_add_afield_to_fieldtab USING 'TSL'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Transactional Currency&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CLEAR wa_afield.&lt;/P&gt;&lt;P&gt;  wa_afield-no_sum        = 'X'.&lt;/P&gt;&lt;P&gt;  wa_afield-seltext_m     = text-w07.&lt;/P&gt;&lt;P&gt;  PERFORM f_add_afield_to_fieldtab USING 'RTCUR'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Version&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CLEAR wa_afield.&lt;/P&gt;&lt;P&gt;  wa_afield-no_out = 'X'.&lt;/P&gt;&lt;P&gt;  wa_afield-seltext_m     = text-w08.&lt;/P&gt;&lt;P&gt;  PERFORM f_add_afield_to_fieldtab USING 'RVERS'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Ledger&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CLEAR wa_afield.&lt;/P&gt;&lt;P&gt;  wa_afield-no_out = 'X'.&lt;/P&gt;&lt;P&gt;  wa_afield-seltext_m     = text-w09.&lt;/P&gt;&lt;P&gt;  PERFORM f_add_afield_to_fieldtab USING 'RLDNR'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Period Break down&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  REFRESH i_fieldcat2.&lt;/P&gt;&lt;P&gt;  CLEAR lv_i.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Company Code&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  ADD 1 TO lv_i.&lt;/P&gt;&lt;P&gt;  CLEAR wa_afield.&lt;/P&gt;&lt;P&gt;  wa_afield-col_pos       = lv_i.&lt;/P&gt;&lt;P&gt;  wa_afield-fieldname     = 'CCODE'.&lt;/P&gt;&lt;P&gt;  wa_afield-key           = 'X'.&lt;/P&gt;&lt;P&gt;  wa_afield-no_sum        = 'X'.&lt;/P&gt;&lt;P&gt;  wa_afield-seltext_m     = text-w13.&lt;/P&gt;&lt;P&gt;  APPEND wa_afield TO i_fieldcat2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Fiscal Year&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  ADD 1 TO lv_i.&lt;/P&gt;&lt;P&gt;  CLEAR wa_afield.&lt;/P&gt;&lt;P&gt;  wa_afield-col_pos       = lv_i.&lt;/P&gt;&lt;P&gt;  wa_afield-fieldname     = 'FYEAR'.&lt;/P&gt;&lt;P&gt;  wa_afield-key           = 'X'.&lt;/P&gt;&lt;P&gt;  wa_afield-no_sum        = 'X'.&lt;/P&gt;&lt;P&gt;  wa_afield-seltext_m     = text-w10.&lt;/P&gt;&lt;P&gt;  APPEND wa_afield TO i_fieldcat2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;French GL Account&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  ADD 1 TO lv_i.&lt;/P&gt;&lt;P&gt;  CLEAR wa_afield.&lt;/P&gt;&lt;P&gt;  wa_afield-col_pos       = lv_i.&lt;/P&gt;&lt;P&gt;  wa_afield-fieldname     = 'ALTKT'.&lt;/P&gt;&lt;P&gt;  wa_afield-key           = 'X'.&lt;/P&gt;&lt;P&gt;  wa_afield-no_sum        = 'X'.&lt;/P&gt;&lt;P&gt;  wa_afield-seltext_m     = text-w03.&lt;/P&gt;&lt;P&gt;  APPEND wa_afield TO i_fieldcat2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Period&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  ADD 1 TO lv_i.&lt;/P&gt;&lt;P&gt;  CLEAR wa_afield.&lt;/P&gt;&lt;P&gt;  wa_afield-col_pos       = lv_i.&lt;/P&gt;&lt;P&gt;  wa_afield-fieldname     = 'POPER'.&lt;/P&gt;&lt;P&gt;  wa_afield-key           = 'X'.&lt;/P&gt;&lt;P&gt;  wa_afield-no_sum        = 'X'.&lt;/P&gt;&lt;P&gt;  wa_afield-ref_tabname   = 'GLPCA'.&lt;/P&gt;&lt;P&gt;  wa_afield-seltext_s     = text-w11.&lt;/P&gt;&lt;P&gt;  wa_afield-seltext_m     = text-w11.&lt;/P&gt;&lt;P&gt;  wa_afield-seltext_l     = text-w11.&lt;/P&gt;&lt;P&gt;  APPEND wa_afield TO i_fieldcat2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Transactional Currency&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  ADD 1 TO lv_i.&lt;/P&gt;&lt;P&gt;  CLEAR wa_afield.&lt;/P&gt;&lt;P&gt;  wa_afield-col_pos       = lv_i.&lt;/P&gt;&lt;P&gt;  wa_afield-fieldname     = 'TSL'.&lt;/P&gt;&lt;P&gt;  wa_afield-ref_fieldname = 'TSL'.&lt;/P&gt;&lt;P&gt;  wa_afield-ref_tabname   = 'GLPCA'.&lt;/P&gt;&lt;P&gt;  wa_afield-seltext_m     = text-w06.&lt;/P&gt;&lt;P&gt;  wa_afield-do_sum        = 'X'.&lt;/P&gt;&lt;P&gt;  wa_afield-cfieldname    = 'RTCUR'.&lt;/P&gt;&lt;P&gt;  APPEND wa_afield TO i_fieldcat2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Currency Key&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  ADD 1 TO lv_i.&lt;/P&gt;&lt;P&gt;  CLEAR wa_afield.&lt;/P&gt;&lt;P&gt;  wa_afield-col_pos       = lv_i.&lt;/P&gt;&lt;P&gt;  wa_afield-fieldname     = 'RTCUR'.&lt;/P&gt;&lt;P&gt;  wa_afield-ref_fieldname = 'RTCUR'.&lt;/P&gt;&lt;P&gt;  wa_afield-seltext_m     = text-w07.&lt;/P&gt;&lt;P&gt;  wa_afield-no_sum        = 'X'.&lt;/P&gt;&lt;P&gt;  APPEND wa_afield TO i_fieldcat2.&lt;/P&gt;&lt;P&gt;ENDFORM.                               " F_SETUP_FIELD_TAB&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      FORM F_ADD_AFIELD_TO_FIELDTAB                                 *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;This Routine is used to prepare field catalag                       *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  VALUE(FIELDNAME)  Field name&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;FORM f_add_afield_to_fieldtab&lt;/P&gt;&lt;P&gt;                      USING value(fieldname) LIKE wa_afield-fieldname.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  STATICS zaehler LIKE sy-tabix.&lt;/P&gt;&lt;P&gt;  wa_afield-fieldname = fieldname.&lt;/P&gt;&lt;P&gt;  ADD 1 TO zaehler.&lt;/P&gt;&lt;P&gt;  wa_afield-col_pos = zaehler.&lt;/P&gt;&lt;P&gt;  APPEND wa_afield TO i_fieldcat.&lt;/P&gt;&lt;P&gt;ENDFORM.                               " F_ADD_AFIELD_TO_FIELDTAB&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      FORM WRITE_ITAB&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;To display Internal table data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  ITAB  " Internal table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;FORM write_itab TABLES itab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT itab.&lt;/P&gt;&lt;P&gt;    WRITE / itab.&lt;/P&gt;&lt;P&gt;  ENDLOOP.                             " LOOP AT ITAB&lt;/P&gt;&lt;P&gt;ENDFORM.                               " WRITE_ITAB&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      FORM MODIFY_FIELDTAB_FOR_POPER                                *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Modify Field Catalog                                                *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  VALUE(FIELDNAME)  Field name                                  *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;FORM modify_fieldtab_for_poper&lt;/P&gt;&lt;P&gt;                     USING value(fieldname) LIKE wa_afield-fieldname.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA:&lt;/P&gt;&lt;P&gt;    lv_text LIKE wa_afield-fieldname,  " Field name&lt;/P&gt;&lt;P&gt;    lv_zaehler LIKE sy-tabix.          " Index&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DESCRIBE TABLE s_poper LINES lv_zaehler.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF lv_zaehler GT 0.&lt;/P&gt;&lt;P&gt;    lv_zaehler = 0.&lt;/P&gt;&lt;P&gt;    DO 17 TIMES.&lt;/P&gt;&lt;P&gt;      IF lv_zaehler IN s_poper.&lt;/P&gt;&lt;P&gt;        lv_text = fieldname.&lt;/P&gt;&lt;P&gt;        IF lv_zaehler EQ 0.&lt;/P&gt;&lt;P&gt;          WRITE 'VT' TO lv_text+3(2).&lt;/P&gt;&lt;P&gt;        ELSEIF lv_zaehler LT 10.&lt;/P&gt;&lt;P&gt;          WRITE lv_zaehler TO lv_text+4(1).&lt;/P&gt;&lt;P&gt;        ELSE.&lt;/P&gt;&lt;P&gt;          WRITE lv_zaehler TO lv_text+3(2).&lt;/P&gt;&lt;P&gt;        ENDIF.                         " IF LV_ZAEHLER EQ 0&lt;/P&gt;&lt;P&gt;        READ TABLE i_fieldcat WITH KEY fieldname = lv_text&lt;/P&gt;&lt;P&gt;                   INTO wa_afield.&lt;/P&gt;&lt;P&gt;        wa_afield-no_out = ' '.&lt;/P&gt;&lt;P&gt;        MODIFY i_fieldcat FROM wa_afield INDEX sy-tabix.&lt;/P&gt;&lt;P&gt;      ENDIF.                           " IF LV_ZAEHLER IN POPER&lt;/P&gt;&lt;P&gt;      ADD 1 TO lv_zaehler.&lt;/P&gt;&lt;P&gt;    ENDDO.                             " DO&lt;/P&gt;&lt;P&gt;  ENDIF.                               " IF LV_ZAEHLER GT 0&lt;/P&gt;&lt;P&gt;ENDFORM.                               " MODIFY_FIELDTAB_FOR_POPER&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  F_CLEAR_PERIODS&lt;/P&gt;&lt;P&gt;*&amp;amp;----&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;  Deleting not selected Periods&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;No Interface parameters are required&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;FORM f_clear_periods.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CHECK v_cntpoper &amp;gt; 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT 0 IN s_poper.&lt;/P&gt;&lt;P&gt;    CLEAR: i_glt0-kslvt, i_glt0-hslvt,&lt;/P&gt;&lt;P&gt;           i_glt0-tslvt.&lt;/P&gt;&lt;P&gt;  ENDIF.                               " IF NOT 0 IN POPER&lt;/P&gt;&lt;P&gt;  IF NOT 1 IN s_poper.&lt;/P&gt;&lt;P&gt;    CLEAR: i_glt0-ksl01, i_glt0-hsl01,&lt;/P&gt;&lt;P&gt;           i_glt0-tsl01.&lt;/P&gt;&lt;P&gt;  ENDIF.                               " IF NOT 1 IN POPER&lt;/P&gt;&lt;P&gt;  IF NOT 2 IN s_poper.&lt;/P&gt;&lt;P&gt;    CLEAR: i_glt0-ksl02, i_glt0-hsl02,&lt;/P&gt;&lt;P&gt;           i_glt0-tsl02.&lt;/P&gt;&lt;P&gt;  ENDIF.                               " IF NOT 2 IN POPER&lt;/P&gt;&lt;P&gt;  IF NOT 3 IN s_poper.&lt;/P&gt;&lt;P&gt;    CLEAR: i_glt0-ksl03, i_glt0-hsl03,&lt;/P&gt;&lt;P&gt;           i_glt0-tsl03.&lt;/P&gt;&lt;P&gt;  ENDIF.                               " IF NOT 3 IN POPER&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT 4 IN s_poper.&lt;/P&gt;&lt;P&gt;    CLEAR: i_glt0-ksl04, i_glt0-hsl04,&lt;/P&gt;&lt;P&gt;           i_glt0-tsl04.&lt;/P&gt;&lt;P&gt;  ENDIF.                               " IF NOT 4 IN POPER&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT 5 IN s_poper.&lt;/P&gt;&lt;P&gt;    CLEAR: i_glt0-ksl05, i_glt0-hsl05,&lt;/P&gt;&lt;P&gt;           i_glt0-tsl05.&lt;/P&gt;&lt;P&gt;  ENDIF.                               " IF NOT 5 IN POPER&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT 6 IN s_poper.&lt;/P&gt;&lt;P&gt;    CLEAR: i_glt0-ksl06, i_glt0-hsl06,&lt;/P&gt;&lt;P&gt;           i_glt0-tsl06.&lt;/P&gt;&lt;P&gt;  ENDIF.                               " IF NOT 6 IN POPER&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT 7 IN s_poper.&lt;/P&gt;&lt;P&gt;    CLEAR: i_glt0-ksl07, i_glt0-hsl07,&lt;/P&gt;&lt;P&gt;           i_glt0-tsl07.&lt;/P&gt;&lt;P&gt;  ENDIF.                               " IF NOT 7 IN POPER&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT 8 IN s_poper.&lt;/P&gt;&lt;P&gt;    CLEAR: i_glt0-ksl08, i_glt0-hsl08,&lt;/P&gt;&lt;P&gt;           i_glt0-tsl08.&lt;/P&gt;&lt;P&gt;  ENDIF.                               " IF NOT 8 IN POPER&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT 9 IN s_poper.&lt;/P&gt;&lt;P&gt;    CLEAR: i_glt0-ksl09, i_glt0-hsl09,&lt;/P&gt;&lt;P&gt;           i_glt0-tsl09.&lt;/P&gt;&lt;P&gt;  ENDIF.                               " IF NOT 9 IN POPER&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT 10 IN s_poper.&lt;/P&gt;&lt;P&gt;    CLEAR: i_glt0-ksl10, i_glt0-hsl10,&lt;/P&gt;&lt;P&gt;           i_glt0-tsl10.&lt;/P&gt;&lt;P&gt;  ENDIF.                               " IF NOT 10 IN POPER&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT 11 IN s_poper.&lt;/P&gt;&lt;P&gt;    CLEAR: i_glt0-ksl11, i_glt0-hsl11,&lt;/P&gt;&lt;P&gt;           i_glt0-tsl11.&lt;/P&gt;&lt;P&gt;  ENDIF.                               " IF NOT 11 IN POPER&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT 12 IN s_poper.&lt;/P&gt;&lt;P&gt;    CLEAR: i_glt0-ksl12, i_glt0-hsl12,&lt;/P&gt;&lt;P&gt;           i_glt0-tsl12.&lt;/P&gt;&lt;P&gt;  ENDIF.                               " IF NOT 12 IN POPER&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT 13 IN s_poper.&lt;/P&gt;&lt;P&gt;    CLEAR: i_glt0-ksl13, i_glt0-hsl13,&lt;/P&gt;&lt;P&gt;           i_glt0-tsl13.&lt;/P&gt;&lt;P&gt;  ENDIF.                               " IF NOT 13 IN POPER&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT 14 IN s_poper.&lt;/P&gt;&lt;P&gt;    CLEAR: i_glt0-ksl14, i_glt0-hsl14,&lt;/P&gt;&lt;P&gt;           i_glt0-tsl14.&lt;/P&gt;&lt;P&gt;  ENDIF.                               " IF NOT 14 IN POPER&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT 15 IN s_poper.&lt;/P&gt;&lt;P&gt;    CLEAR: i_glt0-ksl15, i_glt0-hsl15,&lt;/P&gt;&lt;P&gt;           i_glt0-tsl15.&lt;/P&gt;&lt;P&gt;  ENDIF.                               " IF NOT 15 IN POPER&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT 16 IN s_poper.&lt;/P&gt;&lt;P&gt;    CLEAR: i_glt0-ksl16, i_glt0-hsl16,&lt;/P&gt;&lt;P&gt;           i_glt0-tsl16.&lt;/P&gt;&lt;P&gt;  ENDIF.                               " IF NOT 16 IN POPER&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                               " F_CLEAR_PERIODS&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  F_CALCULATE_SUMS&lt;/P&gt;&lt;P&gt;*&amp;amp;----&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;      Calculating sums over periods                                  *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;No Interface parameters are required&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;FORM f_calculate_sums.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  i_glt0-ksl = i_glt0-kslvt + i_glt0-ksl01 +&lt;/P&gt;&lt;P&gt;                i_glt0-ksl02 + i_glt0-ksl03 +&lt;/P&gt;&lt;P&gt;                i_glt0-ksl04 + i_glt0-ksl05 +&lt;/P&gt;&lt;P&gt;                i_glt0-ksl06 + i_glt0-ksl07 +&lt;/P&gt;&lt;P&gt;                i_glt0-ksl08 + i_glt0-ksl09 +&lt;/P&gt;&lt;P&gt;                i_glt0-ksl10 + i_glt0-ksl11 +&lt;/P&gt;&lt;P&gt;                i_glt0-ksl12 + i_glt0-ksl13 +&lt;/P&gt;&lt;P&gt;                i_glt0-ksl14 + i_glt0-ksl15 +&lt;/P&gt;&lt;P&gt;                i_glt0-ksl16.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  i_glt0-hsl = i_glt0-hslvt + i_glt0-hsl01 +&lt;/P&gt;&lt;P&gt;                i_glt0-hsl02 + i_glt0-hsl03 +&lt;/P&gt;&lt;P&gt;                i_glt0-hsl04 + i_glt0-hsl05 +&lt;/P&gt;&lt;P&gt;                i_glt0-hsl06 + i_glt0-hsl07 +&lt;/P&gt;&lt;P&gt;                i_glt0-hsl08 + i_glt0-hsl09 +&lt;/P&gt;&lt;P&gt;                i_glt0-hsl10 + i_glt0-hsl11 +&lt;/P&gt;&lt;P&gt;                i_glt0-hsl12 + i_glt0-hsl13 +&lt;/P&gt;&lt;P&gt;                i_glt0-hsl14 + i_glt0-hsl15 +&lt;/P&gt;&lt;P&gt;                i_glt0-hsl16.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  i_glt0-tsl = i_glt0-tslvt + i_glt0-tsl01 +&lt;/P&gt;&lt;P&gt;                i_glt0-tsl02 + i_glt0-tsl03 +&lt;/P&gt;&lt;P&gt;                i_glt0-tsl04 + i_glt0-tsl05 +&lt;/P&gt;&lt;P&gt;                i_glt0-tsl06 + i_glt0-tsl07 +&lt;/P&gt;&lt;P&gt;                i_glt0-tsl08 + i_glt0-tsl09 +&lt;/P&gt;&lt;P&gt;                i_glt0-tsl10 + i_glt0-tsl11 +&lt;/P&gt;&lt;P&gt;                i_glt0-tsl12 + i_glt0-tsl13 +&lt;/P&gt;&lt;P&gt;                i_glt0-tsl14 + i_glt0-tsl15 +&lt;/P&gt;&lt;P&gt;                i_glt0-tsl16.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                               " F_CALCULATE_SUMS&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  F_FILL_TABLES2&lt;/P&gt;&lt;P&gt;*&amp;amp;----&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;Fill Secondary List table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;No Interface parameters are required&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;FORM f_fill_tables2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  REFRESH i_periods.&lt;/P&gt;&lt;P&gt;  CLEAR i_periods.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT i_glt0temp1 WHERE busctr = i_glt0-busctr&lt;/P&gt;&lt;P&gt;                        AND accno = i_glt0-accno&lt;/P&gt;&lt;P&gt;                        AND t_curr = i_glt0-t_curr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    i_periods-rtcur    = i_glt0temp1-rtcur.&lt;/P&gt;&lt;P&gt;    i_periods-ccode    = i_glt0temp1-ccode.&lt;/P&gt;&lt;P&gt;    i_periods-fyear    = i_glt0temp1-fyear.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF i_glt0-altkt EQ space.&lt;/P&gt;&lt;P&gt;      READ TABLE i_skb1 WITH KEY bukrs = i_glt0temp1-ccode&lt;/P&gt;&lt;P&gt;                    saknr = i_glt0temp1-racct BINARY SEARCH.&lt;/P&gt;&lt;P&gt;      IF sy-subrc EQ 0.&lt;/P&gt;&lt;P&gt;        MOVE i_skb1-altkt TO i_periods-altkt.&lt;/P&gt;&lt;P&gt;      ENDIF.                           " IF SY-SUBRC EQ 0&lt;/P&gt;&lt;P&gt;    ENDIF.                             " IV I_GLT0-ALTKT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF 0 IN s_poper.&lt;/P&gt;&lt;P&gt;      i_periods-poper = 'Bal.carrried forward'(w12).&lt;/P&gt;&lt;P&gt;      i_periods-ksl   = i_glt0temp1-kslvt.&lt;/P&gt;&lt;P&gt;      i_periods-hsl   = i_glt0temp1-hslvt.&lt;/P&gt;&lt;P&gt;      i_periods-tsl   = i_glt0temp1-tslvt.&lt;/P&gt;&lt;P&gt;      APPEND i_periods.&lt;/P&gt;&lt;P&gt;    ENDIF.                             " IF 0 IN POPER.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF 1 IN s_poper.&lt;/P&gt;&lt;P&gt;      i_periods-poper = '01'.&lt;/P&gt;&lt;P&gt;      i_periods-ksl   = i_glt0temp1-ksl01.&lt;/P&gt;&lt;P&gt;      i_periods-hsl   = i_glt0temp1-hsl01.&lt;/P&gt;&lt;P&gt;      i_periods-tsl   = i_glt0temp1-tsl01.&lt;/P&gt;&lt;P&gt;      APPEND i_periods.&lt;/P&gt;&lt;P&gt;    ENDIF.                             " IF 1 IN POPER.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF 2 IN s_poper.&lt;/P&gt;&lt;P&gt;      i_periods-poper = '02'.&lt;/P&gt;&lt;P&gt;      i_periods-ksl   = i_glt0temp1-ksl02.&lt;/P&gt;&lt;P&gt;      i_periods-hsl   = i_glt0temp1-hsl02.&lt;/P&gt;&lt;P&gt;      i_periods-tsl   = i_glt0temp1-tsl02.&lt;/P&gt;&lt;P&gt;      APPEND i_periods.&lt;/P&gt;&lt;P&gt;    ENDIF.                             " IF 2 IN POPER.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF 3 IN s_poper.&lt;/P&gt;&lt;P&gt;      i_periods-poper = '03'.&lt;/P&gt;&lt;P&gt;      i_periods-ksl   = i_glt0temp1-ksl03.&lt;/P&gt;&lt;P&gt;      i_periods-hsl   = i_glt0temp1-hsl03.&lt;/P&gt;&lt;P&gt;      i_periods-tsl   = i_glt0temp1-tsl03.&lt;/P&gt;&lt;P&gt;      APPEND i_periods.&lt;/P&gt;&lt;P&gt;    ENDIF.                             " IF 3 IN POPER.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF 4 IN s_poper.&lt;/P&gt;&lt;P&gt;      i_periods-poper = '04'.&lt;/P&gt;&lt;P&gt;      i_periods-ksl   = i_glt0temp1-ksl04.&lt;/P&gt;&lt;P&gt;      i_periods-hsl   = i_glt0temp1-hsl04.&lt;/P&gt;&lt;P&gt;      i_periods-tsl   = i_glt0temp1-tsl04.&lt;/P&gt;&lt;P&gt;      APPEND i_periods.&lt;/P&gt;&lt;P&gt;    ENDIF.                             " IF 4 IN POPER.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF 5 IN s_poper.&lt;/P&gt;&lt;P&gt;      i_periods-poper = '05'.&lt;/P&gt;&lt;P&gt;      i_periods-ksl   = i_glt0temp1-ksl05.&lt;/P&gt;&lt;P&gt;      i_periods-hsl   = i_glt0temp1-hsl05.&lt;/P&gt;&lt;P&gt;      i_periods-tsl   = i_glt0temp1-tsl05.&lt;/P&gt;&lt;P&gt;      APPEND i_periods.&lt;/P&gt;&lt;P&gt;    ENDIF.                             " IF 5 IN POPER.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF 6 IN s_poper.&lt;/P&gt;&lt;P&gt;      i_periods-poper = '06'.&lt;/P&gt;&lt;P&gt;      i_periods-ksl   = i_glt0temp1-ksl06.&lt;/P&gt;&lt;P&gt;      i_periods-hsl   = i_glt0temp1-hsl06.&lt;/P&gt;&lt;P&gt;      i_periods-tsl   = i_glt0temp1-tsl06.&lt;/P&gt;&lt;P&gt;      APPEND i_periods.&lt;/P&gt;&lt;P&gt;    ENDIF.                             " IF 6 IN POPER.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF 7 IN s_poper.&lt;/P&gt;&lt;P&gt;      i_periods-poper = '07'.&lt;/P&gt;&lt;P&gt;      i_periods-ksl   = i_glt0temp1-ksl07.&lt;/P&gt;&lt;P&gt;      i_periods-hsl   = i_glt0temp1-hsl07.&lt;/P&gt;&lt;P&gt;      i_periods-tsl   = i_glt0temp1-tsl07.&lt;/P&gt;&lt;P&gt;      APPEND i_periods.&lt;/P&gt;&lt;P&gt;    ENDIF.                             " IF 7 IN POPER.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF 8 IN s_poper.&lt;/P&gt;&lt;P&gt;      i_periods-poper = '08'.&lt;/P&gt;&lt;P&gt;      i_periods-ksl   = i_glt0temp1-ksl08.&lt;/P&gt;&lt;P&gt;      i_periods-hsl   = i_glt0temp1-hsl08.&lt;/P&gt;&lt;P&gt;      i_periods-tsl   = i_glt0temp1-tsl08.&lt;/P&gt;&lt;P&gt;      APPEND i_periods.&lt;/P&gt;&lt;P&gt;    ENDIF.                             " IF 8 IN POPER.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF 9 IN s_poper.&lt;/P&gt;&lt;P&gt;      i_periods-poper = '09'.&lt;/P&gt;&lt;P&gt;      i_periods-ksl   = i_glt0temp1-ksl09.&lt;/P&gt;&lt;P&gt;      i_periods-hsl   = i_glt0temp1-hsl09.&lt;/P&gt;&lt;P&gt;      i_periods-tsl   = i_glt0temp1-tsl09.&lt;/P&gt;&lt;P&gt;      APPEND i_periods.&lt;/P&gt;&lt;P&gt;    ENDIF.                             " IF 9 IN POPER.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF 10 IN s_poper.&lt;/P&gt;&lt;P&gt;      i_periods-poper = '10'.&lt;/P&gt;&lt;P&gt;      i_periods-ksl   = i_glt0temp1-ksl10.&lt;/P&gt;&lt;P&gt;      i_periods-hsl   = i_glt0temp1-hsl10.&lt;/P&gt;&lt;P&gt;      i_periods-tsl   = i_glt0temp1-tsl10.&lt;/P&gt;&lt;P&gt;      APPEND i_periods.&lt;/P&gt;&lt;P&gt;    ENDIF.                             " IF 10 IN POPER.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF 11 IN s_poper.&lt;/P&gt;&lt;P&gt;      i_periods-poper = '11'.&lt;/P&gt;&lt;P&gt;      i_periods-ksl   = i_glt0temp1-ksl11.&lt;/P&gt;&lt;P&gt;      i_periods-hsl   = i_glt0temp1-hsl11.&lt;/P&gt;&lt;P&gt;      i_periods-tsl   = i_glt0temp1-tsl11.&lt;/P&gt;&lt;P&gt;      APPEND i_periods.&lt;/P&gt;&lt;P&gt;    ENDIF.                             " IF 11 IN POPER.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF 12 IN s_poper.&lt;/P&gt;&lt;P&gt;      i_periods-poper = '12'.&lt;/P&gt;&lt;P&gt;      i_periods-ksl   = i_glt0temp1-ksl12.&lt;/P&gt;&lt;P&gt;      i_periods-hsl   = i_glt0temp1-hsl12.&lt;/P&gt;&lt;P&gt;      i_periods-tsl   = i_glt0temp1-tsl12.&lt;/P&gt;&lt;P&gt;      APPEND i_periods.&lt;/P&gt;&lt;P&gt;    ENDIF.                             " IF 12 IN POPER.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF 13 IN s_poper.&lt;/P&gt;&lt;P&gt;      i_periods-poper = '13'.&lt;/P&gt;&lt;P&gt;      i_periods-ksl   = i_glt0temp1-ksl13.&lt;/P&gt;&lt;P&gt;      i_periods-hsl   = i_glt0temp1-hsl13.&lt;/P&gt;&lt;P&gt;      i_periods-tsl   = i_glt0temp1-tsl13.&lt;/P&gt;&lt;P&gt;      APPEND i_periods.&lt;/P&gt;&lt;P&gt;    ENDIF.                             " IF 13 IN POPER.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF 14 IN s_poper.&lt;/P&gt;&lt;P&gt;      i_periods-poper = '14'.&lt;/P&gt;&lt;P&gt;      i_periods-ksl   = i_glt0temp1-ksl14.&lt;/P&gt;&lt;P&gt;      i_periods-hsl   = i_glt0temp1-hsl14.&lt;/P&gt;&lt;P&gt;      i_periods-tsl   = i_glt0temp1-tsl14.&lt;/P&gt;&lt;P&gt;      APPEND i_periods.&lt;/P&gt;&lt;P&gt;    ENDIF.                             " IF 14 IN POPER.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF 15 IN s_poper.&lt;/P&gt;&lt;P&gt;      i_periods-poper = '15'.&lt;/P&gt;&lt;P&gt;      i_periods-ksl   = i_glt0temp1-ksl15.&lt;/P&gt;&lt;P&gt;      i_periods-hsl   = i_glt0temp1-hsl15.&lt;/P&gt;&lt;P&gt;      i_periods-tsl   = i_glt0temp1-tsl15.&lt;/P&gt;&lt;P&gt;      APPEND i_periods.&lt;/P&gt;&lt;P&gt;    ENDIF.                             " IF 15 IN POPER.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF 16 IN s_poper.&lt;/P&gt;&lt;P&gt;      i_periods-poper = '16'.&lt;/P&gt;&lt;P&gt;      i_periods-ksl   = i_glt0temp1-ksl16.&lt;/P&gt;&lt;P&gt;      i_periods-hsl   = i_glt0temp1-hsl16.&lt;/P&gt;&lt;P&gt;      i_periods-tsl   = i_glt0temp1-tsl16.&lt;/P&gt;&lt;P&gt;      APPEND i_periods.&lt;/P&gt;&lt;P&gt;    ENDIF.                             " IF 16 IN POPER.&lt;/P&gt;&lt;P&gt;    CLEAR i_periods.&lt;/P&gt;&lt;P&gt;  ENDLOOP.                             " LOOP AT I_GLT0TEMP1&lt;/P&gt;&lt;P&gt;ENDFORM.                               " F_FILL_TABLES2&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      FORM F_SET_PF_STATUS_2                                        *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  EXTAB Auszublendende Funktions-Codes                          *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      Eigenen CUA-Status einblenden                                 *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      Dynamischer Aufruf aus K_KKBL_LIST_DISPLAY                    *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;FORM f_set_pf_status_2 USING extab TYPE slis_t_extab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SET PF-STATUS 'STDPOPUP' EXCLUDING extab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                               " F_SET_PF_STATUS_2&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  F_FILL_LISTHEADER&lt;/P&gt;&lt;P&gt;*&amp;amp;----&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;This routine is uesd to prepare list header&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;No interface parameters are required&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;FORM f_fill_listheader.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  READ TABLE i_glt0 INDEX 1.&lt;/P&gt;&lt;P&gt;  i_listheader-typ  = 'S'.&lt;/P&gt;&lt;P&gt;  i_listheader-key  = text-h01.&lt;/P&gt;&lt;P&gt;  IF v_cntrldnr &amp;lt;= 1.&lt;/P&gt;&lt;P&gt;    i_listheader-info = i_glt0-rldnr.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    i_listheader-info = '*'.&lt;/P&gt;&lt;P&gt;  ENDIF.                               " IF V_CNTRLDNR &amp;lt;= 1&lt;/P&gt;&lt;P&gt;  APPEND i_listheader.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  i_listheader-typ  = 'S'.&lt;/P&gt;&lt;P&gt;  i_listheader-key  = text-h05.&lt;/P&gt;&lt;P&gt;  IF v_cntryear &amp;lt;= 1.&lt;/P&gt;&lt;P&gt;    i_listheader-info = i_glt0-ryear.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    i_listheader-info = '*'.&lt;/P&gt;&lt;P&gt;  ENDIF.                               " IF V_CNTRYEAR &amp;lt;= 1&lt;/P&gt;&lt;P&gt;  APPEND i_listheader.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                               " F_FILL-LISTHEADER&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      FORM TOP_OF_PAGE&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Called dynamically form REUSE_ALV_LIST_DISPLAY&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;No interface parameters are required&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;FORM top_of_page.&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 = i_listheader[]&lt;/P&gt;&lt;P&gt;       EXCEPTIONS&lt;/P&gt;&lt;P&gt;            OTHERS             = 1.&lt;/P&gt;&lt;P&gt;  IF sy-subrc EQ 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Do nothing&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  ENDIF.                               " IF SY-SUBRC EQ 0&lt;/P&gt;&lt;P&gt;ENDFORM.                               " TOP_OF_PAGE&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  F_DB_OPTIMIZER&lt;/P&gt;&lt;P&gt;*&amp;amp;----&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;To optimize the data base performance&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;There are no interface parameters to be passed to this routine&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;FORM f_db_optimizer .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Selection into internal table i_glt0&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'&lt;/P&gt;&lt;P&gt;       EXPORTING&lt;/P&gt;&lt;P&gt;            text = text-p10.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Use trick to mislead DB-optimizer&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CALL FUNCTION 'DB_DO_NOT_USE_CLIENT_INDEX'&lt;/P&gt;&lt;P&gt;       EXPORTING&lt;/P&gt;&lt;P&gt;            value    = sy-mandt&lt;/P&gt;&lt;P&gt;       TABLES&lt;/P&gt;&lt;P&gt;            mandttab = r_rclnt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                               " F_DB_OPTIMIZER&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  F_FETCH_BUSADATA&lt;/P&gt;&lt;P&gt;*&amp;amp;----&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;Fetch Business area and Accounting data for the given selection&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;criteria&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;There are no interface parameters to be passed to this routine&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;FORM f_fetch_busadata .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  REFRESH i_glt0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get the required data from G/L account master records table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  SELECT *&lt;/P&gt;&lt;P&gt;    FROM glt0&lt;/P&gt;&lt;P&gt;   CLIENT SPECIFIED&lt;/P&gt;&lt;P&gt;   PACKAGE SIZE v_packsize&lt;/P&gt;&lt;P&gt;   APPENDING CORRESPONDING FIELDS&lt;/P&gt;&lt;P&gt;   OF TABLE i_glt0&lt;/P&gt;&lt;P&gt;   WHERE rclnt IN r_rclnt&lt;/P&gt;&lt;P&gt;     AND rldnr IN s_rldnr&lt;/P&gt;&lt;P&gt;     AND rrcty IN s_rrcty&lt;/P&gt;&lt;P&gt;     AND rvers IN s_rvers&lt;/P&gt;&lt;P&gt;     AND bukrs IN s_bukrs&lt;/P&gt;&lt;P&gt;     AND ryear IN s_ryear&lt;/P&gt;&lt;P&gt;     AND racct IN s_racct&lt;/P&gt;&lt;P&gt;     AND rbusa IN s_rbusa.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    v_text1 = sy-dbcnt.&lt;/P&gt;&lt;P&gt;    CONDENSE v_text1.&lt;/P&gt;&lt;P&gt;    CONCATENATE v_text1 text-s01&lt;/P&gt;&lt;P&gt;           INTO v_text2 SEPARATED BY space.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'&lt;/P&gt;&lt;P&gt;         EXPORTING&lt;/P&gt;&lt;P&gt;              text = v_text2. " ... Datensätze gelesen&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDSELECT.                           " SELECT *&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF sy-dbcnt EQ 0.                    " Info,dass nichts gefunden wurde&lt;/P&gt;&lt;P&gt;    MESSAGE s213(v4).&lt;/P&gt;&lt;P&gt;    EXIT.&lt;/P&gt;&lt;P&gt;  ENDIF.                               " IF SY-DBCNT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DESCRIBE TABLE s_poper LINES v_cntpoper.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                               " F_FETCH_PFTCDATA&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  F_MODIFY_GLDATA&lt;/P&gt;&lt;P&gt;*&amp;amp;----&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;Modify selected GL account data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;There are no interface parameters to be passed to this routine&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;FORM f_modify_gldata.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: li_fska1 LIKE i_glt0 OCCURS 0&lt;/P&gt;&lt;P&gt;                WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;List  sorting&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  SORT i_glt0 BY rldnr ryear bukrs rrcty rvers.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Loop through the profit center totals table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  LOOP AT i_glt0.&lt;/P&gt;&lt;P&gt;    MOVE:&lt;/P&gt;&lt;P&gt;      i_glt0-rbusa  TO i_glt0-busctr,&lt;/P&gt;&lt;P&gt;      i_glt0-racct  TO i_glt0-accno,&lt;/P&gt;&lt;P&gt;      i_glt0-rtcur  TO i_glt0-t_curr,&lt;/P&gt;&lt;P&gt;      i_glt0-bukrs TO i_glt0-ccode,&lt;/P&gt;&lt;P&gt;      i_glt0-ryear TO i_glt0-fyear.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;On change of Year&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    ON CHANGE OF i_glt0-ryear.&lt;/P&gt;&lt;P&gt;      ADD 1 TO v_cntryear.&lt;/P&gt;&lt;P&gt;    ENDON.                             " ON CHANGE OF I_GLT0-RYEAR&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;On change of Ledeger&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    ON CHANGE OF i_glt0-rldnr.&lt;/P&gt;&lt;P&gt;      ADD 1 TO v_cntrldnr.&lt;/P&gt;&lt;P&gt;    ENDON.                             " ON CHANGE OF I_GLT0-RLDNR&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Deleting not selcted periods&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    PERFORM f_clear_periods.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Adding values of periods&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    PERFORM f_calculate_sums.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get GL Account Name&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    READ TABLE i_skat WITH KEY saknr = i_glt0-racct&lt;/P&gt;&lt;P&gt;                               BINARY SEARCH.&lt;/P&gt;&lt;P&gt;    IF sy-subrc EQ 0.&lt;/P&gt;&lt;P&gt;      MOVE i_skat-txt50 TO i_glt0-txt50.&lt;/P&gt;&lt;P&gt;    ENDIF.                             " IF SY-SUBRC EQ 0&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    READ TABLE i_ska1 WITH KEY saknr = i_glt0-racct&lt;/P&gt;&lt;P&gt;                               BINARY SEARCH.&lt;/P&gt;&lt;P&gt;    IF sy-subrc EQ 0.&lt;/P&gt;&lt;P&gt;      MOVE-CORRESPONDING i_glt0 TO li_fska1.&lt;/P&gt;&lt;P&gt;      APPEND li_fska1.&lt;/P&gt;&lt;P&gt;    ENDIF.                             " IF SY-SUBRC EQ 0&lt;/P&gt;&lt;P&gt;  ENDLOOP.                             " LOOP AT I_GLT0&lt;/P&gt;&lt;P&gt;  REFRESH i_glt0.&lt;/P&gt;&lt;P&gt;  i_glt0[] = li_fska1[].&lt;/P&gt;&lt;P&gt;ENDFORM.                               " F_MODIFY_GLDATA&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  F_CALCULATE_GLTOT&lt;/P&gt;&lt;P&gt;*&amp;amp;----&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;Calculate totals by profit center, gl account and Currency&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;No interface parameters are required&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;FORM f_calculate_gltot .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA:&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Local variables&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    lv_glt0ksl LIKE glt0-ksl01,        " Amount in Group Currency&lt;/P&gt;&lt;P&gt;    lv_glt0hsl LIKE glt0-hsl01,        " Amount in Company code Currency&lt;/P&gt;&lt;P&gt;    lv_glt0tsl LIKE glt0-tsl01.        " Amount in Transaction Currency&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA:&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Group Currency&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    lv_kslvt    LIKE glt0-kslvt,       " Group amt&lt;/P&gt;&lt;P&gt;    lv_ksl01    LIKE glt0-ksl01,       " Group amt01&lt;/P&gt;&lt;P&gt;    lv_ksl02    LIKE glt0-ksl02,       " Group amt02&lt;/P&gt;&lt;P&gt;    lv_ksl03    LIKE glt0-ksl03,       " Group amt03&lt;/P&gt;&lt;P&gt;    lv_ksl04    LIKE glt0-ksl04,       " Group amt04&lt;/P&gt;&lt;P&gt;    lv_ksl05    LIKE glt0-ksl05,       " Group amt05&lt;/P&gt;&lt;P&gt;    lv_ksl06    LIKE glt0-ksl06,       " Group amt06&lt;/P&gt;&lt;P&gt;    lv_ksl07    LIKE glt0-ksl07,       " Group amt07&lt;/P&gt;&lt;P&gt;    lv_ksl08    LIKE glt0-ksl08,       " Group amt08&lt;/P&gt;&lt;P&gt;    lv_ksl09    LIKE glt0-ksl09,       " Group amt09&lt;/P&gt;&lt;P&gt;    lv_ksl10    LIKE glt0-ksl10,       " Group amt10&lt;/P&gt;&lt;P&gt;    lv_ksl11    LIKE glt0-ksl11,       " Group amt11&lt;/P&gt;&lt;P&gt;    lv_ksl12    LIKE glt0-ksl12,       " Group amt12&lt;/P&gt;&lt;P&gt;    lv_ksl13    LIKE glt0-ksl13,       " Group amt13&lt;/P&gt;&lt;P&gt;    lv_ksl14    LIKE glt0-ksl14,       " Group amt14&lt;/P&gt;&lt;P&gt;    lv_ksl15    LIKE glt0-ksl15,       " Group amt15&lt;/P&gt;&lt;P&gt;    lv_ksl16    LIKE glt0-ksl16,       " Group amt16&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Transaction Currency&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    lv_tslvt    LIKE glt0-tslvt,       " Trans amt&lt;/P&gt;&lt;P&gt;    lv_tsl01    LIKE glt0-tsl01,       " Trans amt01&lt;/P&gt;&lt;P&gt;    lv_tsl02    LIKE glt0-tsl02,       " Trans amt02&lt;/P&gt;&lt;P&gt;    lv_tsl03    LIKE glt0-tsl03,       " Trans amt03&lt;/P&gt;&lt;P&gt;    lv_tsl04    LIKE glt0-tsl04,       " Trans amt04&lt;/P&gt;&lt;P&gt;    lv_tsl05    LIKE glt0-tsl05,       " Trans amt05&lt;/P&gt;&lt;P&gt;    lv_tsl06    LIKE glt0-tsl06,       " Trans amt06&lt;/P&gt;&lt;P&gt;    lv_tsl07    LIKE glt0-tsl07,       " Trans amt07&lt;/P&gt;&lt;P&gt;    lv_tsl08    LIKE glt0-tsl08,       " Trans amt08&lt;/P&gt;&lt;P&gt;    lv_tsl09    LIKE glt0-tsl09,       " Trans amt09&lt;/P&gt;&lt;P&gt;    lv_tsl10    LIKE glt0-tsl10,       " Trans amt10&lt;/P&gt;&lt;P&gt;    lv_tsl11    LIKE glt0-tsl11,       " Trans amt11&lt;/P&gt;&lt;P&gt;    lv_tsl12    LIKE glt0-tsl12,       " Trans amt12&lt;/P&gt;&lt;P&gt;    lv_tsl13    LIKE glt0-tsl13,       " Trans amt13&lt;/P&gt;&lt;P&gt;    lv_tsl14    LIKE glt0-tsl14,       " Trans amt14&lt;/P&gt;&lt;P&gt;    lv_tsl15    LIKE glt0-tsl15,       " Trans amt15&lt;/P&gt;&lt;P&gt;    lv_tsl16    LIKE glt0-tsl16,       " Trans amt16&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Company Code Currency&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    lv_hslvt    LIKE glt0-hslvt,       " Local amt&lt;/P&gt;&lt;P&gt;    lv_hsl01    LIKE glt0-hsl01,       " Local amt01&lt;/P&gt;&lt;P&gt;    lv_hsl02    LIKE glt0-hsl02,       " Local amt02&lt;/P&gt;&lt;P&gt;    lv_hsl03    LIKE glt0-hsl03,       " Local amt03&lt;/P&gt;&lt;P&gt;    lv_hsl04    LIKE glt0-hsl04,       " Local amt04&lt;/P&gt;&lt;P&gt;    lv_hsl05    LIKE glt0-hsl05,       " Local amt05&lt;/P&gt;&lt;P&gt;    lv_hsl06    LIKE glt0-hsl06,       " Local amt06&lt;/P&gt;&lt;P&gt;    lv_hsl07    LIKE glt0-hsl07,       " Local amt07&lt;/P&gt;&lt;P&gt;    lv_hsl08    LIKE glt0-hsl08,       " Local amt08&lt;/P&gt;&lt;P&gt;    lv_hsl09    LIKE glt0-hsl09,       " Local amt09&lt;/P&gt;&lt;P&gt;    lv_hsl10    LIKE glt0-hsl10,       " Local amt10&lt;/P&gt;&lt;P&gt;    lv_hsl11    LIKE glt0-hsl11,       " Local amt11&lt;/P&gt;&lt;P&gt;    lv_hsl12    LIKE glt0-hsl12,       " Local amt12&lt;/P&gt;&lt;P&gt;    lv_hsl13    LIKE glt0-hsl13,       " Local amt13&lt;/P&gt;&lt;P&gt;    lv_hsl14    LIKE glt0-hsl14,       " Local amt14&lt;/P&gt;&lt;P&gt;    lv_hsl15    LIKE glt0-hsl15,       " Local amt15&lt;/P&gt;&lt;P&gt;    lv_hsl16    LIKE glt0-hsl16,       " Local amt16&lt;/P&gt;&lt;P&gt;    lv_altkt    LIKE skb1-altkt,       " French GL Acc&lt;/P&gt;&lt;P&gt;    lv_faltkt   LIKE skb1-altkt,       " French GL Acc&lt;/P&gt;&lt;P&gt;    lv_flag     TYPE c,                " Flag&lt;/P&gt;&lt;P&gt;    lv_aflag    TYPE c.                " Flag&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  REFRESH i_glt0temp.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; i_glt0temp[] = i_glt0[].&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  i_glt0temp[] = i_glt0temp1[].&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  REFRESH i_glt0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SORT i_glt0temp BY busctr accno t_curr ccode.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT i_glt0temp.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Company Code&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    AT NEW ccode.&lt;/P&gt;&lt;P&gt;      CLEAR lv_altkt.&lt;/P&gt;&lt;P&gt;      READ TABLE i_altkt WITH KEY busctr = i_glt0temp-busctr&lt;/P&gt;&lt;P&gt;                                  accno = i_glt0temp-accno&lt;/P&gt;&lt;P&gt;                                  ccode = i_glt0temp-ccode&lt;/P&gt;&lt;P&gt;                                  BINARY SEARCH.&lt;/P&gt;&lt;P&gt;      IF sy-subrc EQ 0.&lt;/P&gt;&lt;P&gt;        lv_altkt = i_altkt-altkt.&lt;/P&gt;&lt;P&gt;      ENDIF.                           " IF SY-SUBRC EQ 0&lt;/P&gt;&lt;P&gt;    ENDAT.                             " AT NEW CCODE&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    MOVE-CORRESPONDING i_glt0temp TO i_glt0.&lt;/P&gt;&lt;P&gt;    IF sy-tabix  EQ 1 OR lv_aflag = 'Y'.&lt;/P&gt;&lt;P&gt;      MOVE lv_altkt TO lv_faltkt.&lt;/P&gt;&lt;P&gt;    ENDIF.                             " IF SY-TABIX..&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CLEAR lv_aflag.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF lv_faltkt NE lv_altkt.&lt;/P&gt;&lt;P&gt;      lv_flag = 'N'.&lt;/P&gt;&lt;P&gt;    ENDIF.                             " IF LV_FALTKT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Totals in Transaction Currency&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    lv_tslvt = lv_tslvt + i_glt0temp-tslvt.&lt;/P&gt;&lt;P&gt;    lv_tsl01 = lv_tsl01 + i_glt0temp-tsl01.&lt;/P&gt;&lt;P&gt;    lv_tsl02 = lv_tsl02 + i_glt0temp-tsl02.&lt;/P&gt;&lt;P&gt;    lv_tsl03 = lv_tsl03 + i_glt0temp-tsl03.&lt;/P&gt;&lt;P&gt;    lv_tsl04 = lv_tsl04 + i_glt0temp-tsl04.&lt;/P&gt;&lt;P&gt;    lv_tsl05 = lv_tsl05 + i_glt0temp-tsl05.&lt;/P&gt;&lt;P&gt;    lv_tsl06 = lv_tsl06 + i_glt0temp-tsl06.&lt;/P&gt;&lt;P&gt;    lv_tsl07 = lv_tsl07 + i_glt0temp-tsl07.&lt;/P&gt;&lt;P&gt;    lv_tsl08 = lv_tsl08 + i_glt0temp-tsl08.&lt;/P&gt;&lt;P&gt;    lv_tsl09 = lv_tsl09 + i_glt0temp-tsl09.&lt;/P&gt;&lt;P&gt;    lv_tsl10 = lv_tsl10 + i_glt0temp-tsl10.&lt;/P&gt;&lt;P&gt;    lv_tsl11 = lv_tsl11 + i_glt0temp-tsl11.&lt;/P&gt;&lt;P&gt;    lv_tsl12 = lv_tsl12 + i_glt0temp-tsl12.&lt;/P&gt;&lt;P&gt;    lv_tsl13 = lv_tsl13 + i_glt0temp-tsl13.&lt;/P&gt;&lt;P&gt;    lv_tsl14 = lv_tsl14 + i_glt0temp-tsl14.&lt;/P&gt;&lt;P&gt;    lv_tsl15 = lv_tsl15 + i_glt0temp-tsl15.&lt;/P&gt;&lt;P&gt;    lv_tsl16 = lv_tsl16 + i_glt0temp-tsl16.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Totals in Local Currency&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    lv_hslvt = lv_hslvt + i_glt0temp-hslvt.&lt;/P&gt;&lt;P&gt;    lv_hsl01 = lv_hsl01 + i_glt0temp-hsl01.&lt;/P&gt;&lt;P&gt;    lv_hsl02 = lv_hsl02 + i_glt0temp-hsl02.&lt;/P&gt;&lt;P&gt;    lv_hsl03 = lv_hsl03 + i_glt0temp-hsl03.&lt;/P&gt;&lt;P&gt;    lv_hsl04 = lv_hsl04 + i_glt0temp-hsl04.&lt;/P&gt;&lt;P&gt;    lv_hsl05 = lv_hsl05 + i_glt0temp-hsl05.&lt;/P&gt;&lt;P&gt;    lv_hsl06 = lv_hsl06 + i_glt0temp-hsl06.&lt;/P&gt;&lt;P&gt;    lv_hsl07 = lv_hsl07 + i_glt0temp-hsl07.&lt;/P&gt;&lt;P&gt;    lv_hsl08 = lv_hsl08 + i_glt0temp-hsl08.&lt;/P&gt;&lt;P&gt;    lv_hsl09 = lv_hsl09 + i_glt0temp-hsl09.&lt;/P&gt;&lt;P&gt;    lv_hsl10 = lv_hsl10 + i_glt0temp-hsl10.&lt;/P&gt;&lt;P&gt;    lv_hsl11 = lv_hsl11 + i_glt0temp-hsl11.&lt;/P&gt;&lt;P&gt;    lv_hsl12 = lv_hsl12 + i_glt0temp-hsl12.&lt;/P&gt;&lt;P&gt;    lv_hsl13 = lv_hsl13 + i_glt0temp-hsl13.&lt;/P&gt;&lt;P&gt;    lv_hsl14 = lv_hsl14 + i_glt0temp-hsl14.&lt;/P&gt;&lt;P&gt;    lv_hsl15 = lv_hsl15 + i_glt0temp-hsl15.&lt;/P&gt;&lt;P&gt;    lv_hsl16 = lv_hsl16 + i_glt0temp-hsl16.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Totals in Group cirrency&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    lv_kslvt = lv_kslvt + i_glt0temp-kslvt.&lt;/P&gt;&lt;P&gt;    lv_ksl01 = lv_ksl01 + i_glt0temp-ksl01.&lt;/P&gt;&lt;P&gt;    lv_ksl02 = lv_ksl02 + i_glt0temp-ksl02.&lt;/P&gt;&lt;P&gt;    lv_ksl03 = lv_ksl03 + i_glt0temp-ksl03.&lt;/P&gt;&lt;P&gt;    lv_ksl04 = lv_ksl04 + i_glt0temp-ksl04.&lt;/P&gt;&lt;P&gt;    lv_ksl05 = lv_ksl05 + i_glt0temp-ksl05.&lt;/P&gt;&lt;P&gt;    lv_ksl06 = lv_ksl06 + i_glt0temp-ksl06.&lt;/P&gt;&lt;P&gt;    lv_ksl07 = lv_ksl07 + i_glt0temp-ksl07.&lt;/P&gt;&lt;P&gt;    lv_ksl08 = lv_ksl08 + i_glt0temp-ksl08.&lt;/P&gt;&lt;P&gt;    lv_ksl09 = lv_ksl09 + i_glt0temp-ksl09.&lt;/P&gt;&lt;P&gt;    lv_ksl10 = lv_ksl10 + i_glt0temp-ksl10.&lt;/P&gt;&lt;P&gt;    lv_ksl11 = lv_ksl11 + i_glt0temp-ksl11.&lt;/P&gt;&lt;P&gt;    lv_ksl12 = lv_ksl12 + i_glt0temp-ksl12.&lt;/P&gt;&lt;P&gt;    lv_ksl13 = lv_ksl13 + i_glt0temp-ksl13.&lt;/P&gt;&lt;P&gt;    lv_ksl14 = lv_ksl14 + i_glt0temp-ksl14.&lt;/P&gt;&lt;P&gt;    lv_ksl15 = lv_ksl15 + i_glt0temp-ksl15.&lt;/P&gt;&lt;P&gt;    lv_ksl16 = lv_ksl16 + i_glt0temp-ksl16.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Totals Amount in Group,Comp code, Trans&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    lv_glt0ksl = lv_glt0ksl + i_glt0temp-ksl.&lt;/P&gt;&lt;P&gt;    lv_glt0hsl = lv_glt0hsl + i_glt0temp-hsl.&lt;/P&gt;&lt;P&gt;    lv_glt0tsl = lv_glt0tsl + i_glt0temp-tsl.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    MOVE lv_altkt TO i_glt0-altkt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    AT END OF t_curr.&lt;/P&gt;&lt;P&gt;      lv_aflag = 'Y'.&lt;/P&gt;&lt;P&gt;      IF lv_flag EQ 'N'.&lt;/P&gt;&lt;P&gt;        CLEAR i_glt0-altkt.&lt;/P&gt;&lt;P&gt;      ENDIF.                           " IF lv_flag EQ 'N'&lt;/P&gt;&lt;P&gt;      MOVE i_glt0temp-busctr TO i_glt0-busctr.&lt;/P&gt;&lt;P&gt;      MOVE i_glt0temp-accno TO i_glt0-accno.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      MOVE lv_glt0ksl TO i_glt0-ksl.&lt;/P&gt;&lt;P&gt;      MOVE lv_glt0hsl TO i_glt0-hsl.&lt;/P&gt;&lt;P&gt;      MOVE lv_glt0tsl TO i_glt0-tsl.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      MOVE lv_kslvt TO i_glt0-kslvt.&lt;/P&gt;&lt;P&gt;      MOVE lv_ksl01 TO i_glt0-ksl01.&lt;/P&gt;&lt;P&gt;      MOVE lv_ksl02 TO i_glt0-ksl02.&lt;/P&gt;&lt;P&gt;      MOVE lv_ksl03 TO i_glt0-ksl03.&lt;/P&gt;&lt;P&gt;      MOVE lv_ksl04 TO i_glt0-ksl04.&lt;/P&gt;&lt;P&gt;      MOVE lv_ksl05 TO i_glt0-ksl05.&lt;/P&gt;&lt;P&gt;      MOVE lv_ksl06 TO i_glt0-ksl06.&lt;/P&gt;&lt;P&gt;      MOVE lv_ksl07 TO i_glt0-ksl07.&lt;/P&gt;&lt;P&gt;      MOVE lv_ksl08 TO i_glt0-ksl08.&lt;/P&gt;&lt;P&gt;      MOVE lv_ksl09 TO i_glt0-ksl09.&lt;/P&gt;&lt;P&gt;      MOVE lv_ksl10 TO i_glt0-ksl10.&lt;/P&gt;&lt;P&gt;      MOVE lv_ksl11 TO i_glt0-ksl11.&lt;/P&gt;&lt;P&gt;      MOVE lv_ksl12 TO i_glt0-ksl12.&lt;/P&gt;&lt;P&gt;      MOVE lv_ksl13 TO i_glt0-ksl13.&lt;/P&gt;&lt;P&gt;      MOVE lv_ksl14 TO i_glt0-ksl14.&lt;/P&gt;&lt;P&gt;      MOVE lv_ksl15 TO i_glt0-ksl15.&lt;/P&gt;&lt;P&gt;      MOVE lv_ksl16 TO i_glt0-ksl16.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      MOVE lv_hslvt TO i_glt0-hslvt.&lt;/P&gt;&lt;P&gt;      MOVE lv_hsl01 TO i_glt0-hsl01.&lt;/P&gt;&lt;P&gt;      MOVE lv_hsl02 TO i_glt0-hsl02.&lt;/P&gt;&lt;P&gt;      MOVE lv_hsl03 TO i_glt0-hsl03.&lt;/P&gt;&lt;P&gt;      MOVE lv_hsl04 TO i_glt0-hsl04.&lt;/P&gt;&lt;P&gt;      MOVE lv_hsl05 TO i_glt0-hsl05.&lt;/P&gt;&lt;P&gt;      MOVE lv_hsl06 TO i_glt0-hsl06.&lt;/P&gt;&lt;P&gt;      MOVE lv_hsl07 TO i_glt0-hsl07.&lt;/P&gt;&lt;P&gt;      MOVE lv_hsl08 TO i_glt0-hsl08.&lt;/P&gt;&lt;P&gt;      MOVE lv_hsl09 TO i_glt0-hsl09.&lt;/P&gt;&lt;P&gt;      MOVE lv_hsl10 TO i_glt0-hsl10.&lt;/P&gt;&lt;P&gt;      MOVE lv_hsl11 TO i_glt0-hsl11.&lt;/P&gt;&lt;P&gt;      MOVE lv_hsl12 TO i_glt0-hsl12.&lt;/P&gt;&lt;P&gt;      MOVE lv_hsl13 TO i_glt0-hsl13.&lt;/P&gt;&lt;P&gt;      MOVE lv_hsl14 TO i_glt0-hsl14.&lt;/P&gt;&lt;P&gt;      MOVE lv_hsl15 TO i_glt0-hsl15.&lt;/P&gt;&lt;P&gt;      MOVE lv_hsl16 TO i_glt0-hsl16.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      MOVE lv_tslvt TO i_glt0-tslvt.&lt;/P&gt;&lt;P&gt;      MOVE lv_tsl01 TO i_glt0-tsl01.&lt;/P&gt;&lt;P&gt;      MOVE lv_tsl02 TO i_glt0-tsl02.&lt;/P&gt;&lt;P&gt;      MOVE lv_tsl03 TO i_glt0-tsl03.&lt;/P&gt;&lt;P&gt;      MOVE lv_tsl04 TO i_glt0-tsl04.&lt;/P&gt;&lt;P&gt;      MOVE lv_tsl05 TO i_glt0-tsl05.&lt;/P&gt;&lt;P&gt;      MOVE lv_tsl06 TO i_glt0-tsl06.&lt;/P&gt;&lt;P&gt;      MOVE lv_tsl07 TO i_glt0-tsl07.&lt;/P&gt;&lt;P&gt;      MOVE lv_tsl08 TO i_glt0-tsl08.&lt;/P&gt;&lt;P&gt;      MOVE lv_tsl09 TO i_glt0-tsl09.&lt;/P&gt;&lt;P&gt;      MOVE lv_tsl10 TO i_glt0-tsl10.&lt;/P&gt;&lt;P&gt;      MOVE lv_tsl11 TO i_glt0-tsl11.&lt;/P&gt;&lt;P&gt;      MOVE lv_tsl12 TO i_glt0-tsl12.&lt;/P&gt;&lt;P&gt;      MOVE lv_tsl13 TO i_glt0-tsl13.&lt;/P&gt;&lt;P&gt;      MOVE lv_tsl14 TO i_glt0-tsl14.&lt;/P&gt;&lt;P&gt;      MOVE lv_tsl15 TO i_glt0-tsl15.&lt;/P&gt;&lt;P&gt;      MOVE lv_tsl16 TO i_glt0-tsl16.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      APPEND i_glt0.&lt;/P&gt;&lt;P&gt;      CLEAR: i_glt0,lv_glt0ksl,lv_glt0hsl,lv_glt0tsl,&lt;/P&gt;&lt;P&gt;             lv_kslvt,lv_tslvt,lv_hslvt,&lt;/P&gt;&lt;P&gt;             lv_ksl01,lv_ksl02,lv_ksl03,lv_ksl04,&lt;/P&gt;&lt;P&gt;             lv_ksl05,lv_ksl06,lv_ksl07,lv_ksl08,&lt;/P&gt;&lt;P&gt;             lv_ksl09,lv_ksl10,lv_ksl11,lv_ksl12,&lt;/P&gt;&lt;P&gt;             lv_ksl13,lv_ksl14,lv_ksl15,lv_ksl16,&lt;/P&gt;&lt;P&gt;             lv_tsl01,lv_tsl02,lv_tsl03,lv_tsl04,&lt;/P&gt;&lt;P&gt;             lv_tsl05,lv_tsl06,lv_tsl07,lv_tsl08,&lt;/P&gt;&lt;P&gt;             lv_tsl09,lv_tsl10,lv_tsl11,lv_tsl12,&lt;/P&gt;&lt;P&gt;             lv_tsl13,lv_tsl14,lv_tsl15,lv_tsl16,&lt;/P&gt;&lt;P&gt;             lv_hsl01,lv_hsl02,lv_hsl03,lv_hsl04,&lt;/P&gt;&lt;P&gt;             lv_hsl05,lv_hsl06,lv_hsl07,lv_hsl08,&lt;/P&gt;&lt;P&gt;             lv_hsl09,lv_hsl10,lv_hsl11,lv_hsl12,&lt;/P&gt;&lt;P&gt;             lv_hsl13,lv_hsl14,lv_hsl15,lv_hsl16,&lt;/P&gt;&lt;P&gt;             lv_flag,lv_faltkt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDAT.                             " AT END OF T_CURR&lt;/P&gt;&lt;P&gt;  ENDLOOP.                             " LOOP AT I_glt0_TEMP&lt;/P&gt;&lt;P&gt;ENDFORM.                               " F_CALCULATE_GLTOT&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  F_LIST_DISPLAY&lt;/P&gt;&lt;P&gt;*&amp;amp;----&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;Primary List display&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;No Interface parameters are required&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;FORM f_list_display .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  wa_layout-colwidth_optimize    = 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'&lt;/P&gt;&lt;P&gt;       EXPORTING&lt;/P&gt;&lt;P&gt;            i_callback_program      = v_repid&lt;/P&gt;&lt;P&gt;            i_callback_user_command = 'F_USR_CMD'&lt;/P&gt;&lt;P&gt;            i_structure_name        = 'I_GLT0'&lt;/P&gt;&lt;P&gt;            is_layout               = wa_layout&lt;/P&gt;&lt;P&gt;            it_fieldcat             = i_fieldcat&lt;/P&gt;&lt;P&gt;            i_save                  = v_save&lt;/P&gt;&lt;P&gt;            is_variant              = wa_variant&lt;/P&gt;&lt;P&gt;            it_events               = i_events&lt;/P&gt;&lt;P&gt;       TABLES&lt;/P&gt;&lt;P&gt;            t_outtab                = i_glt0&lt;/P&gt;&lt;P&gt;       EXCEPTIONS&lt;/P&gt;&lt;P&gt;            program_error           = 1&lt;/P&gt;&lt;P&gt;            OTHERS                  = 2.&lt;/P&gt;&lt;P&gt;  IF sy-subrc NE 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Do nothing&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  ENDIF.                               " IF SY-SUBRC NE 0&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                               " F_LIST_DISPLAY&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  F_FETCH_PFTCTGL&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get GL account names and French GL Accounts&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;No Interface parameters are required&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;FORM f_fetch_glacc .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Temporary table for GL Accounts&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  DATA: li_glt0 LIKE i_glt0 OCCURS 0&lt;/P&gt;&lt;P&gt;                 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  li_glt0[] = i_glt0[].&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;GL Account Names&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  REFRESH li_glt0.&lt;/P&gt;&lt;P&gt;  li_glt0[] = i_glt0[].&lt;/P&gt;&lt;P&gt;  SORT li_glt0 BY racct.&lt;/P&gt;&lt;P&gt;  DELETE ADJACENT DUPLICATES FROM li_glt0&lt;/P&gt;&lt;P&gt;         COMPARING racct.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECT saknr                         " GL Account Number&lt;/P&gt;&lt;P&gt;         txt50                         " GL Account Name&lt;/P&gt;&lt;P&gt;    FROM skat&lt;/P&gt;&lt;P&gt;    INTO TABLE i_skat&lt;/P&gt;&lt;P&gt;     FOR ALL ENTRIES IN li_glt0&lt;/P&gt;&lt;P&gt;   WHERE spras EQ sy-langu&lt;/P&gt;&lt;P&gt;     AND saknr EQ li_glt0-racct.&lt;/P&gt;&lt;P&gt;  IF sy-subrc EQ 0.&lt;/P&gt;&lt;P&gt;    SORT i_skat BY saknr.&lt;/P&gt;&lt;P&gt;  ENDIF.                               " IF SY-SUBRC EQ 0&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;French GL Account&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  REFRESH li_glt0.&lt;/P&gt;&lt;P&gt;  li_glt0[] = i_glt0[].&lt;/P&gt;&lt;P&gt;  SORT li_glt0 BY bukrs racct.&lt;/P&gt;&lt;P&gt;  DELETE ADJACENT DUPLICATES FROM li_glt0&lt;/P&gt;&lt;P&gt;         COMPARING bukrs racct.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECT bukrs                         " Company Code&lt;/P&gt;&lt;P&gt;         saknr                         " GL Account Number&lt;/P&gt;&lt;P&gt;         altkt                         " Alternative Account&lt;/P&gt;&lt;P&gt;    FROM skb1&lt;/P&gt;&lt;P&gt;    INTO TABLE i_skb1&lt;/P&gt;&lt;P&gt;     FOR ALL ENTRIES IN li_glt0&lt;/P&gt;&lt;P&gt;   WHERE bukrs EQ li_glt0-bukrs&lt;/P&gt;&lt;P&gt;     AND saknr EQ li_glt0-racct.&lt;/P&gt;&lt;P&gt;  IF sy-subrc EQ 0.&lt;/P&gt;&lt;P&gt;    SORT i_skb1 BY bukrs saknr.&lt;/P&gt;&lt;P&gt;  ENDIF.                               " IF SY-SUBRC EQ 0&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                               " F_FETCH_PFTCTGL&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  F_SUBMIT_REPORT&lt;/P&gt;&lt;P&gt;*&amp;amp;----&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;This routine is used to call the GL Account Line item display&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;No inter face parameters are required&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;FORM f_submit_report .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Local Variables&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  DATA:&lt;/P&gt;&lt;P&gt;    li_seltab TYPE STANDARD TABLE OF   " Str for params n select opts&lt;/P&gt;&lt;P&gt;              rsparams WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;    li_free_select TYPE rsds_texpr,    " Table for selection&lt;/P&gt;&lt;P&gt;    ls_free_select TYPE rsds_expr,     " Work area for selection&lt;/P&gt;&lt;P&gt;    li_expressions TYPE rsds_expr_tab, " Table for expression&lt;/P&gt;&lt;P&gt;    ls_expressions TYPE rsdsexpr,      " Work area for expression&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Chart of accounts&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    BEGIN OF li_ktopl OCCURS 0,&lt;/P&gt;&lt;P&gt;     ktopl LIKE t001-ktopl,            " Chart of Accounts&lt;/P&gt;&lt;P&gt;    END OF li_ktopl,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;GL Account Master&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    ls_ska1 LIKE ska1,&lt;/P&gt;&lt;P&gt;    lv_gvtyp_flag LIKE ska1-gvtyp,     " P&amp;amp;L Acc stmt type&lt;/P&gt;&lt;P&gt;    lv_fiscper LIKE rwcoom-fiscper,    " Fiscal year&lt;/P&gt;&lt;P&gt;    lv_ryear   LIKE glt0-ryear,        " Year&lt;/P&gt;&lt;P&gt;    lv_count TYPE i.                   " Counter&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Constant&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CONSTANTS:&lt;/P&gt;&lt;P&gt;    lc_poper  LIKE                     " Period&lt;/P&gt;&lt;P&gt;      fdbl_balance_line-period VALUE 'Bal.carrried forward'."#EC NOTEXT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECT COUNT( * )&lt;/P&gt;&lt;P&gt;   INTO (lv_count)&lt;/P&gt;&lt;P&gt;   FROM skb1&lt;/P&gt;&lt;P&gt;  WHERE bukrs EQ i_periods-ccode&lt;/P&gt;&lt;P&gt;    AND saknr EQ i_glt0-racct&lt;/P&gt;&lt;P&gt;    AND xkres EQ space.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF sy-subrc EQ 0 AND lv_count GT 0.&lt;/P&gt;&lt;P&gt;    MESSAGE i430(f4) WITH i_glt0-racct i_periods-ccode.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Carry Forward&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    IF i_periods-poper EQ lc_poper.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get Chart of Accounts&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      SELECT DISTINCT ktopl            " Chart Of Accounts&lt;/P&gt;&lt;P&gt;        INTO TABLE li_ktopl&lt;/P&gt;&lt;P&gt;        FROM t001&lt;/P&gt;&lt;P&gt;       WHERE bukrs EQ i_periods-ccode.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get GL Account details&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      SELECT *&lt;/P&gt;&lt;P&gt;        FROM ska1&lt;/P&gt;&lt;P&gt;       UP TO 1 ROWS&lt;/P&gt;&lt;P&gt;        INTO ls_ska1&lt;/P&gt;&lt;P&gt;         FOR ALL ENTRIES IN li_ktopl&lt;/P&gt;&lt;P&gt;       WHERE ktopl EQ li_ktopl-ktopl&lt;/P&gt;&lt;P&gt;         AND saknr EQ i_glt0-racct&lt;/P&gt;&lt;P&gt;         AND gvtyp &amp;lt;&amp;gt; space.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ENDSELECT.                       " SELECT *&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF sy-subrc EQ 0.&lt;/P&gt;&lt;P&gt;        lv_gvtyp_flag = 'X'.&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;P&gt;        CLEAR lv_gvtyp_flag.&lt;/P&gt;&lt;P&gt;      ENDIF.                           " IF SY-SUBRC EQ 0&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF NOT lv_gvtyp_flag IS INITIAL.&lt;/P&gt;&lt;P&gt;        MESSAGE e010(fdbl).&lt;/P&gt;&lt;P&gt;      ENDIF.                           " IF NOT LV_GVTYP&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      li_seltab-selname = 'SO_YRPER'.&lt;/P&gt;&lt;P&gt;      li_seltab-sign = 'I'.&lt;/P&gt;&lt;P&gt;      li_seltab-option = 'BT'.&lt;/P&gt;&lt;P&gt;      li_seltab-low = '1950001'.&lt;/P&gt;&lt;P&gt;      lv_ryear = i_periods-fyear - 1.&lt;/P&gt;&lt;P&gt;      lv_fiscper(4) = i_periods-fyear - 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      CLEAR lv_fiscper.&lt;/P&gt;&lt;P&gt;      CONCATENATE  lv_ryear '016'&lt;/P&gt;&lt;P&gt;            INTO lv_fiscper.&lt;/P&gt;&lt;P&gt;      li_seltab-high = lv_fiscper.&lt;/P&gt;&lt;P&gt;      APPEND li_seltab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;      CLEAR li_seltab.&lt;/P&gt;&lt;P&gt;      CONCATENATE i_periods-fyear '0' i_periods-poper&lt;/P&gt;&lt;P&gt;                INTO lv_fiscper.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      li_seltab-selname = 'SO_YRPER'.&lt;/P&gt;&lt;P&gt;      li_seltab-sign = 'I'.&lt;/P&gt;&lt;P&gt;      li_seltab-option = 'BT'.&lt;/P&gt;&lt;P&gt;      li_seltab-low = lv_fiscper.&lt;/P&gt;&lt;P&gt;      li_seltab-high = lv_fiscper.&lt;/P&gt;&lt;P&gt;      APPEND li_seltab.&lt;/P&gt;&lt;P&gt;    ENDIF.                             " IF i_periods-poper&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CLEAR li_seltab.&lt;/P&gt;&lt;P&gt;    li_seltab-selname = 'SD_SAKNR'.&lt;/P&gt;&lt;P&gt;    li_seltab-sign = 'I'.&lt;/P&gt;&lt;P&gt;    li_seltab-option = 'EQ'.&lt;/P&gt;&lt;P&gt;    li_seltab-low = i_glt0-racct.&lt;/P&gt;&lt;P&gt;    APPEND li_seltab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CLEAR li_seltab.&lt;/P&gt;&lt;P&gt;    li_seltab-selname = 'SD_BUKRS'.&lt;/P&gt;&lt;P&gt;    li_seltab-sign = 'I'.&lt;/P&gt;&lt;P&gt;    li_seltab-option = 'EQ'.&lt;/P&gt;&lt;P&gt;    li_seltab-low = i_periods-ccode.&lt;/P&gt;&lt;P&gt;    APPEND li_seltab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CLEAR li_seltab.&lt;/P&gt;&lt;P&gt;    li_seltab-selname = 'SD_UMSKZ'.&lt;/P&gt;&lt;P&gt;    li_seltab-sign = 'I'.&lt;/P&gt;&lt;P&gt;    li_seltab-option = 'EQ'.&lt;/P&gt;&lt;P&gt;    li_seltab-low = ''.&lt;/P&gt;&lt;P&gt;    APPEND li_seltab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CLEAR li_seltab.&lt;/P&gt;&lt;P&gt;    li_seltab-selname = 'SD_GSB_B'.&lt;/P&gt;&lt;P&gt;    li_seltab-sign = 'I'.&lt;/P&gt;&lt;P&gt;    li_seltab-option = 'EQ'.&lt;/P&gt;&lt;P&gt;    li_seltab-low = i_glt0-rbusa.&lt;/P&gt;&lt;P&gt;    APPEND li_seltab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CLEAR li_seltab.&lt;/P&gt;&lt;P&gt;    li_seltab-selname = 'SO_WAERS'.&lt;/P&gt;&lt;P&gt;    li_seltab-sign = 'I'.&lt;/P&gt;&lt;P&gt;    li_seltab-option = 'EQ'.&lt;/P&gt;&lt;P&gt;    li_seltab-low = i_glt0-rtcur.&lt;/P&gt;&lt;P&gt;    APPEND li_seltab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CLEAR li_seltab.&lt;/P&gt;&lt;P&gt;    li_seltab-selname = 'PA_VARI'.&lt;/P&gt;&lt;P&gt;    li_seltab-sign = 'I'.&lt;/P&gt;&lt;P&gt;    li_seltab-option = 'EQ'.&lt;/P&gt;&lt;P&gt;    li_seltab-low = '1SAP-FC'.&lt;/P&gt;&lt;P&gt;    APPEND li_seltab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CLEAR li_seltab.&lt;/P&gt;&lt;P&gt;    li_seltab-selname = 'X_OPSEL'.&lt;/P&gt;&lt;P&gt;    li_seltab-sign = 'I'.&lt;/P&gt;&lt;P&gt;    li_seltab-option = 'EQ'.&lt;/P&gt;&lt;P&gt;    li_seltab-low = ''.&lt;/P&gt;&lt;P&gt;    APPEND li_seltab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CLEAR li_seltab.&lt;/P&gt;&lt;P&gt;    li_seltab-selname = 'X_CLSEL'.&lt;/P&gt;&lt;P&gt;    li_seltab-sign = 'I'.&lt;/P&gt;&lt;P&gt;    li_seltab-option = 'EQ'.&lt;/P&gt;&lt;P&gt;    li_seltab-low = ''.&lt;/P&gt;&lt;P&gt;    APPEND li_seltab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CLEAR li_seltab.&lt;/P&gt;&lt;P&gt;    li_seltab-selname = 'X_AISEL'.&lt;/P&gt;&lt;P&gt;    li_seltab-sign = 'I'.&lt;/P&gt;&lt;P&gt;    li_seltab-option = 'EQ'.&lt;/P&gt;&lt;P&gt;    li_seltab-low = 'X'.&lt;/P&gt;&lt;P&gt;    APPEND li_seltab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CLEAR li_seltab.&lt;/P&gt;&lt;P&gt;    li_seltab-selname = 'X_NORM'.&lt;/P&gt;&lt;P&gt;    li_seltab-sign = 'I'.&lt;/P&gt;&lt;P&gt;    li_seltab-option = 'EQ'.&lt;/P&gt;&lt;P&gt;    li_seltab-low = 'X'.&lt;/P&gt;&lt;P&gt;    APPEND li_seltab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CLEAR li_seltab.&lt;/P&gt;&lt;P&gt;    li_seltab-selname = 'X_SHBV'.&lt;/P&gt;&lt;P&gt;    li_seltab-sign = 'I'.&lt;/P&gt;&lt;P&gt;    li_seltab-option = 'EQ'.&lt;/P&gt;&lt;P&gt;    li_seltab-low = 'X'.&lt;/P&gt;&lt;P&gt;    APPEND li_seltab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ls_free_select-tablename = 'BSIS'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Carry Forward&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    IF i_periods-poper EQ lc_poper.&lt;/P&gt;&lt;P&gt;      ls_expressions-fieldname = 'MONAT'.&lt;/P&gt;&lt;P&gt;      ls_expressions-option    = 'BT'.&lt;/P&gt;&lt;P&gt;      ls_expressions-low       = '01'.&lt;/P&gt;&lt;P&gt;      ls_expressions-high      = '16'.&lt;/P&gt;&lt;P&gt;      APPEND ls_expressions TO li_expressions.&lt;/P&gt;&lt;P&gt;      ls_free_select-expr_tab = li_expressions.&lt;/P&gt;&lt;P&gt;      APPEND ls_free_select TO li_free_select.&lt;/P&gt;&lt;P&gt;      CLEAR ls_expressions.&lt;/P&gt;&lt;P&gt;      REFRESH li_expressions.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ls_expressions-fieldname = 'GJAHR'.&lt;/P&gt;&lt;P&gt;      ls_expressions-option    = 'BT'.&lt;/P&gt;&lt;P&gt;      ls_expressions-low       = '1950'.&lt;/P&gt;&lt;P&gt;      ls_expressions-high      = lv_ryear.&lt;/P&gt;&lt;P&gt;      APPEND ls_expressions TO li_expressions.&lt;/P&gt;&lt;P&gt;      ls_free_select-expr_tab = li_expressions.&lt;/P&gt;&lt;P&gt;      APPEND ls_free_select TO li_free_select.&lt;/P&gt;&lt;P&gt;      CLEAR ls_expressions.&lt;/P&gt;&lt;P&gt;      REFRESH li_expressions.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;      ls_expressions-fieldname = 'MONAT'.&lt;/P&gt;&lt;P&gt;      ls_expressions-option    = 'EQ'.&lt;/P&gt;&lt;P&gt;      ls_expressions-low       = i_periods-poper.&lt;/P&gt;&lt;P&gt;      CLEAR ls_expressions-high.&lt;/P&gt;&lt;P&gt;      APPEND ls_expressions TO li_expressions.&lt;/P&gt;&lt;P&gt;      ls_free_select-expr_tab = li_expressions.&lt;/P&gt;&lt;P&gt;      APPEND ls_free_select TO li_free_select.&lt;/P&gt;&lt;P&gt;      CLEAR ls_expressions.&lt;/P&gt;&lt;P&gt;      REFRESH li_expressions.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ls_expressions-fieldname = 'GJAHR'.&lt;/P&gt;&lt;P&gt;      ls_expressions-option    = 'EQ'.&lt;/P&gt;&lt;P&gt;      ls_expressions-low       = i_periods-fyear.&lt;/P&gt;&lt;P&gt;      CLEAR ls_expressions-high.&lt;/P&gt;&lt;P&gt;      APPEND ls_expressions TO li_expressions.&lt;/P&gt;&lt;P&gt;      ls_free_select-expr_tab = li_expressions.&lt;/P&gt;&lt;P&gt;      APPEND ls_free_select TO li_free_select.&lt;/P&gt;&lt;P&gt;      CLEAR ls_expressions.&lt;/P&gt;&lt;P&gt;      REFRESH li_expressions.&lt;/P&gt;&lt;P&gt;    ENDIF.                             " IF i_periods-poper&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    SUBMIT rfitemgl WITH SELECTION-TABLE li_seltab&lt;/P&gt;&lt;P&gt;                    WITH FREE SELECTIONS li_free_select&lt;/P&gt;&lt;P&gt;                    AND RETURN.&lt;/P&gt;&lt;P&gt;  ENDIF.                               " IF SY-SUBRC EQ 0&lt;/P&gt;&lt;P&gt;ENDFORM.                               " F_SUBMIT_REPORT&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  F_CHECK_AUTHORITY_GROUPS&lt;/P&gt;&lt;P&gt;*&amp;amp;----&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;To check Authorization for GL account&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;No interface parameters are required&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;FORM f_check_authority_groups.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Table for Authorization Group&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  DATA: li_begru TYPE STANDARD TABLE OF&lt;/P&gt;&lt;P&gt;                 begru WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECT begru                         " Authorization Group&lt;/P&gt;&lt;P&gt;    FROM skb1&lt;/P&gt;&lt;P&gt;    INTO TABLE li_begru&lt;/P&gt;&lt;P&gt;   WHERE bukrs IN s_bukrs&lt;/P&gt;&lt;P&gt;     AND saknr IN s_racct&lt;/P&gt;&lt;P&gt;     AND begru NE space.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF sy-subrc EQ 0.&lt;/P&gt;&lt;P&gt;    SORT li_begru.&lt;/P&gt;&lt;P&gt;    DELETE ADJACENT DUPLICATES FROM li_begru.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    AUTHORITY-CHECK OBJECT 'F_BKPF_BES'&lt;/P&gt;&lt;P&gt;             ID 'BRGRU' FIELD li_begru&lt;/P&gt;&lt;P&gt;             ID 'ACTVT' FIELD '03'.&lt;/P&gt;&lt;P&gt;  ENDIF.                               " IF SY-SUBRC EQ 0&lt;/P&gt;&lt;P&gt;ENDFORM.                               " F_CHECK_AUTHORITY_GROUPS&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  F_VALIDATE_RVERS&lt;/P&gt;&lt;P&gt;*&amp;amp;----&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;Validate Version&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;No interface parameters are required&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;FORM f_validate_rvers.&lt;/P&gt;&lt;P&gt;  DATA:&lt;/P&gt;&lt;P&gt;   lv_rvers LIKE t894-rvers.           " Version&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECT rvers                         " Version&lt;/P&gt;&lt;P&gt;    FROM t894&lt;/P&gt;&lt;P&gt;      UP TO 1 ROWS&lt;/P&gt;&lt;P&gt;    INTO lv_rvers&lt;/P&gt;&lt;P&gt;   WHERE rvers IN s_rvers.&lt;/P&gt;&lt;P&gt;  ENDSELECT.                           " SELECT RVERS&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;    CLEAR: sscrfields.&lt;/P&gt;&lt;P&gt;    MESSAGE e506(0u).&lt;/P&gt;&lt;P&gt;  ENDIF.                               " IF SY-SUBRC NE 0&lt;/P&gt;&lt;P&gt;ENDFORM.                               " F_VALIDATE_RVERS&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  F_VALIDATE_BUKRS&lt;/P&gt;&lt;P&gt;*&amp;amp;----&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;Validate Company code&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;No interface parameters are required&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;FORM f_validate_bukrs.&lt;/P&gt;&lt;P&gt;  DATA:&lt;/P&gt;&lt;P&gt;   lv_bukrs LIKE t001-bukrs.           " Company Code&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECT bukrs                         " Company Code&lt;/P&gt;&lt;P&gt;    FROM t001&lt;/P&gt;&lt;P&gt;      UP TO 1 ROWS&lt;/P&gt;&lt;P&gt;    INTO lv_bukrs&lt;/P&gt;&lt;P&gt;   WHERE bukrs IN s_bukrs.&lt;/P&gt;&lt;P&gt;  ENDSELECT.                           " SELECT BUKRS&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;    CLEAR: sscrfields.&lt;/P&gt;&lt;P&gt;    MESSAGE e603(64).&lt;/P&gt;&lt;P&gt;  ENDIF.                               " IF SY-SUBRC NE 0&lt;/P&gt;&lt;P&gt;ENDFORM.                               " F_VALIDATE_BUKRS&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  F_VALIDATE_GLACCOUNT&lt;/P&gt;&lt;P&gt;*&amp;amp;----&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;Validate GL Account&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;No interface parameters are required&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;FORM f_validate_racct.&lt;/P&gt;&lt;P&gt;  DATA:&lt;/P&gt;&lt;P&gt;   lv_saknr LIKE ska1-saknr.           " GL Account&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECT saknr                         " GL Account&lt;/P&gt;&lt;P&gt;    FROM ska1&lt;/P&gt;&lt;P&gt;      UP TO 1 ROWS&lt;/P&gt;&lt;P&gt;    INTO lv_saknr&lt;/P&gt;&lt;P&gt;   WHERE saknr IN s_racct.&lt;/P&gt;&lt;P&gt;  ENDSELECT.                           " SELECT SAKNR&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;    CLEAR: sscrfields.&lt;/P&gt;&lt;P&gt;    MESSAGE e751(5b) WITH s_racct.&lt;/P&gt;&lt;P&gt;  ENDIF.                               " IF SY-SUBRC NE 0&lt;/P&gt;&lt;P&gt;ENDFORM.                               " F_VALIDATE_RACCT&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  F_VALIDATE_RBUSA&lt;/P&gt;&lt;P&gt;*&amp;amp;----&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;Validate Business Area&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;No interface parameters are required&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;FORM f_validate_rbusa.&lt;/P&gt;&lt;P&gt;  DATA:&lt;/P&gt;&lt;P&gt;   lv_gsber LIKE tgsb-gsber.           " Business Area&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECT gsber                         " Business Area&lt;/P&gt;&lt;P&gt;    FROM tgsb&lt;/P&gt;&lt;P&gt;      UP TO 1 ROWS&lt;/P&gt;&lt;P&gt;    INTO lv_gsber&lt;/P&gt;&lt;P&gt;   WHERE gsber IN s_rbusa.&lt;/P&gt;&lt;P&gt;  ENDSELECT.                           " SELECT GSBER&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;    CLEAR: sscrfields.&lt;/P&gt;&lt;P&gt;    MESSAGE e068(ay) WITH s_rbusa .&lt;/P&gt;&lt;P&gt;  ENDIF.                               " IF SY-SUBRC NE 0&lt;/P&gt;&lt;P&gt;ENDFORM.                               " F_VALIDATE_RBUSA&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form F_VALIDATE_VARI&lt;/P&gt;&lt;P&gt;*&amp;amp;----&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;Validate Variant&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;No interface parameters are required&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;FORM f_validate_vari.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Selection screen fields&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  wa_variant-log_group = log_grp.&lt;/P&gt;&lt;P&gt;  IF log_grp NE 'pc10'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get default variant&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    wa_xvariant = wa_variant.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'REUSE_ALV_VARIANT_DEFAULT_GET'&lt;/P&gt;&lt;P&gt;         EXPORTING&lt;/P&gt;&lt;P&gt;              i_save     = v_save&lt;/P&gt;&lt;P&gt;         CHANGING&lt;/P&gt;&lt;P&gt;              cs_variant = wa_xvariant&lt;/P&gt;&lt;P&gt;         EXCEPTIONS&lt;/P&gt;&lt;P&gt;              not_found  = 2.&lt;/P&gt;&lt;P&gt;    IF sy-subrc EQ 0.&lt;/P&gt;&lt;P&gt;      p_vari = wa_xvariant-variant.&lt;/P&gt;&lt;P&gt;    ENDIF.                             " IF SY-SUBRC EQ 0&lt;/P&gt;&lt;P&gt;  ENDIF.                               " IF LOG_GRP NE 'PC10'&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Check for Variant existance&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  IF NOT p_vari IS INITIAL.&lt;/P&gt;&lt;P&gt;    MOVE wa_variant TO wa_xvariant.&lt;/P&gt;&lt;P&gt;    MOVE p_vari TO wa_xvariant-variant.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'REUSE_ALV_VARIANT_EXISTENCE'&lt;/P&gt;&lt;P&gt;         EXPORTING&lt;/P&gt;&lt;P&gt;              i_save        = v_save&lt;/P&gt;&lt;P&gt;         CHANGING&lt;/P&gt;&lt;P&gt;              cs_variant    = wa_xvariant&lt;/P&gt;&lt;P&gt;         EXCEPTIONS&lt;/P&gt;&lt;P&gt;              wrong_input   = 1&lt;/P&gt;&lt;P&gt;              not_found     = 2&lt;/P&gt;&lt;P&gt;              program_error = 3&lt;/P&gt;&lt;P&gt;              OTHERS        = 4.&lt;/P&gt;&lt;P&gt;    IF sy-subrc EQ 0.&lt;/P&gt;&lt;P&gt;      wa_variant = wa_xvariant.&lt;/P&gt;&lt;P&gt;      varname = wa_variant-text.&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;      MESSAGE e017(0k).&lt;/P&gt;&lt;P&gt;    ENDIF.                             " IF SY-SUBRC EQ 0&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    varname = ''.&lt;/P&gt;&lt;P&gt;  ENDIF.                               " IF NOT P_VARI IS INITIAL&lt;/P&gt;&lt;P&gt;ENDFORM.                               " F_VALIDATE_VARI&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  F_FETCH_YEARTOT&lt;/P&gt;&lt;P&gt;*&amp;amp;----&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;Calculate Company code and yearwise totals&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; No interface parameters are required&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;FORM f_fetch_yeartot.&lt;/P&gt;&lt;P&gt;  DATA:&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Local variables&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    lv_glt0ksl LIKE glt0-ksl01,        " Amount in Group Currency&lt;/P&gt;&lt;P&gt;    lv_glt0hsl LIKE glt0-hsl01,        " Amount in Company code Currency&lt;/P&gt;&lt;P&gt;    lv_glt0tsl LIKE glt0-tsl01.        " Amount in Transaction Currency&lt;/P&gt;&lt;P&gt;  DATA:&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Group Currency&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    lv_kslvt    LIKE glt0-kslvt,       " Group amt&lt;/P&gt;&lt;P&gt;    lv_ksl01    LIKE glt0-ksl01,       " Group amt01&lt;/P&gt;&lt;P&gt;    lv_ksl02    LIKE glt0-ksl02,       " Group amt02&lt;/P&gt;&lt;P&gt;    lv_ksl03    LIKE glt0-ksl03,       " Group amt03&lt;/P&gt;&lt;P&gt;    lv_ksl04    LIKE glt0-ksl04,       " Group amt04&lt;/P&gt;&lt;P&gt;    lv_ksl05    LIKE glt0-ksl05,       " Group amt05&lt;/P&gt;&lt;P&gt;    lv_ksl06    LIKE glt0-ksl06,       " Group amt06&lt;/P&gt;&lt;P&gt;    lv_ksl07    LIKE glt0-ksl07,       " Group amt07&lt;/P&gt;&lt;P&gt;    lv_ksl08    LIKE glt0-ksl08,       " Group amt08&lt;/P&gt;&lt;P&gt;    lv_ksl09    LIKE glt0-ksl09,       " Group amt09&lt;/P&gt;&lt;P&gt;    lv_ksl10    LIKE glt0-ksl10,       " Group amt10&lt;/P&gt;&lt;P&gt;    lv_ksl11    LIKE glt0-ksl11,       " Group amt11&lt;/P&gt;&lt;P&gt;    lv_ksl12    LIKE glt0-ksl12,       " Group amt12&lt;/P&gt;&lt;P&gt;    lv_ksl13    LIKE glt0-ksl13,       " Group amt13&lt;/P&gt;&lt;P&gt;    lv_ksl14    LIKE glt0-ksl14,       " Group amt14&lt;/P&gt;&lt;P&gt;    lv_ksl15    LIKE glt0-ksl15,       " Group amt15&lt;/P&gt;&lt;P&gt;    lv_ksl16    LIKE glt0-ksl16,       " Group amt16&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Transaction Currency&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    lv_tslvt    LIKE glt0-tslvt,       " Trans amt&lt;/P&gt;&lt;P&gt;    lv_tsl01    LIKE glt0-tsl01,       " Trans amt01&lt;/P&gt;&lt;P&gt;    lv_tsl02    LIKE glt0-tsl02,       " Trans amt02&lt;/P&gt;&lt;P&gt;    lv_tsl03    LIKE glt0-tsl03,       " Trans amt03&lt;/P&gt;&lt;P&gt;    lv_tsl04    LIKE glt0-tsl04,       " Trans amt04&lt;/P&gt;&lt;P&gt;    lv_tsl05    LIKE glt0-tsl05,       " Trans amt05&lt;/P&gt;&lt;P&gt;    lv_tsl06    LIKE glt0-tsl06,       " Trans amt06&lt;/P&gt;&lt;P&gt;    lv_tsl07    LIKE glt0-tsl07,       " Trans amt07&lt;/P&gt;&lt;P&gt;    lv_tsl08    LIKE glt0-tsl08,       " Trans amt08&lt;/P&gt;&lt;P&gt;    lv_tsl09    LIKE glt0-tsl09,       " Trans amt09&lt;/P&gt;&lt;P&gt;    lv_tsl10    LIKE glt0-tsl10,       " Trans amt10&lt;/P&gt;&lt;P&gt;    lv_tsl11    LIKE glt0-tsl11,       " Trans amt11&lt;/P&gt;&lt;P&gt;    lv_tsl12    LIKE glt0-tsl12,       " Trans amt12&lt;/P&gt;&lt;P&gt;    lv_tsl13    LIKE glt0-tsl13,       " Trans amt13&lt;/P&gt;&lt;P&gt;    lv_tsl14    LIKE glt0-tsl14,       " Trans amt14&lt;/P&gt;&lt;P&gt;    lv_tsl15    LIKE glt0-tsl15,       " Trans amt15&lt;/P&gt;&lt;P&gt;    lv_tsl16    LIKE glt0-tsl16,       " Trans amt16&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Company Code Currency&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    lv_hslvt    LIKE glt0-hslvt,       " Local amt&lt;/P&gt;&lt;P&gt;    lv_hsl01    LIKE glt0-hsl01,       " Local amt01&lt;/P&gt;&lt;P&gt;    lv_hsl02    LIKE glt0-hsl02,       " Local amt02&lt;/P&gt;&lt;P&gt;    lv_hsl03    LIKE glt0-hsl03,       " Local amt03&lt;/P&gt;&lt;P&gt;    lv_hsl04    LIKE glt0-hsl04,       " Local amt04&lt;/P&gt;&lt;P&gt;    lv_hsl05    LIKE glt0-hsl05,       " Local amt05&lt;/P&gt;&lt;P&gt;    lv_hsl06    LIKE glt0-hsl06,       " Local amt06&lt;/P&gt;&lt;P&gt;    lv_hsl07    LIKE glt0-hsl07,       " Local amt07&lt;/P&gt;&lt;P&gt;    lv_hsl08    LIKE glt0-hsl08,       " Local amt08&lt;/P&gt;&lt;P&gt;    lv_hsl09    LIKE glt0-hsl09,       " Local amt09&lt;/P&gt;&lt;P&gt;    lv_hsl10    LIKE glt0-hsl10,       " Local amt10&lt;/P&gt;&lt;P&gt;    lv_hsl11    LIKE glt0-hsl11,       " Local amt11&lt;/P&gt;&lt;P&gt;    lv_hsl12    LIKE glt0-hsl12,       " Local amt12&lt;/P&gt;&lt;P&gt;    lv_hsl13    LIKE glt0-hsl13,       " Local amt13&lt;/P&gt;&lt;P&gt;    lv_hsl14    LIKE glt0-hsl14,       " Local amt14&lt;/P&gt;&lt;P&gt;    lv_hsl15    LIKE glt0-hsl15,       " Local amt15&lt;/P&gt;&lt;P&gt;    lv_hsl16    LIKE glt0-hsl16.       " Local amt16&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  REFRESH i_glt0temp1.&lt;/P&gt;&lt;P&gt;  SORT i_glt0 BY busctr accno t_curr ccode fyear.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT i_glt0.&lt;/P&gt;&lt;P&gt;    MOVE-CORRESPONDING i_glt0 TO i_glt0temp1.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Totals in Transaction Currency&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    lv_tslvt = lv_tslvt + i_glt0-tslvt.&lt;/P&gt;&lt;P&gt;    lv_tsl01 = lv_tsl01 + i_glt0-tsl01.&lt;/P&gt;&lt;P&gt;    lv_tsl02 = lv_tsl02 + i_glt0-tsl02.&lt;/P&gt;&lt;P&gt;    lv_tsl03 = lv_tsl03 + i_glt0-tsl03.&lt;/P&gt;&lt;P&gt;    lv_tsl04 = lv_tsl04 + i_glt0-tsl04.&lt;/P&gt;&lt;P&gt;    lv_tsl05 = lv_tsl05 + i_glt0-tsl05.&lt;/P&gt;&lt;P&gt;    lv_tsl06 = lv_tsl06 + i_glt0-tsl06.&lt;/P&gt;&lt;P&gt;    lv_tsl07 = lv_tsl07 + i_glt0-tsl07.&lt;/P&gt;&lt;P&gt;    lv_tsl08 = lv_tsl08 + i_glt0-tsl08.&lt;/P&gt;&lt;P&gt;    lv_tsl09 = lv_tsl09 + i_glt0-tsl09.&lt;/P&gt;&lt;P&gt;    lv_tsl10 = lv_tsl10 + i_glt0-tsl10.&lt;/P&gt;&lt;P&gt;    lv_tsl11 = lv_tsl11 + i_glt0-tsl11.&lt;/P&gt;&lt;P&gt;    lv_tsl12 = lv_tsl12 + i_glt0-tsl12.&lt;/P&gt;&lt;P&gt;    lv_tsl13 = lv_tsl13 + i_glt0-tsl13.&lt;/P&gt;&lt;P&gt;    lv_tsl14 = lv_tsl14 + i_glt0-tsl14.&lt;/P&gt;&lt;P&gt;    lv_tsl15 = lv_tsl15 + i_glt0-tsl15.&lt;/P&gt;&lt;P&gt;    lv_tsl16 = lv_tsl16 + i_glt0-tsl16.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Totals in Local Currency&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    lv_hslvt = lv_hslvt + i_glt0-hslvt.&lt;/P&gt;&lt;P&gt;    lv_hsl01 = lv_hsl01 + i_glt0-hsl01.&lt;/P&gt;&lt;P&gt;    lv_hsl02 = lv_hsl02 + i_glt0-hsl02.&lt;/P&gt;&lt;P&gt;    lv_hsl03 = lv_hsl03 + i_glt0-hsl03.&lt;/P&gt;&lt;P&gt;    lv_hsl04 = lv_hsl04 + i_glt0-hsl04.&lt;/P&gt;&lt;P&gt;    lv_hsl05 = lv_hsl05 + i_glt0-hsl05.&lt;/P&gt;&lt;P&gt;    lv_hsl06 = lv_hsl06 + i_glt0-hsl06.&lt;/P&gt;&lt;P&gt;    lv_hsl07 = lv_hsl07 + i_glt0-hsl07.&lt;/P&gt;&lt;P&gt;    lv_hsl08 = lv_hsl08 + i_glt0-hsl08.&lt;/P&gt;&lt;P&gt;    lv_hsl09 = lv_hsl09 + i_glt0-hsl09.&lt;/P&gt;&lt;P&gt;    lv_hsl10 = lv_hsl10 + i_glt0-hsl10.&lt;/P&gt;&lt;P&gt;    lv_hsl11 = lv_hsl11 + i_glt0-hsl11.&lt;/P&gt;&lt;P&gt;    lv_hsl12 = lv_hsl12 + i_glt0-hsl12.&lt;/P&gt;&lt;P&gt;    lv_hsl13 = lv_hsl13 + i_glt0-hsl13.&lt;/P&gt;&lt;P&gt;    lv_hsl14 = lv_hsl14 + i_glt0-hsl14.&lt;/P&gt;&lt;P&gt;    lv_hsl15 = lv_hsl15 + i_glt0-hsl15.&lt;/P&gt;&lt;P&gt;    lv_hsl16 = lv_hsl16 + i_glt0-hsl16.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Totals in Group cirrency&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    lv_kslvt = lv_kslvt + i_glt0-kslvt.&lt;/P&gt;&lt;P&gt;    lv_ksl01 = lv_ksl01 + i_glt0-ksl01.&lt;/P&gt;&lt;P&gt;    lv_ksl02 = lv_ksl02 + i_glt0-ksl02.&lt;/P&gt;&lt;P&gt;    lv_ksl03 = lv_ksl03 + i_glt0-ksl03.&lt;/P&gt;&lt;P&gt;    lv_ksl04 = lv_ksl04 + i_glt0-ksl04.&lt;/P&gt;&lt;P&gt;    lv_ksl05 = lv_ksl05 + i_glt0-ksl05.&lt;/P&gt;&lt;P&gt;    lv_ksl06 = lv_ksl06 + i_glt0-ksl06.&lt;/P&gt;&lt;P&gt;    lv_ksl07 = lv_ksl07 + i_glt0-ksl07.&lt;/P&gt;&lt;P&gt;    lv_ksl08 = lv_ksl08 + i_glt0-ksl08.&lt;/P&gt;&lt;P&gt;    lv_ksl09 = lv_ksl09 + i_glt0-ksl09.&lt;/P&gt;&lt;P&gt;    lv_ksl10 = lv_ksl10 + i_glt0-ksl10.&lt;/P&gt;&lt;P&gt;    lv_ksl11 = lv_ksl11 + i_glt0-ksl11.&lt;/P&gt;&lt;P&gt;    lv_ksl12 = lv_ksl12 + i_glt0-ksl12.&lt;/P&gt;&lt;P&gt;    lv_ksl13 = lv_ksl13 + i_glt0-ksl13.&lt;/P&gt;&lt;P&gt;    lv_ksl14 = lv_ksl14 + i_glt0-ksl14.&lt;/P&gt;&lt;P&gt;    lv_ksl15 = lv_ksl15 + i_glt0-ksl15.&lt;/P&gt;&lt;P&gt;    lv_ksl16 = lv_ksl16 + i_glt0-ksl16.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Totals Amount in Group,Comp code, Trans&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    lv_glt0ksl = lv_glt0ksl + i_glt0-ksl.&lt;/P&gt;&lt;P&gt;    lv_glt0hsl = lv_glt0hsl + i_glt0-hsl.&lt;/P&gt;&lt;P&gt;    lv_glt0tsl = lv_glt0tsl + i_glt0-tsl.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    AT END OF fyear.&lt;/P&gt;&lt;P&gt;      MOVE i_glt0-busctr TO i_glt0temp1-busctr.&lt;/P&gt;&lt;P&gt;      MOVE i_glt0-accno TO i_glt0temp1-accno.&lt;/P&gt;&lt;P&gt;      MOVE i_glt0-ccode TO i_glt0temp1-ccode.&lt;/P&gt;&lt;P&gt;      MOVE i_glt0-fyear TO i_glt0temp1-fyear.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      MOVE lv_glt0ksl TO i_glt0temp1-ksl.&lt;/P&gt;&lt;P&gt;      MOVE lv_glt0hsl TO i_glt0temp1-hsl.&lt;/P&gt;&lt;P&gt;      MOVE lv_glt0tsl TO i_glt0temp1-tsl.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      MOVE lv_kslvt TO i_glt0temp1-kslvt.&lt;/P&gt;&lt;P&gt;      MOVE lv_ksl01 TO i_glt0temp1-ksl01.&lt;/P&gt;&lt;P&gt;      MOVE lv_ksl02 TO i_glt0temp1-ksl02.&lt;/P&gt;&lt;P&gt;      MOVE lv_ksl03 TO i_glt0temp1-ksl03.&lt;/P&gt;&lt;P&gt;      MOVE lv_ksl04 TO i_glt0temp1-ksl04.&lt;/P&gt;&lt;P&gt;      MOVE lv_ksl05 TO i_glt0temp1-ksl05.&lt;/P&gt;&lt;P&gt;      MOVE lv_ksl06 TO i_glt0temp1-ksl06.&lt;/P&gt;&lt;P&gt;      MOVE lv_ksl07 TO i_glt0temp1-ksl07.&lt;/P&gt;&lt;P&gt;      MOVE lv_ksl08 TO i_glt0temp1-ksl08.&lt;/P&gt;&lt;P&gt;      MOVE lv_ksl09 TO i_glt0temp1-ksl09.&lt;/P&gt;&lt;P&gt;      MOVE lv_ksl10 TO i_glt0temp1-ksl10.&lt;/P&gt;&lt;P&gt;      MOVE lv_ksl11 TO i_glt0temp1-ksl11.&lt;/P&gt;&lt;P&gt;      MOVE lv_ksl12 TO i_glt0temp1-ksl12.&lt;/P&gt;&lt;P&gt;      MOVE lv_ksl13 TO i_glt0temp1-ksl13.&lt;/P&gt;&lt;P&gt;      MOVE lv_ksl14 TO i_glt0temp1-ksl14.&lt;/P&gt;&lt;P&gt;      MOVE lv_ksl15 TO i_glt0temp1-ksl15.&lt;/P&gt;&lt;P&gt;      MOVE lv_ksl16 TO i_glt0temp1-ksl16.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      MOVE lv_hslvt TO i_glt0temp1-hslvt.&lt;/P&gt;&lt;P&gt;      MOVE lv_hsl01 TO i_glt0temp1-hsl01.&lt;/P&gt;&lt;P&gt;      MOVE lv_hsl02 TO i_glt0temp1-hsl02.&lt;/P&gt;&lt;P&gt;      MOVE lv_hsl03 TO i_glt0temp1-hsl03.&lt;/P&gt;&lt;P&gt;      MOVE lv_hsl04 TO i_glt0temp1-hsl04.&lt;/P&gt;&lt;P&gt;      MOVE lv_hsl05 TO i_glt0temp1-hsl05.&lt;/P&gt;&lt;P&gt;      MOVE lv_hsl06 TO i_glt0temp1-hsl06.&lt;/P&gt;&lt;P&gt;      MOVE lv_hsl07 TO i_glt0temp1-hsl07.&lt;/P&gt;&lt;P&gt;      MOVE lv_hsl08 TO i_glt0temp1-hsl08.&lt;/P&gt;&lt;P&gt;      MOVE lv_hsl09 TO i_glt0temp1-hsl09.&lt;/P&gt;&lt;P&gt;      MOVE lv_hsl10 TO i_glt0temp1-hsl10.&lt;/P&gt;&lt;P&gt;      MOVE lv_hsl11 TO i_glt0temp1-hsl11.&lt;/P&gt;&lt;P&gt;      MOVE lv_hsl12 TO i_glt0temp1-hsl12.&lt;/P&gt;&lt;P&gt;      MOVE lv_hsl13 TO i_glt0temp1-hsl13.&lt;/P&gt;&lt;P&gt;      MOVE lv_hsl14 TO i_glt0temp1-hsl14.&lt;/P&gt;&lt;P&gt;      MOVE lv_hsl15 TO i_glt0temp1-hsl15.&lt;/P&gt;&lt;P&gt;      MOVE lv_hsl16 TO i_glt0temp1-hsl16.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      MOVE lv_tslvt TO i_glt0temp1-tslvt.&lt;/P&gt;&lt;P&gt;      MOVE lv_tsl01 TO i_glt0temp1-tsl01.&lt;/P&gt;&lt;P&gt;      MOVE lv_tsl02 TO i_glt0temp1-tsl02.&lt;/P&gt;&lt;P&gt;      MOVE lv_tsl03 TO i_glt0temp1-tsl03.&lt;/P&gt;&lt;P&gt;      MOVE lv_tsl04 TO i_glt0temp1-tsl04.&lt;/P&gt;&lt;P&gt;      MOVE lv_tsl05 TO i_glt0temp1-tsl05.&lt;/P&gt;&lt;P&gt;      MOVE lv_tsl06 TO i_glt0temp1-tsl06.&lt;/P&gt;&lt;P&gt;      MOVE lv_tsl07 TO i_glt0temp1-tsl07.&lt;/P&gt;&lt;P&gt;      MOVE lv_tsl08 TO i_glt0temp1-tsl08.&lt;/P&gt;&lt;P&gt;      MOVE lv_tsl09 TO i_glt0temp1-tsl09.&lt;/P&gt;&lt;P&gt;      MOVE lv_tsl10 TO i_glt0temp1-tsl10.&lt;/P&gt;&lt;P&gt;      MOVE lv_tsl11 TO i_glt0temp1-tsl11.&lt;/P&gt;&lt;P&gt;      MOVE lv_tsl12 TO i_glt0temp1-tsl12.&lt;/P&gt;&lt;P&gt;      MOVE lv_tsl13 TO i_glt0temp1-tsl13.&lt;/P&gt;&lt;P&gt;      MOVE lv_tsl14 TO i_glt0temp1-tsl14.&lt;/P&gt;&lt;P&gt;      MOVE lv_tsl15 TO i_glt0temp1-tsl15.&lt;/P&gt;&lt;P&gt;      MOVE lv_tsl16 TO i_glt0temp1-tsl16.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      APPEND i_glt0temp1.&lt;/P&gt;&lt;P&gt;      CLEAR: i_glt0temp1,lv_glt0ksl,lv_glt0hsl,lv_glt0tsl,&lt;/P&gt;&lt;P&gt;             lv_kslvt,lv_tslvt,lv_hslvt,&lt;/P&gt;&lt;P&gt;             lv_ksl01,lv_ksl02,lv_ksl03,lv_ksl04,&lt;/P&gt;&lt;P&gt;             lv_ksl05,lv_ksl06,lv_ksl07,lv_ksl08,&lt;/P&gt;&lt;P&gt;             lv_ksl09,lv_ksl10,lv_ksl11,lv_ksl12,&lt;/P&gt;&lt;P&gt;             lv_ksl13,lv_ksl14,lv_ksl15,lv_ksl16,&lt;/P&gt;&lt;P&gt;             lv_tsl01,lv_tsl02,lv_tsl03,lv_tsl04,&lt;/P&gt;&lt;P&gt;             lv_tsl05,lv_tsl06,lv_tsl07,lv_tsl08,&lt;/P&gt;&lt;P&gt;             lv_tsl09,lv_tsl10,lv_tsl11,lv_tsl12,&lt;/P&gt;&lt;P&gt;             lv_tsl13,lv_tsl14,lv_tsl15,lv_tsl16,&lt;/P&gt;&lt;P&gt;             lv_hsl01,lv_hsl02,lv_hsl03,lv_hsl04,&lt;/P&gt;&lt;P&gt;             lv_hsl05,lv_hsl06,lv_hsl07,lv_hsl08,&lt;/P&gt;&lt;P&gt;             lv_hsl09,lv_hsl10,lv_hsl11,lv_hsl12,&lt;/P&gt;&lt;P&gt;             lv_hsl13,lv_hsl14,lv_hsl15,lv_hsl16.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDAT.                             " AT END OF FYEAR&lt;/P&gt;&lt;P&gt;    AT END OF ccode.&lt;/P&gt;&lt;P&gt;      MOVE i_glt0-busctr TO i_altkt-busctr.&lt;/P&gt;&lt;P&gt;      MOVE i_glt0-accno TO i_altkt-accno.&lt;/P&gt;&lt;P&gt;      MOVE i_glt0-ccode TO i_altkt-ccode.&lt;/P&gt;&lt;P&gt;      READ TABLE i_skb1 WITH KEY bukrs = i_glt0-ccode&lt;/P&gt;&lt;P&gt;                  saknr = i_glt0-accno BINARY SEARCH.&lt;/P&gt;&lt;P&gt;      IF sy-subrc EQ 0.&lt;/P&gt;&lt;P&gt;        MOVE i_skb1-altkt TO i_altkt-altkt.&lt;/P&gt;&lt;P&gt;      ENDIF.                           " IF SY-SUBRC EQ 0&lt;/P&gt;&lt;P&gt;      APPEND i_altkt.&lt;/P&gt;&lt;P&gt;      CLEAR i_altkt.&lt;/P&gt;&lt;P&gt;    ENDAT.                             " AT END OF CCODE&lt;/P&gt;&lt;P&gt;  ENDLOOP.                             " LOOP AT I_glt0&lt;/P&gt;&lt;P&gt;  SORT i_altkt BY busctr accno ccode altkt.&lt;/P&gt;&lt;P&gt;  DELETE ADJACENT DUPLICATES FROM i_altkt COMPARING&lt;/P&gt;&lt;P&gt;         busctr accno ccode altkt.&lt;/P&gt;&lt;P&gt;ENDFORM.                               " F_FETCH_YEARTOT&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  F_FETCH_BALACC&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get Balance Sheet GL Accounts&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; No interface parameters are required&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;FORM f_fetch_balacc.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Temporary table for Balance Sheet accs&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  DATA: li_glt0 LIKE i_glt0 OCCURS 0&lt;/P&gt;&lt;P&gt;                WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  li_glt0[] = i_glt0[].&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SORT li_glt0 BY racct.&lt;/P&gt;&lt;P&gt;  DELETE ADJACENT DUPLICATES FROM li_glt0&lt;/P&gt;&lt;P&gt;          COMPARING racct.&lt;/P&gt;&lt;P&gt;  REFRESH i_ska1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get Balance Sheet Accounts&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  SELECT saknr                          " GL Account&lt;/P&gt;&lt;P&gt;    FROM ska1&lt;/P&gt;&lt;P&gt;    INTO TABLE i_ska1&lt;/P&gt;&lt;P&gt;     FOR ALL ENTRIES IN li_glt0&lt;/P&gt;&lt;P&gt;   WHERE saknr EQ li_glt0-racct&lt;/P&gt;&lt;P&gt;     AND xbilk EQ 'X'.&lt;/P&gt;&lt;P&gt;  IF sy-subrc EQ 0.&lt;/P&gt;&lt;P&gt;    SORT i_ska1 BY saknr.&lt;/P&gt;&lt;P&gt;    DELETE ADJACENT DUPLICATES FROM i_ska1&lt;/P&gt;&lt;P&gt;          COMPARING saknr.&lt;/P&gt;&lt;P&gt;  ENDIF.                               " IF SY-SUBRC EQ 0&lt;/P&gt;&lt;P&gt;ENDFORM.                               " F_FETCH_BALACC&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 16 Jul 2008 05:19:43 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2008-07-16T05:19:43Z</dc:date>
    <item>
      <title>interactive report issue</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/interactive-report-issue/m-p/4174447#M998009</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;In a interactive list user cliks on a row of the displayed records ,user is mapped to a transaction and once he enters the save button in that transaction ,User is mapped back to the initial screen of the interactive report as the program is submitted with the selection screen values in order to display the newly updated values .can anyone let me know how to set the cursor at the position where the user has done the last double click and also to display the newly updated values.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 16 Jul 2008 05:14:31 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/interactive-report-issue/m-p/4174447#M998009</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-07-16T05:14:31Z</dc:date>
    </item>
    <item>
      <title>Re: interactive report issue</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/interactive-report-issue/m-p/4174448#M998010</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;here is the example code it will help you to call another transaction .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT z000fre_bs_acc&lt;/P&gt;&lt;P&gt;       NO STANDARD PAGE HEADING&lt;/P&gt;&lt;P&gt;       LINE-SIZE 132 .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Title       :  Balance Sheet &amp;amp; GL Accounts                           *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Author      :  Suvarchala C                                          *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Date        :  18/12/2007                                            *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Reference   :  2KEE   transaction                                    *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Type        :  Report                                                *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Frequency   :  Regularly                                             *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Input       :  Selection criteria                                    *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Output      :  Report to be designed should display sum of all the   *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;               movements on each combination of Business area and    *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;               Balance Sheet GL account summarized in 1 line for the *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;               given selection criteria                              *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Description :  Report to get the combination of Business area and    *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;               Balance Sheet GL account summarized on 1 line         *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                  M O D I F I C A T I O N   L O G                    *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Date    User id       Change #               Description           *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;--------  ----------   ----------  ----------------------------------*&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;18/12/07  EXCCHINTS01  ADSK920712             New development        *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;TABLES                                                               *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;TABLES:&lt;/P&gt;&lt;P&gt;  glt0,                                " G/L acc master rec trans figs&lt;/P&gt;&lt;P&gt;  ska1,                                " G/L Account Master&lt;/P&gt;&lt;P&gt;  sscrfields.                          " Fields on selection screens&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;TYPE POOLS                                                           *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;TYPE-POOLS:&lt;/P&gt;&lt;P&gt;  slis,                                " Global Type pool&lt;/P&gt;&lt;P&gt;  rsds.                                " Types for free deferrals&lt;/P&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;WORK AREA                                                           *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;P&gt;DATA:&lt;/P&gt;&lt;P&gt;  wa_afield    TYPE slis_fieldcat_alv, " Field Catatlog&lt;/P&gt;&lt;P&gt;  wa_layout    TYPE slis_layout_alv,   " Layout&lt;/P&gt;&lt;P&gt;  wa_layout2   TYPE slis_layout_alv,   " Layout&lt;/P&gt;&lt;P&gt;  wa_event     TYPE slis_alv_event,    " Events&lt;/P&gt;&lt;P&gt;  wa_variant   TYPE disvariant,        " Variant&lt;/P&gt;&lt;P&gt;  wa_xvariant  TYPE disvariant.        " Variant&lt;/P&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;INTERNAL TABLES                                                     *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;P&gt;DATA:&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Table for Fields of the current screen&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  i_dynpread   LIKE dynpread OCCURS 1&lt;/P&gt;&lt;P&gt;               WITH HEADER LINE,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Table for List Header&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  i_listheader TYPE slis_t_listheader&lt;/P&gt;&lt;P&gt;               WITH HEADER LINE,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Table for Field Catalog&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  i_fieldcat   TYPE&lt;/P&gt;&lt;P&gt;               slis_t_fieldcat_alv,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Table for Field Catalog2&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  i_fieldcat2  TYPE&lt;/P&gt;&lt;P&gt;               slis_t_fieldcat_alv,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Table for Events&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  i_events     TYPE slis_t_event.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Table for G/L account master record transaction figures&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DATA:&lt;/P&gt;&lt;P&gt;  BEGIN OF i_glt0 OCCURS 0,&lt;/P&gt;&lt;P&gt;    busctr   LIKE glt0-rbusa,          " Business Area&lt;/P&gt;&lt;P&gt;    accno    LIKE glt0-racct,          " Account Number&lt;/P&gt;&lt;P&gt;    t_curr   LIKE tka01-pcacur,        " Currency&lt;/P&gt;&lt;P&gt;    ccode    LIKE glt0-bukrs,          " Company code&lt;/P&gt;&lt;P&gt;    fyear    LIKE glt0-ryear,          " Fiscal year&lt;/P&gt;&lt;P&gt;    tsl      LIKE glt0-ksl01,          " Amount in Transaction Currency&lt;/P&gt;&lt;P&gt;    hsl      LIKE glt0-hsl01,          " Amount in Local Currency&lt;/P&gt;&lt;P&gt;    ksl      LIKE glt0-tsl01.          " Amount in Group Currency&lt;/P&gt;&lt;P&gt;        INCLUDE STRUCTURE glt0.&lt;/P&gt;&lt;P&gt;DATA:&lt;/P&gt;&lt;P&gt;    txt50    LIKE skat-txt50,          " GL Account Name&lt;/P&gt;&lt;P&gt;    altkt    LIKE skb1-altkt,          " French GL Account&lt;/P&gt;&lt;P&gt;  END OF i_glt0,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Temporary table for glt0&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  i_glt0temp LIKE i_glt0 OCCURS 0&lt;/P&gt;&lt;P&gt;              WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;  i_glt0temp1 LIKE i_glt0 OCCURS 0&lt;/P&gt;&lt;P&gt;              WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Table for GL Account Names&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DATA:&lt;/P&gt;&lt;P&gt;  BEGIN OF i_skat OCCURS 0,&lt;/P&gt;&lt;P&gt;    saknr LIKE skat-saknr,             " Account Number&lt;/P&gt;&lt;P&gt;    txt50 LIKE skat-txt50,             " GL Account Name&lt;/P&gt;&lt;P&gt;END OF i_skat,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Table for French GL Accounts&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  BEGIN OF i_skb1 OCCURS 0,&lt;/P&gt;&lt;P&gt;    bukrs LIKE skb1-bukrs,             " Company Code&lt;/P&gt;&lt;P&gt;    saknr LIKE skb1-saknr,             " Account Number&lt;/P&gt;&lt;P&gt;    altkt LIKE skb1-altkt,             " French GL Account&lt;/P&gt;&lt;P&gt;  END OF i_skb1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Table for periods&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DATA:&lt;/P&gt;&lt;P&gt;  BEGIN OF i_periods OCCURS 16,&lt;/P&gt;&lt;P&gt;    ccode    LIKE glt0-bukrs,          " Company code&lt;/P&gt;&lt;P&gt;    fyear    LIKE glt0-ryear,          " Fiscal year&lt;/P&gt;&lt;P&gt;    altkt LIKE skb1-altkt,             " French GL Account&lt;/P&gt;&lt;P&gt;    poper  LIKE                        " Period&lt;/P&gt;&lt;P&gt;           fdbl_balance_line-period,&lt;/P&gt;&lt;P&gt;    ksl    LIKE glt0-ksl01,            " Group Currency amt&lt;/P&gt;&lt;P&gt;    hsl    LIKE glt0-hsl01,            " Local Currency amt&lt;/P&gt;&lt;P&gt;    tsl    LIKE glt0-tsl01,            " Transactional amt&lt;/P&gt;&lt;P&gt;    rtcur  LIKE glt0-rtcur,            " Currency&lt;/P&gt;&lt;P&gt;  END OF i_periods.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Table for French GL Account&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DATA:&lt;/P&gt;&lt;P&gt;  BEGIN OF i_altkt OCCURS 0,&lt;/P&gt;&lt;P&gt;    busctr   LIKE glt0-rbusa,          " Business Area&lt;/P&gt;&lt;P&gt;    accno    LIKE glt0-racct,          " Account Number&lt;/P&gt;&lt;P&gt;    ccode    LIKE glt0-bukrs,          " Company code&lt;/P&gt;&lt;P&gt;    altkt    LIKE skb1-altkt,          " French GL Account&lt;/P&gt;&lt;P&gt;  END OF i_altkt,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Table for Balance Sheet GL Accounts&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  BEGIN OF i_ska1 OCCURS 0,&lt;/P&gt;&lt;P&gt;    saknr LIKE ska1-saknr,             " GL Account&lt;/P&gt;&lt;P&gt;  END OF i_ska1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;DATA DECLARATION AND CONSTANTS                                      *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;P&gt;DATA:&lt;/P&gt;&lt;P&gt;  v_repid        LIKE sy-repid,        " Report Name&lt;/P&gt;&lt;P&gt;  v_cntpoper     TYPE i,               " Counter for selected periods&lt;/P&gt;&lt;P&gt;  v_cntrldnr     TYPE i,               " Counter for selected ledgers&lt;/P&gt;&lt;P&gt;  v_cntryear     TYPE i,               " Counter for selected years&lt;/P&gt;&lt;P&gt;  v_packsize     TYPE i VALUE 1000,    " Packet size&lt;/P&gt;&lt;P&gt;  v_exit(1)      TYPE c,               " Exit&lt;/P&gt;&lt;P&gt;  v_save(1)      TYPE c,               " Save&lt;/P&gt;&lt;P&gt;  v_text1(60)    TYPE c,               " Text&lt;/P&gt;&lt;P&gt;  v_text2(60)    TYPE c.               " Text&lt;/P&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;RANGES                                                              *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;P&gt;RANGES:&lt;/P&gt;&lt;P&gt;  r_rclnt FOR  glpca-rclnt.            " Client&lt;/P&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;/P&gt;&lt;P&gt;SELECT-OPTIONS:&lt;/P&gt;&lt;P&gt;  s_rldnr    FOR  glt0-rldnr           " Ledger&lt;/P&gt;&lt;P&gt;             DEFAULT '00' NO-DISPLAY,&lt;/P&gt;&lt;P&gt;  s_rrcty    FOR  glt0-rrcty,          " Record type&lt;/P&gt;&lt;P&gt;  s_rvers    FOR  glt0-rvers           " Version&lt;/P&gt;&lt;P&gt;             DEFAULT '001' OBLIGATORY,&lt;/P&gt;&lt;P&gt;  s_bukrs    FOR  glt0-bukrs,          " Company Code&lt;/P&gt;&lt;P&gt;  s_ryear    FOR  glt0-ryear           " Fiscal year&lt;/P&gt;&lt;P&gt;             DEFAULT sy-datlo,&lt;/P&gt;&lt;P&gt;  s_racct    FOR  ska1-saknr,          " Account Number&lt;/P&gt;&lt;P&gt;  s_rbusa    FOR  glt0-rbusa,          " FI-SL Buss Trans&lt;/P&gt;&lt;P&gt;  s_poper    FOR  glt0-rpmax.          " Period&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Display-variant&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-e01.&lt;/P&gt;&lt;P&gt;PARAMETERS:&lt;/P&gt;&lt;P&gt;  p_vari LIKE disvariant-variant.      " Variant&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN COMMENT 47(40) varname FOR FIELD p_vari.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK b1.&lt;/P&gt;&lt;P&gt;PARAMETERS&lt;/P&gt;&lt;P&gt;  log_grp(4) TYPE c NO-DISPLAY DEFAULT 'pc10'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;INITIALIZATION                                                      *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;P&gt;INITIALIZATION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  v_repid = sy-repid.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Settings for display variants&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  v_save = 'A'.&lt;/P&gt;&lt;P&gt;  CLEAR wa_variant.&lt;/P&gt;&lt;P&gt;  wa_variant-report = v_repid.&lt;/P&gt;&lt;P&gt;  wa_variant-log_group = log_grp.&lt;/P&gt;&lt;P&gt;  wa_variant-username = sy-uname.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get default variant&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  wa_xvariant = wa_variant.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'REUSE_ALV_VARIANT_DEFAULT_GET'&lt;/P&gt;&lt;P&gt;       EXPORTING&lt;/P&gt;&lt;P&gt;            i_save     = v_save&lt;/P&gt;&lt;P&gt;       CHANGING&lt;/P&gt;&lt;P&gt;            cs_variant = wa_xvariant&lt;/P&gt;&lt;P&gt;       EXCEPTIONS&lt;/P&gt;&lt;P&gt;            not_found  = 2.&lt;/P&gt;&lt;P&gt;  IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;    p_vari = wa_xvariant-variant.&lt;/P&gt;&lt;P&gt;  ENDIF.                               " IF SY-SUBRC = 0&lt;/P&gt;&lt;P&gt;  varname = wa_xvariant-text.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;AT SELCTION-SCREEN on value request                                 *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_vari.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;F4 help for variant&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM f_f4_for_variant.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;AT SELCTION-SCREEN                                                  *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Check authorizations&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM f_check_authority_groups.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Validate Variant&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM f_validate_vari.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Validate the Version&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;AT SELECTION-SCREEN ON s_rvers.&lt;/P&gt;&lt;P&gt;  IF NOT s_rvers[] IS INITIAL.&lt;/P&gt;&lt;P&gt;    PERFORM f_validate_rvers.&lt;/P&gt;&lt;P&gt;  ENDIF.                               " IF S_RVERS[]..&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Validate Company Code&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;AT SELECTION-SCREEN ON s_bukrs.&lt;/P&gt;&lt;P&gt;  IF NOT s_bukrs[] IS INITIAL.&lt;/P&gt;&lt;P&gt;    PERFORM f_validate_bukrs.&lt;/P&gt;&lt;P&gt;  ENDIF.                               " IF S_BUKRS[]..&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Validate Account Number&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;AT SELECTION-SCREEN ON s_racct.&lt;/P&gt;&lt;P&gt;  IF NOT s_racct[] IS INITIAL.&lt;/P&gt;&lt;P&gt;    PERFORM f_validate_racct.&lt;/P&gt;&lt;P&gt;  ENDIF.                               " IF S_RACCT[]..&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Validate Business Area&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;AT SELECTION-SCREEN ON s_rbusa.&lt;/P&gt;&lt;P&gt;  IF NOT s_rbusa[] IS INITIAL.&lt;/P&gt;&lt;P&gt;    PERFORM f_validate_rbusa.&lt;/P&gt;&lt;P&gt;  ENDIF.                               " IF S_RBUSA[]..&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;START-OF-SELECTION                                                  *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;P&gt;START-OF-SELECTION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Optimize database performance&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM f_db_optimizer.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Fetch Business area and accounting data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM f_fetch_busadata.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Fetch GL Acc names &amp;amp; Balance Sheet GL Accounts&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  IF NOT i_glt0[] IS INITIAL.&lt;/P&gt;&lt;P&gt;    PERFORM f_fetch_balacc.&lt;/P&gt;&lt;P&gt;    PERFORM f_fetch_glacc.&lt;/P&gt;&lt;P&gt;  ENDIF.                               " IF NOT I_GLT0[]..&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;END-OF-SELECTION                                                    *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;P&gt;END-OF-SELECTION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT i_glt0[] IS INITIAL.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Modify Selected GL Acc data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    PERFORM f_modify_gldata.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Calculate yearly totals&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    PERFORM f_fetch_yeartot.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Calculate G/L totals&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    PERFORM f_calculate_gltot.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Filling fieldcat&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    PERFORM f_setup_field_tab.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Filling table t_events (for dynamic callbacks from ALV)&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    REFRESH i_events.&lt;/P&gt;&lt;P&gt;    wa_event-name = 'TOP_OF_PAGE'.&lt;/P&gt;&lt;P&gt;    wa_event-form = 'TOP_OF_PAGE'.&lt;/P&gt;&lt;P&gt;    APPEND wa_event TO i_events.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Filling listheader&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    PERFORM f_fill_listheader.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Display Primary list&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    PERFORM f_list_display.&lt;/P&gt;&lt;P&gt;  ENDIF.                               " IF NOT I_glt0[]..&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      FORM F_F4_FOR_VARIANT&lt;/P&gt;&lt;P&gt;*&amp;amp;----&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; F4- help for variant&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;There are no interface parameters to be passed to this routine&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;FORM f_f4_for_variant.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get Variant&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  wa_variant-log_group = log_grp.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get the variants&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CALL FUNCTION 'REUSE_ALV_VARIANT_F4'&lt;/P&gt;&lt;P&gt;       EXPORTING&lt;/P&gt;&lt;P&gt;            is_variant = wa_variant&lt;/P&gt;&lt;P&gt;            i_save     = v_save&lt;/P&gt;&lt;P&gt;       IMPORTING&lt;/P&gt;&lt;P&gt;            e_exit     = v_exit&lt;/P&gt;&lt;P&gt;            es_variant = wa_xvariant&lt;/P&gt;&lt;P&gt;       EXCEPTIONS&lt;/P&gt;&lt;P&gt;            not_found  = 2.&lt;/P&gt;&lt;P&gt;  IF sy-subrc EQ 2.&lt;/P&gt;&lt;P&gt;    MESSAGE s017(0k).&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Update the Screen Fields&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    IF v_exit EQ space.&lt;/P&gt;&lt;P&gt;      p_vari = wa_xvariant-variant.&lt;/P&gt;&lt;P&gt;      varname = wa_xvariant-text.&lt;/P&gt;&lt;P&gt;      i_dynpread-fieldname  = 'VARNAME'.&lt;/P&gt;&lt;P&gt;      i_dynpread-fieldvalue = wa_xvariant-text.&lt;/P&gt;&lt;P&gt;      APPEND i_dynpread.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      CALL FUNCTION 'DYNP_VALUES_UPDATE'&lt;/P&gt;&lt;P&gt;           EXPORTING&lt;/P&gt;&lt;P&gt;                dyname               = v_repid&lt;/P&gt;&lt;P&gt;                dynumb               = '1000'&lt;/P&gt;&lt;P&gt;           TABLES&lt;/P&gt;&lt;P&gt;                dynpfields           = i_dynpread&lt;/P&gt;&lt;P&gt;           EXCEPTIONS&lt;/P&gt;&lt;P&gt;                invalid_abapworkarea = 1&lt;/P&gt;&lt;P&gt;                invalid_dynprofield  = 2&lt;/P&gt;&lt;P&gt;                invalid_dynproname   = 3&lt;/P&gt;&lt;P&gt;                invalid_dynpronummer = 4&lt;/P&gt;&lt;P&gt;                invalid_request      = 5&lt;/P&gt;&lt;P&gt;                no_fielddescription  = 6&lt;/P&gt;&lt;P&gt;                undefind_error       = 7&lt;/P&gt;&lt;P&gt;                OTHERS               = 8.&lt;/P&gt;&lt;P&gt;      IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;        MESSAGE s017(0k).&lt;/P&gt;&lt;P&gt;      ENDIF.                           " IF SY-SUBRC NE 0.&lt;/P&gt;&lt;P&gt;    ENDIF.                             " IF V_EXIT EQ SPACE&lt;/P&gt;&lt;P&gt;  ENDIF.                               " IF SY-SUBRC EQ 2&lt;/P&gt;&lt;P&gt;ENDFORM.                               " F_F4_FOR_VARIANT&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      FORM F_USR_CMD                                                *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;This routine is used to display secondary list&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;UCOMM       User Command&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;SELFIELD    Cell Field&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;FORM f_usr_cmd USING ucomm    LIKE sy-ucomm&lt;/P&gt;&lt;P&gt;                   selfield TYPE slis_selfield.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CASE ucomm.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Double click&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    WHEN '&amp;amp;IC1'.&lt;/P&gt;&lt;P&gt;      IF selfield-tabindex = 0.&lt;/P&gt;&lt;P&gt;        MESSAGE e004(ok).&lt;/P&gt;&lt;P&gt;      ENDIF.                           " IF SELFIELD-TABINDEX&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      READ TABLE i_glt0 INDEX selfield-tabindex.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Fill Field catalog&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      PERFORM f_fill_tables2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      wa_layout2-detail_initial_lines = 'X'.&lt;/P&gt;&lt;P&gt;      wa_layout2-detail_popup         = 'X'.&lt;/P&gt;&lt;P&gt;      wa_layout2-min_linesize         = 40.&lt;/P&gt;&lt;P&gt;      wa_layout2-f2code               = 'PIC1'.&lt;/P&gt;&lt;P&gt;      wa_layout2-colwidth_optimize    = 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Display Process indicatior in currenct widow&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'&lt;/P&gt;&lt;P&gt;           EXPORTING&lt;/P&gt;&lt;P&gt;                text = text-p60.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Display Secondary list&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'&lt;/P&gt;&lt;P&gt;           EXPORTING&lt;/P&gt;&lt;P&gt;                i_interface_check        = ' '&lt;/P&gt;&lt;P&gt;                i_callback_program       = v_repid&lt;/P&gt;&lt;P&gt;                i_callback_pf_status_set = 'F_SET_PF_STATUS_2'&lt;/P&gt;&lt;P&gt;                i_callback_user_command  = 'F_USR_CMD'&lt;/P&gt;&lt;P&gt;                i_structure_name         = 'T_PERIODS'&lt;/P&gt;&lt;P&gt;                is_layout                = wa_layout2&lt;/P&gt;&lt;P&gt;                it_fieldcat              = i_fieldcat2&lt;/P&gt;&lt;P&gt;                i_default                = 'X'&lt;/P&gt;&lt;P&gt;                i_screen_start_column    = 1&lt;/P&gt;&lt;P&gt;                i_screen_start_line      = 1&lt;/P&gt;&lt;P&gt;                i_screen_end_column      = 75&lt;/P&gt;&lt;P&gt;                i_screen_end_line        = 17&lt;/P&gt;&lt;P&gt;           TABLES&lt;/P&gt;&lt;P&gt;                t_outtab                 = i_periods&lt;/P&gt;&lt;P&gt;           EXCEPTIONS&lt;/P&gt;&lt;P&gt;                program_error            = 1&lt;/P&gt;&lt;P&gt;                OTHERS                   = 2.&lt;/P&gt;&lt;P&gt;      IF sy-subrc EQ 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Do nothing&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      ENDIF.                           " IF SY-SUBRC EQ 0&lt;/P&gt;&lt;P&gt;      CLEAR i_glt0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    WHEN '&amp;amp;ICP'.&lt;/P&gt;&lt;P&gt;      SET SCREEN 0.&lt;/P&gt;&lt;P&gt;      LEAVE SCREEN.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    WHEN 'PIC1'.&lt;/P&gt;&lt;P&gt;      IF selfield-tabindex = 0.&lt;/P&gt;&lt;P&gt;        MESSAGE e004(ok).&lt;/P&gt;&lt;P&gt;      ENDIF.                           " IF SELFIELD-TABINDEX&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      READ TABLE i_periods INDEX selfield-tabindex.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Display individual items&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      PERFORM f_submit_report.&lt;/P&gt;&lt;P&gt;  ENDCASE.                             " CASE UCOMM&lt;/P&gt;&lt;P&gt;ENDFORM.                               " F_USR_CMD&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      FORM F_SET_UP_FIELD_TAB                                       *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Prepare Field catalog&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;No interface parameters are required&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;FORM f_setup_field_tab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA lv_i TYPE i.                    " Integer&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR lv_i.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Business Area&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CLEAR wa_afield.&lt;/P&gt;&lt;P&gt;  wa_afield-seltext_m     = text-w01.&lt;/P&gt;&lt;P&gt;  wa_afield-key = 'X'.&lt;/P&gt;&lt;P&gt;  PERFORM f_add_afield_to_fieldtab USING 'RBUSA'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;GL Account&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CLEAR wa_afield.&lt;/P&gt;&lt;P&gt;  wa_afield-seltext_m     = text-w02.&lt;/P&gt;&lt;P&gt;  wa_afield-key = 'X'.&lt;/P&gt;&lt;P&gt;  PERFORM f_add_afield_to_fieldtab USING 'RACCT'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;French GL Account&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CLEAR wa_afield.&lt;/P&gt;&lt;P&gt;  wa_afield-key = 'X'.&lt;/P&gt;&lt;P&gt;  wa_afield-seltext_m     = text-w03.&lt;/P&gt;&lt;P&gt;  PERFORM f_add_afield_to_fieldtab USING 'ALTKT'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;GL Account Name&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CLEAR wa_afield.&lt;/P&gt;&lt;P&gt;  wa_afield-key = 'X'.&lt;/P&gt;&lt;P&gt;  wa_afield-seltext_m     = text-w04.&lt;/P&gt;&lt;P&gt;  PERFORM f_add_afield_to_fieldtab USING 'TXT50'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Record Type&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CLEAR wa_afield.&lt;/P&gt;&lt;P&gt;  wa_afield-seltext_m     = text-w05.&lt;/P&gt;&lt;P&gt;  wa_afield-key = ' '.&lt;/P&gt;&lt;P&gt;  PERFORM f_add_afield_to_fieldtab USING 'RRCTY'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Transactional Currency total&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CLEAR wa_afield.&lt;/P&gt;&lt;P&gt;  wa_afield-ref_tabname = 'GLPCA'.&lt;/P&gt;&lt;P&gt;  wa_afield-cfieldname  = 'RTCUR'.&lt;/P&gt;&lt;P&gt;  wa_afield-do_sum      = 'X'.&lt;/P&gt;&lt;P&gt;  wa_afield-seltext_m   = text-w06.&lt;/P&gt;&lt;P&gt;  PERFORM f_add_afield_to_fieldtab USING 'TSL'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Transactional Currency&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CLEAR wa_afield.&lt;/P&gt;&lt;P&gt;  wa_afield-no_sum        = 'X'.&lt;/P&gt;&lt;P&gt;  wa_afield-seltext_m     = text-w07.&lt;/P&gt;&lt;P&gt;  PERFORM f_add_afield_to_fieldtab USING 'RTCUR'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Version&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CLEAR wa_afield.&lt;/P&gt;&lt;P&gt;  wa_afield-no_out = 'X'.&lt;/P&gt;&lt;P&gt;  wa_afield-seltext_m     = text-w08.&lt;/P&gt;&lt;P&gt;  PERFORM f_add_afield_to_fieldtab USING 'RVERS'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Ledger&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CLEAR wa_afield.&lt;/P&gt;&lt;P&gt;  wa_afield-no_out = 'X'.&lt;/P&gt;&lt;P&gt;  wa_afield-seltext_m     = text-w09.&lt;/P&gt;&lt;P&gt;  PERFORM f_add_afield_to_fieldtab USING 'RLDNR'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Period Break down&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  REFRESH i_fieldcat2.&lt;/P&gt;&lt;P&gt;  CLEAR lv_i.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Company Code&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  ADD 1 TO lv_i.&lt;/P&gt;&lt;P&gt;  CLEAR wa_afield.&lt;/P&gt;&lt;P&gt;  wa_afield-col_pos       = lv_i.&lt;/P&gt;&lt;P&gt;  wa_afield-fieldname     = 'CCODE'.&lt;/P&gt;&lt;P&gt;  wa_afield-key           = 'X'.&lt;/P&gt;&lt;P&gt;  wa_afield-no_sum        = 'X'.&lt;/P&gt;&lt;P&gt;  wa_afield-seltext_m     = text-w13.&lt;/P&gt;&lt;P&gt;  APPEND wa_afield TO i_fieldcat2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Fiscal Year&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  ADD 1 TO lv_i.&lt;/P&gt;&lt;P&gt;  CLEAR wa_afield.&lt;/P&gt;&lt;P&gt;  wa_afield-col_pos       = lv_i.&lt;/P&gt;&lt;P&gt;  wa_afield-fieldname     = 'FYEAR'.&lt;/P&gt;&lt;P&gt;  wa_afield-key           = 'X'.&lt;/P&gt;&lt;P&gt;  wa_afield-no_sum        = 'X'.&lt;/P&gt;&lt;P&gt;  wa_afield-seltext_m     = text-w10.&lt;/P&gt;&lt;P&gt;  APPEND wa_afield TO i_fieldcat2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;French GL Account&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  ADD 1 TO lv_i.&lt;/P&gt;&lt;P&gt;  CLEAR wa_afield.&lt;/P&gt;&lt;P&gt;  wa_afield-col_pos       = lv_i.&lt;/P&gt;&lt;P&gt;  wa_afield-fieldname     = 'ALTKT'.&lt;/P&gt;&lt;P&gt;  wa_afield-key           = 'X'.&lt;/P&gt;&lt;P&gt;  wa_afield-no_sum        = 'X'.&lt;/P&gt;&lt;P&gt;  wa_afield-seltext_m     = text-w03.&lt;/P&gt;&lt;P&gt;  APPEND wa_afield TO i_fieldcat2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Period&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  ADD 1 TO lv_i.&lt;/P&gt;&lt;P&gt;  CLEAR wa_afield.&lt;/P&gt;&lt;P&gt;  wa_afield-col_pos       = lv_i.&lt;/P&gt;&lt;P&gt;  wa_afield-fieldname     = 'POPER'.&lt;/P&gt;&lt;P&gt;  wa_afield-key           = 'X'.&lt;/P&gt;&lt;P&gt;  wa_afield-no_sum        = 'X'.&lt;/P&gt;&lt;P&gt;  wa_afield-ref_tabname   = 'GLPCA'.&lt;/P&gt;&lt;P&gt;  wa_afield-seltext_s     = text-w11.&lt;/P&gt;&lt;P&gt;  wa_afield-seltext_m     = text-w11.&lt;/P&gt;&lt;P&gt;  wa_afield-seltext_l     = text-w11.&lt;/P&gt;&lt;P&gt;  APPEND wa_afield TO i_fieldcat2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Transactional Currency&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  ADD 1 TO lv_i.&lt;/P&gt;&lt;P&gt;  CLEAR wa_afield.&lt;/P&gt;&lt;P&gt;  wa_afield-col_pos       = lv_i.&lt;/P&gt;&lt;P&gt;  wa_afield-fieldname     = 'TSL'.&lt;/P&gt;&lt;P&gt;  wa_afield-ref_fieldname = 'TSL'.&lt;/P&gt;&lt;P&gt;  wa_afield-ref_tabname   = 'GLPCA'.&lt;/P&gt;&lt;P&gt;  wa_afield-seltext_m     = text-w06.&lt;/P&gt;&lt;P&gt;  wa_afield-do_sum        = 'X'.&lt;/P&gt;&lt;P&gt;  wa_afield-cfieldname    = 'RTCUR'.&lt;/P&gt;&lt;P&gt;  APPEND wa_afield TO i_fieldcat2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Currency Key&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  ADD 1 TO lv_i.&lt;/P&gt;&lt;P&gt;  CLEAR wa_afield.&lt;/P&gt;&lt;P&gt;  wa_afield-col_pos       = lv_i.&lt;/P&gt;&lt;P&gt;  wa_afield-fieldname     = 'RTCUR'.&lt;/P&gt;&lt;P&gt;  wa_afield-ref_fieldname = 'RTCUR'.&lt;/P&gt;&lt;P&gt;  wa_afield-seltext_m     = text-w07.&lt;/P&gt;&lt;P&gt;  wa_afield-no_sum        = 'X'.&lt;/P&gt;&lt;P&gt;  APPEND wa_afield TO i_fieldcat2.&lt;/P&gt;&lt;P&gt;ENDFORM.                               " F_SETUP_FIELD_TAB&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      FORM F_ADD_AFIELD_TO_FIELDTAB                                 *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;This Routine is used to prepare field catalag                       *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  VALUE(FIELDNAME)  Field name&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;FORM f_add_afield_to_fieldtab&lt;/P&gt;&lt;P&gt;                      USING value(fieldname) LIKE wa_afield-fieldname.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  STATICS zaehler LIKE sy-tabix.&lt;/P&gt;&lt;P&gt;  wa_afield-fieldname = fieldname.&lt;/P&gt;&lt;P&gt;  ADD 1 TO zaehler.&lt;/P&gt;&lt;P&gt;  wa_afield-col_pos = zaehler.&lt;/P&gt;&lt;P&gt;  APPEND wa_afield TO i_fieldcat.&lt;/P&gt;&lt;P&gt;ENDFORM.                               " F_ADD_AFIELD_TO_FIELDTAB&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      FORM WRITE_ITAB&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;To display Internal table data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  ITAB  " Internal table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;FORM write_itab TABLES itab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT itab.&lt;/P&gt;&lt;P&gt;    WRITE / itab.&lt;/P&gt;&lt;P&gt;  ENDLOOP.                             " LOOP AT ITAB&lt;/P&gt;&lt;P&gt;ENDFORM.                               " WRITE_ITAB&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      FORM MODIFY_FIELDTAB_FOR_POPER                                *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Modify Field Catalog                                                *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  VALUE(FIELDNAME)  Field name                                  *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;FORM modify_fieldtab_for_poper&lt;/P&gt;&lt;P&gt;                     USING value(fieldname) LIKE wa_afield-fieldname.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA:&lt;/P&gt;&lt;P&gt;    lv_text LIKE wa_afield-fieldname,  " Field name&lt;/P&gt;&lt;P&gt;    lv_zaehler LIKE sy-tabix.          " Index&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DESCRIBE TABLE s_poper LINES lv_zaehler.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF lv_zaehler GT 0.&lt;/P&gt;&lt;P&gt;    lv_zaehler = 0.&lt;/P&gt;&lt;P&gt;    DO 17 TIMES.&lt;/P&gt;&lt;P&gt;      IF lv_zaehler IN s_poper.&lt;/P&gt;&lt;P&gt;        lv_text = fieldname.&lt;/P&gt;&lt;P&gt;        IF lv_zaehler EQ 0.&lt;/P&gt;&lt;P&gt;          WRITE 'VT' TO lv_text+3(2).&lt;/P&gt;&lt;P&gt;        ELSEIF lv_zaehler LT 10.&lt;/P&gt;&lt;P&gt;          WRITE lv_zaehler TO lv_text+4(1).&lt;/P&gt;&lt;P&gt;        ELSE.&lt;/P&gt;&lt;P&gt;          WRITE lv_zaehler TO lv_text+3(2).&lt;/P&gt;&lt;P&gt;        ENDIF.                         " IF LV_ZAEHLER EQ 0&lt;/P&gt;&lt;P&gt;        READ TABLE i_fieldcat WITH KEY fieldname = lv_text&lt;/P&gt;&lt;P&gt;                   INTO wa_afield.&lt;/P&gt;&lt;P&gt;        wa_afield-no_out = ' '.&lt;/P&gt;&lt;P&gt;        MODIFY i_fieldcat FROM wa_afield INDEX sy-tabix.&lt;/P&gt;&lt;P&gt;      ENDIF.                           " IF LV_ZAEHLER IN POPER&lt;/P&gt;&lt;P&gt;      ADD 1 TO lv_zaehler.&lt;/P&gt;&lt;P&gt;    ENDDO.                             " DO&lt;/P&gt;&lt;P&gt;  ENDIF.                               " IF LV_ZAEHLER GT 0&lt;/P&gt;&lt;P&gt;ENDFORM.                               " MODIFY_FIELDTAB_FOR_POPER&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  F_CLEAR_PERIODS&lt;/P&gt;&lt;P&gt;*&amp;amp;----&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;  Deleting not selected Periods&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;No Interface parameters are required&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;FORM f_clear_periods.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CHECK v_cntpoper &amp;gt; 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT 0 IN s_poper.&lt;/P&gt;&lt;P&gt;    CLEAR: i_glt0-kslvt, i_glt0-hslvt,&lt;/P&gt;&lt;P&gt;           i_glt0-tslvt.&lt;/P&gt;&lt;P&gt;  ENDIF.                               " IF NOT 0 IN POPER&lt;/P&gt;&lt;P&gt;  IF NOT 1 IN s_poper.&lt;/P&gt;&lt;P&gt;    CLEAR: i_glt0-ksl01, i_glt0-hsl01,&lt;/P&gt;&lt;P&gt;           i_glt0-tsl01.&lt;/P&gt;&lt;P&gt;  ENDIF.                               " IF NOT 1 IN POPER&lt;/P&gt;&lt;P&gt;  IF NOT 2 IN s_poper.&lt;/P&gt;&lt;P&gt;    CLEAR: i_glt0-ksl02, i_glt0-hsl02,&lt;/P&gt;&lt;P&gt;           i_glt0-tsl02.&lt;/P&gt;&lt;P&gt;  ENDIF.                               " IF NOT 2 IN POPER&lt;/P&gt;&lt;P&gt;  IF NOT 3 IN s_poper.&lt;/P&gt;&lt;P&gt;    CLEAR: i_glt0-ksl03, i_glt0-hsl03,&lt;/P&gt;&lt;P&gt;           i_glt0-tsl03.&lt;/P&gt;&lt;P&gt;  ENDIF.                               " IF NOT 3 IN POPER&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT 4 IN s_poper.&lt;/P&gt;&lt;P&gt;    CLEAR: i_glt0-ksl04, i_glt0-hsl04,&lt;/P&gt;&lt;P&gt;           i_glt0-tsl04.&lt;/P&gt;&lt;P&gt;  ENDIF.                               " IF NOT 4 IN POPER&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT 5 IN s_poper.&lt;/P&gt;&lt;P&gt;    CLEAR: i_glt0-ksl05, i_glt0-hsl05,&lt;/P&gt;&lt;P&gt;           i_glt0-tsl05.&lt;/P&gt;&lt;P&gt;  ENDIF.                               " IF NOT 5 IN POPER&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT 6 IN s_poper.&lt;/P&gt;&lt;P&gt;    CLEAR: i_glt0-ksl06, i_glt0-hsl06,&lt;/P&gt;&lt;P&gt;           i_glt0-tsl06.&lt;/P&gt;&lt;P&gt;  ENDIF.                               " IF NOT 6 IN POPER&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT 7 IN s_poper.&lt;/P&gt;&lt;P&gt;    CLEAR: i_glt0-ksl07, i_glt0-hsl07,&lt;/P&gt;&lt;P&gt;           i_glt0-tsl07.&lt;/P&gt;&lt;P&gt;  ENDIF.                               " IF NOT 7 IN POPER&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT 8 IN s_poper.&lt;/P&gt;&lt;P&gt;    CLEAR: i_glt0-ksl08, i_glt0-hsl08,&lt;/P&gt;&lt;P&gt;           i_glt0-tsl08.&lt;/P&gt;&lt;P&gt;  ENDIF.                               " IF NOT 8 IN POPER&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT 9 IN s_poper.&lt;/P&gt;&lt;P&gt;    CLEAR: i_glt0-ksl09, i_glt0-hsl09,&lt;/P&gt;&lt;P&gt;           i_glt0-tsl09.&lt;/P&gt;&lt;P&gt;  ENDIF.                               " IF NOT 9 IN POPER&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT 10 IN s_poper.&lt;/P&gt;&lt;P&gt;    CLEAR: i_glt0-ksl10, i_glt0-hsl10,&lt;/P&gt;&lt;P&gt;           i_glt0-tsl10.&lt;/P&gt;&lt;P&gt;  ENDIF.                               " IF NOT 10 IN POPER&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT 11 IN s_poper.&lt;/P&gt;&lt;P&gt;    CLEAR: i_glt0-ksl11, i_glt0-hsl11,&lt;/P&gt;&lt;P&gt;           i_glt0-tsl11.&lt;/P&gt;&lt;P&gt;  ENDIF.                               " IF NOT 11 IN POPER&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT 12 IN s_poper.&lt;/P&gt;&lt;P&gt;    CLEAR: i_glt0-ksl12, i_glt0-hsl12,&lt;/P&gt;&lt;P&gt;           i_glt0-tsl12.&lt;/P&gt;&lt;P&gt;  ENDIF.                               " IF NOT 12 IN POPER&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT 13 IN s_poper.&lt;/P&gt;&lt;P&gt;    CLEAR: i_glt0-ksl13, i_glt0-hsl13,&lt;/P&gt;&lt;P&gt;           i_glt0-tsl13.&lt;/P&gt;&lt;P&gt;  ENDIF.                               " IF NOT 13 IN POPER&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT 14 IN s_poper.&lt;/P&gt;&lt;P&gt;    CLEAR: i_glt0-ksl14, i_glt0-hsl14,&lt;/P&gt;&lt;P&gt;           i_glt0-tsl14.&lt;/P&gt;&lt;P&gt;  ENDIF.                               " IF NOT 14 IN POPER&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT 15 IN s_poper.&lt;/P&gt;&lt;P&gt;    CLEAR: i_glt0-ksl15, i_glt0-hsl15,&lt;/P&gt;&lt;P&gt;           i_glt0-tsl15.&lt;/P&gt;&lt;P&gt;  ENDIF.                               " IF NOT 15 IN POPER&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT 16 IN s_poper.&lt;/P&gt;&lt;P&gt;    CLEAR: i_glt0-ksl16, i_glt0-hsl16,&lt;/P&gt;&lt;P&gt;           i_glt0-tsl16.&lt;/P&gt;&lt;P&gt;  ENDIF.                               " IF NOT 16 IN POPER&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                               " F_CLEAR_PERIODS&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  F_CALCULATE_SUMS&lt;/P&gt;&lt;P&gt;*&amp;amp;----&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;      Calculating sums over periods                                  *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;No Interface parameters are required&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;FORM f_calculate_sums.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  i_glt0-ksl = i_glt0-kslvt + i_glt0-ksl01 +&lt;/P&gt;&lt;P&gt;                i_glt0-ksl02 + i_glt0-ksl03 +&lt;/P&gt;&lt;P&gt;                i_glt0-ksl04 + i_glt0-ksl05 +&lt;/P&gt;&lt;P&gt;                i_glt0-ksl06 + i_glt0-ksl07 +&lt;/P&gt;&lt;P&gt;                i_glt0-ksl08 + i_glt0-ksl09 +&lt;/P&gt;&lt;P&gt;                i_glt0-ksl10 + i_glt0-ksl11 +&lt;/P&gt;&lt;P&gt;                i_glt0-ksl12 + i_glt0-ksl13 +&lt;/P&gt;&lt;P&gt;                i_glt0-ksl14 + i_glt0-ksl15 +&lt;/P&gt;&lt;P&gt;                i_glt0-ksl16.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  i_glt0-hsl = i_glt0-hslvt + i_glt0-hsl01 +&lt;/P&gt;&lt;P&gt;                i_glt0-hsl02 + i_glt0-hsl03 +&lt;/P&gt;&lt;P&gt;                i_glt0-hsl04 + i_glt0-hsl05 +&lt;/P&gt;&lt;P&gt;                i_glt0-hsl06 + i_glt0-hsl07 +&lt;/P&gt;&lt;P&gt;                i_glt0-hsl08 + i_glt0-hsl09 +&lt;/P&gt;&lt;P&gt;                i_glt0-hsl10 + i_glt0-hsl11 +&lt;/P&gt;&lt;P&gt;                i_glt0-hsl12 + i_glt0-hsl13 +&lt;/P&gt;&lt;P&gt;                i_glt0-hsl14 + i_glt0-hsl15 +&lt;/P&gt;&lt;P&gt;                i_glt0-hsl16.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  i_glt0-tsl = i_glt0-tslvt + i_glt0-tsl01 +&lt;/P&gt;&lt;P&gt;                i_glt0-tsl02 + i_glt0-tsl03 +&lt;/P&gt;&lt;P&gt;                i_glt0-tsl04 + i_glt0-tsl05 +&lt;/P&gt;&lt;P&gt;                i_glt0-tsl06 + i_glt0-tsl07 +&lt;/P&gt;&lt;P&gt;                i_glt0-tsl08 + i_glt0-tsl09 +&lt;/P&gt;&lt;P&gt;                i_glt0-tsl10 + i_glt0-tsl11 +&lt;/P&gt;&lt;P&gt;                i_glt0-tsl12 + i_glt0-tsl13 +&lt;/P&gt;&lt;P&gt;                i_glt0-tsl14 + i_glt0-tsl15 +&lt;/P&gt;&lt;P&gt;                i_glt0-tsl16.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                               " F_CALCULATE_SUMS&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  F_FILL_TABLES2&lt;/P&gt;&lt;P&gt;*&amp;amp;----&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;Fill Secondary List table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;No Interface parameters are required&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;FORM f_fill_tables2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  REFRESH i_periods.&lt;/P&gt;&lt;P&gt;  CLEAR i_periods.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT i_glt0temp1 WHERE busctr = i_glt0-busctr&lt;/P&gt;&lt;P&gt;                        AND accno = i_glt0-accno&lt;/P&gt;&lt;P&gt;                        AND t_curr = i_glt0-t_curr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    i_periods-rtcur    = i_glt0temp1-rtcur.&lt;/P&gt;&lt;P&gt;    i_periods-ccode    = i_glt0temp1-ccode.&lt;/P&gt;&lt;P&gt;    i_periods-fyear    = i_glt0temp1-fyear.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF i_glt0-altkt EQ space.&lt;/P&gt;&lt;P&gt;      READ TABLE i_skb1 WITH KEY bukrs = i_glt0temp1-ccode&lt;/P&gt;&lt;P&gt;                    saknr = i_glt0temp1-racct BINARY SEARCH.&lt;/P&gt;&lt;P&gt;      IF sy-subrc EQ 0.&lt;/P&gt;&lt;P&gt;        MOVE i_skb1-altkt TO i_periods-altkt.&lt;/P&gt;&lt;P&gt;      ENDIF.                           " IF SY-SUBRC EQ 0&lt;/P&gt;&lt;P&gt;    ENDIF.                             " IV I_GLT0-ALTKT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF 0 IN s_poper.&lt;/P&gt;&lt;P&gt;      i_periods-poper = 'Bal.carrried forward'(w12).&lt;/P&gt;&lt;P&gt;      i_periods-ksl   = i_glt0temp1-kslvt.&lt;/P&gt;&lt;P&gt;      i_periods-hsl   = i_glt0temp1-hslvt.&lt;/P&gt;&lt;P&gt;      i_periods-tsl   = i_glt0temp1-tslvt.&lt;/P&gt;&lt;P&gt;      APPEND i_periods.&lt;/P&gt;&lt;P&gt;    ENDIF.                             " IF 0 IN POPER.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF 1 IN s_poper.&lt;/P&gt;&lt;P&gt;      i_periods-poper = '01'.&lt;/P&gt;&lt;P&gt;      i_periods-ksl   = i_glt0temp1-ksl01.&lt;/P&gt;&lt;P&gt;      i_periods-hsl   = i_glt0temp1-hsl01.&lt;/P&gt;&lt;P&gt;      i_periods-tsl   = i_glt0temp1-tsl01.&lt;/P&gt;&lt;P&gt;      APPEND i_periods.&lt;/P&gt;&lt;P&gt;    ENDIF.                             " IF 1 IN POPER.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF 2 IN s_poper.&lt;/P&gt;&lt;P&gt;      i_periods-poper = '02'.&lt;/P&gt;&lt;P&gt;      i_periods-ksl   = i_glt0temp1-ksl02.&lt;/P&gt;&lt;P&gt;      i_periods-hsl   = i_glt0temp1-hsl02.&lt;/P&gt;&lt;P&gt;      i_periods-tsl   = i_glt0temp1-tsl02.&lt;/P&gt;&lt;P&gt;      APPEND i_periods.&lt;/P&gt;&lt;P&gt;    ENDIF.                             " IF 2 IN POPER.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF 3 IN s_poper.&lt;/P&gt;&lt;P&gt;      i_periods-poper = '03'.&lt;/P&gt;&lt;P&gt;      i_periods-ksl   = i_glt0temp1-ksl03.&lt;/P&gt;&lt;P&gt;      i_periods-hsl   = i_glt0temp1-hsl03.&lt;/P&gt;&lt;P&gt;      i_periods-tsl   = i_glt0temp1-tsl03.&lt;/P&gt;&lt;P&gt;      APPEND i_periods.&lt;/P&gt;&lt;P&gt;    ENDIF.                             " IF 3 IN POPER.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF 4 IN s_poper.&lt;/P&gt;&lt;P&gt;      i_periods-poper = '04'.&lt;/P&gt;&lt;P&gt;      i_periods-ksl   = i_glt0temp1-ksl04.&lt;/P&gt;&lt;P&gt;      i_periods-hsl   = i_glt0temp1-hsl04.&lt;/P&gt;&lt;P&gt;      i_periods-tsl   = i_glt0temp1-tsl04.&lt;/P&gt;&lt;P&gt;      APPEND i_periods.&lt;/P&gt;&lt;P&gt;    ENDIF.                             " IF 4 IN POPER.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF 5 IN s_poper.&lt;/P&gt;&lt;P&gt;      i_periods-poper = '05'.&lt;/P&gt;&lt;P&gt;      i_periods-ksl   = i_glt0temp1-ksl05.&lt;/P&gt;&lt;P&gt;      i_periods-hsl   = i_glt0temp1-hsl05.&lt;/P&gt;&lt;P&gt;      i_periods-tsl   = i_glt0temp1-tsl05.&lt;/P&gt;&lt;P&gt;      APPEND i_periods.&lt;/P&gt;&lt;P&gt;    ENDIF.                             " IF 5 IN POPER.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF 6 IN s_poper.&lt;/P&gt;&lt;P&gt;      i_periods-poper = '06'.&lt;/P&gt;&lt;P&gt;      i_periods-ksl   = i_glt0temp1-ksl06.&lt;/P&gt;&lt;P&gt;      i_periods-hsl   = i_glt0temp1-hsl06.&lt;/P&gt;&lt;P&gt;      i_periods-tsl   = i_glt0temp1-tsl06.&lt;/P&gt;&lt;P&gt;      APPEND i_periods.&lt;/P&gt;&lt;P&gt;    ENDIF.                             " IF 6 IN POPER.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF 7 IN s_poper.&lt;/P&gt;&lt;P&gt;      i_periods-poper = '07'.&lt;/P&gt;&lt;P&gt;      i_periods-ksl   = i_glt0temp1-ksl07.&lt;/P&gt;&lt;P&gt;      i_periods-hsl   = i_glt0temp1-hsl07.&lt;/P&gt;&lt;P&gt;      i_periods-tsl   = i_glt0temp1-tsl07.&lt;/P&gt;&lt;P&gt;      APPEND i_periods.&lt;/P&gt;&lt;P&gt;    ENDIF.                             " IF 7 IN POPER.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF 8 IN s_poper.&lt;/P&gt;&lt;P&gt;      i_periods-poper = '08'.&lt;/P&gt;&lt;P&gt;      i_periods-ksl   = i_glt0temp1-ksl08.&lt;/P&gt;&lt;P&gt;      i_periods-hsl   = i_glt0temp1-hsl08.&lt;/P&gt;&lt;P&gt;      i_periods-tsl   = i_glt0temp1-tsl08.&lt;/P&gt;&lt;P&gt;      APPEND i_periods.&lt;/P&gt;&lt;P&gt;    ENDIF.                             " IF 8 IN POPER.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF 9 IN s_poper.&lt;/P&gt;&lt;P&gt;      i_periods-poper = '09'.&lt;/P&gt;&lt;P&gt;      i_periods-ksl   = i_glt0temp1-ksl09.&lt;/P&gt;&lt;P&gt;      i_periods-hsl   = i_glt0temp1-hsl09.&lt;/P&gt;&lt;P&gt;      i_periods-tsl   = i_glt0temp1-tsl09.&lt;/P&gt;&lt;P&gt;      APPEND i_periods.&lt;/P&gt;&lt;P&gt;    ENDIF.                             " IF 9 IN POPER.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF 10 IN s_poper.&lt;/P&gt;&lt;P&gt;      i_periods-poper = '10'.&lt;/P&gt;&lt;P&gt;      i_periods-ksl   = i_glt0temp1-ksl10.&lt;/P&gt;&lt;P&gt;      i_periods-hsl   = i_glt0temp1-hsl10.&lt;/P&gt;&lt;P&gt;      i_periods-tsl   = i_glt0temp1-tsl10.&lt;/P&gt;&lt;P&gt;      APPEND i_periods.&lt;/P&gt;&lt;P&gt;    ENDIF.                             " IF 10 IN POPER.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF 11 IN s_poper.&lt;/P&gt;&lt;P&gt;      i_periods-poper = '11'.&lt;/P&gt;&lt;P&gt;      i_periods-ksl   = i_glt0temp1-ksl11.&lt;/P&gt;&lt;P&gt;      i_periods-hsl   = i_glt0temp1-hsl11.&lt;/P&gt;&lt;P&gt;      i_periods-tsl   = i_glt0temp1-tsl11.&lt;/P&gt;&lt;P&gt;      APPEND i_periods.&lt;/P&gt;&lt;P&gt;    ENDIF.                             " IF 11 IN POPER.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF 12 IN s_poper.&lt;/P&gt;&lt;P&gt;      i_periods-poper = '12'.&lt;/P&gt;&lt;P&gt;      i_periods-ksl   = i_glt0temp1-ksl12.&lt;/P&gt;&lt;P&gt;      i_periods-hsl   = i_glt0temp1-hsl12.&lt;/P&gt;&lt;P&gt;      i_periods-tsl   = i_glt0temp1-tsl12.&lt;/P&gt;&lt;P&gt;      APPEND i_periods.&lt;/P&gt;&lt;P&gt;    ENDIF.                             " IF 12 IN POPER.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF 13 IN s_poper.&lt;/P&gt;&lt;P&gt;      i_periods-poper = '13'.&lt;/P&gt;&lt;P&gt;      i_periods-ksl   = i_glt0temp1-ksl13.&lt;/P&gt;&lt;P&gt;      i_periods-hsl   = i_glt0temp1-hsl13.&lt;/P&gt;&lt;P&gt;      i_periods-tsl   = i_glt0temp1-tsl13.&lt;/P&gt;&lt;P&gt;      APPEND i_periods.&lt;/P&gt;&lt;P&gt;    ENDIF.                             " IF 13 IN POPER.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF 14 IN s_poper.&lt;/P&gt;&lt;P&gt;      i_periods-poper = '14'.&lt;/P&gt;&lt;P&gt;      i_periods-ksl   = i_glt0temp1-ksl14.&lt;/P&gt;&lt;P&gt;      i_periods-hsl   = i_glt0temp1-hsl14.&lt;/P&gt;&lt;P&gt;      i_periods-tsl   = i_glt0temp1-tsl14.&lt;/P&gt;&lt;P&gt;      APPEND i_periods.&lt;/P&gt;&lt;P&gt;    ENDIF.                             " IF 14 IN POPER.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF 15 IN s_poper.&lt;/P&gt;&lt;P&gt;      i_periods-poper = '15'.&lt;/P&gt;&lt;P&gt;      i_periods-ksl   = i_glt0temp1-ksl15.&lt;/P&gt;&lt;P&gt;      i_periods-hsl   = i_glt0temp1-hsl15.&lt;/P&gt;&lt;P&gt;      i_periods-tsl   = i_glt0temp1-tsl15.&lt;/P&gt;&lt;P&gt;      APPEND i_periods.&lt;/P&gt;&lt;P&gt;    ENDIF.                             " IF 15 IN POPER.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF 16 IN s_poper.&lt;/P&gt;&lt;P&gt;      i_periods-poper = '16'.&lt;/P&gt;&lt;P&gt;      i_periods-ksl   = i_glt0temp1-ksl16.&lt;/P&gt;&lt;P&gt;      i_periods-hsl   = i_glt0temp1-hsl16.&lt;/P&gt;&lt;P&gt;      i_periods-tsl   = i_glt0temp1-tsl16.&lt;/P&gt;&lt;P&gt;      APPEND i_periods.&lt;/P&gt;&lt;P&gt;    ENDIF.                             " IF 16 IN POPER.&lt;/P&gt;&lt;P&gt;    CLEAR i_periods.&lt;/P&gt;&lt;P&gt;  ENDLOOP.                             " LOOP AT I_GLT0TEMP1&lt;/P&gt;&lt;P&gt;ENDFORM.                               " F_FILL_TABLES2&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      FORM F_SET_PF_STATUS_2                                        *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  EXTAB Auszublendende Funktions-Codes                          *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      Eigenen CUA-Status einblenden                                 *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      Dynamischer Aufruf aus K_KKBL_LIST_DISPLAY                    *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;FORM f_set_pf_status_2 USING extab TYPE slis_t_extab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SET PF-STATUS 'STDPOPUP' EXCLUDING extab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                               " F_SET_PF_STATUS_2&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  F_FILL_LISTHEADER&lt;/P&gt;&lt;P&gt;*&amp;amp;----&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;This routine is uesd to prepare list header&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;No interface parameters are required&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;FORM f_fill_listheader.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  READ TABLE i_glt0 INDEX 1.&lt;/P&gt;&lt;P&gt;  i_listheader-typ  = 'S'.&lt;/P&gt;&lt;P&gt;  i_listheader-key  = text-h01.&lt;/P&gt;&lt;P&gt;  IF v_cntrldnr &amp;lt;= 1.&lt;/P&gt;&lt;P&gt;    i_listheader-info = i_glt0-rldnr.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    i_listheader-info = '*'.&lt;/P&gt;&lt;P&gt;  ENDIF.                               " IF V_CNTRLDNR &amp;lt;= 1&lt;/P&gt;&lt;P&gt;  APPEND i_listheader.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  i_listheader-typ  = 'S'.&lt;/P&gt;&lt;P&gt;  i_listheader-key  = text-h05.&lt;/P&gt;&lt;P&gt;  IF v_cntryear &amp;lt;= 1.&lt;/P&gt;&lt;P&gt;    i_listheader-info = i_glt0-ryear.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    i_listheader-info = '*'.&lt;/P&gt;&lt;P&gt;  ENDIF.                               " IF V_CNTRYEAR &amp;lt;= 1&lt;/P&gt;&lt;P&gt;  APPEND i_listheader.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                               " F_FILL-LISTHEADER&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      FORM TOP_OF_PAGE&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Called dynamically form REUSE_ALV_LIST_DISPLAY&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;No interface parameters are required&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;FORM top_of_page.&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 = i_listheader[]&lt;/P&gt;&lt;P&gt;       EXCEPTIONS&lt;/P&gt;&lt;P&gt;            OTHERS             = 1.&lt;/P&gt;&lt;P&gt;  IF sy-subrc EQ 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Do nothing&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  ENDIF.                               " IF SY-SUBRC EQ 0&lt;/P&gt;&lt;P&gt;ENDFORM.                               " TOP_OF_PAGE&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  F_DB_OPTIMIZER&lt;/P&gt;&lt;P&gt;*&amp;amp;----&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;To optimize the data base performance&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;There are no interface parameters to be passed to this routine&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;FORM f_db_optimizer .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Selection into internal table i_glt0&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'&lt;/P&gt;&lt;P&gt;       EXPORTING&lt;/P&gt;&lt;P&gt;            text = text-p10.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Use trick to mislead DB-optimizer&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CALL FUNCTION 'DB_DO_NOT_USE_CLIENT_INDEX'&lt;/P&gt;&lt;P&gt;       EXPORTING&lt;/P&gt;&lt;P&gt;            value    = sy-mandt&lt;/P&gt;&lt;P&gt;       TABLES&lt;/P&gt;&lt;P&gt;            mandttab = r_rclnt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                               " F_DB_OPTIMIZER&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  F_FETCH_BUSADATA&lt;/P&gt;&lt;P&gt;*&amp;amp;----&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;Fetch Business area and Accounting data for the given selection&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;criteria&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;There are no interface parameters to be passed to this routine&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;FORM f_fetch_busadata .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  REFRESH i_glt0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get the required data from G/L account master records table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  SELECT *&lt;/P&gt;&lt;P&gt;    FROM glt0&lt;/P&gt;&lt;P&gt;   CLIENT SPECIFIED&lt;/P&gt;&lt;P&gt;   PACKAGE SIZE v_packsize&lt;/P&gt;&lt;P&gt;   APPENDING CORRESPONDING FIELDS&lt;/P&gt;&lt;P&gt;   OF TABLE i_glt0&lt;/P&gt;&lt;P&gt;   WHERE rclnt IN r_rclnt&lt;/P&gt;&lt;P&gt;     AND rldnr IN s_rldnr&lt;/P&gt;&lt;P&gt;     AND rrcty IN s_rrcty&lt;/P&gt;&lt;P&gt;     AND rvers IN s_rvers&lt;/P&gt;&lt;P&gt;     AND bukrs IN s_bukrs&lt;/P&gt;&lt;P&gt;     AND ryear IN s_ryear&lt;/P&gt;&lt;P&gt;     AND racct IN s_racct&lt;/P&gt;&lt;P&gt;     AND rbusa IN s_rbusa.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    v_text1 = sy-dbcnt.&lt;/P&gt;&lt;P&gt;    CONDENSE v_text1.&lt;/P&gt;&lt;P&gt;    CONCATENATE v_text1 text-s01&lt;/P&gt;&lt;P&gt;           INTO v_text2 SEPARATED BY space.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'&lt;/P&gt;&lt;P&gt;         EXPORTING&lt;/P&gt;&lt;P&gt;              text = v_text2. " ... Datensätze gelesen&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDSELECT.                           " SELECT *&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF sy-dbcnt EQ 0.                    " Info,dass nichts gefunden wurde&lt;/P&gt;&lt;P&gt;    MESSAGE s213(v4).&lt;/P&gt;&lt;P&gt;    EXIT.&lt;/P&gt;&lt;P&gt;  ENDIF.                               " IF SY-DBCNT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DESCRIBE TABLE s_poper LINES v_cntpoper.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                               " F_FETCH_PFTCDATA&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  F_MODIFY_GLDATA&lt;/P&gt;&lt;P&gt;*&amp;amp;----&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;Modify selected GL account data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;There are no interface parameters to be passed to this routine&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;FORM f_modify_gldata.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: li_fska1 LIKE i_glt0 OCCURS 0&lt;/P&gt;&lt;P&gt;                WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;List  sorting&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  SORT i_glt0 BY rldnr ryear bukrs rrcty rvers.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Loop through the profit center totals table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  LOOP AT i_glt0.&lt;/P&gt;&lt;P&gt;    MOVE:&lt;/P&gt;&lt;P&gt;      i_glt0-rbusa  TO i_glt0-busctr,&lt;/P&gt;&lt;P&gt;      i_glt0-racct  TO i_glt0-accno,&lt;/P&gt;&lt;P&gt;      i_glt0-rtcur  TO i_glt0-t_curr,&lt;/P&gt;&lt;P&gt;      i_glt0-bukrs TO i_glt0-ccode,&lt;/P&gt;&lt;P&gt;      i_glt0-ryear TO i_glt0-fyear.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;On change of Year&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    ON CHANGE OF i_glt0-ryear.&lt;/P&gt;&lt;P&gt;      ADD 1 TO v_cntryear.&lt;/P&gt;&lt;P&gt;    ENDON.                             " ON CHANGE OF I_GLT0-RYEAR&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;On change of Ledeger&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    ON CHANGE OF i_glt0-rldnr.&lt;/P&gt;&lt;P&gt;      ADD 1 TO v_cntrldnr.&lt;/P&gt;&lt;P&gt;    ENDON.                             " ON CHANGE OF I_GLT0-RLDNR&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Deleting not selcted periods&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    PERFORM f_clear_periods.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Adding values of periods&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    PERFORM f_calculate_sums.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get GL Account Name&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    READ TABLE i_skat WITH KEY saknr = i_glt0-racct&lt;/P&gt;&lt;P&gt;                               BINARY SEARCH.&lt;/P&gt;&lt;P&gt;    IF sy-subrc EQ 0.&lt;/P&gt;&lt;P&gt;      MOVE i_skat-txt50 TO i_glt0-txt50.&lt;/P&gt;&lt;P&gt;    ENDIF.                             " IF SY-SUBRC EQ 0&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    READ TABLE i_ska1 WITH KEY saknr = i_glt0-racct&lt;/P&gt;&lt;P&gt;                               BINARY SEARCH.&lt;/P&gt;&lt;P&gt;    IF sy-subrc EQ 0.&lt;/P&gt;&lt;P&gt;      MOVE-CORRESPONDING i_glt0 TO li_fska1.&lt;/P&gt;&lt;P&gt;      APPEND li_fska1.&lt;/P&gt;&lt;P&gt;    ENDIF.                             " IF SY-SUBRC EQ 0&lt;/P&gt;&lt;P&gt;  ENDLOOP.                             " LOOP AT I_GLT0&lt;/P&gt;&lt;P&gt;  REFRESH i_glt0.&lt;/P&gt;&lt;P&gt;  i_glt0[] = li_fska1[].&lt;/P&gt;&lt;P&gt;ENDFORM.                               " F_MODIFY_GLDATA&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  F_CALCULATE_GLTOT&lt;/P&gt;&lt;P&gt;*&amp;amp;----&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;Calculate totals by profit center, gl account and Currency&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;No interface parameters are required&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;FORM f_calculate_gltot .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA:&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Local variables&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    lv_glt0ksl LIKE glt0-ksl01,        " Amount in Group Currency&lt;/P&gt;&lt;P&gt;    lv_glt0hsl LIKE glt0-hsl01,        " Amount in Company code Currency&lt;/P&gt;&lt;P&gt;    lv_glt0tsl LIKE glt0-tsl01.        " Amount in Transaction Currency&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA:&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Group Currency&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    lv_kslvt    LIKE glt0-kslvt,       " Group amt&lt;/P&gt;&lt;P&gt;    lv_ksl01    LIKE glt0-ksl01,       " Group amt01&lt;/P&gt;&lt;P&gt;    lv_ksl02    LIKE glt0-ksl02,       " Group amt02&lt;/P&gt;&lt;P&gt;    lv_ksl03    LIKE glt0-ksl03,       " Group amt03&lt;/P&gt;&lt;P&gt;    lv_ksl04    LIKE glt0-ksl04,       " Group amt04&lt;/P&gt;&lt;P&gt;    lv_ksl05    LIKE glt0-ksl05,       " Group amt05&lt;/P&gt;&lt;P&gt;    lv_ksl06    LIKE glt0-ksl06,       " Group amt06&lt;/P&gt;&lt;P&gt;    lv_ksl07    LIKE glt0-ksl07,       " Group amt07&lt;/P&gt;&lt;P&gt;    lv_ksl08    LIKE glt0-ksl08,       " Group amt08&lt;/P&gt;&lt;P&gt;    lv_ksl09    LIKE glt0-ksl09,       " Group amt09&lt;/P&gt;&lt;P&gt;    lv_ksl10    LIKE glt0-ksl10,       " Group amt10&lt;/P&gt;&lt;P&gt;    lv_ksl11    LIKE glt0-ksl11,       " Group amt11&lt;/P&gt;&lt;P&gt;    lv_ksl12    LIKE glt0-ksl12,       " Group amt12&lt;/P&gt;&lt;P&gt;    lv_ksl13    LIKE glt0-ksl13,       " Group amt13&lt;/P&gt;&lt;P&gt;    lv_ksl14    LIKE glt0-ksl14,       " Group amt14&lt;/P&gt;&lt;P&gt;    lv_ksl15    LIKE glt0-ksl15,       " Group amt15&lt;/P&gt;&lt;P&gt;    lv_ksl16    LIKE glt0-ksl16,       " Group amt16&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Transaction Currency&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    lv_tslvt    LIKE glt0-tslvt,       " Trans amt&lt;/P&gt;&lt;P&gt;    lv_tsl01    LIKE glt0-tsl01,       " Trans amt01&lt;/P&gt;&lt;P&gt;    lv_tsl02    LIKE glt0-tsl02,       " Trans amt02&lt;/P&gt;&lt;P&gt;    lv_tsl03    LIKE glt0-tsl03,       " Trans amt03&lt;/P&gt;&lt;P&gt;    lv_tsl04    LIKE glt0-tsl04,       " Trans amt04&lt;/P&gt;&lt;P&gt;    lv_tsl05    LIKE glt0-tsl05,       " Trans amt05&lt;/P&gt;&lt;P&gt;    lv_tsl06    LIKE glt0-tsl06,       " Trans amt06&lt;/P&gt;&lt;P&gt;    lv_tsl07    LIKE glt0-tsl07,       " Trans amt07&lt;/P&gt;&lt;P&gt;    lv_tsl08    LIKE glt0-tsl08,       " Trans amt08&lt;/P&gt;&lt;P&gt;    lv_tsl09    LIKE glt0-tsl09,       " Trans amt09&lt;/P&gt;&lt;P&gt;    lv_tsl10    LIKE glt0-tsl10,       " Trans amt10&lt;/P&gt;&lt;P&gt;    lv_tsl11    LIKE glt0-tsl11,       " Trans amt11&lt;/P&gt;&lt;P&gt;    lv_tsl12    LIKE glt0-tsl12,       " Trans amt12&lt;/P&gt;&lt;P&gt;    lv_tsl13    LIKE glt0-tsl13,       " Trans amt13&lt;/P&gt;&lt;P&gt;    lv_tsl14    LIKE glt0-tsl14,       " Trans amt14&lt;/P&gt;&lt;P&gt;    lv_tsl15    LIKE glt0-tsl15,       " Trans amt15&lt;/P&gt;&lt;P&gt;    lv_tsl16    LIKE glt0-tsl16,       " Trans amt16&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Company Code Currency&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    lv_hslvt    LIKE glt0-hslvt,       " Local amt&lt;/P&gt;&lt;P&gt;    lv_hsl01    LIKE glt0-hsl01,       " Local amt01&lt;/P&gt;&lt;P&gt;    lv_hsl02    LIKE glt0-hsl02,       " Local amt02&lt;/P&gt;&lt;P&gt;    lv_hsl03    LIKE glt0-hsl03,       " Local amt03&lt;/P&gt;&lt;P&gt;    lv_hsl04    LIKE glt0-hsl04,       " Local amt04&lt;/P&gt;&lt;P&gt;    lv_hsl05    LIKE glt0-hsl05,       " Local amt05&lt;/P&gt;&lt;P&gt;    lv_hsl06    LIKE glt0-hsl06,       " Local amt06&lt;/P&gt;&lt;P&gt;    lv_hsl07    LIKE glt0-hsl07,       " Local amt07&lt;/P&gt;&lt;P&gt;    lv_hsl08    LIKE glt0-hsl08,       " Local amt08&lt;/P&gt;&lt;P&gt;    lv_hsl09    LIKE glt0-hsl09,       " Local amt09&lt;/P&gt;&lt;P&gt;    lv_hsl10    LIKE glt0-hsl10,       " Local amt10&lt;/P&gt;&lt;P&gt;    lv_hsl11    LIKE glt0-hsl11,       " Local amt11&lt;/P&gt;&lt;P&gt;    lv_hsl12    LIKE glt0-hsl12,       " Local amt12&lt;/P&gt;&lt;P&gt;    lv_hsl13    LIKE glt0-hsl13,       " Local amt13&lt;/P&gt;&lt;P&gt;    lv_hsl14    LIKE glt0-hsl14,       " Local amt14&lt;/P&gt;&lt;P&gt;    lv_hsl15    LIKE glt0-hsl15,       " Local amt15&lt;/P&gt;&lt;P&gt;    lv_hsl16    LIKE glt0-hsl16,       " Local amt16&lt;/P&gt;&lt;P&gt;    lv_altkt    LIKE skb1-altkt,       " French GL Acc&lt;/P&gt;&lt;P&gt;    lv_faltkt   LIKE skb1-altkt,       " French GL Acc&lt;/P&gt;&lt;P&gt;    lv_flag     TYPE c,                " Flag&lt;/P&gt;&lt;P&gt;    lv_aflag    TYPE c.                " Flag&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  REFRESH i_glt0temp.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; i_glt0temp[] = i_glt0[].&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  i_glt0temp[] = i_glt0temp1[].&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  REFRESH i_glt0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SORT i_glt0temp BY busctr accno t_curr ccode.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT i_glt0temp.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Company Code&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    AT NEW ccode.&lt;/P&gt;&lt;P&gt;      CLEAR lv_altkt.&lt;/P&gt;&lt;P&gt;      READ TABLE i_altkt WITH KEY busctr = i_glt0temp-busctr&lt;/P&gt;&lt;P&gt;                                  accno = i_glt0temp-accno&lt;/P&gt;&lt;P&gt;                                  ccode = i_glt0temp-ccode&lt;/P&gt;&lt;P&gt;                                  BINARY SEARCH.&lt;/P&gt;&lt;P&gt;      IF sy-subrc EQ 0.&lt;/P&gt;&lt;P&gt;        lv_altkt = i_altkt-altkt.&lt;/P&gt;&lt;P&gt;      ENDIF.                           " IF SY-SUBRC EQ 0&lt;/P&gt;&lt;P&gt;    ENDAT.                             " AT NEW CCODE&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    MOVE-CORRESPONDING i_glt0temp TO i_glt0.&lt;/P&gt;&lt;P&gt;    IF sy-tabix  EQ 1 OR lv_aflag = 'Y'.&lt;/P&gt;&lt;P&gt;      MOVE lv_altkt TO lv_faltkt.&lt;/P&gt;&lt;P&gt;    ENDIF.                             " IF SY-TABIX..&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CLEAR lv_aflag.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF lv_faltkt NE lv_altkt.&lt;/P&gt;&lt;P&gt;      lv_flag = 'N'.&lt;/P&gt;&lt;P&gt;    ENDIF.                             " IF LV_FALTKT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Totals in Transaction Currency&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    lv_tslvt = lv_tslvt + i_glt0temp-tslvt.&lt;/P&gt;&lt;P&gt;    lv_tsl01 = lv_tsl01 + i_glt0temp-tsl01.&lt;/P&gt;&lt;P&gt;    lv_tsl02 = lv_tsl02 + i_glt0temp-tsl02.&lt;/P&gt;&lt;P&gt;    lv_tsl03 = lv_tsl03 + i_glt0temp-tsl03.&lt;/P&gt;&lt;P&gt;    lv_tsl04 = lv_tsl04 + i_glt0temp-tsl04.&lt;/P&gt;&lt;P&gt;    lv_tsl05 = lv_tsl05 + i_glt0temp-tsl05.&lt;/P&gt;&lt;P&gt;    lv_tsl06 = lv_tsl06 + i_glt0temp-tsl06.&lt;/P&gt;&lt;P&gt;    lv_tsl07 = lv_tsl07 + i_glt0temp-tsl07.&lt;/P&gt;&lt;P&gt;    lv_tsl08 = lv_tsl08 + i_glt0temp-tsl08.&lt;/P&gt;&lt;P&gt;    lv_tsl09 = lv_tsl09 + i_glt0temp-tsl09.&lt;/P&gt;&lt;P&gt;    lv_tsl10 = lv_tsl10 + i_glt0temp-tsl10.&lt;/P&gt;&lt;P&gt;    lv_tsl11 = lv_tsl11 + i_glt0temp-tsl11.&lt;/P&gt;&lt;P&gt;    lv_tsl12 = lv_tsl12 + i_glt0temp-tsl12.&lt;/P&gt;&lt;P&gt;    lv_tsl13 = lv_tsl13 + i_glt0temp-tsl13.&lt;/P&gt;&lt;P&gt;    lv_tsl14 = lv_tsl14 + i_glt0temp-tsl14.&lt;/P&gt;&lt;P&gt;    lv_tsl15 = lv_tsl15 + i_glt0temp-tsl15.&lt;/P&gt;&lt;P&gt;    lv_tsl16 = lv_tsl16 + i_glt0temp-tsl16.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Totals in Local Currency&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    lv_hslvt = lv_hslvt + i_glt0temp-hslvt.&lt;/P&gt;&lt;P&gt;    lv_hsl01 = lv_hsl01 + i_glt0temp-hsl01.&lt;/P&gt;&lt;P&gt;    lv_hsl02 = lv_hsl02 + i_glt0temp-hsl02.&lt;/P&gt;&lt;P&gt;    lv_hsl03 = lv_hsl03 + i_glt0temp-hsl03.&lt;/P&gt;&lt;P&gt;    lv_hsl04 = lv_hsl04 + i_glt0temp-hsl04.&lt;/P&gt;&lt;P&gt;    lv_hsl05 = lv_hsl05 + i_glt0temp-hsl05.&lt;/P&gt;&lt;P&gt;    lv_hsl06 = lv_hsl06 + i_glt0temp-hsl06.&lt;/P&gt;&lt;P&gt;    lv_hsl07 = lv_hsl07 + i_glt0temp-hsl07.&lt;/P&gt;&lt;P&gt;    lv_hsl08 = lv_hsl08 + i_glt0temp-hsl08.&lt;/P&gt;&lt;P&gt;    lv_hsl09 = lv_hsl09 + i_glt0temp-hsl09.&lt;/P&gt;&lt;P&gt;    lv_hsl10 = lv_hsl10 + i_glt0temp-hsl10.&lt;/P&gt;&lt;P&gt;    lv_hsl11 = lv_hsl11 + i_glt0temp-hsl11.&lt;/P&gt;&lt;P&gt;    lv_hsl12 = lv_hsl12 + i_glt0temp-hsl12.&lt;/P&gt;&lt;P&gt;    lv_hsl13 = lv_hsl13 + i_glt0temp-hsl13.&lt;/P&gt;&lt;P&gt;    lv_hsl14 = lv_hsl14 + i_glt0temp-hsl14.&lt;/P&gt;&lt;P&gt;    lv_hsl15 = lv_hsl15 + i_glt0temp-hsl15.&lt;/P&gt;&lt;P&gt;    lv_hsl16 = lv_hsl16 + i_glt0temp-hsl16.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Totals in Group cirrency&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    lv_kslvt = lv_kslvt + i_glt0temp-kslvt.&lt;/P&gt;&lt;P&gt;    lv_ksl01 = lv_ksl01 + i_glt0temp-ksl01.&lt;/P&gt;&lt;P&gt;    lv_ksl02 = lv_ksl02 + i_glt0temp-ksl02.&lt;/P&gt;&lt;P&gt;    lv_ksl03 = lv_ksl03 + i_glt0temp-ksl03.&lt;/P&gt;&lt;P&gt;    lv_ksl04 = lv_ksl04 + i_glt0temp-ksl04.&lt;/P&gt;&lt;P&gt;    lv_ksl05 = lv_ksl05 + i_glt0temp-ksl05.&lt;/P&gt;&lt;P&gt;    lv_ksl06 = lv_ksl06 + i_glt0temp-ksl06.&lt;/P&gt;&lt;P&gt;    lv_ksl07 = lv_ksl07 + i_glt0temp-ksl07.&lt;/P&gt;&lt;P&gt;    lv_ksl08 = lv_ksl08 + i_glt0temp-ksl08.&lt;/P&gt;&lt;P&gt;    lv_ksl09 = lv_ksl09 + i_glt0temp-ksl09.&lt;/P&gt;&lt;P&gt;    lv_ksl10 = lv_ksl10 + i_glt0temp-ksl10.&lt;/P&gt;&lt;P&gt;    lv_ksl11 = lv_ksl11 + i_glt0temp-ksl11.&lt;/P&gt;&lt;P&gt;    lv_ksl12 = lv_ksl12 + i_glt0temp-ksl12.&lt;/P&gt;&lt;P&gt;    lv_ksl13 = lv_ksl13 + i_glt0temp-ksl13.&lt;/P&gt;&lt;P&gt;    lv_ksl14 = lv_ksl14 + i_glt0temp-ksl14.&lt;/P&gt;&lt;P&gt;    lv_ksl15 = lv_ksl15 + i_glt0temp-ksl15.&lt;/P&gt;&lt;P&gt;    lv_ksl16 = lv_ksl16 + i_glt0temp-ksl16.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Totals Amount in Group,Comp code, Trans&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    lv_glt0ksl = lv_glt0ksl + i_glt0temp-ksl.&lt;/P&gt;&lt;P&gt;    lv_glt0hsl = lv_glt0hsl + i_glt0temp-hsl.&lt;/P&gt;&lt;P&gt;    lv_glt0tsl = lv_glt0tsl + i_glt0temp-tsl.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    MOVE lv_altkt TO i_glt0-altkt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    AT END OF t_curr.&lt;/P&gt;&lt;P&gt;      lv_aflag = 'Y'.&lt;/P&gt;&lt;P&gt;      IF lv_flag EQ 'N'.&lt;/P&gt;&lt;P&gt;        CLEAR i_glt0-altkt.&lt;/P&gt;&lt;P&gt;      ENDIF.                           " IF lv_flag EQ 'N'&lt;/P&gt;&lt;P&gt;      MOVE i_glt0temp-busctr TO i_glt0-busctr.&lt;/P&gt;&lt;P&gt;      MOVE i_glt0temp-accno TO i_glt0-accno.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      MOVE lv_glt0ksl TO i_glt0-ksl.&lt;/P&gt;&lt;P&gt;      MOVE lv_glt0hsl TO i_glt0-hsl.&lt;/P&gt;&lt;P&gt;      MOVE lv_glt0tsl TO i_glt0-tsl.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      MOVE lv_kslvt TO i_glt0-kslvt.&lt;/P&gt;&lt;P&gt;      MOVE lv_ksl01 TO i_glt0-ksl01.&lt;/P&gt;&lt;P&gt;      MOVE lv_ksl02 TO i_glt0-ksl02.&lt;/P&gt;&lt;P&gt;      MOVE lv_ksl03 TO i_glt0-ksl03.&lt;/P&gt;&lt;P&gt;      MOVE lv_ksl04 TO i_glt0-ksl04.&lt;/P&gt;&lt;P&gt;      MOVE lv_ksl05 TO i_glt0-ksl05.&lt;/P&gt;&lt;P&gt;      MOVE lv_ksl06 TO i_glt0-ksl06.&lt;/P&gt;&lt;P&gt;      MOVE lv_ksl07 TO i_glt0-ksl07.&lt;/P&gt;&lt;P&gt;      MOVE lv_ksl08 TO i_glt0-ksl08.&lt;/P&gt;&lt;P&gt;      MOVE lv_ksl09 TO i_glt0-ksl09.&lt;/P&gt;&lt;P&gt;      MOVE lv_ksl10 TO i_glt0-ksl10.&lt;/P&gt;&lt;P&gt;      MOVE lv_ksl11 TO i_glt0-ksl11.&lt;/P&gt;&lt;P&gt;      MOVE lv_ksl12 TO i_glt0-ksl12.&lt;/P&gt;&lt;P&gt;      MOVE lv_ksl13 TO i_glt0-ksl13.&lt;/P&gt;&lt;P&gt;      MOVE lv_ksl14 TO i_glt0-ksl14.&lt;/P&gt;&lt;P&gt;      MOVE lv_ksl15 TO i_glt0-ksl15.&lt;/P&gt;&lt;P&gt;      MOVE lv_ksl16 TO i_glt0-ksl16.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      MOVE lv_hslvt TO i_glt0-hslvt.&lt;/P&gt;&lt;P&gt;      MOVE lv_hsl01 TO i_glt0-hsl01.&lt;/P&gt;&lt;P&gt;      MOVE lv_hsl02 TO i_glt0-hsl02.&lt;/P&gt;&lt;P&gt;      MOVE lv_hsl03 TO i_glt0-hsl03.&lt;/P&gt;&lt;P&gt;      MOVE lv_hsl04 TO i_glt0-hsl04.&lt;/P&gt;&lt;P&gt;      MOVE lv_hsl05 TO i_glt0-hsl05.&lt;/P&gt;&lt;P&gt;      MOVE lv_hsl06 TO i_glt0-hsl06.&lt;/P&gt;&lt;P&gt;      MOVE lv_hsl07 TO i_glt0-hsl07.&lt;/P&gt;&lt;P&gt;      MOVE lv_hsl08 TO i_glt0-hsl08.&lt;/P&gt;&lt;P&gt;      MOVE lv_hsl09 TO i_glt0-hsl09.&lt;/P&gt;&lt;P&gt;      MOVE lv_hsl10 TO i_glt0-hsl10.&lt;/P&gt;&lt;P&gt;      MOVE lv_hsl11 TO i_glt0-hsl11.&lt;/P&gt;&lt;P&gt;      MOVE lv_hsl12 TO i_glt0-hsl12.&lt;/P&gt;&lt;P&gt;      MOVE lv_hsl13 TO i_glt0-hsl13.&lt;/P&gt;&lt;P&gt;      MOVE lv_hsl14 TO i_glt0-hsl14.&lt;/P&gt;&lt;P&gt;      MOVE lv_hsl15 TO i_glt0-hsl15.&lt;/P&gt;&lt;P&gt;      MOVE lv_hsl16 TO i_glt0-hsl16.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      MOVE lv_tslvt TO i_glt0-tslvt.&lt;/P&gt;&lt;P&gt;      MOVE lv_tsl01 TO i_glt0-tsl01.&lt;/P&gt;&lt;P&gt;      MOVE lv_tsl02 TO i_glt0-tsl02.&lt;/P&gt;&lt;P&gt;      MOVE lv_tsl03 TO i_glt0-tsl03.&lt;/P&gt;&lt;P&gt;      MOVE lv_tsl04 TO i_glt0-tsl04.&lt;/P&gt;&lt;P&gt;      MOVE lv_tsl05 TO i_glt0-tsl05.&lt;/P&gt;&lt;P&gt;      MOVE lv_tsl06 TO i_glt0-tsl06.&lt;/P&gt;&lt;P&gt;      MOVE lv_tsl07 TO i_glt0-tsl07.&lt;/P&gt;&lt;P&gt;      MOVE lv_tsl08 TO i_glt0-tsl08.&lt;/P&gt;&lt;P&gt;      MOVE lv_tsl09 TO i_glt0-tsl09.&lt;/P&gt;&lt;P&gt;      MOVE lv_tsl10 TO i_glt0-tsl10.&lt;/P&gt;&lt;P&gt;      MOVE lv_tsl11 TO i_glt0-tsl11.&lt;/P&gt;&lt;P&gt;      MOVE lv_tsl12 TO i_glt0-tsl12.&lt;/P&gt;&lt;P&gt;      MOVE lv_tsl13 TO i_glt0-tsl13.&lt;/P&gt;&lt;P&gt;      MOVE lv_tsl14 TO i_glt0-tsl14.&lt;/P&gt;&lt;P&gt;      MOVE lv_tsl15 TO i_glt0-tsl15.&lt;/P&gt;&lt;P&gt;      MOVE lv_tsl16 TO i_glt0-tsl16.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      APPEND i_glt0.&lt;/P&gt;&lt;P&gt;      CLEAR: i_glt0,lv_glt0ksl,lv_glt0hsl,lv_glt0tsl,&lt;/P&gt;&lt;P&gt;             lv_kslvt,lv_tslvt,lv_hslvt,&lt;/P&gt;&lt;P&gt;             lv_ksl01,lv_ksl02,lv_ksl03,lv_ksl04,&lt;/P&gt;&lt;P&gt;             lv_ksl05,lv_ksl06,lv_ksl07,lv_ksl08,&lt;/P&gt;&lt;P&gt;             lv_ksl09,lv_ksl10,lv_ksl11,lv_ksl12,&lt;/P&gt;&lt;P&gt;             lv_ksl13,lv_ksl14,lv_ksl15,lv_ksl16,&lt;/P&gt;&lt;P&gt;             lv_tsl01,lv_tsl02,lv_tsl03,lv_tsl04,&lt;/P&gt;&lt;P&gt;             lv_tsl05,lv_tsl06,lv_tsl07,lv_tsl08,&lt;/P&gt;&lt;P&gt;             lv_tsl09,lv_tsl10,lv_tsl11,lv_tsl12,&lt;/P&gt;&lt;P&gt;             lv_tsl13,lv_tsl14,lv_tsl15,lv_tsl16,&lt;/P&gt;&lt;P&gt;             lv_hsl01,lv_hsl02,lv_hsl03,lv_hsl04,&lt;/P&gt;&lt;P&gt;             lv_hsl05,lv_hsl06,lv_hsl07,lv_hsl08,&lt;/P&gt;&lt;P&gt;             lv_hsl09,lv_hsl10,lv_hsl11,lv_hsl12,&lt;/P&gt;&lt;P&gt;             lv_hsl13,lv_hsl14,lv_hsl15,lv_hsl16,&lt;/P&gt;&lt;P&gt;             lv_flag,lv_faltkt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDAT.                             " AT END OF T_CURR&lt;/P&gt;&lt;P&gt;  ENDLOOP.                             " LOOP AT I_glt0_TEMP&lt;/P&gt;&lt;P&gt;ENDFORM.                               " F_CALCULATE_GLTOT&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  F_LIST_DISPLAY&lt;/P&gt;&lt;P&gt;*&amp;amp;----&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;Primary List display&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;No Interface parameters are required&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;FORM f_list_display .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  wa_layout-colwidth_optimize    = 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'&lt;/P&gt;&lt;P&gt;       EXPORTING&lt;/P&gt;&lt;P&gt;            i_callback_program      = v_repid&lt;/P&gt;&lt;P&gt;            i_callback_user_command = 'F_USR_CMD'&lt;/P&gt;&lt;P&gt;            i_structure_name        = 'I_GLT0'&lt;/P&gt;&lt;P&gt;            is_layout               = wa_layout&lt;/P&gt;&lt;P&gt;            it_fieldcat             = i_fieldcat&lt;/P&gt;&lt;P&gt;            i_save                  = v_save&lt;/P&gt;&lt;P&gt;            is_variant              = wa_variant&lt;/P&gt;&lt;P&gt;            it_events               = i_events&lt;/P&gt;&lt;P&gt;       TABLES&lt;/P&gt;&lt;P&gt;            t_outtab                = i_glt0&lt;/P&gt;&lt;P&gt;       EXCEPTIONS&lt;/P&gt;&lt;P&gt;            program_error           = 1&lt;/P&gt;&lt;P&gt;            OTHERS                  = 2.&lt;/P&gt;&lt;P&gt;  IF sy-subrc NE 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Do nothing&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  ENDIF.                               " IF SY-SUBRC NE 0&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                               " F_LIST_DISPLAY&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  F_FETCH_PFTCTGL&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get GL account names and French GL Accounts&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;No Interface parameters are required&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;FORM f_fetch_glacc .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Temporary table for GL Accounts&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  DATA: li_glt0 LIKE i_glt0 OCCURS 0&lt;/P&gt;&lt;P&gt;                 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  li_glt0[] = i_glt0[].&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;GL Account Names&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  REFRESH li_glt0.&lt;/P&gt;&lt;P&gt;  li_glt0[] = i_glt0[].&lt;/P&gt;&lt;P&gt;  SORT li_glt0 BY racct.&lt;/P&gt;&lt;P&gt;  DELETE ADJACENT DUPLICATES FROM li_glt0&lt;/P&gt;&lt;P&gt;         COMPARING racct.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECT saknr                         " GL Account Number&lt;/P&gt;&lt;P&gt;         txt50                         " GL Account Name&lt;/P&gt;&lt;P&gt;    FROM skat&lt;/P&gt;&lt;P&gt;    INTO TABLE i_skat&lt;/P&gt;&lt;P&gt;     FOR ALL ENTRIES IN li_glt0&lt;/P&gt;&lt;P&gt;   WHERE spras EQ sy-langu&lt;/P&gt;&lt;P&gt;     AND saknr EQ li_glt0-racct.&lt;/P&gt;&lt;P&gt;  IF sy-subrc EQ 0.&lt;/P&gt;&lt;P&gt;    SORT i_skat BY saknr.&lt;/P&gt;&lt;P&gt;  ENDIF.                               " IF SY-SUBRC EQ 0&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;French GL Account&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  REFRESH li_glt0.&lt;/P&gt;&lt;P&gt;  li_glt0[] = i_glt0[].&lt;/P&gt;&lt;P&gt;  SORT li_glt0 BY bukrs racct.&lt;/P&gt;&lt;P&gt;  DELETE ADJACENT DUPLICATES FROM li_glt0&lt;/P&gt;&lt;P&gt;         COMPARING bukrs racct.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECT bukrs                         " Company Code&lt;/P&gt;&lt;P&gt;         saknr                         " GL Account Number&lt;/P&gt;&lt;P&gt;         altkt                         " Alternative Account&lt;/P&gt;&lt;P&gt;    FROM skb1&lt;/P&gt;&lt;P&gt;    INTO TABLE i_skb1&lt;/P&gt;&lt;P&gt;     FOR ALL ENTRIES IN li_glt0&lt;/P&gt;&lt;P&gt;   WHERE bukrs EQ li_glt0-bukrs&lt;/P&gt;&lt;P&gt;     AND saknr EQ li_glt0-racct.&lt;/P&gt;&lt;P&gt;  IF sy-subrc EQ 0.&lt;/P&gt;&lt;P&gt;    SORT i_skb1 BY bukrs saknr.&lt;/P&gt;&lt;P&gt;  ENDIF.                               " IF SY-SUBRC EQ 0&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                               " F_FETCH_PFTCTGL&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  F_SUBMIT_REPORT&lt;/P&gt;&lt;P&gt;*&amp;amp;----&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;This routine is used to call the GL Account Line item display&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;No inter face parameters are required&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;FORM f_submit_report .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Local Variables&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  DATA:&lt;/P&gt;&lt;P&gt;    li_seltab TYPE STANDARD TABLE OF   " Str for params n select opts&lt;/P&gt;&lt;P&gt;              rsparams WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;    li_free_select TYPE rsds_texpr,    " Table for selection&lt;/P&gt;&lt;P&gt;    ls_free_select TYPE rsds_expr,     " Work area for selection&lt;/P&gt;&lt;P&gt;    li_expressions TYPE rsds_expr_tab, " Table for expression&lt;/P&gt;&lt;P&gt;    ls_expressions TYPE rsdsexpr,      " Work area for expression&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Chart of accounts&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    BEGIN OF li_ktopl OCCURS 0,&lt;/P&gt;&lt;P&gt;     ktopl LIKE t001-ktopl,            " Chart of Accounts&lt;/P&gt;&lt;P&gt;    END OF li_ktopl,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;GL Account Master&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    ls_ska1 LIKE ska1,&lt;/P&gt;&lt;P&gt;    lv_gvtyp_flag LIKE ska1-gvtyp,     " P&amp;amp;L Acc stmt type&lt;/P&gt;&lt;P&gt;    lv_fiscper LIKE rwcoom-fiscper,    " Fiscal year&lt;/P&gt;&lt;P&gt;    lv_ryear   LIKE glt0-ryear,        " Year&lt;/P&gt;&lt;P&gt;    lv_count TYPE i.                   " Counter&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Constant&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CONSTANTS:&lt;/P&gt;&lt;P&gt;    lc_poper  LIKE                     " Period&lt;/P&gt;&lt;P&gt;      fdbl_balance_line-period VALUE 'Bal.carrried forward'."#EC NOTEXT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECT COUNT( * )&lt;/P&gt;&lt;P&gt;   INTO (lv_count)&lt;/P&gt;&lt;P&gt;   FROM skb1&lt;/P&gt;&lt;P&gt;  WHERE bukrs EQ i_periods-ccode&lt;/P&gt;&lt;P&gt;    AND saknr EQ i_glt0-racct&lt;/P&gt;&lt;P&gt;    AND xkres EQ space.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF sy-subrc EQ 0 AND lv_count GT 0.&lt;/P&gt;&lt;P&gt;    MESSAGE i430(f4) WITH i_glt0-racct i_periods-ccode.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Carry Forward&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    IF i_periods-poper EQ lc_poper.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get Chart of Accounts&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      SELECT DISTINCT ktopl            " Chart Of Accounts&lt;/P&gt;&lt;P&gt;        INTO TABLE li_ktopl&lt;/P&gt;&lt;P&gt;        FROM t001&lt;/P&gt;&lt;P&gt;       WHERE bukrs EQ i_periods-ccode.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get GL Account details&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      SELECT *&lt;/P&gt;&lt;P&gt;        FROM ska1&lt;/P&gt;&lt;P&gt;       UP TO 1 ROWS&lt;/P&gt;&lt;P&gt;        INTO ls_ska1&lt;/P&gt;&lt;P&gt;         FOR ALL ENTRIES IN li_ktopl&lt;/P&gt;&lt;P&gt;       WHERE ktopl EQ li_ktopl-ktopl&lt;/P&gt;&lt;P&gt;         AND saknr EQ i_glt0-racct&lt;/P&gt;&lt;P&gt;         AND gvtyp &amp;lt;&amp;gt; space.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ENDSELECT.                       " SELECT *&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF sy-subrc EQ 0.&lt;/P&gt;&lt;P&gt;        lv_gvtyp_flag = 'X'.&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;P&gt;        CLEAR lv_gvtyp_flag.&lt;/P&gt;&lt;P&gt;      ENDIF.                           " IF SY-SUBRC EQ 0&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF NOT lv_gvtyp_flag IS INITIAL.&lt;/P&gt;&lt;P&gt;        MESSAGE e010(fdbl).&lt;/P&gt;&lt;P&gt;      ENDIF.                           " IF NOT LV_GVTYP&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      li_seltab-selname = 'SO_YRPER'.&lt;/P&gt;&lt;P&gt;      li_seltab-sign = 'I'.&lt;/P&gt;&lt;P&gt;      li_seltab-option = 'BT'.&lt;/P&gt;&lt;P&gt;      li_seltab-low = '1950001'.&lt;/P&gt;&lt;P&gt;      lv_ryear = i_periods-fyear - 1.&lt;/P&gt;&lt;P&gt;      lv_fiscper(4) = i_periods-fyear - 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      CLEAR lv_fiscper.&lt;/P&gt;&lt;P&gt;      CONCATENATE  lv_ryear '016'&lt;/P&gt;&lt;P&gt;            INTO lv_fiscper.&lt;/P&gt;&lt;P&gt;      li_seltab-high = lv_fiscper.&lt;/P&gt;&lt;P&gt;      APPEND li_seltab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;      CLEAR li_seltab.&lt;/P&gt;&lt;P&gt;      CONCATENATE i_periods-fyear '0' i_periods-poper&lt;/P&gt;&lt;P&gt;                INTO lv_fiscper.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      li_seltab-selname = 'SO_YRPER'.&lt;/P&gt;&lt;P&gt;      li_seltab-sign = 'I'.&lt;/P&gt;&lt;P&gt;      li_seltab-option = 'BT'.&lt;/P&gt;&lt;P&gt;      li_seltab-low = lv_fiscper.&lt;/P&gt;&lt;P&gt;      li_seltab-high = lv_fiscper.&lt;/P&gt;&lt;P&gt;      APPEND li_seltab.&lt;/P&gt;&lt;P&gt;    ENDIF.                             " IF i_periods-poper&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CLEAR li_seltab.&lt;/P&gt;&lt;P&gt;    li_seltab-selname = 'SD_SAKNR'.&lt;/P&gt;&lt;P&gt;    li_seltab-sign = 'I'.&lt;/P&gt;&lt;P&gt;    li_seltab-option = 'EQ'.&lt;/P&gt;&lt;P&gt;    li_seltab-low = i_glt0-racct.&lt;/P&gt;&lt;P&gt;    APPEND li_seltab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CLEAR li_seltab.&lt;/P&gt;&lt;P&gt;    li_seltab-selname = 'SD_BUKRS'.&lt;/P&gt;&lt;P&gt;    li_seltab-sign = 'I'.&lt;/P&gt;&lt;P&gt;    li_seltab-option = 'EQ'.&lt;/P&gt;&lt;P&gt;    li_seltab-low = i_periods-ccode.&lt;/P&gt;&lt;P&gt;    APPEND li_seltab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CLEAR li_seltab.&lt;/P&gt;&lt;P&gt;    li_seltab-selname = 'SD_UMSKZ'.&lt;/P&gt;&lt;P&gt;    li_seltab-sign = 'I'.&lt;/P&gt;&lt;P&gt;    li_seltab-option = 'EQ'.&lt;/P&gt;&lt;P&gt;    li_seltab-low = ''.&lt;/P&gt;&lt;P&gt;    APPEND li_seltab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CLEAR li_seltab.&lt;/P&gt;&lt;P&gt;    li_seltab-selname = 'SD_GSB_B'.&lt;/P&gt;&lt;P&gt;    li_seltab-sign = 'I'.&lt;/P&gt;&lt;P&gt;    li_seltab-option = 'EQ'.&lt;/P&gt;&lt;P&gt;    li_seltab-low = i_glt0-rbusa.&lt;/P&gt;&lt;P&gt;    APPEND li_seltab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CLEAR li_seltab.&lt;/P&gt;&lt;P&gt;    li_seltab-selname = 'SO_WAERS'.&lt;/P&gt;&lt;P&gt;    li_seltab-sign = 'I'.&lt;/P&gt;&lt;P&gt;    li_seltab-option = 'EQ'.&lt;/P&gt;&lt;P&gt;    li_seltab-low = i_glt0-rtcur.&lt;/P&gt;&lt;P&gt;    APPEND li_seltab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CLEAR li_seltab.&lt;/P&gt;&lt;P&gt;    li_seltab-selname = 'PA_VARI'.&lt;/P&gt;&lt;P&gt;    li_seltab-sign = 'I'.&lt;/P&gt;&lt;P&gt;    li_seltab-option = 'EQ'.&lt;/P&gt;&lt;P&gt;    li_seltab-low = '1SAP-FC'.&lt;/P&gt;&lt;P&gt;    APPEND li_seltab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CLEAR li_seltab.&lt;/P&gt;&lt;P&gt;    li_seltab-selname = 'X_OPSEL'.&lt;/P&gt;&lt;P&gt;    li_seltab-sign = 'I'.&lt;/P&gt;&lt;P&gt;    li_seltab-option = 'EQ'.&lt;/P&gt;&lt;P&gt;    li_seltab-low = ''.&lt;/P&gt;&lt;P&gt;    APPEND li_seltab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CLEAR li_seltab.&lt;/P&gt;&lt;P&gt;    li_seltab-selname = 'X_CLSEL'.&lt;/P&gt;&lt;P&gt;    li_seltab-sign = 'I'.&lt;/P&gt;&lt;P&gt;    li_seltab-option = 'EQ'.&lt;/P&gt;&lt;P&gt;    li_seltab-low = ''.&lt;/P&gt;&lt;P&gt;    APPEND li_seltab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CLEAR li_seltab.&lt;/P&gt;&lt;P&gt;    li_seltab-selname = 'X_AISEL'.&lt;/P&gt;&lt;P&gt;    li_seltab-sign = 'I'.&lt;/P&gt;&lt;P&gt;    li_seltab-option = 'EQ'.&lt;/P&gt;&lt;P&gt;    li_seltab-low = 'X'.&lt;/P&gt;&lt;P&gt;    APPEND li_seltab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CLEAR li_seltab.&lt;/P&gt;&lt;P&gt;    li_seltab-selname = 'X_NORM'.&lt;/P&gt;&lt;P&gt;    li_seltab-sign = 'I'.&lt;/P&gt;&lt;P&gt;    li_seltab-option = 'EQ'.&lt;/P&gt;&lt;P&gt;    li_seltab-low = 'X'.&lt;/P&gt;&lt;P&gt;    APPEND li_seltab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CLEAR li_seltab.&lt;/P&gt;&lt;P&gt;    li_seltab-selname = 'X_SHBV'.&lt;/P&gt;&lt;P&gt;    li_seltab-sign = 'I'.&lt;/P&gt;&lt;P&gt;    li_seltab-option = 'EQ'.&lt;/P&gt;&lt;P&gt;    li_seltab-low = 'X'.&lt;/P&gt;&lt;P&gt;    APPEND li_seltab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ls_free_select-tablename = 'BSIS'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Carry Forward&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    IF i_periods-poper EQ lc_poper.&lt;/P&gt;&lt;P&gt;      ls_expressions-fieldname = 'MONAT'.&lt;/P&gt;&lt;P&gt;      ls_expressions-option    = 'BT'.&lt;/P&gt;&lt;P&gt;      ls_expressions-low       = '01'.&lt;/P&gt;&lt;P&gt;      ls_expressions-high      = '16'.&lt;/P&gt;&lt;P&gt;      APPEND ls_expressions TO li_expressions.&lt;/P&gt;&lt;P&gt;      ls_free_select-expr_tab = li_expressions.&lt;/P&gt;&lt;P&gt;      APPEND ls_free_select TO li_free_select.&lt;/P&gt;&lt;P&gt;      CLEAR ls_expressions.&lt;/P&gt;&lt;P&gt;      REFRESH li_expressions.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ls_expressions-fieldname = 'GJAHR'.&lt;/P&gt;&lt;P&gt;      ls_expressions-option    = 'BT'.&lt;/P&gt;&lt;P&gt;      ls_expressions-low       = '1950'.&lt;/P&gt;&lt;P&gt;      ls_expressions-high      = lv_ryear.&lt;/P&gt;&lt;P&gt;      APPEND ls_expressions TO li_expressions.&lt;/P&gt;&lt;P&gt;      ls_free_select-expr_tab = li_expressions.&lt;/P&gt;&lt;P&gt;      APPEND ls_free_select TO li_free_select.&lt;/P&gt;&lt;P&gt;      CLEAR ls_expressions.&lt;/P&gt;&lt;P&gt;      REFRESH li_expressions.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;      ls_expressions-fieldname = 'MONAT'.&lt;/P&gt;&lt;P&gt;      ls_expressions-option    = 'EQ'.&lt;/P&gt;&lt;P&gt;      ls_expressions-low       = i_periods-poper.&lt;/P&gt;&lt;P&gt;      CLEAR ls_expressions-high.&lt;/P&gt;&lt;P&gt;      APPEND ls_expressions TO li_expressions.&lt;/P&gt;&lt;P&gt;      ls_free_select-expr_tab = li_expressions.&lt;/P&gt;&lt;P&gt;      APPEND ls_free_select TO li_free_select.&lt;/P&gt;&lt;P&gt;      CLEAR ls_expressions.&lt;/P&gt;&lt;P&gt;      REFRESH li_expressions.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ls_expressions-fieldname = 'GJAHR'.&lt;/P&gt;&lt;P&gt;      ls_expressions-option    = 'EQ'.&lt;/P&gt;&lt;P&gt;      ls_expressions-low       = i_periods-fyear.&lt;/P&gt;&lt;P&gt;      CLEAR ls_expressions-high.&lt;/P&gt;&lt;P&gt;      APPEND ls_expressions TO li_expressions.&lt;/P&gt;&lt;P&gt;      ls_free_select-expr_tab = li_expressions.&lt;/P&gt;&lt;P&gt;      APPEND ls_free_select TO li_free_select.&lt;/P&gt;&lt;P&gt;      CLEAR ls_expressions.&lt;/P&gt;&lt;P&gt;      REFRESH li_expressions.&lt;/P&gt;&lt;P&gt;    ENDIF.                             " IF i_periods-poper&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    SUBMIT rfitemgl WITH SELECTION-TABLE li_seltab&lt;/P&gt;&lt;P&gt;                    WITH FREE SELECTIONS li_free_select&lt;/P&gt;&lt;P&gt;                    AND RETURN.&lt;/P&gt;&lt;P&gt;  ENDIF.                               " IF SY-SUBRC EQ 0&lt;/P&gt;&lt;P&gt;ENDFORM.                               " F_SUBMIT_REPORT&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  F_CHECK_AUTHORITY_GROUPS&lt;/P&gt;&lt;P&gt;*&amp;amp;----&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;To check Authorization for GL account&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;No interface parameters are required&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;FORM f_check_authority_groups.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Table for Authorization Group&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  DATA: li_begru TYPE STANDARD TABLE OF&lt;/P&gt;&lt;P&gt;                 begru WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECT begru                         " Authorization Group&lt;/P&gt;&lt;P&gt;    FROM skb1&lt;/P&gt;&lt;P&gt;    INTO TABLE li_begru&lt;/P&gt;&lt;P&gt;   WHERE bukrs IN s_bukrs&lt;/P&gt;&lt;P&gt;     AND saknr IN s_racct&lt;/P&gt;&lt;P&gt;     AND begru NE space.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF sy-subrc EQ 0.&lt;/P&gt;&lt;P&gt;    SORT li_begru.&lt;/P&gt;&lt;P&gt;    DELETE ADJACENT DUPLICATES FROM li_begru.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    AUTHORITY-CHECK OBJECT 'F_BKPF_BES'&lt;/P&gt;&lt;P&gt;             ID 'BRGRU' FIELD li_begru&lt;/P&gt;&lt;P&gt;             ID 'ACTVT' FIELD '03'.&lt;/P&gt;&lt;P&gt;  ENDIF.                               " IF SY-SUBRC EQ 0&lt;/P&gt;&lt;P&gt;ENDFORM.                               " F_CHECK_AUTHORITY_GROUPS&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  F_VALIDATE_RVERS&lt;/P&gt;&lt;P&gt;*&amp;amp;----&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;Validate Version&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;No interface parameters are required&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;FORM f_validate_rvers.&lt;/P&gt;&lt;P&gt;  DATA:&lt;/P&gt;&lt;P&gt;   lv_rvers LIKE t894-rvers.           " Version&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECT rvers                         " Version&lt;/P&gt;&lt;P&gt;    FROM t894&lt;/P&gt;&lt;P&gt;      UP TO 1 ROWS&lt;/P&gt;&lt;P&gt;    INTO lv_rvers&lt;/P&gt;&lt;P&gt;   WHERE rvers IN s_rvers.&lt;/P&gt;&lt;P&gt;  ENDSELECT.                           " SELECT RVERS&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;    CLEAR: sscrfields.&lt;/P&gt;&lt;P&gt;    MESSAGE e506(0u).&lt;/P&gt;&lt;P&gt;  ENDIF.                               " IF SY-SUBRC NE 0&lt;/P&gt;&lt;P&gt;ENDFORM.                               " F_VALIDATE_RVERS&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  F_VALIDATE_BUKRS&lt;/P&gt;&lt;P&gt;*&amp;amp;----&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;Validate Company code&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;No interface parameters are required&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;FORM f_validate_bukrs.&lt;/P&gt;&lt;P&gt;  DATA:&lt;/P&gt;&lt;P&gt;   lv_bukrs LIKE t001-bukrs.           " Company Code&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECT bukrs                         " Company Code&lt;/P&gt;&lt;P&gt;    FROM t001&lt;/P&gt;&lt;P&gt;      UP TO 1 ROWS&lt;/P&gt;&lt;P&gt;    INTO lv_bukrs&lt;/P&gt;&lt;P&gt;   WHERE bukrs IN s_bukrs.&lt;/P&gt;&lt;P&gt;  ENDSELECT.                           " SELECT BUKRS&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;    CLEAR: sscrfields.&lt;/P&gt;&lt;P&gt;    MESSAGE e603(64).&lt;/P&gt;&lt;P&gt;  ENDIF.                               " IF SY-SUBRC NE 0&lt;/P&gt;&lt;P&gt;ENDFORM.                               " F_VALIDATE_BUKRS&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  F_VALIDATE_GLACCOUNT&lt;/P&gt;&lt;P&gt;*&amp;amp;----&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;Validate GL Account&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;No interface parameters are required&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;FORM f_validate_racct.&lt;/P&gt;&lt;P&gt;  DATA:&lt;/P&gt;&lt;P&gt;   lv_saknr LIKE ska1-saknr.           " GL Account&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECT saknr                         " GL Account&lt;/P&gt;&lt;P&gt;    FROM ska1&lt;/P&gt;&lt;P&gt;      UP TO 1 ROWS&lt;/P&gt;&lt;P&gt;    INTO lv_saknr&lt;/P&gt;&lt;P&gt;   WHERE saknr IN s_racct.&lt;/P&gt;&lt;P&gt;  ENDSELECT.                           " SELECT SAKNR&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;    CLEAR: sscrfields.&lt;/P&gt;&lt;P&gt;    MESSAGE e751(5b) WITH s_racct.&lt;/P&gt;&lt;P&gt;  ENDIF.                               " IF SY-SUBRC NE 0&lt;/P&gt;&lt;P&gt;ENDFORM.                               " F_VALIDATE_RACCT&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  F_VALIDATE_RBUSA&lt;/P&gt;&lt;P&gt;*&amp;amp;----&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;Validate Business Area&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;No interface parameters are required&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;FORM f_validate_rbusa.&lt;/P&gt;&lt;P&gt;  DATA:&lt;/P&gt;&lt;P&gt;   lv_gsber LIKE tgsb-gsber.           " Business Area&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECT gsber                         " Business Area&lt;/P&gt;&lt;P&gt;    FROM tgsb&lt;/P&gt;&lt;P&gt;      UP TO 1 ROWS&lt;/P&gt;&lt;P&gt;    INTO lv_gsber&lt;/P&gt;&lt;P&gt;   WHERE gsber IN s_rbusa.&lt;/P&gt;&lt;P&gt;  ENDSELECT.                           " SELECT GSBER&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;    CLEAR: sscrfields.&lt;/P&gt;&lt;P&gt;    MESSAGE e068(ay) WITH s_rbusa .&lt;/P&gt;&lt;P&gt;  ENDIF.                               " IF SY-SUBRC NE 0&lt;/P&gt;&lt;P&gt;ENDFORM.                               " F_VALIDATE_RBUSA&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form F_VALIDATE_VARI&lt;/P&gt;&lt;P&gt;*&amp;amp;----&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;Validate Variant&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;No interface parameters are required&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;FORM f_validate_vari.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Selection screen fields&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  wa_variant-log_group = log_grp.&lt;/P&gt;&lt;P&gt;  IF log_grp NE 'pc10'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get default variant&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    wa_xvariant = wa_variant.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'REUSE_ALV_VARIANT_DEFAULT_GET'&lt;/P&gt;&lt;P&gt;         EXPORTING&lt;/P&gt;&lt;P&gt;              i_save     = v_save&lt;/P&gt;&lt;P&gt;         CHANGING&lt;/P&gt;&lt;P&gt;              cs_variant = wa_xvariant&lt;/P&gt;&lt;P&gt;         EXCEPTIONS&lt;/P&gt;&lt;P&gt;              not_found  = 2.&lt;/P&gt;&lt;P&gt;    IF sy-subrc EQ 0.&lt;/P&gt;&lt;P&gt;      p_vari = wa_xvariant-variant.&lt;/P&gt;&lt;P&gt;    ENDIF.                             " IF SY-SUBRC EQ 0&lt;/P&gt;&lt;P&gt;  ENDIF.                               " IF LOG_GRP NE 'PC10'&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Check for Variant existance&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  IF NOT p_vari IS INITIAL.&lt;/P&gt;&lt;P&gt;    MOVE wa_variant TO wa_xvariant.&lt;/P&gt;&lt;P&gt;    MOVE p_vari TO wa_xvariant-variant.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'REUSE_ALV_VARIANT_EXISTENCE'&lt;/P&gt;&lt;P&gt;         EXPORTING&lt;/P&gt;&lt;P&gt;              i_save        = v_save&lt;/P&gt;&lt;P&gt;         CHANGING&lt;/P&gt;&lt;P&gt;              cs_variant    = wa_xvariant&lt;/P&gt;&lt;P&gt;         EXCEPTIONS&lt;/P&gt;&lt;P&gt;              wrong_input   = 1&lt;/P&gt;&lt;P&gt;              not_found     = 2&lt;/P&gt;&lt;P&gt;              program_error = 3&lt;/P&gt;&lt;P&gt;              OTHERS        = 4.&lt;/P&gt;&lt;P&gt;    IF sy-subrc EQ 0.&lt;/P&gt;&lt;P&gt;      wa_variant = wa_xvariant.&lt;/P&gt;&lt;P&gt;      varname = wa_variant-text.&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;      MESSAGE e017(0k).&lt;/P&gt;&lt;P&gt;    ENDIF.                             " IF SY-SUBRC EQ 0&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    varname = ''.&lt;/P&gt;&lt;P&gt;  ENDIF.                               " IF NOT P_VARI IS INITIAL&lt;/P&gt;&lt;P&gt;ENDFORM.                               " F_VALIDATE_VARI&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  F_FETCH_YEARTOT&lt;/P&gt;&lt;P&gt;*&amp;amp;----&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;Calculate Company code and yearwise totals&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; No interface parameters are required&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;FORM f_fetch_yeartot.&lt;/P&gt;&lt;P&gt;  DATA:&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Local variables&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    lv_glt0ksl LIKE glt0-ksl01,        " Amount in Group Currency&lt;/P&gt;&lt;P&gt;    lv_glt0hsl LIKE glt0-hsl01,        " Amount in Company code Currency&lt;/P&gt;&lt;P&gt;    lv_glt0tsl LIKE glt0-tsl01.        " Amount in Transaction Currency&lt;/P&gt;&lt;P&gt;  DATA:&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Group Currency&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    lv_kslvt    LIKE glt0-kslvt,       " Group amt&lt;/P&gt;&lt;P&gt;    lv_ksl01    LIKE glt0-ksl01,       " Group amt01&lt;/P&gt;&lt;P&gt;    lv_ksl02    LIKE glt0-ksl02,       " Group amt02&lt;/P&gt;&lt;P&gt;    lv_ksl03    LIKE glt0-ksl03,       " Group amt03&lt;/P&gt;&lt;P&gt;    lv_ksl04    LIKE glt0-ksl04,       " Group amt04&lt;/P&gt;&lt;P&gt;    lv_ksl05    LIKE glt0-ksl05,       " Group amt05&lt;/P&gt;&lt;P&gt;    lv_ksl06    LIKE glt0-ksl06,       " Group amt06&lt;/P&gt;&lt;P&gt;    lv_ksl07    LIKE glt0-ksl07,       " Group amt07&lt;/P&gt;&lt;P&gt;    lv_ksl08    LIKE glt0-ksl08,       " Group amt08&lt;/P&gt;&lt;P&gt;    lv_ksl09    LIKE glt0-ksl09,       " Group amt09&lt;/P&gt;&lt;P&gt;    lv_ksl10    LIKE glt0-ksl10,       " Group amt10&lt;/P&gt;&lt;P&gt;    lv_ksl11    LIKE glt0-ksl11,       " Group amt11&lt;/P&gt;&lt;P&gt;    lv_ksl12    LIKE glt0-ksl12,       " Group amt12&lt;/P&gt;&lt;P&gt;    lv_ksl13    LIKE glt0-ksl13,       " Group amt13&lt;/P&gt;&lt;P&gt;    lv_ksl14    LIKE glt0-ksl14,       " Group amt14&lt;/P&gt;&lt;P&gt;    lv_ksl15    LIKE glt0-ksl15,       " Group amt15&lt;/P&gt;&lt;P&gt;    lv_ksl16    LIKE glt0-ksl16,       " Group amt16&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Transaction Currency&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    lv_tslvt    LIKE glt0-tslvt,       " Trans amt&lt;/P&gt;&lt;P&gt;    lv_tsl01    LIKE glt0-tsl01,       " Trans amt01&lt;/P&gt;&lt;P&gt;    lv_tsl02    LIKE glt0-tsl02,       " Trans amt02&lt;/P&gt;&lt;P&gt;    lv_tsl03    LIKE glt0-tsl03,       " Trans amt03&lt;/P&gt;&lt;P&gt;    lv_tsl04    LIKE glt0-tsl04,       " Trans amt04&lt;/P&gt;&lt;P&gt;    lv_tsl05    LIKE glt0-tsl05,       " Trans amt05&lt;/P&gt;&lt;P&gt;    lv_tsl06    LIKE glt0-tsl06,       " Trans amt06&lt;/P&gt;&lt;P&gt;    lv_tsl07    LIKE glt0-tsl07,       " Trans amt07&lt;/P&gt;&lt;P&gt;    lv_tsl08    LIKE glt0-tsl08,       " Trans amt08&lt;/P&gt;&lt;P&gt;    lv_tsl09    LIKE glt0-tsl09,       " Trans amt09&lt;/P&gt;&lt;P&gt;    lv_tsl10    LIKE glt0-tsl10,       " Trans amt10&lt;/P&gt;&lt;P&gt;    lv_tsl11    LIKE glt0-tsl11,       " Trans amt11&lt;/P&gt;&lt;P&gt;    lv_tsl12    LIKE glt0-tsl12,       " Trans amt12&lt;/P&gt;&lt;P&gt;    lv_tsl13    LIKE glt0-tsl13,       " Trans amt13&lt;/P&gt;&lt;P&gt;    lv_tsl14    LIKE glt0-tsl14,       " Trans amt14&lt;/P&gt;&lt;P&gt;    lv_tsl15    LIKE glt0-tsl15,       " Trans amt15&lt;/P&gt;&lt;P&gt;    lv_tsl16    LIKE glt0-tsl16,       " Trans amt16&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Company Code Currency&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    lv_hslvt    LIKE glt0-hslvt,       " Local amt&lt;/P&gt;&lt;P&gt;    lv_hsl01    LIKE glt0-hsl01,       " Local amt01&lt;/P&gt;&lt;P&gt;    lv_hsl02    LIKE glt0-hsl02,       " Local amt02&lt;/P&gt;&lt;P&gt;    lv_hsl03    LIKE glt0-hsl03,       " Local amt03&lt;/P&gt;&lt;P&gt;    lv_hsl04    LIKE glt0-hsl04,       " Local amt04&lt;/P&gt;&lt;P&gt;    lv_hsl05    LIKE glt0-hsl05,       " Local amt05&lt;/P&gt;&lt;P&gt;    lv_hsl06    LIKE glt0-hsl06,       " Local amt06&lt;/P&gt;&lt;P&gt;    lv_hsl07    LIKE glt0-hsl07,       " Local amt07&lt;/P&gt;&lt;P&gt;    lv_hsl08    LIKE glt0-hsl08,       " Local amt08&lt;/P&gt;&lt;P&gt;    lv_hsl09    LIKE glt0-hsl09,       " Local amt09&lt;/P&gt;&lt;P&gt;    lv_hsl10    LIKE glt0-hsl10,       " Local amt10&lt;/P&gt;&lt;P&gt;    lv_hsl11    LIKE glt0-hsl11,       " Local amt11&lt;/P&gt;&lt;P&gt;    lv_hsl12    LIKE glt0-hsl12,       " Local amt12&lt;/P&gt;&lt;P&gt;    lv_hsl13    LIKE glt0-hsl13,       " Local amt13&lt;/P&gt;&lt;P&gt;    lv_hsl14    LIKE glt0-hsl14,       " Local amt14&lt;/P&gt;&lt;P&gt;    lv_hsl15    LIKE glt0-hsl15,       " Local amt15&lt;/P&gt;&lt;P&gt;    lv_hsl16    LIKE glt0-hsl16.       " Local amt16&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  REFRESH i_glt0temp1.&lt;/P&gt;&lt;P&gt;  SORT i_glt0 BY busctr accno t_curr ccode fyear.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT i_glt0.&lt;/P&gt;&lt;P&gt;    MOVE-CORRESPONDING i_glt0 TO i_glt0temp1.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Totals in Transaction Currency&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    lv_tslvt = lv_tslvt + i_glt0-tslvt.&lt;/P&gt;&lt;P&gt;    lv_tsl01 = lv_tsl01 + i_glt0-tsl01.&lt;/P&gt;&lt;P&gt;    lv_tsl02 = lv_tsl02 + i_glt0-tsl02.&lt;/P&gt;&lt;P&gt;    lv_tsl03 = lv_tsl03 + i_glt0-tsl03.&lt;/P&gt;&lt;P&gt;    lv_tsl04 = lv_tsl04 + i_glt0-tsl04.&lt;/P&gt;&lt;P&gt;    lv_tsl05 = lv_tsl05 + i_glt0-tsl05.&lt;/P&gt;&lt;P&gt;    lv_tsl06 = lv_tsl06 + i_glt0-tsl06.&lt;/P&gt;&lt;P&gt;    lv_tsl07 = lv_tsl07 + i_glt0-tsl07.&lt;/P&gt;&lt;P&gt;    lv_tsl08 = lv_tsl08 + i_glt0-tsl08.&lt;/P&gt;&lt;P&gt;    lv_tsl09 = lv_tsl09 + i_glt0-tsl09.&lt;/P&gt;&lt;P&gt;    lv_tsl10 = lv_tsl10 + i_glt0-tsl10.&lt;/P&gt;&lt;P&gt;    lv_tsl11 = lv_tsl11 + i_glt0-tsl11.&lt;/P&gt;&lt;P&gt;    lv_tsl12 = lv_tsl12 + i_glt0-tsl12.&lt;/P&gt;&lt;P&gt;    lv_tsl13 = lv_tsl13 + i_glt0-tsl13.&lt;/P&gt;&lt;P&gt;    lv_tsl14 = lv_tsl14 + i_glt0-tsl14.&lt;/P&gt;&lt;P&gt;    lv_tsl15 = lv_tsl15 + i_glt0-tsl15.&lt;/P&gt;&lt;P&gt;    lv_tsl16 = lv_tsl16 + i_glt0-tsl16.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Totals in Local Currency&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    lv_hslvt = lv_hslvt + i_glt0-hslvt.&lt;/P&gt;&lt;P&gt;    lv_hsl01 = lv_hsl01 + i_glt0-hsl01.&lt;/P&gt;&lt;P&gt;    lv_hsl02 = lv_hsl02 + i_glt0-hsl02.&lt;/P&gt;&lt;P&gt;    lv_hsl03 = lv_hsl03 + i_glt0-hsl03.&lt;/P&gt;&lt;P&gt;    lv_hsl04 = lv_hsl04 + i_glt0-hsl04.&lt;/P&gt;&lt;P&gt;    lv_hsl05 = lv_hsl05 + i_glt0-hsl05.&lt;/P&gt;&lt;P&gt;    lv_hsl06 = lv_hsl06 + i_glt0-hsl06.&lt;/P&gt;&lt;P&gt;    lv_hsl07 = lv_hsl07 + i_glt0-hsl07.&lt;/P&gt;&lt;P&gt;    lv_hsl08 = lv_hsl08 + i_glt0-hsl08.&lt;/P&gt;&lt;P&gt;    lv_hsl09 = lv_hsl09 + i_glt0-hsl09.&lt;/P&gt;&lt;P&gt;    lv_hsl10 = lv_hsl10 + i_glt0-hsl10.&lt;/P&gt;&lt;P&gt;    lv_hsl11 = lv_hsl11 + i_glt0-hsl11.&lt;/P&gt;&lt;P&gt;    lv_hsl12 = lv_hsl12 + i_glt0-hsl12.&lt;/P&gt;&lt;P&gt;    lv_hsl13 = lv_hsl13 + i_glt0-hsl13.&lt;/P&gt;&lt;P&gt;    lv_hsl14 = lv_hsl14 + i_glt0-hsl14.&lt;/P&gt;&lt;P&gt;    lv_hsl15 = lv_hsl15 + i_glt0-hsl15.&lt;/P&gt;&lt;P&gt;    lv_hsl16 = lv_hsl16 + i_glt0-hsl16.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Totals in Group cirrency&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    lv_kslvt = lv_kslvt + i_glt0-kslvt.&lt;/P&gt;&lt;P&gt;    lv_ksl01 = lv_ksl01 + i_glt0-ksl01.&lt;/P&gt;&lt;P&gt;    lv_ksl02 = lv_ksl02 + i_glt0-ksl02.&lt;/P&gt;&lt;P&gt;    lv_ksl03 = lv_ksl03 + i_glt0-ksl03.&lt;/P&gt;&lt;P&gt;    lv_ksl04 = lv_ksl04 + i_glt0-ksl04.&lt;/P&gt;&lt;P&gt;    lv_ksl05 = lv_ksl05 + i_glt0-ksl05.&lt;/P&gt;&lt;P&gt;    lv_ksl06 = lv_ksl06 + i_glt0-ksl06.&lt;/P&gt;&lt;P&gt;    lv_ksl07 = lv_ksl07 + i_glt0-ksl07.&lt;/P&gt;&lt;P&gt;    lv_ksl08 = lv_ksl08 + i_glt0-ksl08.&lt;/P&gt;&lt;P&gt;    lv_ksl09 = lv_ksl09 + i_glt0-ksl09.&lt;/P&gt;&lt;P&gt;    lv_ksl10 = lv_ksl10 + i_glt0-ksl10.&lt;/P&gt;&lt;P&gt;    lv_ksl11 = lv_ksl11 + i_glt0-ksl11.&lt;/P&gt;&lt;P&gt;    lv_ksl12 = lv_ksl12 + i_glt0-ksl12.&lt;/P&gt;&lt;P&gt;    lv_ksl13 = lv_ksl13 + i_glt0-ksl13.&lt;/P&gt;&lt;P&gt;    lv_ksl14 = lv_ksl14 + i_glt0-ksl14.&lt;/P&gt;&lt;P&gt;    lv_ksl15 = lv_ksl15 + i_glt0-ksl15.&lt;/P&gt;&lt;P&gt;    lv_ksl16 = lv_ksl16 + i_glt0-ksl16.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Totals Amount in Group,Comp code, Trans&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    lv_glt0ksl = lv_glt0ksl + i_glt0-ksl.&lt;/P&gt;&lt;P&gt;    lv_glt0hsl = lv_glt0hsl + i_glt0-hsl.&lt;/P&gt;&lt;P&gt;    lv_glt0tsl = lv_glt0tsl + i_glt0-tsl.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    AT END OF fyear.&lt;/P&gt;&lt;P&gt;      MOVE i_glt0-busctr TO i_glt0temp1-busctr.&lt;/P&gt;&lt;P&gt;      MOVE i_glt0-accno TO i_glt0temp1-accno.&lt;/P&gt;&lt;P&gt;      MOVE i_glt0-ccode TO i_glt0temp1-ccode.&lt;/P&gt;&lt;P&gt;      MOVE i_glt0-fyear TO i_glt0temp1-fyear.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      MOVE lv_glt0ksl TO i_glt0temp1-ksl.&lt;/P&gt;&lt;P&gt;      MOVE lv_glt0hsl TO i_glt0temp1-hsl.&lt;/P&gt;&lt;P&gt;      MOVE lv_glt0tsl TO i_glt0temp1-tsl.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      MOVE lv_kslvt TO i_glt0temp1-kslvt.&lt;/P&gt;&lt;P&gt;      MOVE lv_ksl01 TO i_glt0temp1-ksl01.&lt;/P&gt;&lt;P&gt;      MOVE lv_ksl02 TO i_glt0temp1-ksl02.&lt;/P&gt;&lt;P&gt;      MOVE lv_ksl03 TO i_glt0temp1-ksl03.&lt;/P&gt;&lt;P&gt;      MOVE lv_ksl04 TO i_glt0temp1-ksl04.&lt;/P&gt;&lt;P&gt;      MOVE lv_ksl05 TO i_glt0temp1-ksl05.&lt;/P&gt;&lt;P&gt;      MOVE lv_ksl06 TO i_glt0temp1-ksl06.&lt;/P&gt;&lt;P&gt;      MOVE lv_ksl07 TO i_glt0temp1-ksl07.&lt;/P&gt;&lt;P&gt;      MOVE lv_ksl08 TO i_glt0temp1-ksl08.&lt;/P&gt;&lt;P&gt;      MOVE lv_ksl09 TO i_glt0temp1-ksl09.&lt;/P&gt;&lt;P&gt;      MOVE lv_ksl10 TO i_glt0temp1-ksl10.&lt;/P&gt;&lt;P&gt;      MOVE lv_ksl11 TO i_glt0temp1-ksl11.&lt;/P&gt;&lt;P&gt;      MOVE lv_ksl12 TO i_glt0temp1-ksl12.&lt;/P&gt;&lt;P&gt;      MOVE lv_ksl13 TO i_glt0temp1-ksl13.&lt;/P&gt;&lt;P&gt;      MOVE lv_ksl14 TO i_glt0temp1-ksl14.&lt;/P&gt;&lt;P&gt;      MOVE lv_ksl15 TO i_glt0temp1-ksl15.&lt;/P&gt;&lt;P&gt;      MOVE lv_ksl16 TO i_glt0temp1-ksl16.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      MOVE lv_hslvt TO i_glt0temp1-hslvt.&lt;/P&gt;&lt;P&gt;      MOVE lv_hsl01 TO i_glt0temp1-hsl01.&lt;/P&gt;&lt;P&gt;      MOVE lv_hsl02 TO i_glt0temp1-hsl02.&lt;/P&gt;&lt;P&gt;      MOVE lv_hsl03 TO i_glt0temp1-hsl03.&lt;/P&gt;&lt;P&gt;      MOVE lv_hsl04 TO i_glt0temp1-hsl04.&lt;/P&gt;&lt;P&gt;      MOVE lv_hsl05 TO i_glt0temp1-hsl05.&lt;/P&gt;&lt;P&gt;      MOVE lv_hsl06 TO i_glt0temp1-hsl06.&lt;/P&gt;&lt;P&gt;      MOVE lv_hsl07 TO i_glt0temp1-hsl07.&lt;/P&gt;&lt;P&gt;      MOVE lv_hsl08 TO i_glt0temp1-hsl08.&lt;/P&gt;&lt;P&gt;      MOVE lv_hsl09 TO i_glt0temp1-hsl09.&lt;/P&gt;&lt;P&gt;      MOVE lv_hsl10 TO i_glt0temp1-hsl10.&lt;/P&gt;&lt;P&gt;      MOVE lv_hsl11 TO i_glt0temp1-hsl11.&lt;/P&gt;&lt;P&gt;      MOVE lv_hsl12 TO i_glt0temp1-hsl12.&lt;/P&gt;&lt;P&gt;      MOVE lv_hsl13 TO i_glt0temp1-hsl13.&lt;/P&gt;&lt;P&gt;      MOVE lv_hsl14 TO i_glt0temp1-hsl14.&lt;/P&gt;&lt;P&gt;      MOVE lv_hsl15 TO i_glt0temp1-hsl15.&lt;/P&gt;&lt;P&gt;      MOVE lv_hsl16 TO i_glt0temp1-hsl16.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      MOVE lv_tslvt TO i_glt0temp1-tslvt.&lt;/P&gt;&lt;P&gt;      MOVE lv_tsl01 TO i_glt0temp1-tsl01.&lt;/P&gt;&lt;P&gt;      MOVE lv_tsl02 TO i_glt0temp1-tsl02.&lt;/P&gt;&lt;P&gt;      MOVE lv_tsl03 TO i_glt0temp1-tsl03.&lt;/P&gt;&lt;P&gt;      MOVE lv_tsl04 TO i_glt0temp1-tsl04.&lt;/P&gt;&lt;P&gt;      MOVE lv_tsl05 TO i_glt0temp1-tsl05.&lt;/P&gt;&lt;P&gt;      MOVE lv_tsl06 TO i_glt0temp1-tsl06.&lt;/P&gt;&lt;P&gt;      MOVE lv_tsl07 TO i_glt0temp1-tsl07.&lt;/P&gt;&lt;P&gt;      MOVE lv_tsl08 TO i_glt0temp1-tsl08.&lt;/P&gt;&lt;P&gt;      MOVE lv_tsl09 TO i_glt0temp1-tsl09.&lt;/P&gt;&lt;P&gt;      MOVE lv_tsl10 TO i_glt0temp1-tsl10.&lt;/P&gt;&lt;P&gt;      MOVE lv_tsl11 TO i_glt0temp1-tsl11.&lt;/P&gt;&lt;P&gt;      MOVE lv_tsl12 TO i_glt0temp1-tsl12.&lt;/P&gt;&lt;P&gt;      MOVE lv_tsl13 TO i_glt0temp1-tsl13.&lt;/P&gt;&lt;P&gt;      MOVE lv_tsl14 TO i_glt0temp1-tsl14.&lt;/P&gt;&lt;P&gt;      MOVE lv_tsl15 TO i_glt0temp1-tsl15.&lt;/P&gt;&lt;P&gt;      MOVE lv_tsl16 TO i_glt0temp1-tsl16.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      APPEND i_glt0temp1.&lt;/P&gt;&lt;P&gt;      CLEAR: i_glt0temp1,lv_glt0ksl,lv_glt0hsl,lv_glt0tsl,&lt;/P&gt;&lt;P&gt;             lv_kslvt,lv_tslvt,lv_hslvt,&lt;/P&gt;&lt;P&gt;             lv_ksl01,lv_ksl02,lv_ksl03,lv_ksl04,&lt;/P&gt;&lt;P&gt;             lv_ksl05,lv_ksl06,lv_ksl07,lv_ksl08,&lt;/P&gt;&lt;P&gt;             lv_ksl09,lv_ksl10,lv_ksl11,lv_ksl12,&lt;/P&gt;&lt;P&gt;             lv_ksl13,lv_ksl14,lv_ksl15,lv_ksl16,&lt;/P&gt;&lt;P&gt;             lv_tsl01,lv_tsl02,lv_tsl03,lv_tsl04,&lt;/P&gt;&lt;P&gt;             lv_tsl05,lv_tsl06,lv_tsl07,lv_tsl08,&lt;/P&gt;&lt;P&gt;             lv_tsl09,lv_tsl10,lv_tsl11,lv_tsl12,&lt;/P&gt;&lt;P&gt;             lv_tsl13,lv_tsl14,lv_tsl15,lv_tsl16,&lt;/P&gt;&lt;P&gt;             lv_hsl01,lv_hsl02,lv_hsl03,lv_hsl04,&lt;/P&gt;&lt;P&gt;             lv_hsl05,lv_hsl06,lv_hsl07,lv_hsl08,&lt;/P&gt;&lt;P&gt;             lv_hsl09,lv_hsl10,lv_hsl11,lv_hsl12,&lt;/P&gt;&lt;P&gt;             lv_hsl13,lv_hsl14,lv_hsl15,lv_hsl16.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDAT.                             " AT END OF FYEAR&lt;/P&gt;&lt;P&gt;    AT END OF ccode.&lt;/P&gt;&lt;P&gt;      MOVE i_glt0-busctr TO i_altkt-busctr.&lt;/P&gt;&lt;P&gt;      MOVE i_glt0-accno TO i_altkt-accno.&lt;/P&gt;&lt;P&gt;      MOVE i_glt0-ccode TO i_altkt-ccode.&lt;/P&gt;&lt;P&gt;      READ TABLE i_skb1 WITH KEY bukrs = i_glt0-ccode&lt;/P&gt;&lt;P&gt;                  saknr = i_glt0-accno BINARY SEARCH.&lt;/P&gt;&lt;P&gt;      IF sy-subrc EQ 0.&lt;/P&gt;&lt;P&gt;        MOVE i_skb1-altkt TO i_altkt-altkt.&lt;/P&gt;&lt;P&gt;      ENDIF.                           " IF SY-SUBRC EQ 0&lt;/P&gt;&lt;P&gt;      APPEND i_altkt.&lt;/P&gt;&lt;P&gt;      CLEAR i_altkt.&lt;/P&gt;&lt;P&gt;    ENDAT.                             " AT END OF CCODE&lt;/P&gt;&lt;P&gt;  ENDLOOP.                             " LOOP AT I_glt0&lt;/P&gt;&lt;P&gt;  SORT i_altkt BY busctr accno ccode altkt.&lt;/P&gt;&lt;P&gt;  DELETE ADJACENT DUPLICATES FROM i_altkt COMPARING&lt;/P&gt;&lt;P&gt;         busctr accno ccode altkt.&lt;/P&gt;&lt;P&gt;ENDFORM.                               " F_FETCH_YEARTOT&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  F_FETCH_BALACC&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get Balance Sheet GL Accounts&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; No interface parameters are required&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;FORM f_fetch_balacc.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Temporary table for Balance Sheet accs&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  DATA: li_glt0 LIKE i_glt0 OCCURS 0&lt;/P&gt;&lt;P&gt;                WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  li_glt0[] = i_glt0[].&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SORT li_glt0 BY racct.&lt;/P&gt;&lt;P&gt;  DELETE ADJACENT DUPLICATES FROM li_glt0&lt;/P&gt;&lt;P&gt;          COMPARING racct.&lt;/P&gt;&lt;P&gt;  REFRESH i_ska1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get Balance Sheet Accounts&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  SELECT saknr                          " GL Account&lt;/P&gt;&lt;P&gt;    FROM ska1&lt;/P&gt;&lt;P&gt;    INTO TABLE i_ska1&lt;/P&gt;&lt;P&gt;     FOR ALL ENTRIES IN li_glt0&lt;/P&gt;&lt;P&gt;   WHERE saknr EQ li_glt0-racct&lt;/P&gt;&lt;P&gt;     AND xbilk EQ 'X'.&lt;/P&gt;&lt;P&gt;  IF sy-subrc EQ 0.&lt;/P&gt;&lt;P&gt;    SORT i_ska1 BY saknr.&lt;/P&gt;&lt;P&gt;    DELETE ADJACENT DUPLICATES FROM i_ska1&lt;/P&gt;&lt;P&gt;          COMPARING saknr.&lt;/P&gt;&lt;P&gt;  ENDIF.                               " IF SY-SUBRC EQ 0&lt;/P&gt;&lt;P&gt;ENDFORM.                               " F_FETCH_BALACC&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 16 Jul 2008 05:19:43 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/interactive-report-issue/m-p/4174448#M998010</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-07-16T05:19:43Z</dc:date>
    </item>
  </channel>
</rss>

