Checkbox on heading of a block

hi,
is it possible to have a checkbox at the heading row of a block.
Clientrequirement is that there shud be a Check Box at Heading of Selection screen block so that when this block is selected other blocks are disabled.
ags.

Hi,
You can achieve the same using a Radio Button. But you can consider the use of Module Pool Programs that will give you much more flexibility to carter to the business functionality.
Have a look at the following link:
http://help.sap.com/saphelp_nw04/helpdata/en/e7/deb237b9a9a968e10000009b38f8cf/frameset.htm
Hope this helps.
Thanks,
Samantak.

Similar Messages

  • No Checkbox For Head of Organizational Unit

    Dear Experts,
    I customized one relation which copied from A003/B003 and add in evaluation path.
    I can use the relation and create a position in PPOME.
    However, there is no checkbox for Head of Organizational Unit.
    Are there anything I didn't do in IMG?
    Thanks in advance.

    Hello,
    In order to display the tab strip "basic data" in the detail area of transaction PPOME various infotypes come into play, e.g. infotype 1000,1001 with subtypes B007, A008, A012, and infotype 1002 and 1007, just to mention some of them.
    All of these infotypes and subtypes may carry different validity dates,and usually these dates are taken into account when calculating the periods displayed in the right part of the detail screen.
    But with infotype 1001, subtype A012 (managing relationship) it has been decided to handle the periods in a different way. Since those relationships may also point from the current position to a completely different organizational unit, very complex situations may occur. This is the reason why in certain cases, where the periods calculated from the validity dates of the other infotypes/subtypes do not match the validity period or taget org unit of the A012 relationship, the checkbox "manages org unit" may be checked but is grayed out.
    There are more exact ways to view and maintain the managing relationship: In the overview area, you can jump to the view "Managerial assignment" where you can directly maintain relationship A012, using the relationship validity display of our "column framework" (click on the right button "column comfiguration" and activate "Link period").
    Hope this help
    Sarah

  • Add checkbox on header level Tab Org.data

    Dear All,
    My requirement is I need to add checkbox on header level Tab Org.data in ME21n or ME21.
    And if checkbox is checked in the tab Org.data, it should display Terms and Conditions in the print preview.
    Please suggest how to write code? Is there any user exit for transactions ME21N or ME21.
    Thanks,
    Rana.

    hi praveen,
    search this forum on how to implement a badi if you haven't done one before. also, go to transation SE18 and read the documentation on badi_fdcb_subbas01 which clearly says that its used for FB60... see the example how they have used it by going to menubar Implementation->Overview then choose FI_FDCB_SUBBAS01_EX (Example for Screen Enhancement 1 on FDCB Basic Data Screen)...you should look at the method PUT_DATA_TO_SCREEN_OBJECT and tab Subscreens where the screen exits are available to use.
    In FB60, if you go to menubar System->Status and check the Program (Subscreen) and Screen Number, you'll see it'll match the program name and screen no. provided in the Subscreen tab of the BADI.
    Hope this helps.
    Cheers,
    Sougata.

  • Head of Line Blocking (HoL Blocking)

    The one in the nearest server room is a HP 2810-24G (J9021A), looking up specs I see mention of First In First Out (FIFO) which is a type of input buffering correct?  I would have to check the other buildings to check their switches but i would assume they are along the same type of switch.

    Hello folks, I have been searching and searching for information on Head of Line Blocking and only coming up definitions, plenty of diagrams and even a few examples of how it can be fixed (VOQ and DBBM).  So I'm asking this community for some advice on how I can tell if HoL Blocking is causing some of our more annoying tickets about connection issues to re-emerge.
    Whats the best way to identify if HoL Blocking has become an issue?
    All the switches are HP and some are 24 port and others 48 port.
    This topic first appeared in the Spiceworks Community

  • How to validate date between Header and Detail Block..

    Hi All,
    I was trying to find a way where, suppose I enter 'from date' and 'to date' in the header block.then in detail block all 'from dates' and 'to dates' should be restricted between the dates entered in the header block.
    Thank you

    Or U Can Simply set in the child item lowest / highest Allowed Value
    Invoke Property pallete for child date item and set the following
    lowest Allowed Value :header.from_date (must be prefix with :)
    Highest Allowed Value :header.to_date
    siju.koiply

  • Checkbox in header and item level records.

    Hello Freinds,
    I have a requirment in which I need to display checkboxes in front of header as well as item level records. I am trying to make a copy of standard transaction VL37. This transaction uses the REUSE_ALV_HIERSEQ_LIST_DISPLAY for displaying header and item level data. I debugged and found that in the alv layout there is a field with name box name. If we pass the name of header internal table to that field then we can get checkbox in front of header level records and if we pass item level internal table name then it shows the checkbox in front of item level records.
    Can anyone provide some possibility of adding checkbox for both header and item level records while using the same ALV FM.

    Hello Harsh,
    I am also kind of facing the same issue. I have used the FM REUSE_ALV_HIERSEQ_LIST_DISPLAY for ALV display. And I need to add checkbox at item level.
    I have tried to add checkbox through field catalog. Following is the code I'm writing.
    l_wa_fieldcat-fieldname = l_c_flag.
    l_wa_fieldcat-tabname   = l_c_item.
    l_wa_fieldcat-checkbox  = abap_true.
    *l_wa_fieldcat-edit_mask = abap_f.
    l_wa_fieldcat-edit      = abap_true.
    l_wa_fieldcat-key       = abap_true.
    l_wa_fieldcat-seltext_m = l_c_flag.
    APPEND l_wa_fieldcat to em_it_fieldcat.
    But in this case the checkbox appears in disabled form.
    Can you please help? Could you be a bit elaborate on your answer i.e. the code snippet? Many thanks.
    Regards,
    Debapriya

  • ALV multiple header and multiple blocks

    Hi SAP gurus,
    I have probelm  problem in displying the ALV block display
    I want to disply in the following format
    *Header part *
    Name:
    place:
    list part
    coloum1
    coloum2
    coloum3
    coloum4
    *Header part *
    Name:
    place:
    list part
    coloum1
    coloum2
    coloum3
    coloum4
    *Header part *
    Name:
    place:
    list part
    coloum1
    coloum2
    coloum3
    coloum4
    The number of repetation is nt known its based on the header details so how to do this in ALV list disply or any ALV
    i need a output as it is in MB5B tocde please help me
    Thanx in advance

    Hi
    Thanx for ur reply
    I am doing as u said puting header in one internal table and corresponding reocrds in one internal table probelm is to while displaying ho wto display it??
    I am putiing header detail  in one internal table and corresponding records  into one internal table and he calling the list append FM module and den again second header and corresponding data in the internal table and calling the FM 'LIST APPEND' while doing this i am clearing the internal table which was used earlier i.e  data corresponding to 1st header i think the clearing will causing the poblem i am seeing the empty block list.
    so how to achive this??
    Thanx In Advance

  • Return Sales - Header - System Status Blocked.

    Hi Gurus,
    We are implementing for a cable industry, and doing the Make to Order scenario.when i am running out the scenario for Return sales system is showing the status blocked in Header. But i am able to save the Document.
    After creation of sales order when i  do  the  PGR(Post Goods Receipt) i am able to save the document and immediately when i click on Enter the system is going into create mode(i.e again it is asking to do PGR for the same return sales order document).
    Kindly, help me out .
    Thanks & Regards,
    Tilak.

    Check the status of shipping in the Delivery block field in Shipping section: Shipping Tab of Header Data.
    If the doc is not blocked there, then go to Status.
    Then look for Object Status Button and click & release the doc.
    or
    Use execute Tcode VDBLOCK.
    Note: for above you should have user authorization.
    Thanks & Regards
    JP

  • Header for alv block list

    Hi experts,
    im trying to build an alv report with block, and after some hours i finally get how it works but the report has 5 blocks .. and 1 header for all the report...and 1 title for each block
    the thing is that for each block theres are their events.. so if i use the TOP OF PAGE that good for each block title, but how can i put a general HEADER for all the report
    its something like this
    Report 0001              DATE
    title 1(top of page)
    alv_list1
    title 2(top of page)
    alv_list2
    title 3(top of page)
    alv_list3
    so... guys im kinda a noobie in alvs so i apreciated any ideas...
    thans in advance

    thx darek,
    but im working with alv LIST blocks .. and each block has top of page and top of list...
    im looking  for a top of list , for say, of all the report, of all the blocks...
    anyone?
    thanks in advance

  • Need to add checkbox in alv header Not  in grid

    Dear Guru's,
                       My question is i want to add checkbox on top of alv grid ie on top of page .
    my requriement is for SD module- status of order -Mass Update.
    suppose status checkbox on header is HFSC is checked ( check box),
    for all the sales order which are showed on the alv grid must be updated with this status for which i am calling trasaction VA02 in program and doing changes but i am not able to create checkbox on header .
    Again i have already used ALV without classesso please give me solution accordinglly . Thanks in advance.

    Hi,
    For working with top of page we generally use SLIS_LISTHEADER right.
    In this type the first field is
    type - which can accept values as follows
               H - Heading
               S - Selection
               A - Action
    May be the options Selection or Action may help u.

  • Disable checkbox in multiple record block with form personalization in r12

    hi
    i try to personalized form 'Autocreate Document' in purchasing super user responsibility in R12
    i want to disable some checkbox in block REQ_LINES that meet some criteria
    but why when personalized run, it disable all checkbox in all record in block REQ_LINES
    --Condition--
    Event trigger     : WHEN-VALIDATE-RECORD
    Trigger object    : REQ_LINES
    --Action--
    Type               : property
    Language         : all
    Object type     : item
    Target Object     : REQ_LINES.SELECT_LINE
    Properti name     : enabled
    value               : false
    please give me advice about this
    thank you very much for help

    I recommend you these forums for your question:
    Forums Home » Oracle Technology Network (OTN) » Products » Database » JVM
    Java in the Oracle Database
    Forums Home » Oracle Technology Network (OTN) » Technologies » Java » Java Server Pages (JSP)
    Java Server Pages (JSP)
    Forums Home » Oracle Technology Network (OTN) » Technologies » Java
    http://forums.oracle.com/forums/index.jsp?cat=24
    Joel Pérez

  • ORA-00354: corrupt redo log block header..urgent

    Hi All,
    i am running into an issue when trying to recover a datafile.
    1). Logs are being applied to the datafile to recover but RMAN is throwing this error:
    ORA-00283: recovery session canceled due to errors
    RMAN-11003: failure during parse/execution of SQL statement: alter database reco
    ver logfile 'H:\ORACLE_ARCHIVE_LOGS\RBS\ARCHIVELOG\2012_04_23\O1_MF_1_13174_7SC4
    P56W_.ARC'
    ORA-00283: recovery session canceled due to errors
    ORA-00354: corrupt redo log block header
    ORA-00353: log corruption near block 32768 change 6715041179 time 04/23/2012 13:
    33:51
    ORA-00334: archived log: 'H:\ORACLE_ARCHIVE_LOGS\RBS\ARCHIVELOG\2012_04_23\O1_MF
    _1_13174_7SC4P56W_.ARC'
    thanks in advance

    bcm@bcm-laptop:~$ oerr ora 353
    00353, 00000, "log corruption near block %s change %s time %s"
    // *Cause:  Some type of redo log corruption has been discovered. This error
    //          describes the location of the corruption. Accompanying errors
    //          describe the type of corruption.
    // *Action: Do recovery with a good version of the log or do incomplete
    //          recovery up to the indicated change or time.
    bcm@bcm-laptop:~$ oerr ora 354
    00354, 00000, "corrupt redo log block header"
    // *Cause:  The block header on the redo block indicated by the accompanying
    //          error, is not reasonable.
    // *Action: Do recovery with a good version of the log or do time based
    //          recovery up to the indicated time. If this happens when archiving,
    //          archiving of the problem log can be skipped by clearing the log
    //          with the UNARCHIVED option. This must be followed by a backup of
    //          every datafile to insure recoverability of the database.

  • Heading for Block List

    Hi,
    I want to give a three line heading to my Block list output.
    I tried with top of page but heading is repeating for each Block in this case.
    Please let me know solution for the same.
    Thanks,
    Warm Regards,
    Izhar Khan

    You can use list headings for column headers.

  • Header is not coming in alv list display- urgent

    hi all,
    i am sending my code below....
    my requirement is in selection screen i have 4 radio buttons . if i click 1 radio button it will duiisplay data and and its header. report is working fine. my requirement id when i click r_mssng radio button(missing radio button) it is showing data correctsly. here i want to show header as 'Missing details report'.
    this is not coming in my report. anybody can suggest me.
    i am sending my code below....
    report zvra0001ftb13  message-id zv.
                            Confidential and Proprietary               
    *                          Celestica Corporation               
    *                           All Rights Reserved
    *ABAP Name:            ZVRA0001FTB13               
    *Created by:            Srinivasa Chakravarthi                    
    *Created on:            26/03/2003                    
    *SAP Version:        4.6 C
    *Description:       This report  displays details of foreign trades
                      and EHS based on the deliveries made to the outside
                      countries.
    *Input:              Selection Screen Criteria includes country of
                       origin,Company code, Sales Organisation,
                       Ship-to-party, Sold-to-paarty, Goods movement date,
                       Invoice number, Invoice type, Material , Material
                       Type, Exporter ID, Province of origin.
    *Output:             ALV output that contains Mode of Transport, Export
                       HS number, Commodity Description, Quantity, UOM,
                       Value, Country of Destination, Goods Origin
    *Dependency:         Nil
    *Modification Log:                              
    *CR#    Date       Coded     Transport     Description
    *====== ======== ========= ============= ===============================
    *5147  26/03/2003 Srinivas   ED1K922286     New Development     
    *8700  02/11/2004 H.Arular   ED1K938380     To check if entries of Comm
                                              Code(HS code)is less than 8
                                             digits and give a warning
                                              message.
    *18684 25/07/2007 MAHEEDHAR                 Merge the logic from report
                                              ZVRA0001FTB13_ERROR into
                                              report ZVRA0001FTB13 and
                                              added two radio buttons
                                              called missing data and non
                                              missing data, addedc logic
                                              accoriding to the radio
                                              buttons.
    *Declaring Tables.
    tables: likp,                         "Delivery document Header
            lips,                         "Delivery Document Item
            vbfa,                         "Sales document Flow
            bkpf,                         "Accounting Document Header
            eikp,                         "Foreign Trade:Export/Import Data
            eipo,                         "Foreign Trade:Export/ Import
                                          "Header data
            t618t,                        "Forein Trade:Mode of Transport
                                          "Description
            t604t,                        "Foreign Trade: Commodity Code/
                                          "Import Code number Description.
            mara,                         "Material master data.
            t005,                         "Countries
            t001,                         "Company Codes
            tvko,                         "Sales Organisations
            kna1,                         "Customer Master
            t003,                         "Document types
            t134,                         "Material types
            tvfk,
            konv,
            vbrk.
    constants : c_rep like vbrk-fkart value 'YGFB',
                c_for(10) value 'Foreign'.
    *Decalre Type pool for ALV
    type-pools: slis.
    *Type declaration for LIKP.
    types: begin of t_data1,
            vbeln  like  likp-vbeln,        "Delivery
            kunnr  like  likp-kunnr,
           end of t_data1.
    *Type declaration for  LIPS,VBFA.
    types: begin of t_data2,
            vbeln  like  lips-vbeln,      "Delivery
            posnr  like  lips-posnr,      "Delivery Item
            vbelv  like  vbfa-vbelv,      "Preceding SD document
            posnv  like  vbfa-posnv,        "Preceding item of SD document
            matnr  like  lips-matnr,        "Material Number
            meins  like  lips-meins,        "Base unit of measure
            lfimg  like  lips-lfimg,        "Actual Quantity Delivered
            mtart  like mara-mtart,
          end of t_data2.
    **Type declaration for  BKPF.
    *types: begin of t_data3,
           belnr  like  bkpf-belnr,        "Accounting Documnet number
           bukrs  like  bkpf-bukrs,        "Company Code
          end of t_data3.
    *Type declaration for  BKPF.
    types: begin of t_data3,
            vbeln like vbrk-belnr,        " Billing Doc
            fkart like vbrk-fkart,
            land1 like vbrk-land1,
           end of t_data3.
    *Type declaration for  EIPO.
    types: begin of t_data4,
           vbeln like lips-vbeln,         "Delivery
           posnr like lips-posnr,         "Delivery Item
           matnr like vbrp-matnr,
           fkimg like vbrp-fkimg,
           meins like vbrp-meins,
           verld like eipo-verld,         "Country of dispatch for Foreign
                                          "trade
           herkl like eipo-herkl,         "Country of origin of material
           grwrt like eipo-grwrt,         "Statistical value for Foreign
                                          " trade
           stawn like eipo-stawn,         "Commodity code for foreign trade
           expvz like eikp-expvz,         "Mode of transport for foreign
                                          "trade
          end of t_data4.
    *Type declaration for  T618T.
    types: begin of t_data5,
           land1 like  t618t-land1,       "Country key
           expvz like  t618t-expvz,       "Mode of Transport
           bezei like  t618t-bezei,       "Description
           end of t_data5.
    *Type declaration for  T604T.
    types: begin of t_data6,
           land1 like  t604t-land1,       "Country key
           stawn like  t604t-stawn,       "Commodity Code
           text1 like  t604t-text1,       "Description
           end of t_data6.
    *Type declaration for  T604T.
    types: begin of t_mara,
            matnr like mara-matnr,
           end of t_mara.
    types : begin of rep_val,
             vbelv like vbfa-vbelv,
             posnv like vbfa-posnv,
             vbeln like vbfa-vbeln,
             posnn like vbfa-posnn,
             uepos like vbap-uepos,
             posnr like vbap-posnr,
             netwr like vbap-netwr,
            end of rep_val.
    types : begin of t_price,
              vbeln like vbak-vbeln,
              posnr like vbap-posnr,
              knumv like konv-knumv,
              kposn like konv-kposn,
              kbetr like konv-kbetr,
              kpein like konv-kpein,
            end of t_price.
    data : t_sord type rep_val occurs 0 with header line.
    data : t_dord type rep_val occurs 0 with header line.
    data : t_rord type rep_val occurs 0 with header line.
    data : t_hord type rep_val occurs 0 with header line.
    data : t_ford type rep_val occurs 0 with header line.
    data : i_price type t_price occurs 0 with header line.
    data : i_price1 type t_price occurs 0 with header line.
    data : i_mara type t_mara occurs 0 with header line.
    data : i_sort     type slis_t_sortinfo_alv.
    DATA: t_layout     TYPE slis_layout_alv.
    *Declaring Selection screen.
    selection-screen begin of block b1 with frame title text-101.
    select-options:
       s_verld      for eipo-verld,                 "Country of Dest.
       s_bukrs      for bkpf-bukrs,                 "Company code
       s_vkorg      for likp-vkorg,                 "Sales Organisation
       s_kunnr     for likp-kunnr,                 "Ship-to-Party
       s_kunag     for likp-kunag,                 "Sold-to-party
       s_wadat     for likp-wadat_ist,             "Goods Movement date
       s_belnr     for vbrk-vbeln,                 "Invoice number
       s_blart     for vbrk-fkart.                 "Invoice type.
    selection-screen end of block b1.
    selection-screen begin of block b2 with frame title text-101.
    select-options:
       s_matnr      for mara-matnr,                 "Material
       s_mtart      for mara-mtart.                 "Material Type
    selection-screen end of block b2.
    selection-screen begin of block b3 with frame title text-101.
    parameters:
      p_export(30) type c default '1366770724RM' obligatory , "Exporter ID
      p_provi(30) type  c default 'ONTARIO' obligatory   ,
      p_sumid(30) type c default 'SUM0704'.
    "Province of Origin
    selection-screen end of block b3.
    selection-screen begin of block b4 with frame title text-104.
    parameters:
    r_summ radiobutton group zsum,
    r_dets radiobutton group zsum,
    r_mssng radiobutton group zsum,  " maheedhar
    R_NMSNG RADIOBUTTON GROUP ZSUM.   " MAHEEDHAR
    selection-screen skip.
    parameter : p_sum as checkbox .
    selection-screen end of block b4.
    selection-screen begin of block b5 with frame title text-105.
    select-options : s_i_kun for likp-kunnr.
    selection-screen end of block b5.
    *Data Declaration
    data: i_fieldcat type slis_t_fieldcat_alv.
    data: l_fieldcat type slis_fieldcat_alv .
    data: v_lin type i.
    data: v_lfstk type c value 'C'.
    data: v_vbtyp type c value 'U'.
    data: i_data1 type t_data1 occurs 0 with header line.
    data : begin of t_T005t occurs 0.
            include structure t005t.
    data : end of t_t005t.
    data: i_data2 type t_data2 occurs 0 with header line.
    data: t_delv type t_data2 occurs 0 with header line.
    data: t_bild type t_data2 occurs 0 with header line.
    data: i_data3 type t_data3 occurs 0 with header line.
    data: i_data4 type t_data4 occurs 0 with header line.
    data: i_data5 type t_data5 occurs 0 with header line.
    data: i_data6 type t_data6 occurs 0 with header line.
    *Declare Internal table for ALV output.
    data:  begin of i_output occurs 0,
           belnr     like  vbrk-vbeln,
           posnr     like  vbrp-posnr,
           bezei     like  t618t-bezei,
           stawn     like  eipo-stawn,
           text1     like  t604t-text1,
           quantity  type  p decimals 2,
           meins     like  lips-meins,
           value     type  p decimals 2,
           verld     like  t_t005t-landx,
           herkl     like  t_t005t-landx,
           strlen,                                              "ED1K938380
          end of i_output.
    maheedhar-start.
    data : i_output1 like i_output occurs 0 with header line,
           i_output2 like i_output occurs 0 with header line.
    maheedhar-end
    data : buff_out like i_output occurs 0 with header line.
    data:  begin of t_outsum occurs 0,
           bezei     like  t618t-bezei,
           stawn     like  eipo-stawn,
           text1     like  t604t-text1,
           quantity  type  p decimals 2,
           meins     like  lips-meins,
           value     type  p decimals 2,
           verld     like  t_t005t-landx,
           herkl     like  t_t005t-landx,
          end of t_outsum.
    data : v_ans.
    data : variante LIKE disvariant.
    data : v_repid LIKE sy-repid.
    data : wa_listheader   TYPE slis_listheader.
    data : t_listheader    TYPE slis_t_listheader.
    data : b_text(250).
    data: evntS type slis_t_event        with header line.  " MAHEEDHAR
          EVENT  AT SELECTION-SCREEN
    at selection-screen.
    *For Autorisation check
      perform authorisation_check.
    Validation of Selection screen
      perform check_entry.
          EVENT  START-OF-SELECTION
    start-of-selection.
    *Get  data
      perform select_data.
    **For calling ALV function modules
    MAHEEDHAR - START
      if r_mssng eq 'X'.
        DELETE I_OUTPUT WHERE BEZEI NE SPACE AND
                             STAWN NE SPACE AND
                             HERKL NE SPACE AND
                             VERLD NE SPACE.
        DESCRIBE TABLE I_OUTPUT LINES V_LIN.
        IF V_LIN > 0.
          PERFORM DISPLAY_OUTPUT.
        ELSE.
          MESSAGE E000 WITH TEXT-130.
        ENDIF.
      elseif R_SUMM eq 'X' OR R_DETS EQ 'X'.   "ENDIF.  " MAHEEDHAR
    MAHEEDHAR-END
        describe table i_output lines v_lin.
        if v_lin > 0.
          buff_out[] = i_output[].
       Begin of ED1K938380
       delete buff_out where stawn ne space or  "ED1K938380
                             verld eq space or
                             herkl eq space.
          delete buff_out where strlen ne 'X' or
                                verld eq space or
                                herkl eq space.
       End of ED1K938380
          describe table buff_out lines v_lin.
    Lines with no commodity code exists.
          if v_lin gt 0.
         concatenate text-902 text-903 into b_text.
            concatenate text-906 text-907 into b_text.          "ED1K938380
            CALL FUNCTION 'POPUP_TO_CONFIRM'
                 EXPORTING
                      TITLEBAR       = Text-901
                      TEXT_QUESTION  = b_text
                      TEXT_BUTTON_1  = 'Yes'
                      TEXT_BUTTON_2  = 'No'
                      DEFAULT_BUTTON = '2'
                 IMPORTING
                      ANSWER         = v_ans.
            if v_ans eq '1'.
              perform display_output.
            endif.
          else.
            perform display_output.
          endif.
        else.  " MAHEEDHAR
          message e000 with text-130.
        endif.
    MAHEEDHAR-START
    *"-- If non missing details radiobutton is selected
      elseif r_nmsng = 'X'.
    *"-- move data from i_output to i_output1.
        i_output1[] = i_output[].
        sort i_output  by belnr.
        sort i_output1 by belnr.
    *"-- to get missing data
        delete i_output1 where bezei ne space and
                               stawn ne space and
                               herkl ne space and
                               verld ne space.
        loop at i_output.
    *"-- compare two int tables with respective document number
          read table i_output1 with key belnr = i_output-belnr.
          if sy-subrc ne 0.
            move-corresponding i_output to i_output2.
            append i_output2.
            clear i_output2.
          endif.
        endloop.
        describe table i_output2 lines v_lin.
        if v_lin gt 0.
          perform display_output.
        else.
          message e000 with text-130.
        endif.
    MAHEEDHAR-END.
      ENDIF.  " MAHEEDHAR
          FORM SELECT_DATA                                              *
    form select_data.
      Data:l_strlen type i.                                     "ED1K938380
    *Get details from  LIKP.
      if s_i_kun[] is initial.
        select  likpvbeln likpkunnr
            into corresponding fields of table i_data1
            from likp
            inner join vbuk on likpvbeln = vbukvbeln
            where
              likp~vkorg in s_vkorg and
                likp~kunnr in s_kunnr and
                likp~kunag in s_kunag and
                likp~wadat_ist in s_wadat and
                vbuk~wbstk = 'C' .
      else.
        select  likpvbeln likpkunnr
             into corresponding fields of table i_data1
             from likp
             inner join vbuk on likpvbeln = vbukvbeln
             where
              (  ( likp~vkorg in s_vkorg and
                 likp~kunnr in s_kunnr and
                 likp~kunag in s_kunag and
                 likp~wadat_ist in s_wadat and
                 vbuk~wbstk = 'C' )
                 or
                 likp~kunnr in s_i_kun and
                 likp~wadat_ist in s_wadat and
                 vbuk~wbstk = 'C' )  .
      endif.
    if sy-subrc ne 0.
       message e000 with text-200.
    endif.
    *Get details from table  LIPS
      select     lips~vbeln
                 lips~posnr
                 vbfa~vbeln
                 vbfa~posnn
                 lips~matnr
                 lips~meins
                 lips~lfimg
                 mara~mtart
                 from lips
                inner join vbfa on   vbfavbelv = lipsvbeln
                                and   vbfaposnv = lipsposnr
                  inner join mara on maramatnr = lipsmatnr
                  into  table i_data2
                  for all entries in  i_data1
                 where
                   lips~vbeln = i_data1-vbeln and
                   lips~matnr in s_matnr and
                   vbfa~vbeln in s_belnr and
                   mara~mtart in s_mtart and
                  vbfa~vbtyp_n = 'U'.
      if sy-subrc ne 0.
        message e000 with text-201.
      endif.
      t_delv[] = i_data2[].
      t_bild[] = i_data2[].
      sort t_delv by vbeln.
      delete adjacent duplicates from t_delv comparing vbeln.
      sort t_bild by vbeln ascending vbelv descending.
      delete adjacent duplicates from t_bild comparing vbeln.
    *Get details of Accounting document number
      select vbeln fkart land1 from vbrk
                 into table i_data3
                 for all entries in t_bild
                 where vbeln = t_bild-vbelv and
                        bukrs in s_bukrs     and
                        fkart in s_blart     and
                        vkorg in s_vkorg     and             " MAHEEDHAR
                        land1 in s_verld.                    " MAHEEDHAR
      sort i_data3.
    *Get details from EIPO.
      select  vbrp~vbeln
              vbrp~posnr
              vbrp~matnr
              vbrp~fkimg
              vbrp~meins
              eipo~verld
              eipo~herkl
              eipo~grwrt
              eipo~stawn
              eikp~expvz
              from eikp
              inner join vbrp on vbrp~vbeln  = eikp~refnr
                    inner join eipo on eikp~exnum = eipo~exnum
                                   and eipo~expos = vbrp~posnr
                      into table i_data4 for all entries in i_data3
                    where vbrp~vbeln = i_data3-vbeln.
                         eipo~verld in s_verld.
      if sy-subrc ne 0.
        message e000 with text-201.
      endif.
      IF R_MSSNG NE 'X' or r_nmsng = 'X'.  " MAHEEDHAR
        perform get_price.
      ENDIF.  " MAHEEDHAR
    Get details from  T618T.
      select land1
             expvz
             bezei
             from  t618t
             into  table i_data5
             for all entries in i_data4
             where
             land1 = 'CA' and                 " Getting for Canada only
             expvz = i_data4-expvz and
             spras = sy-langu.
      select matnr from mara into table i_mara where matnr in s_matnr
                                                  and mtart in s_mtart.
    Get details from  T604T.
      select land1
             stawn
             text1
             from t604t
             into table i_data6
             for all entries in i_data4
             where
             land1 = i_data4-VERLD and
             stawn = i_data4-stawn and
             spras = sy-langu.
      select * from T005t into table t_T005t where spras = sy-langu.
      loop at i_data3.
        loop at i_data4 where vbeln eq i_data3-vbeln.
          clear : i_data1, i_data2.
          read table i_data2 with key vbelv = i_data4-vbeln
                                posnv = i_data4-posnr.
          read table i_data1 with key vbeln = i_data2-vbeln.
          if not s_i_kun[] is initial.
            check  ( ( i_data1-kunnr in s_i_kun ) or
                     ( i_data3-land1 in s_verld ) ).
          else.
            check i_data3-land1 in s_verld .
          endif.
          read table i_mara with key matnr = i_data4-matnr.
          if sy-subrc eq 0.
            read table i_data5 with key expvz = i_data4-expvz .
                                         land1 = i_data3-land1.
            read table i_data6 with key stawn = i_data4-stawn
                                        land1 = i_data4-VERLD.
            move i_data4-vbeln to i_output-belnr.
            move i_data4-posnr to i_output-posnr.
            move i_data5-bezei to i_output-bezei.
            move i_data6-text1 to i_output-text1.
           Begin of ED1K938380.
            l_strlen = strlen( i_data4-stawn ).
            if l_strlen < 8.
              move 'X' to i_output-strlen.
            endif.
           End of ED1K938380.
            move i_data4-stawn to i_output-stawn.
            move i_data4-meins to i_output-meins.
            read table t_T005t with key land1 = i_data3-land1.
            move t_t005t-landx to i_output-verld.
            if p_sum eq space.
              if i_data4-herkl ne 'CA'.
                i_output-herkl = c_for.
              else.
                read table t_T005t with key land1 = i_data4-herkl.
                move t_t005t-landx to i_output-herkl.
              endif.
            else.
              read table t_T005t with key land1 = i_data4-herkl.
              move t_t005t-landx to i_output-herkl.
            endif.
            move i_data4-fkimg to i_output-quantity.
            if i_data3-fkart eq c_rep.
              read table t_dord with key vbeln = i_data4-vbeln
                                         posnn = i_data4-posnr.
              if sy-subrc eq 0.
                read table t_sord with key vbeln = t_dord-vbelv
                                           posnn = t_dord-posnv.
                if sy-subrc eq 0.
                  read table t_hord with key vbeln = t_sord-vbelv
                                             posnr = t_sord-posnv.
                  if sy-subrc eq 0.
                    read table t_ford with key vbeln = t_hord-vbeln
                                               posnr = t_hord-uepos.
                    if sy-subrc eq 0.
                      read table i_price with key vbeln = t_ford-vbeln
                                                  posnr = t_ford-posnr.
                      if sy-subrc eq 0.
                        read table i_price1 with key knumv = i_price-knumv
                                                     kposn = t_ford-posnr.
                        if sy-subrc eq 0.
                          if i_price1-kpein ne 0.
                            i_output-value =
                            ( i_price1-kbetr / i_price1-kpein ) *
                                                      i_data4-fkimg.
                          endif.
                        endif.
                      endif.
                    endif.
                  endif.
                endif.
              endif.
            else.
              move i_data4-grwrt to i_output-value.
            endif.
            append i_output.
            clear  i_output.
            clear : i_data5, i_data6.
          endif.
        endloop.
      endloop.
      sort i_output by verld herkl bezei stawn.
    endform.
          FORM DISPLAY_OUTPUT                                           *
          This form is to create the ALV output
    form display_output.
      data: xevents     type slis_t_event,
                ls_event    type slis_alv_event,
               slis_ev_top_of_page type slis_formname value 'TOP_OF_PAGE',
               slis_ev_end_of_list type slis_formname value 'END_OF_LIST'.
    *Call  Function  'REUSE_ALV_EVENTS' for top of page
      call function 'REUSE_ALV_EVENTS_GET'
           EXPORTING
                i_list_type     = 0
           IMPORTING
                et_events       = xevents
           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.
      read table xevents with key name = slis_ev_top_of_page
                               into ls_event.
      if sy-subrc = 0.
        move slis_ev_top_of_page to ls_event-form.
        append ls_event to xevents.
      endif.
      read table xevents with key name = slis_ev_end_of_list
                                 into ls_event.
      if sy-subrc = 0.
        move slis_ev_end_of_list to ls_event-form.
        append ls_event to xevents.
      endif.
      if r_dets ne space.
    *Call Function 'REUSE_ALV_FIELD_CATALOG_MERGE' for position fixing in
    *the output.
        call function 'REUSE_ALV_FIELDCATALOG_MERGE'
             exporting
                  i_program_name         = 'ZVRA0001FTB13'
                  i_internal_tabname     = 'I_OUTPUT'
                  i_inclname             = 'ZVRA0001FTB13'
              I_STRUCTURE_NAME       =
              I_CLIENT_NEVER_DISPLAY = 'X'
              I_INCLNAME             =
                 i_bypassing_buffer     = 'X'
                 i_buffer_active        = ' '
             changing
                  ct_fieldcat            = i_fieldcat
             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.
        loop at i_fieldcat into l_fieldcat.
          l_fieldcat-key = ' '.
          case l_fieldcat-fieldname.
            when 'BELNR'.
              l_fieldcat-seltext_m = text-912.
              l_fieldcat-seltext_l = text-912.
              l_fieldcat-reptext_ddic = text-912.
              l_fieldcat-col_pos   = '1'.
              l_fieldcat-just      = 'C'.
              l_fieldcat-outputlen = '12'..
            when 'POSNR'.
              l_fieldcat-seltext_m = text-913.
              l_fieldcat-seltext_l = text-913.
              l_fieldcat-reptext_ddic = text-913.
              l_fieldcat-col_pos   = '2'.
              l_fieldcat-just      = 'C'.
              l_fieldcat-outputlen = '6'.
            when 'BEZEI'.
              l_fieldcat-seltext_m = text-911.
              l_fieldcat-seltext_l = text-911.
              l_fieldcat-reptext_ddic = text-911.
              l_fieldcat-col_pos   = '3'.
              l_fieldcat-just      = 'C'.
              l_fieldcat-outputlen = '15'..
            when 'STAWN'.
              l_fieldcat-seltext_m = text-111.
              l_fieldcat-seltext_l = text-111.
              l_fieldcat-reptext_ddic = text-111.
              l_fieldcat-col_pos   = '4'.
              l_fieldcat-just      = 'C'.
              l_fieldcat-outputlen = '30'.
            when 'TEXT1'.
              l_fieldcat-seltext_m = text-112.
              l_fieldcat-seltext_l = text-112.
              l_fieldcat-outputlen = '40'.
              l_fieldcat-col_pos   = '5'.
              l_fieldcat-just      = 'C'.
              l_fieldcat-reptext_ddic = text-112.
            when 'QUANTITY'.
              l_fieldcat-outputlen = '18'.
              l_fieldcat-reptext_ddic = text-113.
              l_fieldcat-seltext_m = text-113.
              l_fieldcat-col_pos   = '6'.
              l_fieldcat-just      = 'C'.
              l_fieldcat-seltext_l = text-113.
            when 'MEINS'.
              l_fieldcat-outputlen = '8'.
              l_fieldcat-reptext_ddic = text-114.
              l_fieldcat-seltext_m = text-114.
              l_fieldcat-col_pos   = '7'.
              l_fieldcat-just      = 'C'.
              l_fieldcat-seltext_l = text-114.
            when 'VALUE'.
              l_fieldcat-outputlen = '20'.
              l_fieldcat-seltext_m = text-115.
              l_fieldcat-seltext_l = text-115.
              l_fieldcat-just      = 'C'.
              l_fieldcat-reptext_ddic = text-115.
            when 'VERLD'.
              l_fieldcat-outputlen = '20'.
              l_fieldcat-seltext_m = text-116.
              l_fieldcat-seltext_l = text-116.
              l_fieldcat-just      = 'C'.
              l_fieldcat-reptext_ddic = text-116.
            when 'HERKL'.
              l_fieldcat-seltext_m = text-117.
              l_fieldcat-seltext_l = text-117.
              l_fieldcat-outputlen = '30'.
              l_fieldcat-just      = 'C'.
              l_fieldcat-reptext_ddic = text-117.
            when others.
              l_fieldcat-no_out = 'X'.
          endcase.
          modify i_fieldcat from l_fieldcat.
        endloop.
    Call Function  'REUSE_ALV_LIST_DISPLAY'  for  dispaly  of data in ALV.
        call function 'REUSE_ALV_LIST_DISPLAY'
             EXPORTING
                  i_callback_program = 'ZVRA0001FTB13'
                  it_fieldcat        = i_fieldcat
                  it_events          = xevents
                  is_layout          = t_layout
                  i_save             = 'A'
                  i_bypassing_buffer = 'X'
                  i_buffer_active    = ' '
             TABLES
                  t_outtab           = i_output
             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.
    else.  " MAHEEDHAR
      ELSEIF R_SUMM EQ 'X'.  " MAHEEDHAR
        sort i_output by verld herkl stawn bezei.
        loop at i_output.
          move-corresponding i_output to t_outsum.
          collect t_outsum.
        endloop.
    *Call Function 'REUSE_ALV_FIELD_CATALOG_MERGE' for position fixing in
    *the output.
        call function 'REUSE_ALV_FIELDCATALOG_MERGE'
             EXPORTING
                  i_program_name         = 'ZVRA0001FTB13'
                  i_internal_tabname     = 'T_OUTSUM'
                  i_inclname             = 'ZVRA0001FTB13'
                 i_bypassing_buffer     = 'X'
                 i_buffer_active        = ' '
             CHANGING
                  ct_fieldcat            = i_fieldcat
             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.
        loop at i_fieldcat into l_fieldcat.
          l_fieldcat-key = ' '.
          case l_fieldcat-fieldname.
            when 'BEZEI'.
              l_fieldcat-seltext_m = text-911.
              l_fieldcat-seltext_l = text-911.
              l_fieldcat-reptext_ddic = text-911.
              l_fieldcat-col_pos   = '1'.
              l_fieldcat-just      = 'C'.
              l_fieldcat-outputlen = '15'..
            when 'STAWN'.
              l_fieldcat-seltext_m = text-111.
              l_fieldcat-seltext_l = text-111.
              l_fieldcat-reptext_ddic = text-111.
              l_fieldcat-col_pos   = '2'.
              l_fieldcat-just      = 'C'.
              l_fieldcat-outputlen = '30'.
            when 'TEXT1'.
              l_fieldcat-seltext_m = text-112.
              l_fieldcat-seltext_l = text-112.
              l_fieldcat-outputlen = '40'.
              l_fieldcat-col_pos   = '3'.
              l_fieldcat-just      = 'C'.
              l_fieldcat-reptext_ddic = text-112.
            when 'QUANTITY'.
              l_fieldcat-outputlen = '18'.
              l_fieldcat-reptext_ddic = text-113.
              l_fieldcat-seltext_m = text-113.
              l_fieldcat-col_pos   = '4'.
              l_fieldcat-just      = 'C'.
              l_fieldcat-seltext_l = text-113.
            when 'MEINS'.
              l_fieldcat-outputlen = '8'.
              l_fieldcat-reptext_ddic = text-114.
              l_fieldcat-seltext_m = text-114.
              l_fieldcat-col_pos   = '5'.
              l_fieldcat-just      = 'C'.
              l_fieldcat-seltext_l = text-114.
            when 'VALUE'.
              l_fieldcat-outputlen = '20'.
              l_fieldcat-seltext_m = text-115.
              l_fieldcat-seltext_l = text-115.
              l_fieldcat-col_pos   = '6'.
              l_fieldcat-just      = 'C'.
              l_fieldcat-reptext_ddic = text-115.
            when 'VERLD'.
              l_fieldcat-outputlen = '20'.
              l_fieldcat-seltext_m = text-116.
              l_fieldcat-seltext_l = text-116.
              l_fieldcat-col_pos   = '7'.
              l_fieldcat-just      = 'C'.
              l_fieldcat-reptext_ddic = text-116.
            when 'HERKL'.
              l_fieldcat-seltext_m = text-117.
              l_fieldcat-seltext_l = text-117.
              l_fieldcat-outputlen = '30'.
              l_fieldcat-col_pos   = '8'.
              l_fieldcat-just      = 'C'.
              l_fieldcat-reptext_ddic = text-117.
            when others.
              l_fieldcat-no_out = 'X'.
          endcase.
          modify i_fieldcat from l_fieldcat.
        endloop.
    Call Function  'REUSE_ALV_LIST_DISPLAY'  for  dispaly  of data in ALV.
        call function 'REUSE_ALV_LIST_DISPLAY'
             EXPORTING
                  i_callback_program = 'ZVRA0001FTB13'
                  it_fieldcat        = i_fieldcat
                  it_events          = xevents
                  i_save             = 'A'
                  is_layout          = t_layout
                  i_default          = 'X'
                  is_variant         = variante
                  i_bypassing_buffer = 'X'
                  i_buffer_active    = ' '
             TABLES
                  t_outtab           = t_outsum
             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.
    MAHEEDHAR-START.
    *"-- if detail summary checkbox is selected
      elseIF R_MSSNG = 'X'.
       PERFORM PREPARE_HEADER.
        call function 'REUSE_ALV_FIELDCATALOG_MERGE'
            exporting
                 i_program_name         = 'ZVRA0001FTB13'
                 i_internal_tabname     = 'I_OUTPUT'
                 i_inclname             = 'ZVRA0001FTB13'
              I_STRUCTURE_NAME       =
              I_CLIENT_NEVER_DISPLAY = 'X'
              I_INCLNAME             =
                i_bypassing_buffer     = 'X'
                i_buffer_active        = ' '
            changing
                 ct_fieldcat            = i_fieldcat
            exceptions
                 inconsistent_interface = 1
                 program_error          = 2
       

    hi,
    *& Report  ZALV_FIELD_GRID1
    REPORT  ZALV_FIELD_GRID1
            NO STANDARD PAGE HEADING.
    TABLES MARA.
    type-pools :slis.
    TYPES : BEGIN OF TMARA ,
            MATNR LIKE MARA-MATNR,
            MEINS LIKE MARA-MEINS,
            ERSDA LIKE MARA-ERSDA,
            color(4) type c,
            SEL type c,
            LIGHT TYPE C,
            END OF TMARA.
    TYPES: BEGIN OF TMAKT,
           MATNR LIKE MAKT-MATNR,
           MAKTX LIKE MAKT-MAKTX,
           MAKTG LIKE MAKT-MAKTG,
           SEL TYPE C,
           COLOR(4),
           END OF TMAKT.
    DATA:  ITAB TYPE TMARA OCCURS 0 WITH HEADER LINE,
           ITAB1 TYPE TMAKT OCCURS 0 WITH HEADER LINE,
           wa_fieldcat type slis_fieldcat_alv,
           fieldcat type slis_fieldcat_alv occurs 0,
           i_layout type slis_layout_alv,
           WA_LISTHEADER TYPE SLIS_LISTHEADER ,
           i_LISTHEADER TYPE SLIS_LISTHEADER OCCURS 0,
           V_EVENTS TYPE SLIS_T_EVENT ,
           WA_EVENT TYPE SLIS_ALV_EVENT,
           I_TITLE_MARA TYPE LVC_TITLE VALUE 'FIRST LIST DISPLAYED',
           I_TITLE_MAKT TYPE LVC_TITLE VALUE 'SECONDRY LIST DISPLAYED',
           SORT TYPE slis_t_sortinfo_alv WITH HEADER LINE,
           PRINT_CONT type slis_print_alv.
    SELECTION SCREE
    selection-screen  begin of block screen1  with frame title TEXT-001.
    SELECTION-SCREEN SKIP.
    SELECTION-SCREEN COMMENT /32(35) COMM1.
    SELECTION-SCREEN ULINE /27(35).
    SELECTION-SCREEN SKIP.
    SELECT-OPTIONS MATNR FOR MARA-MATNR.
    SELECTION-SCREEN SKIP.
    SELECTION-SCREEN ULINE.
    SELECTION-SCREEN COMMENT /30(50) COMM2.
    SELECTION-SCREEN ULINE /27(40).
    SELECTION-SCREEN SKIP.
    SELECT-OPTIONS ERSDA FOR MARA-ERSDA.
    SELECTION-SCREEN SKIP.
    selection-screen  end of block screen1.
        INITIALIZATION
    INITIALIZATION.
      MATNR-low = '23'.
      MATNR-high = '1000'.
      MATNR-option = 'BT'.
      MATNR-sign = 'I'.
      APPEND MATNR.
      ERSDA-low = '20030124'.
      ERSDA-high = '20050302' .
      APPEND ERSDA.
      PERFORM FILLFIELD.
      PERFORM FILLLAYOUT.
      PERFORM build_print_params.
      PERFORM FILL_SORT.
      PERFORM EVENT_CALL.
      PERFORM POPULATE_EVENT.
            SELECTION-SCREEN OUTPUT
    AT SELECTION-SCREEN OUTPUT.
      comm1 ='SELECT MATERIAL NUMBER  RANGE'.
      comm2 ='SELECT MATERIAL CREATION DATE'.
               START-OF-SELECTION
    START-OF-SELECTION.
      PERFORM READDATA.
      PERFORM POPDATA.
    *&      Form  READDATA
          text
    FORM READDATA .
      CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
        EXPORTING
          INPUT  = MATNR-LOW
        IMPORTING
          OUTPUT = MATNR-LOW.
      CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
        EXPORTING
          INPUT  = MATNR-HIGH
        IMPORTING
          OUTPUT = MATNR-HIGH.
      SELECT MATNR
             ERSDA
             MEINS
             FROM MARA
             INTO CORRESPONDING FIELDS OF
            TABLE ITAB
            WHERE MATNR IN MATNR AND ERSDA IN ERSDA.
      LOOP AT ITAB.
        data id_color type i VALUE 1.
        data id_colors(2) type c.
        IF ITAB-MATNR < '000000000000000100'.
          ITAB-LIGHT = '1'.
        ELSEIF ITAB-MATNR < '000000000000000150' AND ITAB-MATNR >
       '000000000000000100' .
          ITAB-LIGHT = '2'.
        ELSE.
          ITAB-LIGHT = '3'.
        ENDIF.
        id_color = id_color + 1.
        if id_color > 7.
          id_color = 1.
        endif.
        id_colors = id_color.
        concatenate 'C' id_colors '10' into itab-color.
        modify itab.
        CLEAR ITAB.
      endloop.
    ENDFORM.                    " READDATA
         Form  FILLFIELD
    FORM FILLFIELD .
      WA_FIELDCAT-FIELDNAME = 'MATNR'.
      WA_FIELDCAT-KEY = 'X'.
      WA_FIELDCAT-COL_POS = '1'.
      WA_FIELDCAT-outputlen   = 20.
      WA_FIELDCAT-HOTSPOT = 'X'.
      wa_fieldcat-seltext_m = 'MATERIAL NUMBER'.
    *WA_FIELDCAT-EMPHASIZE = 'C210'.
      APPEND WA_FIELDCAT TO FIELDCAT.
      clear wa_fieldcat.
      WA_FIELDCAT-FIELDNAME = 'MEINS'.
      WA_FIELDCAT-COL_POS = '2'.
    *WA_FIELDCAT-EMPHASIZE = 'C510'.
      WA_FIELDCAT-outputlen   = 10.
      wa_fieldcat-seltext_m = 'UNIT'.
      APPEND WA_FIELDCAT TO FIELDCAT.
      clear wa_fieldcat.
      WA_FIELDCAT-FIELDNAME = 'ERSDA'.
      WA_FIELDCAT-COL_POS = '3'.
      WA_FIELDCAT-outputlen   = 15.
    *WA_FIELDCAT-EDIT_MASK  = 'DD.MM.YYYY'.
    *WA_FIELDCAT-EMPHASIZE = 'C710'.
      wa_fieldcat-seltext_m = 'CREAT DATE'.
      APPEND WA_FIELDCAT TO FIELDCAT.
      clear wa_fieldcat.
    ENDFORM.                    "FILLFIELD
          Setup print parameters
    form build_print_params.
      PRINT_CONT-reserve_lines = '3'.   "Lines reserved for footer
      PRINT_CONT-no_coverpage = 'X'.
    endform.                    " BUILD_PRINT_PARAMS
         Form  POPDATA
    FORM POPDATA .
      CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
       EXPORTING
      I_INTERFACE_CHECK                 = ' '
      I_BYPASSING_BUFFER                = ' '
      I_BUFFER_ACTIVE                   = ' '
         I_CALLBACK_PROGRAM                 =  sy-repid
      I_CALLBACK_PF_STATUS_SET          = ' '
         I_CALLBACK_USER_COMMAND            = 'USER-COMMAND'
         I_CALLBACK_TOP_OF_PAGE             = 'TOPPAGE'
      I_CALLBACK_HTML_TOP_OF_PAGE       = ' '
      I_CALLBACK_HTML_END_OF_LIST       = ' '
      I_STRUCTURE_NAME                  =
      I_BACKGROUND_ID                   = ' '
         I_GRID_TITLE                       = I_TITLE_MARA
      I_GRID_SETTINGS                   =
         IS_LAYOUT                          = I_LAYOUT
         IT_FIELDCAT                        = fieldcat
      IT_EXCLUDING                      =
      IT_SPECIAL_GROUPS                 =
        IT_SORT                           =  SORT[]
      IT_FILTER                         =
      IS_SEL_HIDE                       =
      I_DEFAULT                         = 'X'
      I_SAVE                            = ' '
      IS_VARIANT                        =
         IT_EVENTS                          = V_EVENTS
      IT_EVENT_EXIT                     =
       IS_PRINT                          = PRINT_CONT
        TABLES
          T_OUTTAB                          = ITAB
    EXCEPTIONS
       PROGRAM_ERROR                     = 1
       OTHERS                            = 2
    ENDFORM.                    " POPDATA
         Form  TOPPAGE
    FORM TOPPAGE.
      REFRESH I_LISTHEADER.
      DATA: ld_lines type i,
            ld_linesc(10) type c,
            I_DATE(10) TYPE C,
            I_INFO LIKE WA_LISTHEADER-INFO.
      WA_LISTHEADER-TYP = 'H'.
      WA_LISTHEADER-INFO = 'MATERIAL DETAIL'.
      APPEND WA_LISTHEADER TO I_LISTHEADER.
      CLEAR WA_LISTHEADER.
      WA_LISTHEADER-TYP = 'S'.
      WA_LISTHEADER-KEY = 'DATE :'.
      CONCATENATE SY-DATUM+6(2) '.'
                           SY-DATUM+4(2) '.'
                           SY-DATUM(4) INTO I_DATE.
      WA_LISTHEADER-INFO = I_datE.
      APPEND WA_LISTHEADER TO I_LISTHEADER.
      CLEAR WA_LISTHEADER.
      describe table ITAB lines ld_lines.
      ld_linesc = ld_lines.
      concatenate 'TOTAL NUMBER OF RECORD SELECTED: ' ld_linesc
                        into I_INFO separated by space.
      WA_LISTHEADER-TYP  = 'A'.
      WA_LISTHEADER-INFO = I_INFO.
      append WA_LISTHEADER to I_LISTHEADER.
      clear: WA_LISTHEADER , I_INFO.
      CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
        EXPORTING
          IT_LIST_COMMENTARY = I_LISTHEADER
          I_LOGO             = 'ENJOYSAP_LOGO'.
    ENDFORM.                    "TOPPAGE
         Form  FILLLAYOUT
    FORM FILLLAYOUT .
      i_layout-zebra = 'X'.
      i_layout-info_fieldname = 'COLOR'.
      i_layout-box_fieldname = 'SEL'.
      I_LAYOUT-lights_fieldname = 'LIGHT'.
      I_LAYOUT-EDIT ='X'.
      I_LAYOUT-colwidth_optimize = 'X'.
      I_LAYOUT-window_titlebar = 'EXAMPLE FOR ALV GRID'.
      I_LAYOUT-no_totalline = 'X'.
    ENDFORM.                    "FILLLAYOUT
        Form  FILL_SORT
    FORM FILL_SORT .
      SORT-DOWN = 'X'.
      SORT-SPOS = 1.
      SORT-FIELDNAME = 'MATNR'.
      SORT-tabname = 'MARA'.
      APPEND SORT.
    ENDFORM.                    " FILL_SORT
         Form  EVENT_CALL
    FORM EVENT_CALL .
      DATA: I_EVENT LIKE V_EVENTS.
      CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
        EXPORTING
          I_LIST_TYPE = 0
        IMPORTING
          ET_EVENTS   = V_EVENTS.
      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.                    " EVENT_CALL
        Form  POPULATE_EVENT
    FORM POPULATE_EVENT .
      READ TABLE V_EVENTS INTO WA_EVENT WITH KEY NAME = 'USER_COMMAND'.
      IF SY-SUBRC EQ 0.
        WA_EVENT-FORM = 'USER_COMMAND'.
        MODIFY V_EVENTS FROM WA_EVENT TRANSPORTING FORM WHERE NAME =
        WA_EVENT-NAME.
    READ TABLE V_EVENTS WITH KEY NAME = SLIS_EV_END_OF_PAGE
                                          INTO WA_EVENT.
    IF SY-SUBRC = 0.
       move 'END_OF_PAGE' to WA_EVENT-FORM.
       MODIFY V_EVENTS FROM WA_EVENT TRANSPORTING FORM WHERE NAME =
       WA_EVENT-NAME.
      endif.
      ENDIF.
    ENDFORM.                    "POPULATE_EVENT
    FORM END_OF_PAGE.
      write: sy-uline(50).
      skip.
      write:/40 'Page:', sy-pagno .
    ENDFORM.
    *&      Form  USER_COMMAND
    FORM USER_COMMAND USING R_UCOMM LIKE SY-UCOMM
    RS_SELFIELD TYPE SLIS_SELFIELD.
      CASE R_UCOMM.
        WHEN '&IC1'.
          CASE RS_SELFIELD-FIELDNAME.
            when 'MATNR'.
              read table itab with key matnr = RS_SELFIELD-VALUE.
              if sy-subrc = 0.
                PERFORM DATA_RETRIEVAL_MAKT USING RS_SELFIELD-VALUE.
                PERFORM BUILD_FIELDCATLOG_MAKT.
                PERFORM FILLLAYOUT_MAKT.
                PERFORM DISPLAY_ALV_MAKT.
                CLEAR RS_SELFIELD.
              ENDIF.
          ENDCASE.
      ENDCASE.
    ENDFORM.                    "user_command
         Form  DATA_RETRIEVAL_MAKT
    FORM DATA_RETRIEVAL_MAKT USING TMATNR .
      SELECT MATNR
             MAKTX
             MAKTG
             UP TO 100 ROWS
             FROM MAKT
             INTO TABLE ITAB1
             WHERE SPRAS = 'EN' AND MATNR = TMATNR.
      LOOP AT ITAB1.
        data id_color type i VALUE 1.
        data id_colors(2) type c.
        id_color = id_color + 1.
        if id_color > 7.
          id_color = 1.
        endif.
        id_colors = id_color.
        concatenate 'C' id_colors '10' into itab1-color.
        modify itab1.
        CLEAR ITAB1.
      ENDLOOP.
    ENDFORM.                    "DATA_RETRIEVAL_MAKT
         Form  FILLLAYOUT_MAKT
    FORM FILLLAYOUT_MAKT .
      CLEAR I_LAYOUT.
      i_layout-zebra = 'X'.
      i_layout-info_fieldname = 'COLOR'.
      i_layout-box_fieldname = 'SEL'.
      I_LAYOUT-EDIT ='X'.
      I_LAYOUT-colwidth_optimize = 'X'.
      I_LAYOUT-window_titlebar = 'EXAMPLE FOR ALV GRID'.
    ENDFORM.                    " LAYOUT_MAKT
        Form  BUILD_FIELDCATLOG_MAKT
    FORM BUILD_FIELDCATLOG_MAKT .
      REFRESH FIELDCAT.
      WA_FIELDCAT-FIELDNAME = 'MATNR'.
      WA_FIELDCAT-KEY = 'X'.
      WA_FIELDCAT-COL_POS = '1'.
    *WA_FIELDCAT-EDIT_MASK  = 'DD.MM.YYYY'.
      WA_FIELDCAT-EMPHASIZE = 'C510'.
      wa_fieldcat-seltext_m = 'MATERIAL NUMBER'.
      APPEND WA_FIELDCAT TO FIELDCAT.
      clear wa_fieldcat.
      WA_FIELDCAT-FIELDNAME = 'MAKTX'.
      WA_FIELDCAT-COL_POS = '2'.
      WA_FIELDCAT-EMPHASIZE = 'C710'.
      wa_fieldcat-seltext_m = 'MATERIAL DESCRIPTION'.
      APPEND WA_FIELDCAT TO FIELDCAT.
      clear wa_fieldcat.
      WA_FIELDCAT-FIELDNAME = 'MAKTG'.
      WA_FIELDCAT-COL_POS = '3'.
      WA_FIELDCAT-EMPHASIZE = 'C210'.
      wa_fieldcat-seltext_m = 'MATERIAL DESCRIPTION'.
      APPEND WA_FIELDCAT TO FIELDCAT.
      clear wa_fieldcat.
    ENDFORM.                    " BUILD_FIELDCATLOG_MAKT
         Form  DISPLAY_ALV_MAKT
    FORM TOP-OF-PAGE.
      REFRESH I_LISTHEADER.
      DATA: ld_lines type i,
            ld_linesc(10) type c,
            I_DATE(10) TYPE C,
            I_INFO LIKE WA_LISTHEADER-INFO.
      WA_LISTHEADER-TYP = 'H'.
      WA_LISTHEADER-INFO = 'MATERIAL DESCRIPTION FOR SELECTED NUMBER'.
      APPEND WA_LISTHEADER TO I_LISTHEADER.
      CLEAR WA_LISTHEADER.
      WA_LISTHEADER-TYP = 'S'.
      WA_LISTHEADER-KEY = 'DATE :'.
      CONCATENATE SY-DATUM+6(2) '.'
                           SY-DATUM+4(2) '.'
                           SY-DATUM(4) INTO I_DATE.
      WA_LISTHEADER-INFO = I_datE.
      APPEND WA_LISTHEADER TO I_LISTHEADER.
      CLEAR WA_LISTHEADER.
      describe table ITAB1 lines ld_lines.
      ld_linesc = ld_lines.
      concatenate 'TOTAL NUMBER OF RECORD SELECTED: ' ld_linesc
                        into I_INFO separated by space.
      WA_LISTHEADER-TYP  = 'A'.
      WA_LISTHEADER-INFO = I_INFO.
      append WA_LISTHEADER to I_LISTHEADER.
      clear: WA_LISTHEADER , I_INFO.
      CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
        EXPORTING
          IT_LIST_COMMENTARY = I_LISTHEADER
          I_LOGO             = 'ENJOYSAP_LOGO'.
      I_END_OF_LIST_GRID       =
      I_ALV_FORM               =
    ENDFORM.                    "TOP-OF-PAGE
    *&      Form  DISPLAY_ALV_MAKT
          text
    FORM DISPLAY_ALV_MAKT .
      CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
        EXPORTING
          I_CALLBACK_PROGRAM     = SY-REPID
          I_CALLBACK_TOP_OF_PAGE = 'TOP-OF-PAGE'
          I_GRID_TITLE           = I_TITLE_MAKT
          IS_LAYOUT              = I_LAYOUT
          IT_FIELDCAT                       = fieldcat
        TABLES
          T_OUTTAB               = ITAB1
        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.                    " DISPLAY_ALV_MAKT
    Regards
    Ashok kumar

  • Check box in ALV BLOCK List

    Hi All,
    iam Using ALV BLOCK list to print the output along with check boxes, iam able to print the output along with the check boxes but when i select any of the check box and click button on application tool bar it is going to dump  and saying,
    FIELD SYMBOL HAS NOT YET BEEN ASSIGNED.
    i populated layout with following fields.
      w_layout-box_fieldname = 'BOX'.
      w_layout-box_tabname = 'T_FINAL2'.
    Plz Help me out.
    Thanks in Advance.
    Neha

    *& Report  BCALV_TEST_BLOCK_LIST
    report  bcalv_test_block_list.
    types: g_ty_t_carrid  type standard table of alv_tab,
           g_ty_t_connid  type standard table of alv_chck,
           g_ty_t_curr    type standard table of alv_cur,
           g_ty_s_sflight type alv_t_t2,
           g_ty_s_carrid  type alv_tab,
           g_ty_s_connid  type alv_chck,
           g_ty_s_curr    type alv_cur.
    constants: con_sflight type lvc_fname value 'ALV_T_T2',
               con_scarr   type lvc_fname value 'ALV_TAB',
               con_spfli   type lvc_fname value 'ALV_CHCK',
               con_scurx   type lvc_fname value 'ALV_CUR',
               con_event_01 type lvc_fname value 'PF_STATUS_SET',
               con_event_02 type lvc_fname value 'USER_COMMAND',
               con_event_03 type lvc_fname value 'CALLER_EXIT',
               con_event_04 type lvc_fname value 'LIST_MODIFY',
               con_event_05 type lvc_fname value 'BEFORE_LINE_OUTPUT',
               con_event_06 type lvc_fname value 'AFTER_LINE_OUTPUT',
               con_event_07 type lvc_fname value 'SUBTOTAL_TEXT',
               con_event_08 type lvc_fname value 'REPREP_MODIFY',
               con_event_09 type lvc_fname value 'TOP_OF_PAGE',
               con_event_10 type lvc_fname value 'END_OF_PAGE',
               con_event_11 type lvc_fname value 'TOP_OF_LIST',
               con_event_12 type lvc_fname value 'END_OF_LIST',
               con_event_13 type lvc_fname value 'TOP_OF_COVERPAGE',
               con_event_14 type lvc_fname value 'END_OF_COVERPAGE',
               con_event_15 type lvc_fname value 'TOP_OF_FOREIGN_PAGE',
               con_event_16 type lvc_fname value 'END_OF_FOREIGN_PAGE',
               con_event_17 type lvc_fname value 'GROUPLEVEL_CHANGE'.
    DATA                                                                 *
    tables: sscrfields.   " for processing the FCODEs in Selektion screens
    include <icon>.
    include <symbol>.
    type-pools: slis, kkblo.
    types: g_ty_t_icon  type standard table of icon,
           g_ty_t_icont type standard table of icont,
           begin of g_ty_s_plane,
             carrid    type g_ty_s_sflight-carrid,
             connid    type g_ty_s_sflight-connid,
             planetype type g_ty_s_sflight-planetype,
             seatsmax  type g_ty_s_sflight-seatsmax,
           end   of g_ty_s_plane,
           g_ty_t_plane type sorted table of g_ty_s_plane
                             with unique key carrid connid,
           begin of g_ty_s_fcat_curr,
             fieldname  type lvc_fname,
             cfieldname type lvc_fname,
             currency   type lvc_s_fcat-currency,
           end   of g_ty_s_fcat_curr,
           g_ty_t_fcat_curr type sorted table of g_ty_s_fcat_curr
                                 with unique key fieldname,
           begin of g_ty_s_sort.
    include type slis_sortinfo_alv.
    types: end   of g_ty_s_sort,
           g_ty_t_sort type sorted table of g_ty_s_sort
                            with unique key spos fieldname,
           begin of g_ty_s_test,
             list_amount              type num1,
             select_amount            type i,
             only_db_info             type char1,
             db_short                 type char1,
             excp_display             type char1,
             excp_condense            type char1,
             layo_title               type lvc_s_layo-grid_title,
             layo_zebra               type char1,
             layo_no_vert_lines       type char1,
             layo_no_horiz_lines      type char1,
             layo_cell_merge          type char1,
             layo_count               type char1,
             layo_box                 type char1,
             layo_no_colhead          type char1,
             layo_column_optimize     type char1,
             layo_keys_hotspot        type char1,
             layo_no_keyfix           type char1,
             layo_no_hotspot          type char1,
             layo_hotspot_rows        type i occurs 0,
             layo_hotspot_columns     type lvc_fname occurs 0,
             layo_no_scrolling        type char1,
             layo_no_authcheck        type char1,
             layo_no_min_linesize     type char1,
             layo_min_linesize        type sylinsz,
             layo_max_linesize        type sylinsz,
             layo_group_change_edit   type char1,
             layo_get_selinfo         type char1,
             layo_confirmation_prompt type char1,
             layo_f2code              type syucomm,
             layo_reprep              type char1,
             sum_before               type char1,
             sum_no_sumline           type char1,
             sum_no_sumchoice         type char1,
             sum_numc                 type char1,
             sum_no_unitsplit         type char1,
             sum_totals_only          type char1,
             sum_totals_text          type symsgli,
             sum_no_subtotals         type char1,
             sum_no_subchoice         type char1,
             sum_subtotals_text       type symsgli,
             prnt_print               type char1,
             prnt_reserve_lines       type lvc_s_prnt-reservelns,
             prnt_no_listinfo         type char1,
             prnt_no_selinfo          type char1,
             prnt_with_title          type char1,
             prnt_footline            type lvc_s_prnt-footline,
             prnt_printinfo           type char1,
             prnt_no_coverpage        type char1,
             prnt_no_new_page         type char1,
             prnt_no_change_print_params type char1,
             color_rows               type i occurs 0,
             color_fields_column      type lvc_fname occurs 0,
             color_fields_cell        type lvc_fname occurs 0,
             fcat_no_out_fields       type lvc_fname occurs 0,
             fcat_tech_fields         type lvc_fname occurs 0,
             fcat_fix_column_fields   type lvc_fname occurs 0,
             fcat_do_sum_fields       type lvc_fname occurs 0,
             fcat_no_sum_fields       type lvc_fname occurs 0,
             fcat_curr_fields         type g_ty_t_fcat_curr,
             curr_amount              type i,
             curr_space               type char1,
             t_sort                   type g_ty_t_sort,
             no_info_popup            type char1,
             info_popup_once          type char1,
             events_info_popup        type lvc_fname occurs 0,
             events                   type lvc_fname occurs 0,
             buffer_active            type char1,
             bypassing_buffer         type char1,
           end   of g_ty_s_test,
           begin of g_ty_s_outtab.
    include type g_ty_s_sflight.
    types:   list                 type num1,
             box                  type char1,
             count                type i,
             lights               type char1,
             checkbox             type char1,
             hotspot              type char1,
             color(4)             type c,
             tabcolor             type slis_t_specialcol_alv,
             price2               type g_ty_s_sflight-price,
             currency2            type g_ty_s_sflight-currency,
             char(10)             type c,
             string               type string,
             int1                 type int1,
             int2                 type int2,
             int4                 type int4,
             numc(10)             type n,
             dec(10)              type p decimals 2,
             fltp                 type f,
             dats                 type d,
             tims                 type t,
             icon                 type icon-id,
             icon_qinfo           type icon-name,
             symbol               type icon-id,
           end   of g_ty_s_outtab,
           g_ty_t_outtab type table of g_ty_s_outtab.
    constants: con_true         type char1 value 'X',
               con_ok   type sy-ucomm value 'OK',
               con_exit type sy-ucomm value 'EXIT',
               con_canc type sy-ucomm value 'CANC',
               con_back type sy-ucomm value 'BACK'.
    data: gt_outtab1 type g_ty_t_outtab,
          gt_outtab2 type g_ty_t_outtab,
          gt_outtab3 type g_ty_t_outtab,
          gt_outtab4 type g_ty_t_outtab,
          gt_outtab5 type g_ty_t_outtab,
          gt_outtab6 type g_ty_t_outtab,
          gt_outtab7 type g_ty_t_outtab,
          gt_outtab8 type g_ty_t_outtab,
          gt_outtab9 type g_ty_t_outtab.
    data: gt_outtab   type g_ty_t_outtab with header line,
          gs_test     type g_ty_s_test.
    data: g_repid     type sy-repid.
    data: g_field     type lvc_s_fcat-fieldname,
          g_int_field type i.
          CLASS random DEFINITION
    class random definition.
      public section.
        types:
          value(16) type p decimals 0,
          numcv(15) type n.
        constants:
          max type random=>value value 4294967295.
        class-methods:
      computes a random natural number from the set {0, ..., random=>max}.
          number returning value(rval) type random=>value,
      computes a random character from the set {A-Za-z0-9}
          c returning value(rval) type char01,
      computes a random string consisting of "len" random characters
          string importing len type i
                 returning value(rval) type string,
      computes a date
          dats returning value(rval) type d,
      computes a time
          time returning value(rval) type t,
      computes a random numc from the set {low, ..., high}
          numc importing low type random=>numcv high type random=>numcv
            returning value(rval) type random=>numcv,
      computes a random integer from the set {low, ..., high}
          i importing low type i high type i
            returning value(rval) type i,
      computes a random integer from the set {low, ..., high}
          int2 importing low type int2 high type int2
               returning value(rval) type int2,
      computes a random integer from the set {low, ..., high}
          int1 importing low type int1 high type int1
               returning value(rval) type int1,
      computes a random float from the interval [low ; high]
          f importing low type f high type f
            returning value(rval) type f,
      computes a random character from the set {A-F0-9}
          hex returning value(rval) type char01,
      computes a random character from the set {0-1}
          x returning value(rval) type char01,
      method "random=>class_constructor"
          class_constructor.
      private section.
        class-data:
      precomputed maximal index (= string length - 1) of "random=>chars"
      or of "random=>x_data".
          charsmax type i,
          xmax type i,
      random number seed value.
      (Used in method "random=>number".)
          seed type random=>value.
        constants:
      characters for class-method "random=>hex"
          hex_data(100) type c value 'ABCDEF' &
                                     '0123456789',
      characters for class-method "random=>x"
          x_data(100) type c value '01',
      characters for class-metshod "random=>c"
          chars(100) type c value 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' &
                                  'abcdefghijklmnopqrstuvwxyz' &
                                  '0123456789'.
    endclass.                    "random DEFINITION
          CLASS random IMPLEMENTATION
    class random implementation.
    implementation of the methods for randomizing the values
      method x.
        data: ri type i.
        ri = random=>i( low = 0  high = random=>xmax ).
        move x_data+ri(1) to rval.
      endmethod.                    "x
      method hex.
        data: ri type i.
        ri = random=>i( low = 0  high = random=>charsmax ).
        move hex_data+ri(1) to rval.
      endmethod.                    "hex
      method number.
        constants:
          a(3) type p  value 67301,        " Coefficient
          c(1) type p  value 1,            " Increment
          m(6) type p  value 4294967296.   " Modulus 2**32
        random=>seed = ( a * random=>seed + c ) mod m.
        rval = random=>seed.
      endmethod.                    "number
      method c.
        data:
          ri type i.
        ri = random=>i( low = 0  high = random=>charsmax ).
        move chars+ri(1) to rval.
      endmethod.                    "c
      method string.
        data:
          char(1) type c.
        clear rval.
        do len times.
          char = random=>c( ).
          concatenate rval char into rval.
        enddo.
      endmethod.                    "string
      method dats.
        data: l_date      type sy-datum,
              l_day(2)    type n,
              l_month(2)  type n,
              l_year(4)   type n,
              l_value     type random=>numcv,
              l_low       type random=>numcv,
              l_high      type random=>numcv.
        l_year  = sy-datum+0(4).
        l_low   = l_year - 5.
        l_high  = l_year + 5.
        l_value = random=>numc( low = l_low high = l_high ).
        l_year  = l_value+11(4).
        l_value = random=>numc( low = 1 high = 12 ).
        l_month = l_value+13(2).
        case l_month.
          when 2.
            l_high = 28.
          when 4 or 6 or 9 or 11.
            l_high = 30.
          when others.
            l_high = 31.
        endcase.
        l_value = random=>numc( low = 1 high = l_high ).
        l_day   = l_value+13(2).
        l_date+0(4) = l_year.
        l_date+4(2) = l_month.
        l_date+6(2) = l_day.
        rval = l_date.
      endmethod.                    "dats
      method time.
        data: l_time      type t,
              l_hour(2)   type n,
              l_min(2)    type n,
              l_sec(2)    type n,
              l_value     type random=>numcv.
        l_value = random=>numc( low = 0 high = 60 ).
        l_sec   = l_value+13(2).
        l_value = random=>numc( low = 0 high = 60 ).
        l_min   = l_value+13(2).
        l_value = random=>numc( low = 1 high = 24 ).
        l_hour  = l_value+13(2).
        l_time+0(2) = l_hour.
        l_time+2(2) = l_min.
        l_time+4(2) = l_sec.
        rval = l_time.
      endmethod. "time
      method numc.
      Go from {0,...,random=>max} to {low,...,high} with ABAP rounding
        data: l_dec(16)   type p,
              l_char(16)  type c.
        l_dec = ( ( high - low + 1 ) * random=>number( ) ) / random=>max
               + '0.5'.
        subtract 1 from l_dec.
        add low to l_dec.
        data: lr_type_descr  type ref to cl_abap_typedescr,
              lr_elem_descr  type ref to cl_abap_elemdescr.
        lr_type_descr =
                 cl_abap_typedescr=>describe_by_data( rval ).
        lr_elem_descr ?= lr_type_descr.
        l_char = l_dec.
        shift l_char left deleting leading space.
        rval = l_char+0(lr_elem_descr->output_length).
      endmethod.                    "i
      method i.
      Go from {0,...,random=>max} to {low,...,high} with ABAP rounding
        data: l_dec(16)   type p,
              l_char(16)  type c.
        l_dec = ( ( high - low + 1 ) * random=>number( ) ) / random=>max
               + '0.5'.
        subtract 1 from l_dec.
        add low to l_dec.
        data: lr_type_descr  type ref to cl_abap_typedescr,
              lr_elem_descr  type ref to cl_abap_elemdescr.
        lr_type_descr =
                 cl_abap_typedescr=>describe_by_data( rval ).
        lr_elem_descr ?= lr_type_descr.
        l_char = l_dec.
        shift l_char left deleting leading space.
        rval = l_char+0(lr_elem_descr->output_length).
      endmethod.                    "i
      method int2.
      Go from {0,...,random=>max} to {low,...,high} with ABAP rounding
        data: l_dec(16)   type p,
              l_char(16)  type c.
        l_dec = ( ( high - low + 1 ) * random=>number( ) ) / random=>max
               + '0.5'.
        subtract 1 from l_dec.
        add low to l_dec.
        data: lr_type_descr  type ref to cl_abap_typedescr,
              lr_elem_descr  type ref to cl_abap_elemdescr.
        lr_type_descr =
                 cl_abap_typedescr=>describe_by_data( rval ).
        lr_elem_descr ?= lr_type_descr.
        l_char = l_dec.
        shift l_char left deleting leading space.
        rval = l_char+0(lr_elem_descr->output_length).
      endmethod.                    "i
      method int1.
      Go from {0,...,random=>max} to {low,...,high} with ABAP rounding
        data: l_dec(16)   type p,
              l_char(16)  type c.
        l_dec = ( ( high - low + 1 ) * random=>number( ) ) / random=>max
               + '0.5'.
        subtract 1 from l_dec.
        add low to l_dec.
        data: lr_type_descr  type ref to cl_abap_typedescr,
              lr_elem_descr  type ref to cl_abap_elemdescr.
        lr_type_descr =
                 cl_abap_typedescr=>describe_by_data( rval ).
        lr_elem_descr ?= lr_type_descr.
        l_char = l_dec.
        shift l_char left deleting leading space.
        rval = l_char+0(lr_elem_descr->output_length).
      endmethod.                    "i
      method f.
      Go from {0,...,random=>max} to [low;high]
        rval = ( ( high - low ) * random=>number( ) ) / random=>max
               + low.
      endmethod.                    "f
      method class_constructor.
        charsmax = strlen( chars ) - 1.
        xmax = strlen( x_data ) - 1.
        seed = 1.
      endmethod.                    "class_constructor
    endclass.                    "random IMPLEMENTATION
    SELECTION-SCREEN                                                     *
    selection-screen begin of block gen with frame.
    parameters:
    p_amount type i default 30,
    p_dbinfo as checkbox,
    p_dbshrt as checkbox.
    selection-screen end of block gen.
    parameters:
    p_list type num1 default 3.
    selection-screen begin of block tit with frame title text-tit.
    parameters:
    p_tit01 type lvc_s_layo-grid_title default text-p01. "TITLE
    selection-screen end of block tit.
    selection-screen begin of block lay with frame title text-lay.
    parameters:
    p_lay01 as checkbox. "ZEBRA
    selection-screen skip.
    parameters:
    p_lay02 as checkbox, "NO HORIZONTAL LINES
    p_lay03 as checkbox. "NO VERTICAL LINES
    selection-screen skip.
    parameters:
    p_lay04 as checkbox. "NO SCROLLING
    selection-screen skip.
    parameters:
    p_lay06 type syucomm,                                       "F2CODE
    p_lay07 as checkbox. "CONFIRMATION PROMPT
    selection-screen end of block lay.
    selection-screen begin of block spa with frame title text-spa.
    parameters:
    p_spa01 as checkbox, "BOX
    p_spa02 as checkbox, "COUNT FELD
    p_spa03 as checkbox, "NO COLUMN HEADERS
    p_spa04 as checkbox. "COLUMN OPTIMIZE
    selection-screen begin of block hot with frame title text-hot.
    parameters:
    p_hot01 as checkbox. "NO HOTSPOT
    parameters:
    p_hot02 as checkbox. "Hotspot auf Zeilenebene
    select-options:
    p_hotf02 for g_int_field no intervals default 1.
    parameters:
    p_hot03 as checkbox.
    select-options:
    p_hotf03 for g_field no intervals.
    selection-screen end of block hot.
    selection-screen begin of block mrg with frame title text-mrg.
    parameters:
    p_mrg01 radiobutton group mrge, "Default
    p_mrg02 radiobutton group mrge, "kein Merge
    p_mrg03 radiobutton group mrge. "Merge
    selection-screen end of block mrg.
    selection-screen begin of block out with frame title text-out.
    parameters:
    p_out01 as checkbox.
    select-options:
    p_outf01 for g_field no intervals.
    selection-screen end of block out.
    selection-screen begin of block tec with frame title text-tec.
    parameters:
    p_tec01 as checkbox.
    select-options:
    p_tecf01 for g_field no intervals.
    selection-screen end of block tec.
    selection-screen begin of block fix with frame title text-fix.
    parameters:
    p_fix01 as checkbox.
    select-options:
    p_fixf01 for g_field no intervals.
    selection-screen end of block fix.
    selection-screen begin of block txt with frame title text-txt.
    selection-screen pushbutton /1(50) text-pb2 user-command pb02.
    selection-screen end   of block txt.
    selection-screen begin of block cur with frame title text-cur.
    parameters:
    p_curanz type i,
    p_curspc as checkbox default space.
    selection-screen skip.
    select-options:
    p_curf00 for g_field no intervals.
    parameters:
    p_cur01 radiobutton group cur default 'X',
    p_curf01 type lvc_s_fcat-fieldname.
    parameters:
    p_cur02 radiobutton group cur,
    p_curf02 type g_ty_s_sflight-currency.
    selection-screen end of block cur.
    selection-screen begin of block sort with frame title text-srt.
    selection-screen pushbutton /1(20) text-pb1 user-command pb01.
    selection-screen end   of block sort.
    selection-screen end of block spa.
    selection-screen begin of block key with frame title text-key.
    parameters:
    p_key01 as checkbox, "KEYFELDER ALS HOTSPOT
    p_key02 as checkbox. "NO KEY FIXIERUNG
    selection-screen end of block key.
    selection-screen begin of block exp with frame title text-exp.
    parameters:
    p_excp01 as checkbox, "EXCEPTION
    p_excp_c as checkbox. "EXCEPTION CONDENSE
    selection-screen end of block exp.
    selection-screen begin of block sum with frame title text-sum.
    parameters:
    p_sum01 as checkbox, "SUM BEFORE
    p_sum02 as checkbox, "NUMC
    p_sum03 as checkbox, "NO UNITSPLIT
    p_sum04 as checkbox, "TOTALS ONLY
    p_sum05 as checkbox, "NO SUMCHOICE
    p_sum06 as checkbox, "NO SUMLINE
    p_sum07 type sy-msgli, "TOTALS TEXT
    p_sum08 as checkbox, "NO SUBCHOICE
    p_sum09 as checkbox, "NO SUBTOTALS
    p_sum10 type sy-msgli. "SUBTOTALS TEXT
    selection-screen begin of block dos with frame title text-dos.
    parameters:
    p_dos01 as checkbox.
    select-options:
    p_dosf01 for g_field no intervals.
    selection-screen end of block dos.
    selection-screen begin of block nos with frame title text-nos.
    parameters:
    p_nos01 as checkbox.
    select-options:
    p_nosf01 for g_field no intervals.
    selection-screen end of block nos.
    selection-screen end of block sum.
    selection-screen begin of block col with frame title text-col.
    parameters:
    p_col01 as checkbox.
    select-options:
    p_colf01 for g_int_field no intervals default 1.
    parameters:
    p_col02 as checkbox.
    select-options:
    p_colf02 for g_field no intervals.
    parameters:
    p_col03 as checkbox.
    select-options:
    p_colf03 for g_field no intervals.
    selection-screen end of block col.
    selection-screen begin of block prn with frame title text-prn.
    parameters:
    p_lpr01 as checkbox default 'X'. "GROUP CHANGE EDIT
    selection-screen skip.
    parameters:
    p_lpr02 as checkbox. "GET SELINFO
    selection-screen skip.
    parameters:
    p_lpr03 as checkbox, "NO MIN LINESIZE
    p_lpr04 type sylinsz, "MIN LINESIZE
    p_lpr05 type sylinsz. "MAX LINESIZE
    selection-screen skip.
    parameters:
    p_prn01 as checkbox, "PRINT
    p_prn02 type lvc_s_prnt-reservelns, "RESERVE LINES
    p_prn03 as checkbox, "NO LISTINFO
    p_prn04 as checkbox, "NO SELINFO
    p_prn05 as checkbox, "TITEL
    p_prn06 type lvc_s_prnt-footline, "FOOTLINE
    p_prn07 as checkbox, "PRINT INFO
    p_prn08 as checkbox, "NO COVERPAGE
    p_prn09 as checkbox, "NO NEW PAGE
    p_prn10 as checkbox. "NO CHANGE PRINT PARAMS
    selection-screen end of block prn.
    selection-screen begin of block evt with frame.
    parameters:
    p_evt01 as checkbox, "PF_STATUS_SET
    p_evt02 as checkbox. "USER_COMMAND
    selection-screen skip.
    parameters:
    p_evt03 as checkbox, "CALLER_EXIT
    p_evt04 as checkbox, "LIST_MODIFY
    p_evt05 as checkbox, "BEFORE_LINE_OUTPUT
    p_evt06 as checkbox. "AFTER_LINE_OUTPUT
    selection-screen skip.
    parameters:
    p_evt07 as checkbox, "SUBTOTAL_TEXT
    p_evt08 as checkbox. "REPREP_SEL_MODIFY
    selection-screen skip.
    parameters:
    p_evt09 as checkbox, "TOP_OF_PAGE
    p_evt10 as checkbox, "END_OF_PAGE
    p_evt11 as checkbox, "TOP_OF_LIST
    p_evt12 as checkbox. "END_OF_LIST
    selection-screen skip.
    parameters:
    p_evt13 as checkbox, "TOP_OF_COVERPAGE
    p_evt14 as checkbox. "END_OF_COVERPAGE
    selection-screen skip.
    parameters:
    p_evt15 as checkbox, "FOREIGN_TOP_OF_PAGE
    p_evt16 as checkbox. "FOREIGN_END_OF_PAGE
    selection-screen skip.
    parameters:
    p_evt17 as checkbox. "GROUPLEVEL_CHANGE
    selection-screen end of block evt.
    INITIALIZATION                                                       *
    initialization.
      perform f01_f4_field using 'SUM' space changing p_dosf01-low.
      p_dosf01-option = 'EQ'.
      p_dosf01-sign   = 'I'.
      append p_dosf01.
      perform f01_f4_field using 'SUM' space changing p_nosf01-low.
      p_nosf01-option = 'EQ'.
      p_nosf01-sign   = 'I'.
      append p_nosf01.
      perform f01_f4_field using 'KEY' space changing p_outf01-low.
      p_outf01-option = 'EQ'.
      p_outf01-sign   = 'I'.
      append p_outf01.
      perform f01_f4_field using space space changing p_tecf01-low.
      p_tecf01-option = 'EQ'.
      p_tecf01-sign   = 'I'.
      append p_tecf01.
      perform f01_f4_field using space space changing p_fixf01-low.
      p_fixf01-option = 'EQ'.
      p_fixf01-sign   = 'I'.
      append p_fixf01.
      perform f01_f4_field using 'CURR' space changing p_curf00-low.
      p_curf00-option = 'EQ'.
      p_curf00-sign   = 'I'.
      append p_curf00.
      perform f01_f4_field using 'CUKY' space changing p_curf01.
      perform f01_f4_field using space space changing p_hotf03-low.
      p_hotf03-option = 'EQ'.
      p_hotf03-sign   = 'I'.
      append p_hotf03.
      perform f01_f4_field using space space changing p_colf02-low.
      p_colf02-option = 'EQ'.
      p_colf02-sign   = 'I'.
      append p_colf02.
      perform f01_f4_field using space space changing p_colf03-low.
      p_colf03-option = 'EQ'.
      p_colf03-sign   = 'I'.
      append p_colf03.
    AT SELECTION-SCREEN                                                  *
    at selection-screen.
      case sscrfields-ucomm.
        when 'PB01'.
          call screen 1001 starting at 1 1 ending at 80 20.
        when 'PB02'.
          call screen 1002 starting at 1 1 ending at 80 20.
      endcase.
    AT SELECTION-SCREEN ON VALUE-REQUEST                                 *
    at selection-screen on value-request for p_dosf01-low.
      perform f01_f4_field using 'SUM' 'X' changing p_dosf01-low.
    at selection-screen on value-request for p_nosf01-low.
      perform f01_f4_field using 'SUM' 'X' changing p_nosf01-low.
    at selection-screen on value-request for p_outf01-low.
      perform f01_f4_field using 'KEY' 'X' changing p_outf01-low.
    at selection-screen on value-request for p_tecf01-low.
      perform f01_f4_field using space 'X' changing p_tecf01-low.
    at selection-screen on value-request for p_fixf01-low.
      perform f01_f4_field using space 'X' changing p_fixf01-low.
    at selection-screen on value-request for p_curf00-low.
      perform f01_f4_field using 'CURR' 'X' changing p_curf00-low.
    at selection-screen on value-request for p_curf01.
      perform f01_f4_field using 'CUKY' 'X' changing p_curf01.
    at selection-screen on value-request for p_hotf03-low.
      perform f01_f4_field using space 'X' changing p_hotf03-low.
    at selection-screen on value-request for p_colf02-low.
      perform f01_f4_field using space 'X' changing p_colf02-low.
    at selection-screen on value-request for p_colf03-low.
      perform f01_f4_field using space 'X' changing p_colf03-low.
    at selection-screen on value-request for p_lay06.
      perform f01_f4_fcode using space
                                 space
                        changing p_lay06.
    START-OF-SELECTION                                                   *
    start-of-selection.
      g_repid               = sy-repid.
      gs_test-select_amount = p_amount.
      gs_test-only_db_info  = p_dbinfo.
      gs_test-db_short      = p_dbshrt.
      gs_test-list_amount = p_list.
      gs_test-layo_title               = p_tit01.
      gs_test-layo_zebra               = p_lay01.
      gs_test-layo_no_horiz_lines      = p_lay02.
      gs_test-layo_no_vert_lines       = p_lay03.
      gs_test-layo_no_scrolling        = p_lay04.
      gs_test-layo_f2code              = p_lay06.
      gs_test-layo_confirmation_prompt = p_lay07.
      gs_test-layo_box                 = p_spa01.
      gs_test-layo_count               = p_spa02.
      gs_test-layo_no_colhead          = p_spa03.
      gs_test-layo_column_optimize     = p_spa04.
      gs_test-layo_no_hotspot          = p_hot01.
      if p_hot02 eq con_true.
        loop at p_hotf02.
          if not p_hotf02-low is initial.
            append p_hotf02-low to gs_test-layo_hotspot_rows.
          endif.
        endloop.
      endif.
      if p_hot03 eq con_true.
        loop at p_hotf03.
          if not p_hotf03-low is initial.
            append p_hotf03-low to gs_test-layo_hotspot_columns.
          endif.
        endloop.
      endif.
      case con_true.
        when p_mrg01.
          gs_test-layo_cell_merge          = space.
        when p_mrg02.
          gs_test-layo_cell_merge          = 'N'.
        when p_mrg03.
          gs_test-layo_cell_merge          = 'Y'.
      endcase.
      if p_out01 eq con_true.
        loop at p_outf01.
          if not p_outf01-low is initial.
            append p_outf01-low to gs_test-fcat_no_out_fields.
          endif.
        endloop.
      endif.
      if p_tec01 eq con_true.
        loop at p_tecf01.
          if not p_tecf01-low is initial.
            append p_tecf01-low to gs_test-fcat_tech_fields.
          endif.
        endloop.
      endif.
      if p_fix01 eq con_true.
        loop at p_fixf01.
          if not p_fixf01-low is initial.
            append p_fixf01-low to gs_test-fcat_fix_column_fields.
          endif.
        endloop.
      endif.
      gs_test-curr_amount = p_curanz.
      gs_test-curr_space  = p_curspc.
      if p_cur01 eq con_true or p_cur02 eq con_true.
        data: ls_fcat_curr type g_ty_s_fcat_curr.
        loop at p_curf00.
          clear ls_fcat_curr.
          if not p_curf00-low is initial.
            ls_fcat_curr-fieldname = p_curf00-low.
            case con_true.
              when p_cur01.
                ls_fcat_curr-cfieldname = p_curf01.
              when p_cur02.
                ls_fcat_curr-currency   = p_curf02.
            endcase.
            append ls_fcat_curr to gs_test-fcat_curr_fields.
          endif.
        endloop.
      endif.
      gs_test-layo_keys_hotspot        = p_key01.
      gs_test-layo_no_keyfix           = p_key02.
      gs_test-excp_display             = p_excp01.
      gs_test-excp_condense            = p_excp_c.
      gs_test-sum_before               = p_sum01.
      gs_test-sum_numc                 = p_sum02.
      gs_test-sum_no_unitsplit         = p_sum03.
      gs_test-sum_totals_only          = p_sum04.
      gs_test-sum_no_sumchoice         = p_sum05.
      gs_test-sum_no_sumline           = p_sum06.
      gs_test-sum_totals_text          = p_sum07.
      gs_test-sum_no_subchoice         = p_sum08.
      gs_test-sum_no_subtotals         = p_sum09.
      gs_test-sum_subtotals_text       = p_sum10.
      if p_dos01 eq con_true.
        loop at p_dosf01.
          if not p_dosf01-low is initial.
            append p_dosf01-low to gs_test-fcat_do_sum_fields.
          endif.
        endloop.
      endif.
      if p_nos01 eq con_true.
        loop at p_nosf01.
          if not p_nosf01-low is initial.
            append p_nosf01-low to gs_test-fcat_no_sum_fields.
          endif.
        endloop.
      endif.
      gs_test-layo_group_change_edit   = p_lpr01.
      gs_test-layo_get_selinfo         = p_lpr02.
      gs_test-layo_no_min_linesize     = p_lpr03.
      gs_test-layo_min_linesize        = p_lpr04.
      gs_test-layo_max_linesize        = p_lpr05.
      gs_test-prnt_print                  = p_prn01.
      gs_test-prnt_reserve_lines          = p_prn02.
      gs_test-prnt_no_listinfo            = p_prn03.
      gs_test-prnt_no_selinfo             = p_prn04.
      gs_test-prnt_with_title             = p_prn05.
      gs_test-prnt_footline               = p_prn06.
      gs_test-prnt_printinfo              = p_prn07.
      gs_test-prnt_no_coverpage           = p_prn08.
      gs_test-prnt_no_new_page            = p_prn09.
      gs_test-prnt_no_change_print_params = p_prn10.
      if p_col01 eq con_true.
        loop at p_colf01.
          if not p_colf01-low is initial.
            append p_colf01-low to gs_test-color_rows.
          endif.
        endloop.
      endif.
      if p_col02 eq con_true.
        loop at p_colf02.
          if not p_colf02-low is initial.
            append p_colf02-low to gs_test-color_fields_column.
          endif.
        endloop.
      endif.
      if p_col03 eq con_true.
        loop at p_colf03.
          if not p_colf03-low is initial.
            append p_colf03-low to gs_test-color_fields_cell.
          endif.
        endloop.
      endif.
      if p_evt01 eq con_true.
        append con_event_01 to gs_test-events.
      endif.
      if p_evt02 eq con_true.
        append con_event_02 to gs_test-events.
      endif.
      if p_evt03 eq con_true.
        append con_event_03 to gs_test-events.
      endif.
      if p_evt04 eq con_true.
        append con_event_04 to gs_test-events.
      endif.
      if p_evt05 eq con_true.
        append con_event_05 to gs_test-events.
      endif.
      if p_evt06 eq con_true.
        append con_event_06 to gs_test-events.
      endif.
      if p_evt07 eq con_true.
        append con_event_07 to gs_test-events.
      endif.
      if p_evt08 eq con_true.
        append con_event_08 to gs_test-events.
      endif.
      if p_evt09 eq con_true.
        append con_event_09 to gs_test-events.
      endif.
      if p_evt10 eq con_true.
        append con_event_10 to gs_test-events.
      endif.
      if p_evt11 eq con_true.
        append con_event_11 to gs_test-events.
      endif.
      if p_evt12 eq con_true.
        append con_event_12 to gs_test-events.
      endif.
      if p_evt13 eq con_true.
        append con_event_13 to gs_test-events.
      endif.
      if p_evt14 eq con_true.
        append con_event_14 to gs_test-events.
      endif.
      if p_evt15 eq con_true.
        append con_event_15 to gs_test-events.
      endif.
      if p_evt16 eq con_true.
        append con_event_16 to gs_test-events.
      endif.
      if p_evt17 eq con_true.
        append con_event_17 to gs_test-events.
      endif.
      gs_test-buffer_active            = space.
      gs_test-bypassing_buffer         = space.
    END-OF-SELECTION                                                     *
    end-of-selection.
      perform f01_call_list.
    *&      Form  f01_call_list
          text
    form f01_call_list .
      data: ls_prnt   type slis_print_alv,
            lt_excl   type slis_t_extab,
            l_exit    type char1,
            ls_exit   type slis_exit_by_user,
            l_list    type num1.
      call function 'REUSE_ALV_BLOCK_LIST_INIT'
        exporting
          i_callback_program       = g_repid
          i_callback_pf_status_set = ' '
          i_callback_user_command  = ' '
          it_excluding             = lt_excl.
      do gs_test-list_amount times.
        add 1 to l_list.
        perform f01_append_list using l_list.
      enddo.
      perform f01_set_prnt changing ls_prnt.
      call function 'REUSE_ALV_BLOCK_LIST_DISPLAY'
        exporting
          i_interface_check       = ' '
          is_print                = ls_prnt
          i_screen_start_column   = 0
          i_screen_start_line     = 0
          i_screen_end_column     = 0
          i_screen_end_line       = 0
        importing
          e_exit_caused_by_caller = l_exit
          es_exit_caused_by_user  = ls_exit
        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.                    " f01_call_list
    *&      Form  f01_append_list
          text
    form f01_append_list using value(i_list) type num1.
      data: ls_layo   type slis_layout_alv,
            lt_fcat   type slis_t_fieldcat_alv,
            lt_sort   type slis_t_sortinfo_alv,
            lt_evts   type slis_t_event,
            l_tabname type slis_tabname.
      field-symbols: <l_table> type any.
      perform f01_get_outtab using i_list.
      case i_list.
        when 1.
          gt_outtab1 = gt_outtab[].
        when 2.
          gt_outtab2 = gt_outtab[].
        when 3.
          gt_outtab3 = gt_outtab[].
        when 4.
          gt_outtab4 = gt_outtab[].
        when 5.
          gt_outtab5 = gt_outtab[].
        when 6.
          gt_outtab6 = gt_outtab[].
        when 7.
          gt_outtab7 = gt_outtab[].
        when 8.
          gt_outtab8 = gt_outtab[].
        when 9.
          gt_outtab9 = gt_outtab[].
      endcase.
      perform f01_set_layo changing ls_layo.
      perform f01_set_fcat changing lt_fcat.
      perform f01_set_evts changing lt_evts.
      concatenate 'LIST_' i_list into l_tabname.
      case i_list.
        when 1.
          call function 'REUSE_ALV_BLOCK_LIST_APPEND'
            exporting
              is_layout                  = ls_layo
              it_fieldcat                = lt_fcat
              i_tabname                  = l_tabname
              it_events                  = lt_evts
              it_sort                    = lt_sort
              i_text                     = 'Hello'              "#EC NOTEXT
            tables
              t_outtab                   = gt_outtab1
            exceptions
              program_error              = 1
              maximum_of_appends_reached = 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.
        when 2.
          call function 'REUSE_ALV_BLOCK_LIST_APPEND'
            exporting
              is_layout                  = ls_layo
              it_fieldcat                = lt_fcat
              i_tabname                  = l_tabname
              it_events                  = lt_evts
              it_sort                    = lt_sort
              i_text                     = 'Hello'              "#EC NOTEXT
            tables
              t_outtab                   = gt_outtab2
            exceptions
              program_error              = 1
              maximum_of_appends_reached = 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.
        when 3.
          call function 'REUSE_ALV_BLOCK_LIST_APPEND'
            exporting
              is_layout                  = ls_layo
              it_fieldcat                = lt_fcat
              i_tabname                  = l_tabname
              it_events                  = lt_evts
              it_sort                    = lt_sort
              i_text                     = 'Hello'              "#EC NOTEXT
            tables
              t_outtab                   = gt_outtab3
            exceptions
              program_error              = 1
              maximum_of_appends_reached = 2
              others                     = 3.
          if sy-subrc <> 0.
            message id sy-msgid type sy-msgty number sy-msgno
                    with sy-ms

