Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- FORM alv_grid_report.
- IF NOT go_alv_100 IS BOUND.
- PERFORM instace_container_100.
- PERFORM build_field_cat_100.
- PERFORM build_layout_100.
- PERFORM instance_alv_100.
- PERFORM excluding_toolbar_functions.
- PERFORM set_alv_handler.
- PERFORM register_event.
- PERFORM display_alv_100.
- ELSE.
- PERFORM refresh_alv_100.
- ENDIF.
- ENDFORM.
- FORM instace_container_100.
- CREATE OBJECT go_alv_container_100
- EXPORTING
- * parent =
- container_name = 'ALV_CONTAINER_0100'
- * style =
- * lifetime = LIFETIME_DEFAULT
- * repid =
- * dynnr =
- * no_autodef_progid_dynnr =
- * 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.
- FORM build_field_cat_100.
- FIELD-SYMBOLS: <ls_fieldcat> TYPE lvc_s_fcat.
- CALL FUNCTION 'LVC_FIELDCATALOG_MERGE'
- EXPORTING
- * i_buffer_active =
- i_structure_name = 'ZST_ENVIAUNIDADES'
- * i_client_never_display = 'X'
- * i_bypassing_buffer =
- * i_internal_tabname =
- CHANGING
- ct_fieldcat = gt_field_catalog_100
- 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.
- ELSE.
- LOOP AT gt_field_catalog_100 ASSIGNING <ls_fieldcat>.
- CASE <ls_fieldcat>-fieldname.
- WHEN 'VBELN' OR 'MOTIVO' OR 'ERNAM' OR 'ASSING' OR 'FG' OR 'F_ASIG'
- OR 'VGBEL' OR 'KUNNR' OR 'VSTEL'.
- <ls_fieldcat>-tech = 'X'.
- WHEN 'UNIDAD'.
- <ls_fieldcat>-edit = 'X'.
- <ls_fieldcat>-f4availabl = 'X'.
- WHEN 'BEZEI'.
- <ls_fieldcat>-outputlen = '30'.
- <ls_fieldcat>-just = 'L'.
- ENDCASE.
- ENDLOOP.
- ENDIF.
- ENDFORM.
- FORM build_layout_100.
- DATA: ls_style_type TYPE lvc_s_styl.
- gs_layout_100-zebra = abap_true.
- * gs_layout_100-edit = abap_true.
- gs_layout_100-cwidth_opt = abap_true.
- gs_layout_100-sel_mode = 'D'.
- gs_layout_100-col_opt = ' '.
- gs_layout_100-stylefname = 'FIELD_STYLE'.
- * LOOP AT gt_report ASSIGNING FIELD-SYMBOL(<ls_field>).
- * ls_style_type-fieldname = 'UNIDAD'.
- * ls_style_type-style = cl_gui_alv_grid=>mc_style_disabled.
- * INSERT ls_style_type INTO TABLE <ls_field>-field_style.
- * ENDLOOP.
- ENDFORM.
- FORM set_alv_handler.
- IF go_event_alv_100 IS NOT BOUND.
- CREATE OBJECT go_event_alv_100.
- SET HANDLER : go_event_alv_100->handler_onf4 FOR go_alv_100,
- go_event_alv_100->handler_data_changed FOR go_alv_100,
- go_event_alv_100->handler_data_changed_finish FOR go_alv_100,
- go_event_alv_100->handler_toolbar FOR go_alv_100,
- go_event_alv_100->handler_user_command FOR go_alv_100.
- ENDIF.
- ENDFORM.
- FORM display_alv_100.
- go_alv_100->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 = gs_layout_100
- * is_print =
- * it_special_groups =
- it_toolbar_excluding = gt_toolbar_exc
- * it_hyperlink =
- * it_alv_graphics =
- * it_except_qinfo =
- * ir_salv_adapter =
- CHANGING
- it_outtab = gt_report
- it_fieldcatalog = gt_field_catalog_100
- * 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.
- FORM excluding_toolbar_functions.
- DATA : ls_exclude TYPE ui_func.
- ls_exclude = cl_gui_alv_grid=>mc_fc_info.
- APPEND ls_exclude TO gt_toolbar_exc.
- ls_exclude = cl_gui_alv_grid=>mc_fc_find_more.
- APPEND ls_exclude TO gt_toolbar_exc.
- ls_exclude = cl_gui_alv_grid=>mc_fc_print.
- APPEND ls_exclude TO gt_toolbar_exc.
- ls_exclude = cl_gui_alv_grid=>mc_fc_graph.
- APPEND ls_exclude TO gt_toolbar_exc.
- ls_exclude = cl_gui_alv_grid=>mc_fc_views.
- APPEND ls_exclude TO gt_toolbar_exc.
- ls_exclude = cl_gui_alv_grid=>mc_fc_views.
- APPEND ls_exclude TO gt_toolbar_exc.
- ls_exclude = cl_gui_alv_grid=>mc_mb_variant .
- APPEND ls_exclude TO gt_toolbar_exc.
- ls_exclude = cl_gui_alv_grid=>mc_fc_loc_delete_row.
- APPEND ls_exclude TO gt_toolbar_exc.
- ls_exclude = cl_gui_alv_grid=>mc_fc_loc_append_row.
- APPEND ls_exclude TO gt_toolbar_exc.
- ls_exclude = cl_gui_alv_grid=>mc_fc_loc_append_row.
- APPEND ls_exclude TO gt_toolbar_exc.
- ls_exclude = cl_gui_alv_grid=>mc_fc_loc_copy_row.
- APPEND ls_exclude TO gt_toolbar_exc.
- ls_exclude = cl_gui_alv_grid=>mc_fc_loc_move_row.
- APPEND ls_exclude TO gt_toolbar_exc.
- ls_exclude = cl_gui_alv_grid=>mc_fc_loc_copy.
- APPEND ls_exclude TO gt_toolbar_exc.
- ls_exclude = cl_gui_alv_grid=>mc_fc_loc_cut.
- APPEND ls_exclude TO gt_toolbar_exc.
- ls_exclude = cl_gui_alv_grid=>mc_fc_loc_paste.
- APPEND ls_exclude TO gt_toolbar_exc.
- ls_exclude = cl_gui_alv_grid=>mc_fc_loc_paste_new_row.
- APPEND ls_exclude TO gt_toolbar_exc.
- ls_exclude = cl_gui_alv_grid=>mc_fc_loc_undo.
- APPEND ls_exclude TO gt_toolbar_exc.
- ls_exclude = cl_gui_alv_grid=>mc_fc_refresh.
- APPEND ls_exclude TO gt_toolbar_exc.
- ls_exclude = cl_gui_alv_grid=>mc_fc_check.
- APPEND ls_exclude TO gt_toolbar_exc.
- ls_exclude = cl_gui_alv_grid=>mc_fc_subtot.
- APPEND ls_exclude TO gt_toolbar_exc.
- ls_exclude = cl_gui_alv_grid=>mc_mb_sum.
- APPEND ls_exclude TO gt_toolbar_exc.
- ls_exclude = cl_gui_alv_grid=>mc_mb_export.
- APPEND ls_exclude TO gt_toolbar_exc.
- ENDFORM.
- FORM instance_alv_100.
- CREATE OBJECT go_alv_100
- EXPORTING
- * i_shellstyle = 0
- * i_lifetime =
- i_parent = go_alv_container_100
- * 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.
- FORM refresh_alv_100.
- go_alv_100->refresh_table_display(
- * EXPORTING
- * is_stable = " With Stable Rows/Columns
- * i_soft_refresh = " Without Sort, Filter, etc.
- EXCEPTIONS
- finished = 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.
- FORM register_event.
- DATA: lt_f4 TYPE lvc_t_f4,
- ls_f4 TYPE lvc_s_f4.
- ls_f4-fieldname = 'UNIDAD'.
- ls_f4-register = abap_true.
- APPEND ls_f4 TO lt_f4.
- go_alv_100->register_f4_for_fields( it_f4 = lt_f4 ).
- CALL METHOD go_alv_100->register_edit_event
- EXPORTING
- i_event_id = cl_gui_alv_grid=>mc_evt_enter " Event ID
- EXCEPTIONS
- 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.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement