English Version for field description in CO reports

Hi,
I am using a standard SAP report from CO -> example : S_ALR_87013599. However, when logon in English version, the fields description are not in English. Some other reports do not have this problem. When I logon in Chinese language, it is ok. The description will be in chinese.
Please advise how do I change the fields to English decriptions. And will it affect the chinese language after the change ?
Thanks.
Angel.

Hi,
Try imporitng the reports when you are log-on in English via OKD3 transaction. This should solve the problem...
Also check your GCRS (transaction) definitions
Regards,
Eli

Similar Messages

  • Change Require For Field Description

    Guru
    Our Clint requires the change Require For Field Description how to do it
    pl guide me
    Thanks
    Sudhir

    use set data source location and update the conection
    regards,
    Raghavendra

  • Why can't I download only English version for lightroom 5 that I purchased?

    Why can't I download only English version for lightroom 5 that I purchased?

    You can adjust the language of your Lightroom installation in the preferences for the Application.

  • Tool Tip Text for field values in ALV report

    Hi,
    How to get the tool tip text for the field values in ALV report.
    Thanks & Regards,
    Pallavi.

    Hi,
    In fieldcatalog specify the TOOLTIP.
    <b>
    LVC_S_FCAT-TOOLTIP
    </b>
    In this speicfyteh tooltip you want.
    Then append this to the fieldcatalog.
    Hope this solves ur problem.

  • Multiple lines for field description in ALV

    Hi ,
    Is there any way to display the field description in  multiple lines in ALV grid .
    Regards,
    Pradipta

    Hi pradipta,
    1. No its not possible.
    2. At the most, we can set the WIDTH of the
       column, to ACCOMODATE the field description.
    3. We cannot do WRAP as u require.
    regards,
    amit m.

  • English Version for Switzerland

    Why can't I choose English for the Swiss Adobe website? It is very annoying if you're a foreigner and you're trying to purchase/find out any local information on adobe.com.
    Also, why isn't there a section for one to report bugs/features for the actual website? Somehow I found the link http://forums.adobe.com/community/web_feedback on the Swiss version, but it says that "The item does not exist. It may have been deleted."
    Andrada

    Andrada,
    I am afraid your best bet may be to use this Google Search and tick Translate:
    http://www.google.com/#hl=en&tbo=d&output=search&sclient=psy-ab&q=http:%2F%2Fwww.adobe.com %2Fch_de%2F&oq=http:%2F%2Fwww.adobe.com%2Fch_de%2F&gs_l=hp.12..0i30.2976.2976.0.7650.1.1.0 .0.0.0.1001.1001.7-1.1.0.les%3B..0.0...1c.1.rXjcBpnEIis&pbx=1&bav=on.2,or.r_gc.r_pw.r_qf.& bvm=bv.1357700187,d.Yms&fp=361a3ff283e7c7f6&biw=1014&bih=800
    Or to deliberately select a (wrong) country where the language is English, such as the UK, which may give you quite irrelevant information (including pricing and country specific terms).
    The regional Adobe sites are in the main language(s), German, Italian, and French, for Switzerland, with no English option. A bit strange.

  • Your plugincheck webpage has the wrong version for flash, it's 442 not 378 on Linux

    Your plugincheck web page reports an incorrect version for Adobe Flash Player, you report: 11.2.202.378 for Linux, when the current patch is 11.2.202.442
    Firefox 29.0 (required for VMware's crappy cloud interface)
    Flash 11.2.202.442
    Open SuSE 13.1 x64

    Try to delete the pluginreg.dat file in the Firefox Profile Folder and maybe addons.sqlite as well to reset the plugin registry databases.
    See Re-initializing the plugins database:
    *https://support.mozilla.org/kb/troubleshoot-issues-with-plugins-fix-problems
    You can use this button to go to the currently used Firefox profile folder:
    *Help > Troubleshooting Information > Profile Directory: Show Folder (Linux: Open Directory; Mac: Show in Finder)
    *http://kb.mozillazine.org/Profile_folder_-_Firefox

  • I brought a movie from itune Flying Swords Of Dragon Gate is there an English version or an upgrade to this movie

    is there an English version for the movie Flying Swords of Dragon Gate I just brought it from iTunes and got a sub title or can iTunes send something out its a great movie if you looking for action

    http://portableapps.com/apps/internet/thunderbird_portable
    While the Portableapps builds of Firefox and Thunderbird are not official, they are proven to be safe over several years.

  • English versions creative cloud

    I am registered in Norway. By default I got the Norwegian versions of Photoshop and Indesign in Adobe Application manager. I have worked with english versions for years and are used to that. Is it possible to dawnload the english versions?

    You can change the language of your application in the AAM and then re-install the applications.
    Check this link to know the steps in details :-
    http://helpx.adobe.com/creative-cloud/kb/creative-cloud-trial-mode.html\
    BTW no need to unistall the applications

  • Field description in two line in ALV report

    Hi ,
    In ALV report I  want the description for each field to be displayed in two lines . For example
    the description for field matnr is " Material No for grade A " which is displayed in one line . But i want to display it as :  Material No
                                                           for grade A
    in two lines . Is it possible . Please help me out .
    Neetesh

    Hi Neetesh,
      Its not possible to display as you like in 2 lines header for single column. But i can provide the alternative way , it won't good logically. Please try the following logic.
    Let suppose you have 10 fields F1-f10. Each field has the 2 lines header. So take 20fields in your fields catalog ie take 10 dummy fields which are equal lenght of the fields F1-f10. and for the last 10 fields(F11-F20) set the row pos as 2, set the second line header to these field(F11-F20). So you will succed to display the 2 level header for single column. But the problem here is you will get one empty row additional row for each row. Because you have taken (F11-F20) fields are dummy and don't have the data also. This solution will works only in the case of ALV List display not in Grid Display.
      But Before that tell to your customer about this problem , Because I have done the same things when my customer giving important to 2 lines header and he accepeted that also.
    If suppose you have the data in 2 lines for each column then this solution will work fine. Thats what i implemented in my ALV Report.
    Warm Regards,
    Vijay.

  • Regarding field description in report

    HI,
    I had made a report in which i am displaying the changes made to a material in a purticular month.
    it is working fine but 1 field i am looking for is d description which is similar to MM04 tcode when we execute there is field called field description and i want to display it my report also.plzz help me out as it is really urgent to me..
    here is d code:-
    REPORT ZNEW01 no standard page heading LINE-SIZE 310.
    TABLES: cdhdr,cdpos.
    DATA : BEGIN OF itab OCCURS 0,
    objectclas LIKE cdhdr-objectclas,
    objectid LIKE cdhdr-objectid,
    username LIKE cdhdr-username,
    udate LIKE cdhdr-udate,
    utime LIKE cdhdr-utime,
    tcode LIKE cdhdr-tcode,
    change_ind LIKE cdhdr-change_ind,
    changenr LIKE cdhdr-changenr,
    END OF itab.
    DATA: BEGIN OF itab1 OCCURS 0,
    OBJECTCLAS LIKE CDHDR-OBJECTCLAS,
    objectid LIKE cdpos-objectid,
    changenr LIKE cdpos-changenr,
    fname LIKE cdpos-fname,
    chngind LIKE cdpos-chngind,
    value_new LIKE cdpos-value_new,
    value_old LIKE cdpos-value_old,
    TABKEY LIKE CDPOS-TABKEY,
    END OF itab1.
    DATA : BEGIN OF it_final OCCURS 0,
            objectclas LIKE cdhdr-objectclas,
            objectid   LIKE cdhdr-objectid,
            username   LIKE cdhdr-username,
            udate      LIKE cdhdr-udate,
            utime      LIKE cdhdr-utime,
            tcode      LIKE cdhdr-tcode,
            change_ind LIKE cdhdr-change_ind,
            changenr   LIKE cdhdr-changenr,
            fname LIKE cdpos-fname,
            chngind LIKE cdpos-chngind,
            value_new LIKE cdpos-value_new,
            value_old LIKE cdpos-value_old,
            TABKEY LIKE CDPOS-TABKEY,
         end of it_final.
    select-options : m_date for cdhdr-udate.
    SELECT objectclas objectid username udate utime tcode change_ind changenr
          FROM cdhdr
          INTO TABLE itab WHERE objectclas = 'MATERIAL' AND
                                change_ind = 'U' AND
                                     udate IN m_date.
    IF NOT itab[] IS INITIAL.
    SELECT objectclas objectid changenr fname chngind value_new value_old TABKEY
            FROM cdpos
            INTO TABLE itab1
            FOR ALL ENTRIES IN itab
            WHERE changenr = itab-changenr and chngind = itab-change_ind.
    ENDIF.
    LOOP AT itab1.
    READ TABLE itab WITH KEY changenr = itab1-changenr.
    it_final-objectid = itab-objectid.
    it_final-username = itab-username.
    it_final-udate    = itab-udate.
    it_final-utime     = itab-utime.
    it_final-tcode    =  itab-tcode.
    it_final-fname    =  itab1-fname.
    it_final-chngind  = itab1-chngind.
    it_final-value_old =  itab1-value_old.
    it_final-value_new =  itab1-value_new.
    it_final-TABKEY = itab1-TABKEY.
    APPEND it_final.
    CLEAR it_final.
    ENDLOOP.
    uline.
    write: / 'ITEMID    C.PERSON     C.DATE      C.TIME   TCODE     OLD VALUE                              NEW VALUE                                   ORG.UNIT'.
    uline.
    loop at it_final.
    write : / it_final-objectid11(11),12 it_final-username,22 it_final-udate,35 it_final-utime,45 it_final-tcode,55 it_final-value_old,94 it_final-value_new,139 it_final-tabkey21(5).
    endloop.
    Edited by: ric .s on Feb 21, 2008 11:48 AM
    Edited by: ric .s on Feb 21, 2008 12:33 PM
    Edited by: Alvaro Tejada Galindo on Feb 21, 2008 3:24 PM

    CASE ausg-tabname.
                  WHEN 'DPROW'.
                    MOVE indtext TO ls_alv_display_position-action.
                    CLEAR lv_orgunit.
                    CONCATENATE text-029 space ausg-tabkey(4)
                                          INTO lv_orgunit RESPECTING BLANKS.
                    MOVE lv_orgunit TO ls_alv_display_position-orgunit.
                    MOVE text-027 TO ls_alv_display_position-description.
                    IF indtext NE text-013.
                      MOVE priod TO ls_alv_display_position-newvalue.
                    ELSE.
                      MOVE priod TO ls_alv_display_position-oldvalue.
                    ENDIF.
                    APPEND ls_alv_display_position TO
                                            lt_alv_display_position.
                    CLEAR ls_alv_display_position.
                  WHEN 'DGESV'.
                    MOVE indtext TO ls_alv_display_position-action.
                    CLEAR lv_orgunit.
                    CONCATENATE text-029 space ausg-tabkey(4)
                                          INTO lv_orgunit RESPECTING BLANKS.
                    MOVE lv_orgunit TO ls_alv_display_position-orgunit.
                    MOVE text-030 TO ls_alv_display_position-description.
                    IF indtext NE text-013.
                      MOVE priod TO ls_alv_display_position-newvalue.
                    ELSE.
                      MOVE priod TO ls_alv_display_position-oldvalue.
                    ENDIF.
                    APPEND ls_alv_display_position TO
                                            lt_alv_display_position.
                    CLEAR ls_alv_display_position.
                  WHEN 'DUNGV'.
                    MOVE indtext TO ls_alv_display_position-action.
                    CLEAR lv_orgunit.
                    CONCATENATE text-029 space ausg-tabkey(4)
                                          INTO lv_orgunit RESPECTING BLANKS.
                    MOVE lv_orgunit TO ls_alv_display_position-orgunit.
                    MOVE text-031 TO ls_alv_display_position-description.
                    IF indtext NE text-013.
                      MOVE priod TO ls_alv_display_position-newvalue.
                    ELSE.
                      MOVE priod TO ls_alv_display_position-oldvalue.
                    ENDIF.
                    APPEND ls_alv_display_position TO
                                            lt_alv_display_position.
                    CLEAR ls_alv_display_position.
                  WHEN 'DMKAL'.
                    MOVE indtext TO ls_alv_display_position-action.
                    CLEAR lv_orgunit.
                    CONCATENATE text-029 space ausg-tabkey(4) space
                                text-050 space ausg-tabkey+4(4)
                                          INTO lv_orgunit RESPECTING BLANKS.
                    MOVE lv_orgunit TO ls_alv_display_position-orgunit.
                    APPEND ls_alv_display_position TO
                                            lt_alv_display_position.
                    CLEAR ls_alv_display_position.
                  WHEN 'DMAKT'.
                    MOVE indtext TO ls_alv_display_position-action.
                    MOVE text-025 TO ls_alv_display_position-description.
                    MOVE <key> TO ls_alv_display_position-additional_info.
                    IF indtext NE text-013.
                      APPEND ls_alv_display_position TO
                                              lt_alv_display_position.
                      CLEAR ls_alv_display_position.
                    ENDIF.
                  WHEN 'DMARM'.
                    MOVE indtext TO ls_alv_display_position-action.
                    MOVE text-026 TO ls_alv_display_position-description.
                    IF indtext NE text-013.
                      MOVE <key> TO ls_alv_display_position-newvalue.
                    ELSE.
                      MOVE <key> TO ls_alv_display_position-oldvalue.
                    ENDIF.
                    APPEND ls_alv_display_position TO
                                            lt_alv_display_position.
                    CLEAR ls_alv_display_position.
                  WHEN 'DMEAN'.
                    MOVE indtext TO ls_alv_display_position-action.
                    MOVE text-051 TO ls_alv_display_position-description.
                    IF indtext NE text-013.
                      MOVE <key> TO ls_alv_display_position-newvalue.
                    ELSE.
                      MOVE <key> TO ls_alv_display_position-oldvalue.
                    ENDIF.
                    APPEND ls_alv_display_position TO
                                            lt_alv_display_position.
                    CLEAR ls_alv_display_position.
                  WHEN 'DMAEX'.
                    MOVE indtext TO ls_alv_display_position-action.
                    MOVE text-068 TO ls_alv_display_position-description.
                    IF indtext NE text-013.
                      MOVE <key> TO ls_alv_display_position-newvalue.
                    ELSE.
                      MOVE <key> TO ls_alv_display_position-oldvalue.
                    ENDIF.
                    APPEND ls_alv_display_position TO
                                            lt_alv_display_position.
                    CLEAR ls_alv_display_position.
                  WHEN 'DMAPE'.                                 "ch zu 30e
                    MOVE indtext TO ls_alv_display_position-action.
                    MOVE text-067 TO ls_alv_display_position-description.
                    IF indtext NE text-013.
                      MOVE <key> TO ls_alv_display_position-newvalue.
                    ELSE.
                      MOVE <key> TO ls_alv_display_position-oldvalue.
                    ENDIF.
                    APPEND ls_alv_display_position TO
                                            lt_alv_display_position.
                    CLEAR ls_alv_display_position.
                  WHEN 'DMLAN'.
                    MOVE indtext TO ls_alv_display_position-action.
                    MOVE text-052 TO ls_alv_display_position-description.
                    IF indtext NE text-013.
                      MOVE <key> TO ls_alv_display_position-newvalue.
                    ELSE.
                      MOVE <key> TO ls_alv_display_position-oldvalue.
                    ENDIF.
                    APPEND ls_alv_display_position TO
                                            lt_alv_display_position.
                    CLEAR ls_alv_display_position.
                  WHEN OTHERS.
                    MOVE indtext TO ls_alv_display_position-action.
                    CASE ausg-tabname.
                      WHEN 'MARA'.
                        MOVE text-055 TO
                                      ls_alv_display_position-description.
                      WHEN 'MARC'.
                        MOVE text-056 TO
                                      ls_alv_display_position-description.
                      WHEN 'MARD'.
                        MOVE text-057 TO
                                      ls_alv_display_position-description.
                      WHEN 'MLGN'.
                        MOVE text-058 TO
                                      ls_alv_display_position-description.
                      WHEN 'MLGT'.
                        MOVE text-059 TO
                                      ls_alv_display_position-description.
                      WHEN 'MBEW'.
                        MOVE text-064 TO
                                      ls_alv_display_position-description.
                      WHEN 'MVKE'.
                        MOVE text-063 TO
                                      ls_alv_display_position-description.
                        include /nfm/m03a1.                           "/NFM/
                      WHEN 'MPOP'.
                        MOVE text-065 TO
                                      ls_alv_display_position-description.
                      WHEN OTHERS.
                        MOVE ausg-tabname TO
                                      ls_alv_display_position-description.
                    ENDCASE.
                    include /nfm/m03a3.                               "/NFM/
                    if ausg-tabname(6) ne '/NFM/T'.                   "/NFM/
                      write: 55 <key>.                                "/NFM/
                    endif.                                            "/NFM/
                    IF indtext NE text-013.
                      MOVE <key> TO ls_alv_display_position-newvalue.
                    ELSE.
                      MOVE <key> TO ls_alv_display_position-oldvalue.
                    ENDIF.
                    APPEND ls_alv_display_position TO
                                            lt_alv_display_position.
                    CLEAR ls_alv_display_position.
                ENDCASE.

  • Report for field BSART (table MEPO_TOPLINE)?

    Dear Gurus,
    how can I run a report on the following field?
    Field name: BSART
    Table name: MEPO_TOPLINE
    Thanks a lot

    Hi Raj,
    sorry I'm not an expert.....so don't really get it....
    What I need is to have a report on the delivery date field in the POs we have created for a specific period.
    When going to HELP I can see the following:
    Screen data:
    Program name: SAPLEINB
    Screen number: 0300
    GUI Data:
    Program name: SAPLMEGUI
    Status: NORMAL
    Field Data:
    Table name: RM06E
    Field name: EEIND
    Data Element: EEIND
    DE Supplement: 0
    Field Description, Batch Input:
    Screen Field: RM06E-EEIND
    Program name: SAPLMEGUI
    Screen number: 0014
    Could you please check again?
    thanks sooooo much!

  • Number of Sort Levels into Sort Versions for Asset Reports

    Hello gurus,
    Is the number of "sort Levels" limited to five for asset sort versions (transaction OAVI)?
    If yes, does it mean that the only solution, if I have more than 5 fields to add, is to include my own fields into standard ALV reports?
    Thank you in advance for your help
    Best regards
    Pascal.

    Hi,
    Nathan is correct, 5 sort levels max.
    But of course you have more flexibility with the ALV reports (ALV = SAP List Viewer). You can define additional sort criteria on the output list, and save these in layout variants. Then you can execute the reports directly (except asset history sheet) with these layouts by using them in the selection screen.
    Regards,
    Markus

  • Version Specific fields For Product

    Hi SCM experts,
    I have a requirement where in i need maintain Product description as a version specific field . But as a standard , it is not. What i actually need is, I should be able to maintain different descriptions for different versions of a Product.
    Is this possible through any customization or any user exits exist for the same. Please do let me know if this is possible or not.
    Thanks a lot for all your help.
    Regards,
    Deepthi lakshmi.A.

    Hi
    1.First create a Change Note number using T code CC01,without release key and give the Change note number Description(Different Version for a single product) and give the valid from date as System's date,change no status as 1,and press enter and put tick marks in the first nd third column against material row.Press Save
    2.Use the above created Change note number and do some changes for a material,i.e include some revision level.in Basic Data 1screen of the material.
    3.You cannot use the same change note number for more than one revision level.For Eg.Using a change no 500000000112 you have inluded revision level A,and saved it.Now again using the same Change note no u cant include revision level B for the same material.
    4.In this way you be in need of different change note numbers to include new revison levels for the same material,and u can give the description while creating the change note number.
    Please give me a feedback whether it works properly or not.
    I hope this will help u.If useful plz reward your points.
    If i'm wrong experts please correct me.
    Regards
    Karthik
    Message was edited by:
            Karthikraj
    Message was edited by:
            Karthikraj

  • ALV Totals , Subtotals for a particular field in ALV Grid report

    Hi,
    I have an issue in ALV totals and subtotals.
    Scenario is like this.
    i have a vendor data to be pulled out of SAP and to be shown in the form of report.
    i am populating all the data and doing do_sum based on Vendor ( has expansin & collapse option ) and display the number of reports .
    Vendor -
    100
    Vendor1 -
    1
    Vendor2----
    2.
    Vendor100----
    100.
    but my problem is in the same report i have a date field .
    if i have a five vendors created on 03/03/2008. in the same report for the date field having ( expansion & collapse ) , when i expand based on that date can i be able to sum up all the vendors created on 03/03/2008 and display in the same report along with the vendor count.
    Let me know . Thank you in advance
    Regards,
    Ry

    Hi Roby,
    Have a look at this sample code
    It will help u,
    REPORT ZIN_FI_AGEING
           message-id zbdc
           no standard page heading.
    Title                   : For Ageing Details
    Author                  :
    Date                    : 22/11/2004
    Transport/Correction Id :
    Clarify case ID         :
    Application             : FI
    Program Type            :
    Frequency               :
    Purpose                 :
    Comments                :
    Request No              :
      TABLES DELCARATIONS
    Tables: zzgeinz9a,    "Actual line item table
            t001.         "Plants/Branches
      ALV TTPE DELCARATIONS
    type-pools: slis.
    *Type Declarations for Field Catalog
    data : i_fldcat_head type slis_t_fieldcat_alv,
           wa_fldcat_head type slis_fieldcat_alv.
    *Type Declarations for ALV Events
    data : i_events type slis_t_event,
           wa_event like line of i_events.
    *Type Declarations for Layout Design
    data : wa_layout type slis_layout_alv.
    *Type Declarations for Sorting Fields
    data:  it_sort type slis_sortinfo_alv occurs 0 with header line.
    *Type Declarations for Displaying Images on Grid
    data : i_comment type slis_t_listheader,
           wa_comment type slis_listheader.
    *Type Declarations for Grouping fields
    data : wa_group type slis_sp_group_alv,
           i_group type slis_t_sp_group_alv.
      DATA DELCARATIONS
    data: v_flag,                 "Status Flag
          v_repid like sy-repid,  "Program Name
          p_year(4) type c,       "Year
          v_due_days type i.      "To hold the due days
      CONSTANTS DELCARATIONS
    constants: c_x type c value 'X',
               c_bukrs(4) type c value '0373'.
      INTERNAL TABLES DELCARATIONS
    *--Internal table to hold the required data
    data: begin of it_final_vendor occurs 0,
            rzzlifnr    like zzgeinz9a-rzzlifnr,  "Vendor
            name1       like lfa1-name1,          "Vendor Name
            docnr       like zzgeinz9a-DOCNR,     "Accounting Doc No
            refdocnr    like zzgeinz9a-REFDOCNR,  "Reference document no
            belnr       like bkpf-belnr,          "FI Doc No
            doc_date    like bkpf-awkey,          "Document Date
            zbd1t       like bsik-zbd1t,          "Cash discount days 1
            bldat       like bkpf-bldat,          "Document Date
            due_date    like bkpf-bldat,          "Due Date
            due_days    type i,                   "Due Days
            rzz_ebeln   like zzgeinz9a-rzz_ebeln, "P.O. Ref No
            not_due     like zzgeinz9a-hsl,       "Not Yet Due
            hsl         like zzgeinz9a-hsl,       "local currency
            found       type c,                   "Existance Flag
          end of it_final_vendor.
    data: begin of it_final_vendor_temp occurs 0,
            rzzlifnr    like zzgeinz9a-rzzlifnr,  "Vendor
            name1       like lfa1-name1,          "Vendor Name
            belnr       like bkpf-belnr,          "FI Doc No
            bldat       like bkpf-bldat,          "Document Date
            rzz_ebeln   like zzgeinz9a-rzz_ebeln, "P.O. Ref No
            hsl        like zzgeinz9a-hsl,        "local currency
            due_date    like bkpf-bldat,          "Due Date
            due_days    type i,                   "Due Days
            not_due     like zzgeinz9a-hsl,       "Not Yet Due
            buck_0_30   like zzgeinz9a-hsl,       "Invoiceamt in localcurr
            buck_31_60  like zzgeinz9a-hsl,       "Invoiceamt in localcurr
            buck_61_90  like zzgeinz9a-hsl,       "Invoiceamt in localcurr
            buck_91_180 like zzgeinz9a-hsl,       "Invoiceamt in localcurr
            buck_180    like zzgeinz9a-hsl,       "Invoiceamt in localcurr
            docnr       like zzgeinz9a-DOCNR,     "Accounting Doc No
            refdocnr    like zzgeinz9a-REFDOCNR,  "Reference document no
            doc_date    like bkpf-awkey,          "Document Date
            found       type c,                   "Existance Flag
          end of it_final_vendor_temp.
    data: begin of it_final_customer occurs 0,
            rzzkunnr    like zzgeinz9a-rzzkunnr,  "Customer
            name1       like kna1-name1,          "Customer Name
            docnr       like zzgeinz9a-DOCNR,     "Accounting Doc No
            refdocnr    like zzgeinz9a-REFDOCNR,  "Reference document no
            belnr       like bkpf-belnr,          "FI Doc No
            doc_date    like bkpf-awkey,          "Document Date
            zbd1t       like bsik-zbd1t,          "Cash discount days 1
            bldat       like bkpf-bldat,          "Document Date
            due_date    like bkpf-bldat,          "Due Date
            due_days    type i,                   "Due Days
            rzz_ebeln   like zzgeinz9a-rzz_ebeln, "P.O. Ref No
            not_due     like zzgeinz9a-hsl,       "Not Yet Due
            hsl         like zzgeinz9a-hsl,       "local currency
            found       type c,                   "Existance Flag
          end of it_final_customer.
    data: begin of it_final_customer_temp occurs 0,
            rzzkunnr    like zzgeinz9a-rzzkunnr,  "Customer
            name1       like kna1-name1,          "Customer Name
            belnr       like bkpf-belnr,          "FI Doc No
            bldat       like bkpf-bldat,          "Document Date
            rzz_ebeln   like zzgeinz9a-rzz_ebeln, "P.O. Ref No
            hsl        like zzgeinz9a-hsl,        "local currency
            due_date    like bkpf-bldat,          "Due Date
            due_days    type i,                   "Due Days
            not_due     like zzgeinz9a-hsl,       "Not Yet Due
            buck_0_30   like zzgeinz9a-hsl,       "Invoiceamt in localcurr
            buck_31_60  like zzgeinz9a-hsl,       "Invoiceamt in localcurr
            buck_61_90  like zzgeinz9a-hsl,       "Invoiceamt in localcurr
            buck_91_180 like zzgeinz9a-hsl,       "Invoiceamt in localcurr
            buck_180    like zzgeinz9a-hsl,       "Invoiceamt in localcurr
            docnr       like zzgeinz9a-DOCNR,     "Accounting Doc No
            refdocnr    like zzgeinz9a-REFDOCNR,  "Reference document no
            doc_date    like bkpf-awkey,          "Document Date
            found       type c,                   "Existance Flag
          end of it_final_customer_temp.
    *--Internal Table to hold the Cash discount days 1 for Vendors
    data: begin of it_final_bsik occurs 0,
            belnr like bsik-belnr,
            zbd1t like bsik-zbd1t,
          end of it_final_bsik.
    *--Internal Table to hold the Cash discount days 1 for Customers
    data: begin of it_final_bsid occurs 0,
            belnr like bsid-belnr,
            zbd1t like bsid-zbd1t,
          end of it_final_bsid.
      INITIALIZATION
    v_repid = sy-repid.
      SELECTION SCREEN
    selection-screen: begin of block b1 with frame title text-h01.
    selection-screen skip.
    select-options: s_vendor for zzgeinz9a-rzzlifnr modif id ven.
    parameters: p_comp1 like t001-bukrs modif id ven.
    parameters: p_rundt1 like bkpf-bldat modif id ven.
    select-options: s_cust for zzgeinz9a-rzzkunnr modif id cst.
    parameters: p_comp2 like t001-bukrs modif id cst.
    parameters: p_rundt2 like bkpf-bldat modif id cst.
    selection-screen skip.
    selection-screen: begin of block b2 with frame title text-h02.
    parameters : p_vendor radiobutton group gr1 default 'X'
                                      user-command test,
                 p_cust  radiobutton group gr1.
    selection-screen: end of block b2.
    selection-screen: end of block b1.
    **************************AT Selection Screen OutPut ******************
    at selection-screen output.
      loop at screen.
        if p_cust = 'X'.
          if screen-group1 = 'VEN'.
            screen-active = '0'.
            screen-input = '0'.
            screen-output = '0'.
            screen-invisible = '0'.
          endif.
        elseif p_vendor = 'X'.
          if screen-group1 = 'CST'.
            screen-active = '0'.
            screen-input = '0'.
            screen-output = '0'.
            screen-invisible = '0'.
          endif.
        endif.
        modify screen.
      endloop.
      SELECTION SCREEN ON
    at selection-screen on s_vendor.
    *--Validating Vendor
      if not s_vendor[] is initial.
        perform validate_s_vendor.
      endif.
    at selection-screen on s_cust.
    *--Validating Customer
      if not s_cust[] is initial.
        perform validate_s_cust.
      endif.
    at selection-screen on p_comp1.
    *--Validating Company Code.
      if not p_comp1 is initial.
        perform validate_p_comp1.
      endif.
    at selection-screen on p_comp2.
    *--Validating Company Code.
      if not p_comp2 is initial.
        perform validate_p_comp2.
      endif.
      START OF SELECTION
    start-of-selection.
    if p_vendor = 'X'.
       perform get_vendor_data.
    elseif p_cust = 'X'.
       perform get_customer_data.
    endif.
      END OF SELECTION
    end-of-selection.
    if p_vendor = 'X'.
    *--Generating the output for vendor
      perform generate_field_catalog_vendor.
      perform get_events_vendor.
      perform generate_layout_vendor.
      perform generate_sort_vendor.
      perform generate_group_vendor.
      perform disp_alv_grid_vendor.
    elseif p_cust = 'X'.
    *--Generating the output for customer
      perform generate_field_catalog_cust.
      perform get_events_customer.
      perform generate_layout_customer.
      perform generate_sort_customer.
      perform generate_group_customer.
      perform disp_alv_grid_customer.
    endif.
    *&      Form  validate_s_vendor
          Validating the Vendor
    form validate_s_vendor.
      select rzzlifnr up to 1 rows
      into (zzgeinz9a-rzzlifnr)
      from zzgeinz9a
      where rzzlifnr in s_vendor.
      endselect.
      if sy-subrc ne 0.
        message e004 with 'Invalid Range of Vendor'(002)
    s_vendor-low 'To'(006) s_vendor-high.
      endif.
    endform.                    " validate_s_vendor
    *&      Form  validate_s_cust
          Validating the Customer
    form validate_s_cust.
       select rzzkunnr up to 1 rows
       into (zzgeinz9a-rzzkunnr)
       from zzgeinz9a
       where rzzkunnr in s_cust.
       endselect.
       if sy-subrc ne 0.
         message e004 with 'Invalid Range of Customer'(005)
    s_cust-low 'To'(006) s_cust-high.
      endif.
    endform.                    " validate_s_cust
    *&      Form  validate_p_comp1
          Validating the Company Code
    form validate_p_comp1.
      select single bukrs
             into   (t001-bukrs)
             from   t001
             where  bukrs eq p_comp1.
      if sy-subrc ne 0.
        message e004 with 'Company Code'(004) p_comp1 'Does not Exists'(003)
      endif.
    endform.                    " validate_p_comp1
    *&      Form  validate_p_comp2
          Validating the Company Code
    form validate_p_comp2.
      select single bukrs
             into   (t001-bukrs)
             from   t001
             where  bukrs eq p_comp2.
      if sy-subrc ne 0.
        message e004 with 'Company Code'(004) p_comp2 'Does not Exists'(003)
      endif.
    endform.                    " validate_p_comp2
    *&      Form  get_vendor_data
          Getting the Vendor Related Docs
    form get_vendor_data.
    select a~rzzlifnr
            b~name1
            a~docnr
            a~refdocnr
            a~rzz_ebeln
            a~hsl
        into corresponding fields of table it_final_vendor
        from zzgeinz9a as a
        inner join lfa1 as b
        on arzzlifnr = blifnr
        where rzzlifnr in s_vendor
        and   rbukrs   eq p_comp1.
        if sy-subrc eq 0.
          v_flag = 'X'.
          p_year = sy-datum+0(4).
          perform get_doc_date using p_comp1
                                     p_year.
          perform move_records.
          sort it_final_vendor by rzzlifnr.
          perform generate_data.
        else.
          v_flag = space.
        endif.
    endform.                    " get_vendor_data
    *&      Form  get_customer_data
          Getting the Customer Related Docs
    form get_customer_data.
    select a~rzzkunnr
            b~name1
            a~docnr
            a~refdocnr
            a~rzz_ebeln
            a~hsl
        into corresponding fields of table it_final_customer
        from zzgeinz9a as a
        inner join kna1 as b
        on arzzkunnr = bkunnr
        where rzzkunnr in s_cust
        and   rbukrs   eq p_comp2.
        if sy-subrc eq 0.
          v_flag = 'X'.
          p_year = sy-datum+0(4).
          perform get_doc_date_cust using p_comp2
                                          p_year.
          perform move_records_cust.
          sort it_final_customer by rzzkunnr.
          perform generate_data_cust.
        else.
          v_flag = space.
        endif.
    endform.                    " get_customer_data
    *&      Form  get_doc_date
          Getting the Document Date and FI Doc No
         -->P_P_COMP1 Company Code
         -->P_P_YEAR  Fiscal Year
    form get_doc_date using    p_p_comp1
                               p_p_year.
      loop at it_final_vendor.
        concatenate it_final_vendor-refdocnr '*' into
    it_final_vendor-doc_date.
        modify it_final_vendor index sy-tabix.
    endloop.
    clear it_final_vendor.
    data: v_doc_date(11) type c,
          v_belnr like bkpf-belnr,
          v_bldat like bkpf-bldat.
          loop at it_final_vendor.
           concatenate it_final_vendor-refdocnr '%' into v_doc_date.
            select single belnr
                          bldat
                   into corresponding fields of it_final_vendor
                   from bkpf
                   where bukrs eq p_p_comp1
                   and   gjahr eq p_p_year
                   and   awkey like v_doc_date.
                   modify it_final_vendor.
           endloop.
        clear:it_final_vendor.
    endform.                    " get_doc_date
    *&      Form  move_records
          Moving records to final internal table
    form move_records.
    *--Checking the existance of belnr in bsik
    clear it_final_vendor.
      select belnr
             zbd1t
             into table it_final_bsik
             from bsik
             for all entries in it_final_vendor
             where belnr eq it_final_vendor-belnr
             and   bukrs eq c_bukrs.
    clear it_final_bsik.
      loop at it_final_vendor.
        read table it_final_bsik with key belnr = it_final_vendor-belnr.
        if sy-subrc eq 0.
          it_final_vendor-zbd1t = it_final_bsik-zbd1t.
          it_final_vendor-due_date = it_final_vendor-bldat +
    it_final_bsik-zbd1t.
          it_final_vendor-found    = 'X'.
          modify it_final_vendor.
        endif.
      endloop.
    endform.                    " move_records
    *&      Form  generate_data
          Segregating the records based on due_date
    form generate_data.
      delete it_final_vendor[] where found ne 'X'.
      sort it_final_vendor by belnr.
      loop at it_final_vendor.
        if it_final_vendor-due_date > p_rundt1.
          move-corresponding it_final_vendor to it_final_vendor_temp.
          move it_final_vendor-hsl to it_final_vendor_temp-not_due.
        elseif it_final_vendor-due_date < p_rundt1.
          it_final_vendor-due_days = p_rundt1 - it_final_vendor-DUE_DATE.
        endif.
    *--filling 0-30 bucket.
        if it_final_vendor-due_days ge 0 AND it_final_vendor-due_days le 30.
          move-corresponding it_final_vendor to it_final_vendor_temp.
          move it_final_vendor-hsl to it_final_vendor_temp-buck_0_30.
    *--filling 31-60 bucket.
    elseif it_final_vendor-due_days ge 31 AND it_final_vendor-due_days le 60
          move-corresponding it_final_vendor to it_final_vendor_temp.
          move it_final_vendor-hsl to it_final_vendor_temp-buck_31_60.
    *--filling 61-90 bucket.
    elseif it_final_vendor-due_days ge 61 AND it_final_vendor-due_days le 90
          move-corresponding it_final_vendor to it_final_vendor_temp.
          move it_final_vendor-hsl to it_final_vendor_temp-buck_61_90.
    *--filling 91-180 bucket.
        elseif it_final_vendor-due_days ge 91 AND it_final_vendor-due_days
    le 180.
          move-corresponding it_final_vendor to it_final_vendor_temp.
          move it_final_vendor-hsl to it_final_vendor_temp-buck_91_180.
    *--filling 180 bucket.
        elseif it_final_vendor-due_days gt 180.
          move-corresponding it_final_vendor to it_final_vendor_temp.
          move it_final_vendor-hsl to it_final_vendor_temp-buck_180.
        endif.
         append it_final_vendor_temp.
         clear it_final_vendor_temp.
      endloop.
    endform.                    " generate_data
    *&      Form  DISP_ALV_GRID_VENDOR
          Displaying the output in grid For Vendor
    form DISP_ALV_GRID_VENDOR.
    *--Generating the OUTPUT GRID FOR VENDOR
      call function 'REUSE_ALV_GRID_DISPLAY'
       EXPORTING
        I_INTERFACE_CHECK                 = ' '
        I_BYPASSING_BUFFER                =
        I_BUFFER_ACTIVE                   = ' '
          I_CALLBACK_PROGRAM                = v_repid
        I_CALLBACK_PF_STATUS_SET          = ' '
        I_CALLBACK_USER_COMMAND           = ' '
        I_CALLBACK_TOP_OF_PAGE            = ' '
        I_CALLBACK_HTML_TOP_OF_PAGE       = ' '
        I_CALLBACK_HTML_END_OF_LIST       = ' '
        I_STRUCTURE_NAME                  =
        I_BACKGROUND_ID                   = ' '
        I_GRID_TITLE                      =
        I_GRID_SETTINGS                   =
          IS_LAYOUT                         = wa_layout
          IT_FIELDCAT                       = i_fldcat_head
        IT_EXCLUDING                      =
          IT_SPECIAL_GROUPS                 = i_group
          IT_SORT                           = it_sort[]
        IT_FILTER                         =
        IS_SEL_HIDE                       =
        I_DEFAULT                         = 'X'
        I_SAVE                            = ' '
        IS_VARIANT                        =
          IT_EVENTS                         = i_events
        IT_EVENT_EXIT                     =
        IS_PRINT                          =
        IS_REPREP_ID                      =
        I_SCREEN_START_COLUMN             = 0
        I_SCREEN_START_LINE               = 0
        I_SCREEN_END_COLUMN               = 0
        I_SCREEN_END_LINE                 = 0
        IT_ALV_GRAPHICS                   =
        IT_ADD_FIELDCAT                   =
        IT_HYPERLINK                      =
        I_HTML_HEIGHT_TOP                 =
        I_HTML_HEIGHT_END                 =
        IT_EXCEPT_QINFO                   =
      IMPORTING
        E_EXIT_CAUSED_BY_CALLER           =
        ES_EXIT_CAUSED_BY_USER            =
        tables
          t_outtab                          = it_final_vendor_temp
       EXCEPTIONS
         PROGRAM_ERROR                     = 1
         OTHERS                            = 2
      if sy-subrc <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      endif.
    endform.                    " DISP_ALV_GRID
    *&      Form  get_doc_date_cust
          text
         -->P_P_COMP2 Company Code
         -->P_P_YEAR  Fiscal Year
    form get_doc_date_cust using    p_p_comp2
                                    p_p_year.
      loop at it_final_customer.
        concatenate it_final_customer-refdocnr '*' into
    it_final_customer-doc_date.
        modify it_final_customer index sy-tabix.
    endloop.
    clear it_final_customer.
    data: v_doc_date(11) type c,
          v_belnr like bkpf-belnr,
          v_bldat like bkpf-bldat.
          loop at it_final_customer.
           concatenate it_final_customer-refdocnr '%' into v_doc_date.
            select single belnr
                          bldat
                   into corresponding fields of it_final_customer
                   from bkpf
                   where bukrs eq p_p_comp2
                   and   gjahr eq p_p_year
                   and   awkey like v_doc_date.
                   modify it_final_customer.
           endloop.
        clear:it_final_customer.
    endform.                    " get_doc_date_cust
    *&      Form  move_records_cust
          Moving Customer Data to Final Internal Table
    form move_records_cust.
    *--Checking the existance of belnr in bsid
      select belnr
             zbd1t
             into table it_final_bsid
             from bsid
             for all entries in it_final_customer
             where belnr eq it_final_customer-belnr
             and   bukrs eq c_bukrs.
    clear it_final_bsid.
      loop at it_final_customer.
        read table it_final_bsid with key belnr = it_final_customer-belnr.
        if sy-subrc eq 0.
          it_final_customer-zbd1t    = it_final_bsid-zbd1t.
          it_final_customer-due_date = it_final_customer-bldat +
    it_final_bsid-zbd1t.
          it_final_customer-found    = 'X'.
          modify it_final_customer.
        endif.
      endloop.
    endform.                    " move_records_cust
    *&      Form  generate_data_cust
          Generating the Customer Output
    form generate_data_cust.
      delete it_final_customer[] where found ne 'X'.
      sort it_final_customer by belnr.
      loop at it_final_customer.
        if it_final_customer-due_date > p_rundt2.
         move-corresponding it_final_customer to it_final_customer_temp.
         move it_final_customer-hsl to it_final_customer_temp-not_due.
        elseif it_final_customer-due_date < p_rundt2.
         it_final_customer-due_days = p_rundt2 - it_final_customer-DUE_DATE.
        endif.
    *--filling 0-30 bucket.
    if it_final_customer-due_days ge 0 AND it_final_customer-due_days le 30
          move-corresponding it_final_customer to it_final_customer_temp.
          move it_final_customer-hsl to it_final_customer_temp-buck_0_30.
    *--filling 31-60 bucket.
    elseif it_final_customer-due_days ge 31 AND it_final_customer-due_days
    le 60
          move-corresponding it_final_customer to it_final_customer_temp.
          move it_final_customer-hsl to it_final_customer_temp-buck_31_60.
    *--filling 61-90 bucket.
    elseif it_final_customer-due_days ge 61 AND it_final_customer-due_days
    le 90
          move-corresponding it_final_customer to it_final_customer_temp.
          move it_final_customer-hsl to it_final_customer_temp-buck_61_90.
    *--filling 91-180 bucket.
        elseif it_final_customer-due_days ge 91 AND
    it_final_customer-due_days
    le 180.
          move-corresponding it_final_customer to it_final_customer_temp.
          move it_final_customer-hsl to it_final_customer_temp-buck_91_180.
    *--filling 180 bucket.
        elseif it_final_customer-due_days gt 180.
          move-corresponding it_final_customer to it_final_customer_temp.
          move it_final_customer-hsl to it_final_customer_temp-buck_180.
        endif.
         append it_final_customer_temp.
         clear it_final_customer_temp.
      endloop.
    endform.                    " generate_data_cust
    *&      Form  generate_field_catalog_vendor
          Generating the Field Catalog for Vendor
    form generate_field_catalog_vendor.
      call function 'REUSE_ALV_FIELDCATALOG_MERGE'
       EXPORTING
          I_PROGRAM_NAME               = v_repid
          I_INTERNAL_TABNAME           = 'IT_FINAL_VENDOR_TEMP'
        I_STRUCTURE_NAME             =
        I_CLIENT_NEVER_DISPLAY       = 'X'
          I_INCLNAME                   = v_repid
        I_BYPASSING_BUFFER           =
        I_BUFFER_ACTIVE              =
        changing
          ct_fieldcat                  = i_fldcat_head
       EXCEPTIONS
         INCONSISTENT_INTERFACE       = 1
         PROGRAM_ERROR                = 2
         OTHERS                       = 3
      if sy-subrc <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      endif.
      if not i_fldcat_head[] is initial.
        loop at i_fldcat_head into wa_fldcat_head.
        case wa_fldcat_head-fieldname.
         when 'RZZLIFNR'.
            wa_fldcat_head-col_pos = '1'.
            wa_fldcat_head-ref_tabname = ' '.
            wa_fldcat_head-seltext_m  = 'Vendor No'(001).
            wa_fldcat_head-ddictxt = 'M'.
            wa_fldcat_head-outputlen = '12'.
         when 'NAME1'.
            wa_fldcat_head-col_pos = '2'.
            wa_fldcat_head-seltext_m  = 'Vendor Name'(007).
            wa_fldcat_head-ddictxt = 'M'.
            wa_fldcat_head-outputlen = '35'.
         when 'BELNR'.
            wa_fldcat_head-col_pos = '3'.
            wa_fldcat_head-seltext_m  = 'Invoice No'(008).
            wa_fldcat_head-ddictxt = 'M'.
            wa_fldcat_head-outputlen = '12'.
            wa_fldcat_head-KEY       = ' '.
         when 'BLDAT'.
            wa_fldcat_head-col_pos = '4'.
            wa_fldcat_head-seltext_m  = 'Document Date'(009).
            wa_fldcat_head-ddictxt = 'M'.
            wa_fldcat_head-outputlen = '13'.
            wa_fldcat_head-ref_tabname = ' '.
         when 'RZZ_EBELN'.
            wa_fldcat_head-col_pos = '5'.
            wa_fldcat_head-seltext_m  = 'PO.Ref.No'(010).
            wa_fldcat_head-ddictxt = 'M'.
            wa_fldcat_head-outputlen = '13'.
            wa_fldcat_head-ref_tabname = ' '.
         when 'HSL'.
            wa_fldcat_head-col_pos = '6'.
            wa_fldcat_head-seltext_m  = 'Invoice Amount'(011).
            wa_fldcat_head-ddictxt = 'M'.
            wa_fldcat_head-outputlen = '16'.
            wa_fldcat_head-do_sum = 'X'.
         when 'DUE_DATE'.
            wa_fldcat_head-col_pos = '7'.
            wa_fldcat_head-seltext_m  = 'Due Date'(012).
            wa_fldcat_head-ddictxt = 'M'.
            wa_fldcat_head-outputlen = '12'.
            wa_fldcat_head-ref_tabname = ' '.
         when 'DUE_DAYS'.
            wa_fldcat_head-col_pos = '8'.
            wa_fldcat_head-seltext_m  = 'Due Days'(013).
            wa_fldcat_head-ddictxt = 'M'.
            wa_fldcat_head-outputlen = '9'.
         when 'NOT_DUE'.
            wa_fldcat_head-col_pos = '9'.
            wa_fldcat_head-seltext_m  = 'Not Due'(014).
            wa_fldcat_head-ddictxt = 'M'.
            wa_fldcat_head-outputlen = '16'.
            wa_fldcat_head-do_sum = 'X'.
         when 'BUCK_0_30'.
            wa_fldcat_head-col_pos = '10'.
            wa_fldcat_head-seltext_m  = '0 To 30'(015).
            wa_fldcat_head-ddictxt = 'M'.
            wa_fldcat_head-outputlen = '16'.
            wa_fldcat_head-do_sum = 'X'.
         when 'BUCK_31_60'.
            wa_fldcat_head-col_pos = '11'.
            wa_fldcat_head-seltext_m  = '31 To 60'(016).
            wa_fldcat_head-ddictxt = 'M'.
            wa_fldcat_head-outputlen = '16'.
            wa_fldcat_head-do_sum = 'X'.
         when 'BUCK_61_90'.
            wa_fldcat_head-col_pos = '12'.
            wa_fldcat_head-seltext_m  = '61 To 90'(017).
            wa_fldcat_head-ddictxt = 'M'.
            wa_fldcat_head-outputlen = '16'.
            wa_fldcat_head-do_sum = 'X'.
         when 'BUCK_91_180'.
            wa_fldcat_head-col_pos = '13'.
            wa_fldcat_head-seltext_m  = '91 To 180'(018).
            wa_fldcat_head-ddictxt = 'M'.
            wa_fldcat_head-outputlen = '16'.
            wa_fldcat_head-do_sum = 'X'.
         when 'BUCK_180'.
            wa_fldcat_head-col_pos = '14'.
            wa_fldcat_head-seltext_m  = 'Beyond 180'(019).
            wa_fldcat_head-ddictxt = 'M'.
            wa_fldcat_head-outputlen = '16'.
            wa_fldcat_head-do_sum = 'X'.
        when 'DOCNR'.
            wa_fldcat_head-no_out = 'X'.
        when 'REFDOCNR'.
            wa_fldcat_head-no_out = 'X'.
        when 'DOC_DATE'.
            wa_fldcat_head-no_out = 'X'.
        when 'FOUND'.
            wa_fldcat_head-no_out = 'X'.
         endcase.
         modify i_fldcat_head from wa_fldcat_head index sy-tabix.
        endloop.
      endif.
    endform.                    " generate_field_catalog_vendor
    *&      Form  get_events_vendor
          Getting ALV Events
    form get_events_vendor.
        call function 'REUSE_ALV_EVENTS_GET'
      EXPORTING
        I_LIST_TYPE           = 0
       importing
         et_events             = i_events
      exceptions
        list_type_wrong       = 1
        others                = 2
      if sy-subrc <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      endif.
      if not i_events[] is initial.
       read table i_events into wa_event with key name = 'TOP_OF_PAGE'(024)
       wa_event-form = 'GENERATE_USERCOMMAND'.
       modify i_events from wa_event index sy-tabix.
       read table i_events into wa_event with key name = 'END_OF_LIST'(025)
       wa_event-form = 'GENERATE_USERCOMMAND_FOOTER'.
       modify i_events from wa_event index sy-tabix.
      endif.
    endform.                    " get_events_vendor
    *&      Form  GENERATE_USERCOMMAND
          Displaying Header-Text and Logo on Grid
    form generate_usercommand .
      clear i_comment[].
      wa_comment-typ = 'H'.
      wa_comment-info = 'Vendor Ageing Report'(026).
      append wa_comment to i_comment.
      call function 'REUSE_ALV_COMMENTARY_WRITE'
        exporting
          it_list_commentary = i_comment
          i_logo             = 'ENJOYSAP_LOGO'
        I_END_OF_LIST_GRID       = 'X'
    endform.                    " GENERATE_USERCOMMAND
    *&      Form  GENERATE_USERCOMMAND_FOOTER
          Displaying Footer-Text on Grid
    form generate_usercommand_footer.
      clear i_comment[].
      clear wa_comment.
      wa_comment-typ = 'S'.
      wa_comment-key = 'GE-Betz'(027).
      append wa_comment to i_comment.
      call function 'REUSE_ALV_COMMENTARY_WRITE'
        exporting
          it_list_commentary       = i_comment
        I_LOGO                  = ''
          i_end_of_list_grid       = 'X'.
    endform.                    " GENERATE_USERCOMMAND_FOOTER
    *&      Form  generate_layout_vendor
          Generating the ALV Layout
    form generate_layout_vendor.
      WA_LAYOUT-COLWIDTH_OPTIMIZE = 'X'.     "OPTIMIZING FIELD WIDTH
      wa_layout-zebra = 'X'.                  "PUTTING ZEBRA COLORS
      wa_layout-confirmation_prompt = 'X'.    "DISPLAYS CONFIRMATION DIALOG
      wa_layout-totals_text = 'Totals'(028).       "DISPLAYS TOTALS TEXT
      wa_layout-subtotals_text = 'Sub Totals'(029)."DISPLAYS SUBTOTALS TEXT
    endform.                    " generate_layout_vendor
    *&      Form  generate_sort_vendor
          Sorting the Internal Table by Vendor
    form generate_sort_vendor.
      it_sort-fieldname = 'RZZLIFNR'.
      it_sort-tabname = 'IT_FINAL_VENDOR_TEMP'.
      it_sort-up = 'X'.
      it_sort-subtot = 'X'.
      append it_sort.
    endform.                    " generate_sort_vendor
    *&      Form  generate_group_vendor
          Grouping the Data
    form generate_group_vendor.
      clear i_group.
      wa_group-sp_group = 'A'.
      wa_group-text  = 'RZZLIFNR'.
      append wa_group to i_group.
    endform.                    " generate_group_vendor
    *&      Form  GENERATE_FIELD_CATALOG_CUST
          Generating Field Catalog for Customer
    form GENERATE_FIELD_CATALOG_CUST.
      call function 'REUSE_ALV_FIELDCATALOG_MERGE'
       EXPORTING
          I_PROGRAM_NAME               = v_repid
          I_INTERNAL_TABNAME           = 'IT_FINAL_CUSTOMER_TEMP'
        I_STRUCTURE_NAME             =
        I_CLIENT_NEVER_DISPLAY       = 'X'
          I_INCLNAME                   = v_repid
        I_BYPASSING_BUFFER           =
        I_BUFFER_ACTIVE              =
        changing
          ct_fieldcat                  = i_fldcat_head
       EXCEPTIONS
         INCONSISTENT_INTERFACE       = 1
         PROGRAM_ERROR                = 2
         OTHERS                       = 3
      if sy-subrc <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      endif.
      if not i_fldcat_head[] is initial.
        loop at i_fldcat_head into wa_fldcat_head.
        case wa_fldcat_head-fieldname.
         when 'RZZKUNNR'.
            wa_fldcat_head-col_pos = '1'.
            wa_fldcat_head-ref_tabname = ' '.
            wa_fldcat_head-seltext_m  = 'Customer No'(020).
            wa_fldcat_head-ddictxt = 'M'.
            wa_fldcat_head-outputlen = '12'.
         when 'NAME1'.
            wa_fldcat_head-col_pos = '2'.
            wa_fldcat_head-seltext_m  = 'Customer Name'(021).
            wa_fldcat_head-ddictxt = 'M'.
            wa_fldcat_head-outputlen = '35'.
         when 'BELNR'.
            wa_fldcat_head-col_pos = '3'.
            wa_fldcat_head-seltext_m  = 'Invoice No'(008).
            wa_fldcat_head-ddictxt = 'M'.
            wa_fldcat_head-outputlen = '12'.
            wa_fldcat_head-KEY       = ' '.
         when 'BLDAT'.
            wa_fldcat_head-col_pos = '4'.
            wa_fldcat_head-seltext_m  = 'Document Date'(009).
            wa_fldcat_head-ddictxt = 'M'.
            wa_fldcat_head-outputlen = '13'.
            wa_fldcat_head-ref_tabname = ' '.
         when 'RZZ_EBELN'.
            wa_fldcat_head-col_pos = '5'.
            wa_fldcat_head-seltext_m  = 'PO.Ref.No'(010).
            wa_fldcat_head-ddictxt = 'M'.
            wa_fldcat_head-outputlen = '13'.
            wa_fldcat_head-ref_tabname = ' '.
         when 'HSL'.
            wa_fldcat_head-col_pos = '6'.
            wa_fldcat_head-seltext_m  = 'Invoice Amount'(011).
            wa_fldcat_head-ddictxt = 'M'.
            wa_fldcat_head-outputlen = '16'.
            wa_fldcat_head-do_sum = 'X'.
         when 'DUE_DATE'.
            wa_fldcat_head-col_pos = '7'.
            wa_fldcat_head-seltext_m  = 'Due Date'(012).
            wa_fldcat_head-ddictxt = 'M'.
            wa_fldcat_head-outputlen = '12'.
            wa_fldcat_head-ref_tabname = ' '.
         when 'DUE_DAYS'.
            wa_fldcat_head-col_pos = '8'.
            wa_fldcat_head-seltext_m  = 'Due Days'(013).
            wa_fldcat_head-ddictxt = 'M'.
            wa_fldcat_head-outputlen = '9'.
         when 'NOT_DUE'.
            wa_fldcat_head-col_pos = '9'.
            wa_fldcat_head-seltext_m  = 'Not Due'(014).
            wa_fldcat_head-ddictxt = 'M'.
            wa_fldcat_head-outputlen = '16'.
            wa_fldcat_head-do_sum = 'X'.
         when 'BUCK_0_30'.
            wa_fldcat_head-col_pos = '10'.
            wa_fldcat_head-seltext_m  = '0 To 30'(015).
            wa_fldcat_head-ddictxt = 'M'.
            wa_fldcat_head-outputlen = '16'.
            wa_fldcat_head-do_sum = 'X'.
         when 'BUCK_31_60'.
            wa_fldcat_head-col_pos = '11'.
            wa_fldcat_head-seltext_m  = '31 To 60'(016).
            wa_fldcat_head-ddictxt = 'M'.
            wa_fldcat_head-outputlen = '16'.
            wa_fldcat_head-do_sum = 'X'.
         when 'BUCK_61_90'.
            wa_fldcat_head-col_pos = '12'.
            wa_fldcat_head-seltext_m  = '61 To 90'(017).
            wa_fldcat_head-ddictxt = 'M'.
            wa_fldcat_head-outputlen = '16'.
            wa_fldcat_head-do_sum = 'X'.
         when 'BUCK_91_180'.
            wa_fldcat_head-col_pos = '13'.
            wa_fldcat_head-seltext_m  = '91 To 180'(018).
            wa_fldcat_head-ddictxt = 'M'.
            wa_fldcat_head-outputlen = '16'.
            wa_fldcat_head-do_sum = 'X'.
         when 'BUCK_180'.
            wa_fldcat_head-col_pos = '14'.
            wa_fldcat_head-seltext_m  = 'Beyond 180'(019).
            wa_fldcat_head-ddictxt = 'M'.
            wa_fldcat_head-outputlen = '16'.
            wa_fldcat_head-do_sum = 'X'.
        when 'DOCNR'.
            wa_fldcat_head-no_out = 'X'.
        when 'REFDOCNR'.
            wa_fldcat_head-no_out = 'X'.
        when 'DOC_DATE'.
            wa_fldcat_head-no_out = 'X'.
        when 'FOUND'.
            wa_fldcat_head-no_out = 'X'.
         endcase.
         modify i_fldcat_head from wa_fldcat_head index sy-tabix.
        endloop.
      endif.
    endform.                    " GENERATE_FIELD_CATALOG_CUST
    *&      Form  get_events_customer
          Getting ALV Events
    form get_events_customer.
        call function 'REUSE_ALV_EVENTS_GET'
      EXPORTING
        I_LIST_TYPE           = 0
       importing
         et_events             = i_events
      exceptions
        list_type_wrong       = 1
        others                = 2
      if sy-subrc <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      endif.
      if not i_events[] is initial.
       read table i_events into wa_event with key name = 'TOP_OF_PAGE'(024)
       wa_event-form = 'GENERATE_USERCOMMAND_CUST'.
       modify i_events from wa_event index sy-tabix.
       read table i_events into wa_event with key na

Maybe you are looking for

  • Master detail process, how to start detail process

    hi, i have a workflow process, which is about overtime. we created overtime request as a batch. each batch has more employees for OT. so when the batch is created, workflow starts and send the notification to the approver . So each approver got more

  • My itunes won't open at all and has the Error message (13014)

    PLEASE HELP! I recently upgraded my itunes to the itunes 9. Now it won't open even if i try with the option key, but i may be doing the wrong thing. It won't even open when i reboot my computer. It was doing fine at first , but now it won't let acces

  • My Skype Account been Hacked, and I can't seem to ...

    Hello,  Hopefully someone can help me here.  My SKYPE Log in has been hacked by someone.  I can still access my account with my Microsoft (hotmail) log on.  I can only assume that they have used my old Skype log on to get in and change details. My co

  • Does anyone here have a defective mighty mouse?

    I got one, and called apple couple of times not only for the issue, but also for the investigation, they ask me create a new acct, restore the whole system.... finally they replaced it for me... but after couple of days using, just found this one is

  • JSF 1.2 required message problem

    Hi, I got the following code in my jsf 1.2 application: <h:inputText id="username" value="#{changepasswordbean.username}" required="true" requiredMessage="#{messages.username}" /> But although #{messages.username}" is defined and is displayed correct