Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

regarding custom control

Former Member
0 Likes
395

hi,

i wnt to know how to call a existing alv report in a custom control.

actually i have made a tabstrip. in the first strip of it a call screen.in that sub screen i call a custom control.in that custom control i want to call an existing alv.plz send me the code in detail.

with regrds

nilabichi

2 REPLIES 2
Read only

Former Member
0 Likes
375

Check this code may it will help you

REPORT ZTEST_DIL4 .

TABLES ZMSTKSUM.

DATA : OK_CODE LIKE SY-UCOMM,

TAB_DISPLAY TYPE TABLE OF ZMSTKSUM,

C_CONTAINER TYPE SCRFNAME VALUE 'DILEEP_TEST1',

ALV_GRID TYPE REF TO CL_GUI_ALV_GRID,

C_CUSTOM_CONTAINER TYPE REF TO CL_GUI_CUSTOM_CONTAINER.

SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001.

SELECT-OPTIONS : S_WERKS FOR ZMSTKSUM-WERKS.

SELECTION-SCREEN END OF BLOCK B1.

SELECT * FROM ZMSTKSUM INTO TABLE TAB_DISPLAY WHERE WERKS IN S_WERKS.

CALL SCREEN 100.

*&----


*& Module STATUS_0100 OUTPUT

*&----


  • text

*----


MODULE STATUS_0100 OUTPUT.

SET PF-STATUS 'MAIN'.

  • SET TITLEBAR 'xxx'.

IF C_CUSTOM_CONTAINER IS INITIAL.

CREATE OBJECT C_CUSTOM_CONTAINER EXPORTING CONTAINER_NAME = C_CONTAINER

.

CREATE OBJECT ALV_GRID EXPORTING I_PARENT = C_CUSTOM_CONTAINER.

CALL METHOD ALV_GRID->SET_TABLE_FOR_FIRST_DISPLAY

EXPORTING

  • I_BUFFER_ACTIVE =

  • I_BYPASSING_BUFFER =

I_STRUCTURE_NAME = 'ZMSTKSUM'

  • IS_VARIANT =

  • I_SAVE =

  • I_DEFAULT = 'X'

  • IS_LAYOUT =

  • IS_PRINT =

  • IT_SPECIAL_GROUPS =

  • IT_TOOLBAR_EXCLUDING =

CHANGING

IT_OUTTAB = TAB_DISPLAY

  • IT_FIELDCATALOG =

  • IT_SORT =

  • IT_FILTER =

  • EXCEPTIONS

  • INVALID_PARAMETER_COMBINATION = 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.

ENDIF.

ENDMODULE. " STATUS_0100 OUTPUT

*&----


*& Module USER_COMMAND_0100 INPUT

*&----


  • text

*----


MODULE USER_COMMAND_0100 INPUT.

CASE OK_CODE.

WHEN 'EXIT'.

LEAVE PROGRAM.

ENDCASE.

ENDMODULE. " USER_COMMAND_0100 INPUT

Read only

Former Member
0 Likes
375

Check this sample code..

REPORT  ztest_oo_a.
 
DATA: it_flight TYPE sflight_tab1.
DATA: dock TYPE REF TO cl_gui_docking_container,
      split TYPE REF TO cl_gui_splitter_container,
      grid1 TYPE REF TO cl_gui_alv_grid,
      grid2 TYPE REF TO cl_gui_alv_grid,
      doc1 TYPE REF TO cl_gui_docking_container,
      con22 TYPE REF TO cl_gui_docking_container.
 
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 = '600'
      side     = '1'
    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.
 
  CREATE OBJECT doc1
    EXPORTING
      repid     = sy-repid
      dynnr     = '100'
      extension = '1000'
      side     = '4'
    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.
 
 
  CREATE OBJECT grid1 EXPORTING i_parent = dock.
 
 
  CALL METHOD grid1->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  0.
    MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
               WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
  ENDIF.
 
  CREATE OBJECT grid2 EXPORTING i_parent = doc1.
 
 
  CALL METHOD grid2->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