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

Custom Controls

Former Member
0 Likes
583

I have dragged a custom control onto my screen painter in order

to display an ALV Grid.

In my ABAP code I have created an instance of the grid in

a PBO event handler. How do I bind the created grid to the

custom control on the screen?

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
556

Something like this -:)


  IF CUSTOM_CONTAINER IS INITIAL.
    CREATE OBJECT CUSTOM_CONTAINER
       EXPORTING
           CONTAINER_NAME = MYCONTAINER
       EXCEPTIONS
           CNTL_ERROR = 1
           CNTL_SYSTEM_ERROR = 2
           CREATE_ERROR = 3
           LIFETIME_ERROR = 4
           LIFETIME_DYNPRO_DYNPRO_LINK = 5.

    CREATE OBJECT GRID
          EXPORTING I_PARENT = CUSTOM_CONTAINER.

    CREATE OBJECT EVENT_RECEIVER.

    SET HANDLER EVENT_RECEIVER->HANDLE_TOOLBAR FOR GRID.

    CALL METHOD GRID->SET_TABLE_FOR_FIRST_DISPLAY
         EXPORTING IS_VARIANT       = GS_VARIANT
                   I_SAVE           = X_SAVE
                   I_DEFAULT        = 'X'
                   IS_LAYOUT        = GS_LAYOUT
         CHANGING  IT_FIELDCATALOG  = GT_FIELDCAT
                   IT_SORT          = GT_SORT[]
                   IT_OUTTAB        = T_ZTSEQL_ZTSEQS[].
  ELSE.

    CALL METHOD GRID->REFRESH_TABLE_DISPLAY.

  ENDIF.

Where the Custom Control is stored in MYCONTAINER...


DATA: MYCONTAINER TYPE SCRFNAME VALUE 'ALV_ZTSEQL_ZTSEQS'.

Greetings,

Blag.

5 REPLIES 5
Read only

Former Member
0 Likes
557

Something like this -:)


  IF CUSTOM_CONTAINER IS INITIAL.
    CREATE OBJECT CUSTOM_CONTAINER
       EXPORTING
           CONTAINER_NAME = MYCONTAINER
       EXCEPTIONS
           CNTL_ERROR = 1
           CNTL_SYSTEM_ERROR = 2
           CREATE_ERROR = 3
           LIFETIME_ERROR = 4
           LIFETIME_DYNPRO_DYNPRO_LINK = 5.

    CREATE OBJECT GRID
          EXPORTING I_PARENT = CUSTOM_CONTAINER.

    CREATE OBJECT EVENT_RECEIVER.

    SET HANDLER EVENT_RECEIVER->HANDLE_TOOLBAR FOR GRID.

    CALL METHOD GRID->SET_TABLE_FOR_FIRST_DISPLAY
         EXPORTING IS_VARIANT       = GS_VARIANT
                   I_SAVE           = X_SAVE
                   I_DEFAULT        = 'X'
                   IS_LAYOUT        = GS_LAYOUT
         CHANGING  IT_FIELDCATALOG  = GT_FIELDCAT
                   IT_SORT          = GT_SORT[]
                   IT_OUTTAB        = T_ZTSEQL_ZTSEQS[].
  ELSE.

    CALL METHOD GRID->REFRESH_TABLE_DISPLAY.

  ENDIF.

Where the Custom Control is stored in MYCONTAINER...


DATA: MYCONTAINER TYPE SCRFNAME VALUE 'ALV_ZTSEQL_ZTSEQS'.

Greetings,

Blag.

Read only

Former Member
0 Likes
556

Hi,

Check the BALVGRID* programs in SE38..

OR

Check the development class SLIS for sample ALV programs..

Thanks,

Naren

Read only

Former Member
0 Likes
556

Hello,

FORM display_alv

IF gr_alvgrid IS INITIAL .

*----Creating custom container instance

CREATE OBJECT gr_ccontainer

EXPORTING

container_name = gc_custom_control_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.

*--Exception handling

ENDIF.

*----Creating ALV Grid instance

CREATE OBJECT gr_alvgrid

EXPORTING

i_parent = gr_ccontainer

EXCEPTIONS

error_cntl_create = 1

error_cntl_init = 2

error_cntl_link = 3

error_dp_create = 4

others = 5 .

IF sy-subrc <> 0.

*--Exception handling

ENDIF.

*----Preparing field catalog.

PERFORM prepare_field_catalog CHANGING gt_fieldcat .

*----Preparing layout structure

PERFORM prepare_layout CHANGING gs_layout .

*----Here will be additional preparations

*--e.g. initial sorting criteria, initial filtering criteria, excluding

*--functions

CALL METHOD gr_alvgrid->set_table_for_first_display

EXPORTING

  • I_BUFFER_ACTIVE =

  • I_CONSISTENCY_CHECK =

  • I_STRUCTURE_NAME =

  • IS_VARIANT =

  • I_SAVE =

  • I_DEFAULT = 'X'

is_layout = gs_layout

  • IS_PRINT =

  • IT_SPECIAL_GROUPS =

  • IT_TOOLBAR_EXCLUDING =

  • IT_HYPERLINK =

CHANGING

it_outtab = gt_list[]

it_fieldcatalog = gt_fieldcat

  • IT_SORT =

  • IT_FILTER =

EXCEPTIONS

invalid_parameter_combination = 1

program_error = 2

too_many_lines = 3

OTHERS = 4 .

IF sy-subrc <> 0.

*--Exception handling

ENDIF.

ELSE .

CALL METHOD gr_alvgrid->refresh_table_display

  • EXPORTING

  • IS_STABLE =

  • I_SOFT_REFRESH =

EXCEPTIONS

finished = 1

OTHERS = 2 .

IF sy-subrc <> 0.

*--Exception handling

ENDIF.

ENDIF .

ENDFORM .

Read only

Former Member
0 Likes
556

I am using CL_SALV_GRID

It has an optional importing parameter of type cl_gui_container.

I assign the custom control to this parameter, but still see only the

custom control when launching the application. The other controls

on the screen painter are not rendered and visible.

Read only

Former Member
0 Likes
556

Thanks Alvaro,

Your code answered my question. I just had to change it

for my class -- cl_salv_table.