Maybe you are looking for

  • Why don't I have Pointbase?

    I am totally new to Java. I downloaded and installed JDK1.6.0_14, J2EE 5.0, GlassFish, MySql, Netbeans 6.5.1, the whole package. Then I downloaded all the samples. I opened up the customer-cmp-ear sample in Netbeans and tried to run it. This error ap

  • Macbook pro froze and now wont boot up - Help please

    Hi The issue randomly occurred when I was on Google chrome and I wanted to move an app that was downloaded in the wrong place. I went to click finder and it wouldn't open, tried system preferences it wouldn't open. It also wouldn't let me use any of

  • Generics in EJBs - ejbc fails in 9.0b

    I have some SLSBs with typed collections such as Map<String,String> someMethod (Collection<Integer> on); in the local interface. The bean implementation implements this signature exactly. On startup, I'm getting messages like ...\EJBCompilerCache\-kb

  • Constant 27.0 beta notifications. More information link goes nowhere and install doesn't happen. Notifications are really annoying!

    I am constantly presented with an "update available" message (27.0 beta) but the update never downloads and the link to more information goes to your "Ooops" page. I see to be on the Beta update path. My browser is currently 26.0.

  • Camera raw7 not on cs6 ,where is it

    I have reloaded updates for camera raw 7.2, see it in preferences, won't show up on screen, CS6 doesn't start it, can't find it to start it.