abap alv programming

Upload: debesh-swain

Post on 14-Apr-2018

301 views

Category:

Documents


11 download

TRANSCRIPT

  • 7/30/2019 ABAP ALV Programming

    1/27

    Intrduction To ALVAbap List viewer

    CODE SNIPPET FOR

    ALV

    By Debesh

    ALV LIST Di sp la y

    ALV GRID Di sp la y

    ALV usin g OOP

  • 7/30/2019 ABAP ALV Programming

    2/27

    Abap List viewer

    By Debesh Page 1

    1. ALV List & Grid Display (Page 1-12)2. ALV using OOPs (Page 13-26)

    ALV List & Grid Display

    *&---------------------------------------------------------------------*

    *& Report ZTEST_ALV_LIST_DISPLAY

    *&---------------------------------------------------------------------*

    *& DEVELOPER : DEBESH

    *& DATE : 29TH JANUARY

    *&---------------------------------------------------------------------*

    *& EXAMPLE ON ALV LIST DISPLAY

    *&---------------------------------------------------------------------*

    REPORT ztest_alv_list_display.

    ********** DATA DECLARATION *********

    TYPE-POOLS: slis.

    TABLES : ekko.

    DATA : BEGIN OF lt_ekpo OCCURS 0,

  • 7/30/2019 ABAP ALV Programming

    3/27

    Abap List viewer

    By Debesh Page 2

    ebelp LIKE ekpo-ebelp,

    matnr LIKE ekpo-matnr,

    bukrs LIKE ekpo-bukrs,

    werks LIKE ekpo-werks,

    lgort LIKE ekpo-lgort,

    bednr LIKE ekpo-bednr,

    menge LIKE ekpo-menge,

    netpr LIKE ekpo-netpr,

    netwr LIKE ekpo-netwr,

    brtwr LIKE ekpo-brtwr,

    ntgew LIKE ekpo-ntgew,

    END OF lt_ekpo.

    DATA : lt_catlog TYPE slis_t_fieldcat_alv.

    DATA : lv_repid TYPE sy-repid VALUE sy-repid.

    DATA : lt_events TYPE slis_t_event.

    ********** SELECTION SCREEN **********

    SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME.

    SELECT-OPTIONS : s_ebeln FOR ekko-ebeln NO INTERVALS NO-EXTENSION.

    PARAMETERS : r_rad1 TYPE c RADIOBUTTON GROUP rg1 ,

    r_rad2 TYPE c RADIOBUTTON GROUP rg1 .

    SELECTION-SCREEN END OF BLOCK b1.

    ********** ROUTINES DECLARATION **********

  • 7/30/2019 ABAP ALV Programming

    4/27

    Abap List viewer

    By Debesh Page 3

    PERFORM sub_collect_data.

    CHECK lt_ekpo[] IS NOT INITIAL.

    PERFORM sub_create_catlog.

    CHECK lt_catlog IS NOT INITIAL.

    PERFORM sub_get_events.

    PERFORM sub_display_list.

    ********* LOGIC *********

    *&---------------------------------------------------------------------*

    *& Form SUB_COLLECT_DATA

    *&---------------------------------------------------------------------*

    * COLLECT DATA FOR DISPLAY

    *----------------------------------------------------------------------*

    FORM sub_collect_data .

    SELECT ebelp

    matnr

    bukrs

    werks

    lgort

    bednr

    menge

    netpr

    netwr

    brtwr

  • 7/30/2019 ABAP ALV Programming

    5/27

    Abap List viewer

    By Debesh Page 4

    ntgew FROM ekpo

    INTO TABLE lt_ekpo

    WHERE ebeln IN s_ebeln.

    ENDFORM. " SUB_COLLECT_DATA

    *&---------------------------------------------------------------------*

    *& Form SUB_CREATE_CATLOG

    *&---------------------------------------------------------------------*

    * BUILD FIELD CATALOG

    *----------------------------------------------------------------------*

    FORM sub_create_catlog .

    CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'

    EXPORTING

    i_program_name = lv_repid

    i_internal_tabname = 'LT_EKPO'

    * I_STRUCTURE_NAME =

    * I_CLIENT_NEVER_DISPLAY = 'X'

    i_inclname = lv_repid

    * I_BYPASSING_BUFFER =

    * I_BUFFER_ACTIVE =

    CHANGING

    ct_fieldcat = lt_catlog

    EXCEPTIONS

    inconsistent_interface = 1

  • 7/30/2019 ABAP ALV Programming

    6/27

    Abap List viewer

    By Debesh Page 5

    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.

    **********************How to create catalog manually ???

    * fieldcatalog-fieldname = 'EBELN'.

    * fieldcatalog-seltext_m = 'Purchase Order'.

    * fieldcatalog-col_pos = 0.

    * fieldcatalog-outputlen = 10.

    * fieldcatalog-emphasize = 'X'.

    * fieldcatalog-key = 'X'.

    * append fieldcatalog to fieldcatalog.

    * clear fieldcatalog.

    ENDFORM. " SUB_CREATE_CATLOG

    *&---------------------------------------------------------------------*

    *& Form SUB_DISPLAY_LIST

    *&---------------------------------------------------------------------*

    * DISPLAY LIST

    *----------------------------------------------------------------------*

  • 7/30/2019 ABAP ALV Programming

    7/27

    Abap List viewer

    By Debesh Page 6

    FORM sub_display_list .

    IF NOT r_rad1 IS INITIAL.

    CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'

    EXPORTING

    * I_INTERFACE_CHECK = ' '

    * I_BYPASSING_BUFFER =

    * I_BUFFER_ACTIVE = ' '

    i_callback_program = lv_repid

    * I_CALLBACK_PF_STATUS_SET = ' '

    * I_CALLBACK_USER_COMMAND = ' '

    * I_STRUCTURE_NAME =

    * IS_LAYOUT =

    it_fieldcat = lt_catlog

    * IT_EXCLUDING =

    * IT_SPECIAL_GROUPS =

    * IT_SORT =

    * IT_FILTER =

    * IS_SEL_HIDE =

    * I_DEFAULT = 'X'

    * I_SAVE = ' '

    * IS_VARIANT =

    it_events = lt_events[]

    * IT_EVENT_EXIT =

    * IS_PRINT =

    * IS_REPREP_ID =

  • 7/30/2019 ABAP ALV Programming

    8/27

    Abap List viewer

    By Debesh Page 7

    * I_SCREEN_START_COLUMN = 0

    * I_SCREEN_START_LINE = 0

    * I_SCREEN_END_COLUMN = 0

    * I_SCREEN_END_LINE = 0

    * IR_SALV_LIST_ADAPTER =

    * IT_EXCEPT_QINFO =

    * I_SUPPRESS_EMPTY_DATA = ABAP_FALSE

    * IMPORTING

    * E_EXIT_CAUSED_BY_CALLER =

    * ES_EXIT_CAUSED_BY_USER =

    TABLES

    t_outtab = lt_ekpo

    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.

    ELSEIF NOT r_rad2 IS INITIAL.

    CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'

    EXPORTING

    * I_INTERFACE_CHECK = ' '

    * I_BYPASSING_BUFFER = ' '

  • 7/30/2019 ABAP ALV Programming

    9/27

    Abap List viewer

    By Debesh Page 8

    * I_BUFFER_ACTIVE = ' '

    i_callback_program = lv_repid

    * I_CALLBACK_PF_STATUS_SET = ' '

    * I_CALLBACK_USER_COMMAND = ' '

    i_callback_top_of_page = 'TOP-OF-PAGE'

    * I_CALLBACK_HTML_TOP_OF_PAGE = ' '

    * I_CALLBACK_HTML_END_OF_LIST = ' '

    * I_STRUCTURE_NAME =

    * I_BACKGROUND_ID = ' '

    * I_GRID_TITLE =

    * I_GRID_SETTINGS =

    * IS_LAYOUT =

    it_fieldcat = lt_catlog

    * IT_EXCLUDING =

    * IT_SPECIAL_GROUPS =

    * IT_SORT =

    * IT_FILTER =

    * IS_SEL_HIDE =

    * I_DEFAULT = 'X'

    * I_SAVE = ' '

    * IS_VARIANT =

    it_events = lt_events

    * IT_EVENT_EXIT =

    * IS_PRINT =

    * IS_REPREP_ID =

  • 7/30/2019 ABAP ALV Programming

    10/27

    Abap List viewer

    By Debesh Page 9

    * I_SCREEN_START_COLUMN = 0

    * I_SCREEN_START_LINE = 0

    * I_SCREEN_END_COLUMN = 0

    * I_SCREEN_END_LINE = 0

    * I_HTML_HEIGHT_TOP = 0

    * I_HTML_HEIGHT_END = 0

    * IT_ALV_GRAPHICS =

    * IT_HYPERLINK =

    * IT_ADD_FIELDCAT =

    * IT_EXCEPT_QINFO =

    * IR_SALV_FULLSCREEN_ADAPTER =

    * IMPORTING

    * E_EXIT_CAUSED_BY_CALLER =

    * ES_EXIT_CAUSED_BY_USER =

    TABLES

    t_outtab = lt_ekpo

    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.

  • 7/30/2019 ABAP ALV Programming

    11/27

    Abap List viewer

    By Debesh Page 10

    ENDIF.

    ENDFORM. " SUB_DISPLAY_LIST

    *&---------------------------------------------------------------------*

    *& Form sub_get_events

    *&---------------------------------------------------------------------*

    * text

    *----------------------------------------------------------------------*

    FORM sub_get_events .

    DATA : ls_events LIKE LINE OF lt_events.

    DATA : lv_index TYPE sy-tabix.

    CALL FUNCTION 'REUSE_ALV_EVENTS_GET'

    EXPORTING

    i_list_type = 0

    IMPORTING

    et_events = lt_events

    EXCEPTIONS

    list_type_wrong = 1

    OTHERS = 2.

    IF sy-subrc 0.

    MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno

    WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.

    ELSE.

    READ TABLE lt_events INTO ls_events WITH KEY name = 'TOP_OF_PAGE'.

    IF sy-subrc IS INITIAL.

  • 7/30/2019 ABAP ALV Programming

    12/27

    Abap List viewer

    By Debesh Page 11

    lv_index = sy-tabix.

    ls_events-name = 'TOP_OF_PAGE'.

    ls_events-form = 'TOP-OF-PAGE'.

    MODIFY lt_events INDEX lv_index FROM ls_events TRANSPORTING form.

    ENDIF.

    ENDIF.

    ENDFORM. " sub_get_events

    *&---------------------------------------------------------------------*

    *& Form top-of-page

    *&---------------------------------------------------------------------*

    * text

    *----------------------------------------------------------------------*

    FORM top-of-page.

    DATA : lt_comment TYPE slis_t_listheader,

    wa_comment TYPE slis_listheader,

    lv_header(100) TYPE c,

    lv_lines TYPE n.

    DESCRIBE TABLE lt_ekpo LINES lv_lines.

    wa_comment-typ = 'H'.

    wa_comment-key = ''.

    CONCATENATE text-001 s_ebeln-low '=' lv_lines INTO lv_header SEPARATED

    BY space.

    wa_comment-info = lv_header.

  • 7/30/2019 ABAP ALV Programming

    13/27

    Abap List viewer

    By Debesh Page 12

    APPEND wa_comment TO lt_comment.

    CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'

    EXPORTING

    it_list_commentary = lt_comment

    * I_LOGO =

    * I_END_OF_LIST_GRID =

    * I_ALV_FORM =

    .

    ENDFORM. "top-of-page

    OUTPUT

    1. List Display

    2. Grid Display

  • 7/30/2019 ABAP ALV Programming

    14/27

    Abap List viewer

    By Debesh Page 13

    ALV Display using OOP concept

    *&---------------------------------------------------------------------*

    *& Report ZTEST_ALV_OOP

    *&---------------------------------------------------------------------*

    *& DEVELOPER : DEBESH

    *& DATE : 30TH JANUARY

    *&---------------------------------------------------------------------*

    *& EXAMPLE ON ALV USING OOPS

    * Create a container - Create Grid inside container - Get catalog -

    * Collect data - Set o/p table inside grid

    *&---------------------------------------------------------------------*

    REPORT ZTEST_ALV_OOP.

    ********** DATA DECLARATION *********

    type-pools: slis.

    tables : ekko.

    types : begin of ty_ekpo ,

    ebelp like ekpo-ebelp,

    matnr like ekpo-matnr,

  • 7/30/2019 ABAP ALV Programming

    15/27

    Abap List viewer

    By Debesh Page 14

    bukrs like ekpo-bukrs,

    werks like ekpo-werks,

    lgort like ekpo-lgort,

    bednr like ekpo-bednr,

    menge like ekpo-menge,

    netpr like ekpo-netpr,

    netwr like ekpo-netwr,

    brtwr like ekpo-brtwr,

    ntgew like ekpo-ntgew,

    end of ty_ekpo.

    data : begin of lt_ekpo_tmp occurs 0, " For REUSE_ALV_FIELDCATALOG_MERGE

    ebelp like ekpo-ebelp, " as it does not support TYPE

    matnr like ekpo-matnr,

    bukrs like ekpo-bukrs,

    werks like ekpo-werks,

    lgort like ekpo-lgort,

    bednr like ekpo-bednr,

    menge like ekpo-menge,

    netpr like ekpo-netpr,

    netwr like ekpo-netwr,

    brtwr like ekpo-brtwr,

    ntgew like ekpo-ntgew,

    end of lt_ekpo_tmp.

    data : lt_ekpo type standard table of ty_ekpo.

    data : lt_catlog type lvc_t_fcat , " For LVC_FIELDCATALOG_MERGE

  • 7/30/2019 ABAP ALV Programming

    16/27

    Abap List viewer

    By Debesh Page 15

    ls_catlog type lvc_s_fcat.

    data : lt_catlog_temp type slis_t_fieldcat_alv, "For REUSE_FIELDCATALOG

    ls_catlog_temp type slis_fieldcat_alv. "_MERGE

    data : lv_repid type sy-repid value sy-repid.

    data : lt_events type slis_t_event.

    data : lo_cont1 type ref to cl_gui_docking_container, " DOCKET

    lo_cont type ref to cl_gui_custom_container, " CUSTOM

    lo_grid type ref to cl_gui_alv_grid.

    ********** SELECTION SCREEN **********

    selection-screen begin of block b1 with frame.

    select-options : s_ebeln for ekko-ebeln no intervals no-extension.

    selection-screen end of block b1.

    ********** ROUTINES DECLARATION **********

    start-of-selection.

    call screen 9000.

    *&---------------------------------------------------------------------*

    *& Module STATUS_9000 OUTPUT

    *&---------------------------------------------------------------------*

    * PBO routine

    *----------------------------------------------------------------------*

    module status_9000 output.

    set pf-status 'ZSTAT'.

    set titlebar 'ALV USING OOP'.

  • 7/30/2019 ABAP ALV Programming

    17/27

    Abap List viewer

    By Debesh Page 16

    perform sub_create_container.

    perform sub_create_grid.

    perform sub_collect_data.

    perform sub_create_catlog.

    perform sub_set_grid.

    endmodule. " STATUS_9000 OUTPUT

    *&---------------------------------------------------------------------*

    *& Form SUB_CREATE_CONTAINER

    *&---------------------------------------------------------------------*

    * Docket/Custom container can be used

    *----------------------------------------------------------------------*

    form sub_create_container .

    ******************** For DOCKET container

    create object lo_cont1

    exporting

    * parent =

    * repid =

    * dynnr =

    * side = dock_at_left

    * extension = 50

    * style =

    * lifetime = lifetime_default

    * caption =

    * metric = 0

    ratio = '95'

  • 7/30/2019 ABAP ALV Programming

    18/27

    Abap List viewer

    By Debesh Page 17

    * 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.

    *************************For Custom container

    * CREATE OBJECT lo_cont

    * EXPORTING

    ** parent =

    * container_name = 'LO_CONT'

    ** style =

    ** lifetime = lifetime_default

    ** repid =

    ** dynnr =

    ** no_autodef_progid_dynnr =

    * EXCEPTIONS

  • 7/30/2019 ABAP ALV Programming

    19/27

    Abap List viewer

    By Debesh Page 18

    * 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.

    endform. " SUB_CREATE_CONTAINER

    *&---------------------------------------------------------------------*

    *& Form SUB_CREATE_GRID

    *&---------------------------------------------------------------------*

    * Create a grid object

    *----------------------------------------------------------------------*

    form sub_create_grid .

    create object lo_grid

    exporting

    * i_shellstyle = 0

    * i_lifetime =

  • 7/30/2019 ABAP ALV Programming

    20/27

    Abap List viewer

    By Debesh Page 19

    i_parent = lo_cont1

    * i_appl_events = space

    * i_parentdbg =

    * i_applogparent =

    * i_graphicsparent =

    * i_name =

    * i_fcat_complete = space

    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.

    endform. " SUB_CREATE_GRID

    *&---------------------------------------------------------------------*

    *& Form SUB_CREATE_CATLOG

    *&---------------------------------------------------------------------*

    * Use REUSE_ALV_FIELDCATALOG_MERGE when an internal table or local

    * structure is used for data collecting table.

  • 7/30/2019 ABAP ALV Programming

    21/27

    Abap List viewer

    By Debesh Page 20

    * Use LVC_FIELDCATALOG_MERGE when global structure is used

    *----------------------------------------------------------------------*

    form sub_create_catlog .

    call function 'REUSE_ALV_FIELDCATALOG_MERGE'

    exporting

    i_program_name = lv_repid

    i_internal_tabname = 'LT_EKPO_TMP'

    * I_STRUCTURE_NAME =

    * I_CLIENT_NEVER_DISPLAY = 'X'

    i_inclname = lv_repid

    * I_BYPASSING_BUFFER =

    * I_BUFFER_ACTIVE =

    changing

    ct_fieldcat = lt_catlog_temp

    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.

  • 7/30/2019 ABAP ALV Programming

    22/27

    Abap List viewer

    By Debesh Page 21

    loop at lt_catlog_temp into ls_catlog_temp.

    move-corresponding ls_catlog_temp to ls_catlog.

    append ls_catlog to lt_catlog.

    clear ls_catlog.

    endloop.

    *****************LVC_FIELDCATALOG_MERGE is used only for DDIC structures

    * CALL FUNCTION 'LVC_FIELDCATALOG_MERGE'

    * EXPORTING

    ** I_BUFFER_ACTIVE =

    ** I_STRUCTURE_NAME =

    ** I_CLIENT_NEVER_DISPLAY = 'X'

    ** I_BYPASSING_BUFFER =

    * i_internal_tabname = 'LT_EKPO'

    * CHANGING

    * ct_fieldcat = lt_catlog

    * 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.

  • 7/30/2019 ABAP ALV Programming

    23/27

    Abap List viewer

    By Debesh Page 22

    endform. " SUB_CREATE_CATLOG

    *&---------------------------------------------------------------------*

    *& Form SUB_COLLECT_DATA

    *&---------------------------------------------------------------------*

    * text

    *----------------------------------------------------------------------*

    form sub_collect_data .

    select ebelp

    matnr

    bukrs

    werks

    lgort

    bednr

    menge

    netpr

    netwr

    brtwr

    ntgew from ekpo

    into table lt_ekpo

    where ebeln in s_ebeln.

    if sy-subrc is initial.

    lt_ekpo_tmp[] = lt_ekpo.

    endif.

  • 7/30/2019 ABAP ALV Programming

    24/27

    Abap List viewer

    By Debesh Page 23

    endform. " SUB_COLLECT_DATA

    *&---------------------------------------------------------------------*

    *& Form SUB_SET_GRID

    *&---------------------------------------------------------------------*

    * GRID display using SET_TABLE_FOR_FIRST_DISPLAY

    *----------------------------------------------------------------------*

    form sub_set_grid .

    call method lo_grid->set_table_for_first_display

    * EXPORTING

    * i_buffer_active =

    * i_bypassing_buffer =

    * i_consistency_check =

    * i_structure_name =

    * is_variant =

    * i_save =

    * i_default = 'X'

    * is_layout =

    * is_print =

    * it_special_groups =

    * it_toolbar_excluding =

    * it_hyperlink =

    * it_alv_graphics =

    * it_except_qinfo =

    * ir_salv_adapter =

  • 7/30/2019 ABAP ALV Programming

    25/27

    Abap List viewer

    By Debesh Page 24

    changing

    it_outtab = lt_ekpo

    it_fieldcatalog = lt_catlog

    * it_sort =

    * it_filter =

    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.

    endform. " SUB_SET_GRID

    *&---------------------------------------------------------------------*

    *& Module USER_COMMAND_9000 INPUT

    *&---------------------------------------------------------------------*

    * User Interaction

    *----------------------------------------------------------------------*

    module user_command_9000 input.

    data lv_ucomm type sy-ucomm.

    lv_ucomm = sy-ucomm.

  • 7/30/2019 ABAP ALV Programming

    26/27

    Abap List viewer

    By Debesh Page 25

    case lv_ucomm.

    when 'EXIT'.

    perform sub_free_objects.

    leave program.

    when 'BACK'.

    perform sub_free_objects.

    set screen '0'.

    leave screen.

    endcase.

    endmodule. " USER_COMMAND_9000 INPUT

    *&---------------------------------------------------------------------*

    *& Form SUB_FREE_OBJECTS

    *&---------------------------------------------------------------------*

    * Free grid and container respectively

    *----------------------------------------------------------------------*

    form sub_free_objects .

    call method lo_grid->free

    exceptions

    cntl_error = 1

    cntl_system_error = 2

    others = 3.

    if sy-subrc 0.

    message id sy-msgid type sy-msgty number sy-msgno

  • 7/30/2019 ABAP ALV Programming

    27/27

    Abap List viewer

    with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.

    endif.

    call method lo_cont1->free

    exceptions

    cntl_error = 1

    cntl_system_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. " SUB_FREE_OBJECTS

    Output