OOPS ALV using Docking container

Hi,
  I am trying to use ALV using oops concept, but the report is not displaying the ALV grid.
{please let me know if there are any error.
Edited by: Arunsri on Jun 3, 2010 5:42 PM
Edited by: Rob Burbank on Jun 3, 2010 11:57 AM

data : alv_container  type ref to cl_gui_docking_container.
data : alv_grid       type ref to cl_gui_alv_grid.
data : layout    type lvc_s_layo.
data : variant type  disvariant.
check alv_container is initial.
  CREATE OBJECT alv_container
    EXPORTING
*     parent                      =
      repid                       = sy-repid
      dynnr                       = sy-dynnr
      side                        = alv_container->dock_at_left
*      extension                   = 1550
*     style                       =
*     lifetime                    = lifetime_default
*     caption                     =
*     metric                      = 0
*     ratio                       = '95'
*     no_autodef_progid_dynnr     =
*     name                        =
    EXCEPTIONS
      cntl_error                  = 1
      cntl_system_error           = 2
      create_error                = 3
      lifetime_error              = 4
      lifetime_dynpro_dynpro_link = 5
      OTHERS                      = 6
  IF sy-subrc <> 0.
    MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
               WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
  ENDIF.
*- Make the docking container as parent to the grid
  CREATE OBJECT alv_grid
    EXPORTING
      i_parent          = alv_container
    EXCEPTIONS
      error_cntl_create = 1
      error_cntl_init   = 2
      error_cntl_link   = 3
      error_dp_create   = 4
      OTHERS            = 5.
  IF sy-subrc <> 0.
    MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
               WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
  ENDIF.
*  layout-zebra = 'X'.
  PERFORM build_fieldcat.
  variant-report = sy-repid.
*- Call grid for display
  CALL METHOD alv_grid->set_table_for_first_display
    EXPORTING
      i_structure_name               = 'WT_TEST'
      is_variant                    = variant
      i_save                         = 'A'
*      is_layout                      = layout
    CHANGING
      it_outtab                      = WT_TEST
      it_fieldcatalog                = wt_fcat_log
    EXCEPTIONS
      invalid_parameter_combination = 1
      program_error                 = 2
      too_many_lines                = 3
      OTHERS                        = 4
  IF sy-subrc <> 0.
    MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
               WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
  ENDIF.

Similar Messages

  • Can I use Docking container in Subscreen

    Hi Friends,
       I have used Docking container in subscreen,its instance is getting created ,but i am unable to view it .
    So,can I use docking container in Subscreen?

    Hi Bujji,
    here is the code is have used for creating docking container.
    pls,check it once
      IF ref_members_container IS INITIAL.
        lt_fldcat = ref_matrix->mt_sxxx_keys.
        CREATE OBJECT ref_members_container
          EXPORTING
          PARENT                      =
          REPID                       =
            dynnr                       = c_screen-new_member
            side                        = lc_dock_side
          extension                   = 300
          lifetime                    = 1  " Life time screen
            ratio                       = '95'
          EXCEPTIONS
            cntl_error                  = 1
            cntl_system_error           = 2
            create_error                = 3
            lifetime_error              = 4
            lifetime_dynpro_dynpro_link = 5
            others                      = 6.
        CREATE OBJECT ref_members_grid
          EXPORTING
            i_parent          = ref_members_container
          EXCEPTIONS
            error_cntl_create = 1
            error_cntl_init   = 2
            error_cntl_link   = 3
            error_dp_create   = 4
            others            = 5.
        ls_layout-zebra = c_true.
        ls_layout-sel_mode = 'A'.   " Multiple Selection
        CALL METHOD ref_members_grid->set_table_for_first_display
          EXPORTING
       I_BYPASSING_BUFFER            =
       I_BUFFER_ACTIVE               =
       I_CONSISTENCY_CHECK           =
       I_STRUCTURE_NAME              =
       IS_VARIANT                    =
       I_SAVE                        =
       I_DEFAULT                     = 'X'
            is_layout                  = ls_layout
       IS_PRINT                      =
       IT_SPECIAL_GROUPS             =
       IT_TOOLBAR_EXCLUDING          =
       IT_HYPERLINK                  =
       IT_ALV_GRAPHICS               =
          CHANGING
            it_outtab                = <lt_keys>
            it_fieldcatalog          = lt_fldcat
       IT_SORT                       =
       IT_FILTER                     =
          EXCEPTIONS
            invalid_parameter_combination = 1
            program_error                 = 2
            too_many_lines                = 3
            OTHERS                        = 4.
      ELSE.
        CALL METHOD ref_members_grid->tables_display_refresh
          CHANGING
            it_outtab = <lt_keys>.
      ENDIF.

  • Problem with ALV in Docking container

    Dear All,
    I have created an <b>editable ALV</b> in a <b>docking container</b>. In this ALV there are some custom buttons in the toolbar. In case a custom activity, in the toolbar, is executed some checks are performed which when fail an error message issued.
    The problem: After the error msg is received if the user corrects the error and re-executes the toolbar custom activity the execution of the program is being terminated and it takes me out of the transaction which should not be the case. I tried to debug/place a hard break-point at the piece of code which should be executed but no success..
    Note: In case i use a custom control then everything is working fine. The reason i want to use a docking container over a custom container, is that if the ALV is placed in a docking container it occupies the complete screen area irrespective of the resolution of the screen.
    Can anyone help as to why this problem is happening and how it can be resolved.
    Thanks in advance for your help.
    regards
    Nitesh

    Well, if you want to try to use a custom container, the trick is to make the screen really big, and then make the container just as big, then double click on the control in screen painter, and set the vertical and horizontal resizing.   Doing this will make the ALV adjust depending on screen resolution. 
    Regards,
    RIch Heilman

  • TWO ALV USING SPLITTER CONTAINER

    HI ALL.
    I WANT TO DISPLAY TWO DIFFERENT ALV USING SPLITTER.
    ON DOUBLE CLICKING THE FIRST ALV THE SECOND ALV GET CALLED RESPECTIVE OF THE FIELDS I CHOOSE ON CLICKING
    THE FIRST LIST IS IN LEFT SPLITTER . AND THE SECOND LIST IS  IN RIGHT SPLITTER .
    Moderator message: many examples are available, please search before asking, do not post in all upper case in these forums.
    Edited by: Thomas Zloch on Dec 2, 2010 1:08 PM

    Hi,
    CREATE OBJECT g_custom_container
        EXPORTING
          container_name = 'CONTAINER'.
    CREATE OBJECT g_custom_container1
        EXPORTING
          container_name = 'CONTAINER1'.
    CREATE OBJECT g_splitter
                      EXPORTING parent = G_CUSTOM_container
                                rows    = 1
                                columns = 2.
    CALL METHOD g_splitter->get_container
                          EXPORTING row      = 1
                                    column   = 1
                          RECEIVING container = g_container_1.
        CALL METHOD g_splitter->get_container
                      EXPORTING row      = 1
                                column   = 2
                      RECEIVING container = g_container_2.
    CREATE OBJECT g_splitter1
                      EXPORTING parent = G_CUSTOM_container
                                rows    = 1
                                columns = 2.
    CALL METHOD g_splitter->get_container
                          EXPORTING row      = 1
                                    column   = 1
                          RECEIVING container = g_container_1.
        CALL METHOD g_splitter->get_container
                      EXPORTING row      = 1
                                column   = 2
                      RECEIVING container = g_container_2.
    CALL METHOD g_splitter->get_container
                      EXPORTING row      = 1
                                column   = 2
                      RECEIVING container = g_container_2.
    call method g_splitter1----
    >set_table_for_first_display.
    call method g_splitter2----
    >set_table_for_first_display.
    regards,
    muralii

  • Problem in OOPs ALV using the BOX_FNAME property in LAYOUT

    Hello Guys,
    I am trying to use the property BOX_FNAME property in the LAYOUT of OOPs ALV, as a CHECKBOX for selecting the records and then processing the selected records.
    Also i need to implement the functionality of SELECT/DESELECT ALL.
    Below is the code i am using:-
    DATA : w_layo  TYPE lvc_s_layo.                    " Layout
    w_layo-box_fname = 'MARKE'.
    MARKE is a field used in internal table as CHAR01 field.
    But know when i select record on display, the internal table field MARKE is not reflected back with the values.
    Please suggest if i am missing something.
    Thanks in advance.
    Regards,
    Tarun Gambhir

    Solved by own, using method GET_SELECTED_ROWS of class CL_GUI_ALV_GRID.
    Regards,
    Tarun

  • Restrict resizing while using Docking Container

    All,
    How can we restrict the resizing the docking container with class GL_CUI_DOCKING_CONTAINER. Currently it is displaying in full screen. but donot want user to resize the SCREEN.
    create object g_docking_container
        exporting
          repid     = g_repid
          dynnr     = '300'
          extension = 99999
          side      = cl_gui_docking_container=>dock_at_right.

    Hi,
    Don't know how to do this for docking container but you can use splitter container instead and remove the option for resizing it.
    r_split_container->set_row_sash( id    = 1
                                               type  = me->r_split_container->type_movable
                                               value = me->r_split_container->false ).
    Regards
    Marcin

  • OOPS ALV - Short dump

    Hi,
    While i create a report with grid display with oops ALV using custom container, its giving short dump..
    DUMP: CNTL ERROR ouccured..

    Hi Phani,
    Make sure you have done below things correctly.
    While creating a container control in SE51, make sure you have given a name to it in the attributes & use the same name in the ABAP code with data declaration as below:
    Suppose you have named the container control in SE51 as CC_CONTAINER
    DATA :
      g_Container TYPE scrfname VALUE 'CC_CONTAINER',
    g_Custom_Container TYPE REF TO CL_GUI_CUSTOM_CONTAINER
    g_Grid TYPE REF TO CL_GUI_ALV_GRID.
    Also first create a CONTAINER object with reference to container name in the screen & then  Create GRID object with reference to parent name
    IF g_Custom_Container IS INITIAL.
        CREATE OBJECT g_Custom_Container EXPORTING CONTAINER_NAME = g_Container.
        CREATE OBJECT g_Grid EXPORTING I_PARENT = g_Custom_Container.
    & Finally called method Set table for display for Grid as below :
    " SET_TABLE_FOR_FIRST_DISPLAY
        CALL METHOD g_Grid->SET_TABLE_FOR_FIRST_DISPLAY
          EXPORTING
    Also make sure that you have activated the code in PBO & PAI in SE51.
    With these it shouldnt give the above error.
    Hope this helps.
    Regards
    Abhii

  • In OOPS ALV docking container gives error while execute in Background.

    When i try to use Docking container to execute OOPS ALV in background the jobs still fails with Switch framework error.
    Kindly let me know your inputs to resolve the same.
    Thank you !!

    Hello Nalini,
    Yes, it is possible to schedule background.
    data: or_doc  type ref to cl_gui_docking_container .
    if cl_gui_alv_grid=>offline( ) is initial.
        create object or_custom_container
               exporting container_name = cust_container.
      create object or_grid
             exporting i_parent = or_custom_container.
    else .
    create object or_grid
             exporting i_parent = or_doc .
    endif .
    Regards,
    Vadamalai A.
    Message was edited by: Matthew Billingham

  • Background Execution Problem-Docking Container with 2 ALV Grids in one scre

    Hi Friends,
    I have created 2 ALV Grids in one screen - one below another using DOCKING CONTAINER.
    The objects are 'g_dock_cont' and 'g_dock_cont1'.
    I am getting the foreground output as expected with 2 ALV Grids.
    While executing in background (F9), I am getting only output of first ALV grid. Second ALV is not getting displayed in BACKGROUND(F9) mode.
    How to solve this.
    FORM create_objects.
    * Materials with data
      IF   g_dock_cont IS INITIAL.
       IF sy-batch NE 'X'.
    *CREATE THE OBJECT FOR DOCKING CONTAINER
        CREATE OBJECT g_dock_cont
          EXPORTING
            side                  = cl_gui_docking_container=>dock_at_top
            extension             = 300.
        ENDIF.
    *CREATE THE OBJECT FOR ALV GRID
        CREATE OBJECT g_alvgrid
               EXPORTING i_parent = g_dock_cont.
        wa_layout-grid_title =
              'Materials with Data'.
      ENDIF.
    IF NOT I_DETAIL[] IS INITIAL.
    CALL METHOD g_alvgrid->set_table_for_first_display
      EXPORTING
        IS_VARIANT                    = WA_VARIANT_STX
        IS_LAYOUT                     = wa_layout
      CHANGING
        it_outtab                     = I_DETAIL
        IT_FIELDCATALOG               = LIT_FIELDCATALOG[]
      EXCEPTIONS
        INVALID_PARAMETER_COMBINATION = 1
        PROGRAM_ERROR                 = 2
        TOO_MANY_LINES                = 3
        others                        = 4
    IF sy-subrc <> 0.
    ENDIF.
    ENDIF.
    *MATERIALS WITHOUT DATA
      IF   g_dock_cont1 IS INITIAL.
       IF sy-batch NE 'X'.
    *CREATE THE OBJECT FOR DOCKING CONTAINER
        CREATE OBJECT g_dock_cont1
          EXPORTING
            side                  = cl_gui_docking_container=>dock_at_bottom
            extension             = 300.
       ENDIF.
    *CREATE THE OBJECT FOR ALV GRID
        CREATE OBJECT g_alvgrid1
               EXPORTING i_parent = g_dock_cont1.
        wa_layout1-grid_title =
              'Materials without Data'.
      ENDIF.
    IF NOT I_MARA[] IS INITIAL.
    CALL METHOD g_alvgrid1->set_table_for_first_display
      EXPORTING
        IS_LAYOUT                     = wa_layout1
      CHANGING
        it_outtab                     = I_MARA
        IT_FIELDCATALOG               = i_fieldcat[]
      EXCEPTIONS
        INVALID_PARAMETER_COMBINATION = 1
        PROGRAM_ERROR                 = 2
        TOO_MANY_LINES                = 3
        others                        = 4
    IF sy-subrc <> 0.
    ENDIF.
    ENDIF.
    ENDFORM.                    " create_objects
    Regards,
    Viji.

    Hi,
    What i was saying is that you need to code again for background mode of execution.
    AT END OF SELECTION.
    IF SY-BATCH EQ 'X'.
      PERFORM DISPLAY1.
      PERFORM DISPLAY2.
    In DISPLAY1 use REUSE_ALV_LIST_DISPLAY to display data from outtab1.
    In DISPLAY2 use REUSE_ALV_LIST_DISPLAY to display data from outtab2.
    For example : execute this report in background mode.this will not execute in online mode.
    After execution you will get two spools one for KNA1 and one for LFA1 data. Spool can be controlled via IS_PRINT structure.
    report  zrbackground.
    data gt_lfa1 type standard table of lfa1.
    data gt_kna1 type standard table of kna1.
    start-of-selection.
      select * from lfa1 into table gt_lfa1 up to 10 rows.
      select * from kna1 into table gt_kna1 up to 20 rows.
    end-of-selection.
      if sy-batch eq 'X'.
        perform display_lfa1.
        perform display_kna1.
      endif.
    *&      Form  DISPLAY_LFA1
          text
    -->  p1        text
    <--  p2        text
    form display_lfa1 .
      call function 'REUSE_ALV_LIST_DISPLAY'
        exporting
          i_callback_program = sy-repid
          i_structure_name   = 'LFA1'
        tables
          t_outtab           = gt_lfa1
        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_LFA1
    *&      Form  DISPLAY_KNA1
          text
    -->  p1        text
    <--  p2        text
    form display_kna1 .
      call function 'REUSE_ALV_LIST_DISPLAY'
        exporting
          i_callback_program = sy-repid
          i_structure_name   = 'KNA1'
        tables
          t_outtab           = gt_kna1
        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_KNA1
    Please let me know if its not clear or you need more info.
    Thanks,
    Abhishek
    Edited by: abhishek sinha on May 8, 2009 7:42 PM
    Edited by: abhishek sinha on May 8, 2009 8:45 PM

  • How to set background color in a docking container?

    Hi guys!
    Is it possible to set a background color for a docking container?
    I don't find any appropriate method to do that.
    Is there actually a way?

    Hi,
    Please refer the below program as a reference for Color using Docking Container Concept.
    REPORT zcuitest_alv_07.
    * Use of colours in ALV grid (cell, line and column)            *
    * Table
    TABLES : mara.
    * Type
    TYPES : BEGIN OF ty_mara,
              matnr         LIKE mara-matnr,
              matkl         LIKE mara-matkl,
              counter(4)    TYPE n,
              free_text(15) TYPE c,
              color_line(4) TYPE c,           " Line color
              color_cell    TYPE lvc_t_scol,  " Cell color
    END OF ty_mara.
    * Structures
    DATA  : wa_mara     TYPE ty_mara,
            wa_fieldcat TYPE lvc_s_fcat,
            is_layout   TYPE lvc_s_layo,
            wa_color    TYPE lvc_s_scol.
    * Internal table
    DATA : it_mara     TYPE STANDARD TABLE OF ty_mara,
           it_fieldcat TYPE STANDARD TABLE OF lvc_s_fcat,
           it_color    TYPE TABLE          OF lvc_s_scol.
    * Variables
    DATA : okcode LIKE sy-ucomm,
           w_alv_grid          TYPE REF TO cl_gui_alv_grid,
           w_docking_container TYPE REF TO cl_gui_docking_container.
    PARAMETERS : p_column AS CHECKBOX,
                 p_line   AS CHECKBOX,
                 p_cell   AS CHECKBOX.
    START-OF-SELECTION.
      PERFORM get_data.
    END-OF-SELECTION.
      PERFORM fill_catalog.
      PERFORM fill_layout.
      CALL SCREEN 2000.
    *&      Module  status_2000  OUTPUT
    *       text
    MODULE status_2000 OUTPUT.
      SET PF-STATUS '2000'.
    ENDMODULE.                 " status_2000  OUTPUT
    *&      Module  user_command_2000  INPUT
    *       text
    MODULE user_command_2000 INPUT.
      DATA : w_okcode LIKE sy-ucomm.
      MOVE okcode TO w_okcode.
      CLEAR okcode.
      CASE w_okcode.
        WHEN 'BACK'.
          LEAVE TO SCREEN 0.
      ENDCASE.
    ENDMODULE.                 " user_command_2000  INPUT
    *&      Module  alv_grid  OUTPUT
    *       text
    MODULE alv_grid OUTPUT.
      IF w_docking_container IS INITIAL.
        PERFORM create_objects.
        PERFORM display_alv_grid.
      ENDIF.
    ENDMODULE.                 " alv_grid  OUTPUT
    *&      Form  create_objects
    *       text
    *  -->  p1        text
    *  <--  p2        text
    FORM create_objects.
    * Ratio must be included in [5..95]
      CREATE OBJECT w_docking_container
        EXPORTING
          ratio                       = 95
        EXCEPTIONS
          cntl_error                  = 1
          cntl_system_error           = 2
          create_error                = 3
          lifetime_error              = 4
          lifetime_dynpro_dynpro_link = 5
          others                      = 6.
      CREATE OBJECT w_alv_grid
        EXPORTING
          i_parent          = w_docking_container.
    ENDFORM.                    " create_objects
    *&      Form  display_alv_grid
    *       text
    *  -->  p1        text
    *  <--  p2        text
    FORM display_alv_grid.
      CALL METHOD w_alv_grid->set_table_for_first_display
        EXPORTING
          is_layout                     = is_layout
        CHANGING
          it_outtab                     = it_mara
          it_fieldcatalog               = it_fieldcat
        EXCEPTIONS
          invalid_parameter_combination = 1
          program_error                 = 2
          too_many_lines                = 3
          OTHERS                        = 4.
    ENDFORM.                    " display_alv_grid
    *&      Form  get_data
    *       text
    *  -->  p1        text
    *  <--  p2        text
    FORM get_data.
      SELECT * FROM mara UP TO 5 ROWS.
        CLEAR : wa_mara-color_line, wa_mara-color_cell.
        MOVE-CORRESPONDING mara TO wa_mara.
        ADD 1                   TO wa_mara-counter.
        MOVE 'Blabla'           TO wa_mara-free_text.
        IF wa_mara-counter = '0002'
        AND p_line = 'X'.
    * Color line
          MOVE 'C410' TO wa_mara-color_line.
        ELSEIF wa_mara-counter = '0004'
        AND p_cell = 'X'.
    * Color cell
          MOVE 'FREE_TEXT' TO wa_color-fname.
          MOVE '5'         TO wa_color-color-col.
          MOVE '1'         TO wa_color-color-int.
          MOVE '1'         TO wa_color-color-inv.
          APPEND wa_color TO it_color.
          wa_mara-color_cell[] = it_color[].
        ENDIF.
        APPEND wa_mara TO it_mara.
      ENDSELECT.
    ENDFORM.                    " get_data
    *&      Form  fill_catalog
    *       text
    *  -->  p1        text
    *  <--  p2        text
    FORM fill_catalog.
    * Colour code :                                                 *
    * Colour is a 4-char field where :                              *
    *              - 1st char = C (color property)                  *
    *              - 2nd char = color code (from 0 to 7)            *
    *                                  0 = background color         *
    *                                  1 = blue                     *
    *                                  2 = gray                     *
    *                                  3 = yellow                   *
    *                                  4 = blue/gray                *
    *                                  5 = green                    *
    *                                  6 = red                      *
    *                                  7 = orange                   *
    *              - 3rd char = intensified (0=off, 1=on)           *
    *              - 4th char = inverse display (0=off, 1=on)       *
    * Colour overwriting priority :                                 *
    *   1. Line                                                     *
    *   2. Cell                                                     *
    *   3. Column                                                   *
      DATA : w_position TYPE i VALUE '1'.
      CLEAR wa_fieldcat.
      MOVE w_position TO wa_fieldcat-col_pos.
      MOVE 'MATNR'    TO wa_fieldcat-fieldname.
      MOVE 'MARA'     TO wa_fieldcat-ref_table.
      MOVE 'MATNR'    TO wa_fieldcat-ref_field.
      APPEND wa_fieldcat TO it_fieldcat.
      ADD 1 TO w_position.
      CLEAR wa_fieldcat.
      MOVE w_position TO wa_fieldcat-col_pos.
      MOVE 'MATKL'    TO wa_fieldcat-fieldname.
      MOVE 'MARA'     TO wa_fieldcat-ref_table.
      MOVE 'MATKL'    TO wa_fieldcat-ref_field.
    * Color column
      IF p_column = 'X'.
        MOVE 'C610'     TO wa_fieldcat-emphasize.
      ENDIF.
      APPEND wa_fieldcat TO it_fieldcat.
      ADD 1 TO w_position.
      CLEAR wa_fieldcat.
      MOVE w_position TO wa_fieldcat-col_pos.
      MOVE 'COUNTER'  TO wa_fieldcat-fieldname.
      MOVE 'N'        TO wa_fieldcat-inttype.
      MOVE '4'        TO wa_fieldcat-intlen.
      MOVE 'Counter'  TO wa_fieldcat-coltext.
      APPEND wa_fieldcat TO it_fieldcat.
      ADD 1 TO w_position.
      CLEAR wa_fieldcat.
      MOVE w_position  TO wa_fieldcat-col_pos.
      MOVE 'FREE_TEXT' TO wa_fieldcat-fieldname.
      MOVE 'C'         TO wa_fieldcat-inttype.
      MOVE '20'        TO wa_fieldcat-intlen.
      MOVE 'Text'      TO wa_fieldcat-coltext.
      APPEND wa_fieldcat TO it_fieldcat.
    ENDFORM.                    " fill_catalog
    *&      Form  fill_layout
    *       text
    *  -->  p1        text
    *  <--  p2        text
    FORM fill_layout.
    * Field that identify color line in internal table
      MOVE 'COLOR_LINE' TO is_layout-info_fname.
    * Field that identify cell color in inetrnal table
      MOVE 'COLOR_CELL' TO is_layout-ctab_fname.
    ENDFORM.                    " fill_layout

  • Tree in oops alv

    hi all,
    i want to know how to add a tree like structure of folder in a container
    which is the class and method for this, and please mention something splitting a container
    thanks in advance,

    Hi,
    Go through this program for ALV Tree:
    BCALV_TEST_SIMPLE_TREE
    and, do not use split screen instead use docking container which is best suitable for ur requirement (i feel) Go through for
    * Docking Container
    data docking type ref to cl_gui_docking_container.
    * Picture Control
    data picture type ref to cl_gui_picture.
    * Definition of Control Framework
    data  init.
    data ok_code type sy-ucomm.
    data repid type sy-repid.
    data dynnr type sy-dynnr.
        repid = sy-repid.
        dynnr = sy-dynnr.
    * create the docking container
        create object docking
                      exporting repid     = repid
                                dynnr     = dynnr
                                side      = docking->dock_at_left
                                extension = 180.
    * create the picture container
        create object picture
                      exporting parent = docking.
    Intstead of creating picture control creatr ALV here.
    Jogdand M B

  • Create simple ALV using Classes

    hi all,
    How to create a ALV report using Classes....?
    any links or feedback will be appreciated.
    Thanks in Advance.

    Check this Sample code using Docking container. In case of docking container no need of custom container required on screen.
    REPORT  ztest_oo_a.
    DATA: it_flight TYPE sflight_tab1.
    DATA: dock TYPE REF TO cl_gui_docking_container,
          grid TYPE REF TO cl_gui_alv_grid.
    SELECT *
      FROM sflight
      INTO TABLE it_flight
      UP TO 20 ROWS.
    CALL SCREEN 100.
    *&      Module  STATUS_0100  OUTPUT
    *       text
    MODULE status_0100 OUTPUT.
      SET PF-STATUS 'SATR'.
      CREATE OBJECT dock
        EXPORTING
          repid     = sy-repid
          dynnr     = '100'
          extension = '1500'
        EXCEPTIONS
          cntl_error                  = 1
          cntl_system_error           = 2
          create_error                = 3
          lifetime_error              = 4
          lifetime_dynpro_dynpro_link = 5
          OTHERS                      = 6
      IF sy-subrc ne  0.
        MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
                   WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
      ENDIF.
      CREATE OBJECT grid EXPORTING i_parent = dock.
      CALL METHOD grid->set_table_for_first_display
        EXPORTING
          i_structure_name              = 'SFLIGHT'
        CHANGING
          it_outtab                     = it_flight
        EXCEPTIONS
          invalid_parameter_combination = 1
          program_error                 = 2
          too_many_lines                = 3
          OTHERS                        = 4.
      IF sy-subrc ne 0.
        MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
                   WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
      ENDIF.
    ENDMODULE.                 " STATUS_0100  OUTPUT
    *&      Module  USER_COMMAND_0100  INPUT
    *       text
    MODULE user_command_0100 INPUT.
      CASE sy-ucomm.
        WHEN 'BACK'.
          LEAVE TO SCREEN 0.
      ENDCASE.
    ENDMODULE.                 " USER_COMMAND_0100  INPUT
    Flow Logic
    PROCESS BEFORE OUTPUT.
    MODULE STATUS_0100.
    PROCESS AFTER INPUT.
    MODULE USER_COMMAND_0100.

  • Docking Container and CL_SALV_TREE

    Hi,
    i get problems with this code.
    i'm using docking container, not customer container.
      CREATE OBJECT GR_DCONTAINER
        EXPORTING
          PARENT = CL_GUI_CONTAINER=>SCREEN0
          SIDE   = CL_GUI_DOCKING_CONTAINER=>DOCK_AT_LEFT
          RATIO  = 90.
      PERFORM DYNP_SPLITTEN.
      CREATE OBJECT GR_ALVGRID_RIGHT
        EXPORTING
          I_PARENT = O_PARENT_GRID_RIGHT.
      TRY.
          CL_SALV_TREE=>FACTORY(
            EXPORTING
              R_CONTAINER  = O_PARENT_GRID_RIGHT
            IMPORTING
              R_SALV_TREE  = GR_TREE
            CHANGING
              T_TABLE      = ITAB ).
    <b>    CATCH CX_SALV_NO_NEW_DATA_ALLOWED CX_SALV_ERROR.
          EXIT.</b>
      ENDTRY.
    i get the catch-event and the report ends.
    Question: Does the ALV-TREE need customer container or can
    i use docking container (how??).
    thanks for help.
    Regards Dieter

    Sure,  in this case, it is impelmented in a docking container hanging from a selection screen, but it is pretty much the same as hanging off a dynpro.
    REPORT zrich_0001.
    DATA: gt_outtab1 TYPE TABLE OF sflight,
          gt_outtab2 TYPE TABLE OF sflight.
    DATA: ls_outtab TYPE sflight.
    DATA: gr_tree  TYPE REF TO cl_salv_tree.
    DATA: nodes TYPE REF TO cl_salv_nodes,
          node TYPE REF TO cl_salv_node.
    DATA: docking TYPE REF TO cl_gui_docking_container.
    PARAMETERS: p_check.
    AT SELECTION-SCREEN OUTPUT.
      CREATE OBJECT docking
          EXPORTING
    *         PARENT = CL_GUI_CONTAINER=>SCREEN0
               side = cl_gui_docking_container=>dock_at_left
              ratio = 90.
    *... Select Data
      SELECT * FROM sflight INTO CORRESPONDING FIELDS OF TABLE gt_outtab1 UP TO 5 ROWS.
    *... Create Instance with an Empty Table
      CALL METHOD cl_salv_tree=>factory
        EXPORTING
          r_container = docking
        IMPORTING
          r_salv_tree = gr_tree
        CHANGING
          t_table     = gt_outtab2.
    *... Add the Nodes to the Tree
      nodes = gr_tree->get_nodes( ).
      LOOP AT gt_outtab1 INTO ls_outtab.
        TRY.
            node = nodes->add_node( related_node = ' '
                                    relationship = cl_gui_column_tree=>relat_first_child ).
            node->set_data_row( ls_outtab ).
          CATCH cx_salv_msg.
        ENDTRY.
      ENDLOOP.
    *... Display Table
      gr_tree->display( ).
    Regards,
    RIch Heilman

  • Docking container like in se80

    Hi, i have create a docking container like in the left side of se80. the next way is to fill the docking container of my dynpro, can someone give me a example how to handle?

    Hello Muhammet
    In almost all of my ZUS_SDN... sample report I use docking container, e.g.
    alv
    I think this report give you an idea how to work with a docking container.
    Regards
      Uwe

  • Docking Container - Custom Container

    Hi Friends,
    I have the following doubts.
    1. What all are the advantages of Docking and Custom Container.
    2. Under what scenario's we use Docking over Custom Container.
    3. I want to have 2 ALV GRID's in one screen one below another. Shall I use Docking Container?
        internal table I_MARA with 10 records and I_MARC with 20 records.
        Explain how to achieve this using Docking Container with code.
    Regards,
    Viji.

    hi vijayalakshmi
    you can use 2 custom containers in that screen for two ALV grid
    *& Report  ZLISTBOX1                                                   *
    REPORT  zlistbox1                               .
    *parameters: date like sy-datum.
    TABLES: lfa1,ekko.
    TYPE-POOLS: slis,sdydo.
    *select-options: vendor for lfa1-lifnr.
    DATA: itab TYPE TABLE OF ekko,
          identity TYPE REF TO cl_gui_custom_container,
          l_list TYPE slis_t_listheader,
          l_logo TYPE sdydo_value,
          l_identity TYPE REF TO cl_gui_custom_container,
          l_tree TYPE REF TO cl_gui_alv_tree_simple,
          tree TYPE REF TO cl_gui_alv_tree_simple,
          fcat TYPE lvc_t_fcat,
          sort_b TYPE lvc_t_sort,
          sort_w TYPE lvc_s_sort.
    CALL SCREEN 100.
    *&      Module  USER_COMMAND_0100  INPUT
          text
    MODULE user_command_0100 INPUT.
      CASE sy-ucomm.
        WHEN 'DISPLAY'.
          PERFORM col_head.
          PERFORM output.
          PERFORM sort.
          IF l_identity IS INITIAL.
            CREATE OBJECT l_identity
            EXPORTING
            container_name = 'LOGO'.
            CREATE OBJECT l_tree
            EXPORTING
            i_parent = l_identity.
            PERFORM logo USING l_logo.
            CALL METHOD l_tree->create_report_header
              EXPORTING
                it_list_commentary = l_list
                i_logo             = l_logo.
          ENDIF.
          IF identity IS INITIAL.
            CREATE OBJECT identity
            EXPORTING
            container_name = 'JANAGAR'.
            CREATE OBJECT tree
            EXPORTING
            i_parent = identity.
            CALL METHOD tree->set_table_for_first_display
              CHANGING
                it_outtab       = itab
                it_fieldcatalog = fcat
                it_sort         = sort_b.
          ENDIF.
    *refresh itab.
          CALL METHOD tree->refresh_table_display.
        WHEN 'EXIT'.
          LEAVE PROGRAM.
      ENDCASE.
    ENDMODULE.                 " USER_COMMAND_0100  INPUT
    *&      Form  logo
          text
         -->P_LOGO     text
    FORM logo USING p_logo.
      p_logo = 'ENJOYSAP_LOGO'.
    ENDFORM.                    "logo
    *&      Form  col_head
          text
    FORM col_head.
      CALL FUNCTION 'LVC_FIELDCATALOG_MERGE'
       EXPORTING
      I_BUFFER_ACTIVE              =
         i_structure_name             = 'EKKO'
      I_CLIENT_NEVER_DISPLAY       = 'X'
      I_BYPASSING_BUFFER           =
      I_INTERNAL_TABNAME            = ITAB
        CHANGING
          ct_fieldcat                  = fcat.
    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.
    ENDFORM.                    "col_head
    *&      Form  output
          text
    FORM output.
      SELECT * FROM ekko INTO TABLE itab WHERE lifnr = lfa1-lifnr.
    ENDFORM.                    "output
    *&      Form  sort
          text
    FORM sort.
      sort_w-spos = 1.
      sort_w-fieldname = 'EBELN'.
      APPEND sort_w TO sort_b.
      sort_w-spos = 2.
      sort_w-fieldname = 'AEDAT'.
      APPEND sort_w TO sort_b.
      sort_w-spos = 3.
      sort_w-fieldname = 'BUKRS'.
      APPEND sort_w TO sort_b.
    ENDFORM.                    "sort
    cheers
    s.janagar

Maybe you are looking for

  • How can I cancel my iCloud Storage Upgrade?

    I enthusiastically upgarded my storage to 100GB the other day, thinking that iCloud would suit my needs.  However, I am on Google Apps for my business and it seems that iCloud will not sync, and I am not willing to switch to all iCloud at this time.

  • Calculation of Depreciation for Tax for India

    Hi In India, there is a requirement that the Depreciation for Income Tax should be calculated based on the date of Acquisition. If an asset has been acquired before or on completion of 180 days of a Financial Year, than the calculation of Depreciatio

  • Lightroom 1.0 and size restriction (limit)

    Does anybody know what the size limitation is in the new version ? I personally think it is a design flaw that users cannot use Lightroom to catalog large files. I understand that doing any adjustments or the like could be too much for the program to

  • Has anyone else noticed that the Verizon reps in here are just not very helpful?

    Maybe its me, but I notice that the worse responses to someone in need come from those with Verizon customer service.  Its like they are not really paying attention to the question, responses, or problem and just type a pat scripted response with thi

  • Server Configuration - Limitation

    Environment Details:  XI 3 Build 12.1.8.1176 OS :  Windows 2003 R2 SP 2 Standard Edition Memory: Xenon X5355 -2.66 GHz on VM - 4 GB RAM Number of Web I Process - 2 on 1 machine. Development approch taken is, refresh reports, store as Web I with data,