Beruflich Dokumente
Kultur Dokumente
*COLORING A CELL
PERFORM color_cell.
*DISPLAYING CELL AS PUSHBUTTON.
PERFORM cell_button.
*MAKING A CELL EDITABLE
PERFORM cell_edit.
*DISPLAYING THE OUTPUT.
PERFORM display.
ENDIF.
ENDMODULE.
" STATUS_9000 OUTPUT
*&---------------------------------------------------------------------*
*&
Module USER_COMMAND_9000 INPUT
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
MODULE user_command_9000 INPUT.
DATA : lv_ucomm TYPE sy-ucomm.
lv_ucomm = sy-ucomm.
CASE lv_ucomm.
WHEN 'CANCEL' .
PERFORM free_object.
LEAVE PROGRAM.
WHEN 'BACK'.
PERFORM free_objects.
SET SCREEN '0'.
LEAVE SCREEN.
ENDCASE.
ENDMODULE.
*&---------------------------------------------------------------------*
*&
Form CREATE_OBJECT
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
* --> p1
text
* <-- p2
text
*----------------------------------------------------------------------*
FORM create_object .
CREATE OBJECT o_docking
EXPORTING
*
PARENT
=
*
REPID
=
*
DYNNR
=
*
SIDE
= DOCK_AT_LEFT
*
EXTENSION
= 50
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
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.
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
ENDFORM.
" CREATE_OBJECT
*&---------------------------------------------------------------------*
*&
Form CREATE_FIELDCAT
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
* --> p1
text
* <-- p2
text
*----------------------------------------------------------------------*
FORM create_fieldcat .
CALL FUNCTION 'LVC_FIELDCATALOG_MERGE'
*
*
*
*
*
*
EXPORTING
I_BUFFER_ACTIVE
=
i_structure_name
= 'MARA'
I_CLIENT_NEVER_DISPLAY
= 'X'
I_BYPASSING_BUFFER
=
I_INTERNAL_TABNAME
=
CHANGING
ct_fieldcat
= i_field
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.
" CREATE_FIELDCAT
*&---------------------------------------------------------------------*
*&
Form SET_LAYOUT
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
* --> p1
text
* <-- p2
text
*----------------------------------------------------------------------*
FORM set_layout .
w_variant-report = sy-cprog.
w_layout-stylefname = 'CELLSTYLES'.
**W_LAYOUT-EDI = 'X'.
w_layout-ctab_fname = 'CELLCOLOR'.
ENDFORM.
" SET_LAYOUT
*&---------------------------------------------------------------------*
*&
Form COLOR_CELL
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
* --> p1
text
* <-- p2
text
*----------------------------------------------------------------------*
FORM color_cell .
CLEAR w_cellcolor.
w_cellcolor-fname = 'ERSDA'.
w_cellcolor-color-col = '5'.
w_cellcolor-color-int = '1'.
w_cellcolor-color-inv = '1'.
APPEND w_cellcolor TO wa-cellcolor.
MODIFY itab FROM wa INDEX 7 TRANSPORTING cellcolor.
ENDFORM.
" COLOR_CELL
*&---------------------------------------------------------------------*
*&
Form CELL_BUTTON
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
* --> p1
text
* <-- p2
text
*----------------------------------------------------------------------*
FORM cell_button .
CLEAR w_style.
w_style-fieldname = 'ERNAM'.
w_style-style = cl_gui_alv_grid=>mc_style_button.
APPEND w_style TO wa-cellstyles.
MODIFY itab FROM wa INDEX 1 TRANSPORTING cellstyles.
ENDFORM.
" CELL_BUTTON
*&---------------------------------------------------------------------*
*&
Form CELL_EDIT
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
* --> p1
text
* <-- p2
text
*----------------------------------------------------------------------*
FORM cell_edit .
DATA : lv_index TYPE sy-tabix VALUE 1.
************************************************************************
LOOP AT i_field ASSIGNING <fs>." INTO WA_FIELD.
CASE <fs>-fieldname.
WHEN 'ERNAM'.
<fs>-edit = 'X'.
ENDCASE.
ENDLOOP.
LOOP AT itab INTO wa.
IF lv_index = 4.
w_style-fieldname = 'ERNAM'.
w_style-style = cl_gui_alv_grid=>mc_style_enabled.
REFRESH wa-cellstyles.
APPEND w_style TO wa-cellstyles.
MODIFY itab FROM wa INDEX LV_INDEX TRANSPORTING cellstyles.
ELSE.
w_style-fieldname = 'ERNAM'.
w_style-style = cl_gui_alv_grid=>mc_style_disabled.
REFRESH wa-cellstyles.
APPEND w_style TO wa-cellstyles.
MODIFY itab FROM wa INDEX LV_INDEX TRANSPORTING cellstyles.
ENDIF.
lv_index = lv_index + 1.
ENDLOOP.
ENDFORM.
" CELL_EDIT
*&---------------------------------------------------------------------*
*&
Form DISPLAY
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
* --> p1
text
* <-- p2
text
*----------------------------------------------------------------------*
FORM display .
CALL METHOD o_grid->set_table_for_first_display
EXPORTING
*
I_BUFFER_ACTIVE
=
*
*
*
*
*
*
*
*
*
*
*
*
*
*
I_BYPASSING_BUFFER
=
I_CONSISTENCY_CHECK
=
I_STRUCTURE_NAME
=
is_variant
= w_variant
i_save
= 'A'
I_DEFAULT
= 'X'
is_layout
= w_layout
IS_PRINT
=
IT_SPECIAL_GROUPS
=
IT_TOOLBAR_EXCLUDING
=
IT_HYPERLINK
=
IT_ALV_GRAPHICS
=
IT_EXCEPT_QINFO
=
CHANGING
it_outtab
= itab
it_fieldcatalog
= i_field
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.
" DISPLAY
*&---------------------------------------------------------------------*
*&
Form FREE_OBJECT
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
* --> p1
text
* <-- p2
text
*----------------------------------------------------------------------*
FORM free_object .
CALL METHOD o_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
*
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
ENDFORM.
" FREE_OBJECT
*&---------------------------------------------------------------------*
*&
Form FREE_OBJECTS
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
* --> p1
text
* <-- p2
text
*----------------------------------------------------------------------*
FORM free_objects .
CALL METHOD o_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
*
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.