Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- CLASS zcl_zpm_rmc_equi DEFINITION
- PUBLIC
- CREATE PUBLIC .
- PUBLIC SECTION.
- INTERFACES zif_rmc_gui_alv_grid .
- METHODS free .
- METHODS constructor
- IMPORTING
- !ir_cont TYPE REF TO cl_gui_container
- !ir_prot_cont TYPE REF TO cl_gui_container
- !iv_qmnum TYPE qmnum OPTIONAL
- !iv_aufnr TYPE aufnr OPTIONAL
- !iv_tplnr TYPE tplnr
- !iv_equnr TYPE equnr
- !it_1 TYPE zpm_rmc_t_equi_ausbau
- !it_2 TYPE zpm_rmc_t_equi_einbau .
- .
- METHODS refresh_protocol .
- METHODS check
- RETURNING
- VALUE(rv) TYPE flag .
- METHODS get_table
- EXPORTING
- it_1 TYPE zpm_rmc_t_equi_ausbau
- it_2 TYPE zpm_rmc_t_equi_einbau .
- CLASS-METHODS get_text_ktext
- IMPORTING
- iv TYPE aufnr
- RETURNING
- VALUE(rv) TYPE ktext.
- CLASS-METHODS get_text_qmtxt
- IMPORTING
- iv TYPE zpm_rmc_s_equi_ausbau-qmnum
- RETURNING
- VALUE(rv) TYPE zpm_rmc_s_equi_ausbau-qmtxt.
- CLASS-METHODS bapiret_to_show
- IMPORTING
- it_return TYPE bapiret2_t
- iv_filer_type TYPE char4 .
- CLASS-METHODS get_instance
- IMPORTING
- !ir_cont TYPE REF TO cl_gui_container
- !ir_prot_cont TYPE REF TO cl_gui_container
- !iv_qmnum TYPE qmnum DEFAULT '000010000217'
- !iv_aufnr TYPE aufnr OPTIONAL
- !iv_tplnr TYPE tplnr OPTIONAL
- !iv_equnr TYPE equnr OPTIONAL
- !it_1 TYPE zpm_rmc_t_equi_ausbau OPTIONAL
- !it_2 TYPE zpm_rmc_t_equi_einbau OPTIONAL
- RETURNING
- VALUE(rr_instance) TYPE REF TO zcl_zpm_rmc_equi .
- CLASS-METHODS save
- IMPORTING
- !it_1 TYPE zpm_rmc_t_equi_ausbau
- !it_2 TYPE zpm_rmc_t_equi_einbau
- RETURNING VALUE(rt) TYPE bapiret2_tab.
- PROTECTED SECTION.
- PRIVATE SECTION.
- TYPES:
- BEGIN OF ts_data,
- qmnum TYPE qmnum,
- aufnr TYPE aufnr,
- tplnr TYPE tplnr,
- equnr TYPE equnr,
- END OF ts_data .
- TYPES: BEGIN OF ts_message,
- msgid TYPE symsgid,
- msgty TYPE symsgty,
- msgno TYPE symsgno,
- msgv1 TYPE string,
- msgv2 TYPE string,
- msgv3 TYPE string,
- msgv4 TYPE string,
- fieldname TYPE lvc_fname,
- row_id TYPE int4,
- tabix TYPE int4,
- END OF ts_message.
- TYPES: tty_values TYPE STANDARD TABLE OF ddshretval.
- CLASS-DATA gr_instance TYPE REF TO zcl_zpm_rmc_equi .
- DATA gr_cont_equim TYPE REF TO cl_gui_container .
- DATA gt_fcat TYPE lvc_t_fcat .
- DATA gs_layout TYPE lvc_s_layo .
- DATA gt_data TYPE zpm_rmc_t_equi_ausbau .
- DATA gt_excl TYPE ui_functions .
- DATA gt_error TYPE lvc_t_err.
- DATA gr_pmcs_alv TYPE REF TO cl_gui_alv_grid .
- DATA gr_prot_cont_equim TYPE REF TO cl_gui_container .
- DATA gr_prot TYPE REF TO cl_alv_changed_data_protocol .
- CLASS-DATA gc_full_d TYPE raw4 VALUE '04100000' ##NO_TEXT.
- CLASS-DATA gc_onlyf4 TYPE raw4 VALUE '00100000' ##NO_TEXT. .
- CLASS-METHODS dismantle
- IMPORTING
- is TYPE zpm_rmc_s_equi_ausbau
- iv_commit TYPE abap_bool
- RETURNING
- VALUE(rt) TYPE bapiret2.
- CLASS-METHODS install
- IMPORTING
- is TYPE zpm_rmc_s_equi_einbau
- iv_commit TYPE abap_bool
- RETURNING
- VALUE(r_result) TYPE bapiret2.
- METHODS get_data
- IMPORTING
- !is TYPE ts_data
- RETURNING
- VALUE(rt) TYPE zpm_rmc_t_equi_ausbau .
- METHODS set_display .
- METHODS setup_alv .
- METHODS conv_tplnr_input
- IMPORTING
- iv TYPE zpm_rmc_s_equi_ausbau-ntplnr
- RETURNING
- VALUE(rv) TYPE zpm_rmc_s_equi_ausbau-npltxt.
- METHODS get_text_tplnr
- IMPORTING
- iv TYPE zpm_rmc_s_equi_ausbau-npltxt
- RETURNING
- VALUE(rv) TYPE zpm_rmc_s_equi_ausbau-vpltxt.
- METHODS get_zpm_rmc_equmbau
- IMPORTING
- iv TYPE zpm_rmc_s_equi_ausbau-vtplnr
- RETURNING
- VALUE(rv) TYPE zpm_rmc_s_equi_ausbau-npltxt.
- METHODS get_text_equnr
- IMPORTING
- iv TYPE equnr
- RETURNING
- VALUE(rv) TYPE zpm_rmc_s_equi_ausbau-eqktx.
- METHODS get_superequi
- IMPORTING
- iv TYPE zpm_rmc_s_equi_ausbau-equnr
- RETURNING
- VALUE(rv) TYPE zpm_rmc_s_equi_ausbau-superequi.
- METHODS f4_with_customized_params
- IMPORTING
- i_display_only TYPE abap_bool DEFAULT space
- i_max_records TYPE i DEFAULT space
- i_shlp_name TYPE shlpname "Name of a Search Help
- it_ddshifaces TYPE ddshifaces " Complete Interface of Search Help for Screen
- EXPORTING
- et_values TYPE tfw_ddshretval_tab .
- METHODS get_equnr_f4
- RETURNING
- VALUE(rv) TYPE zpm_rmc_s_equi_ausbau-equnr.
- METHODS set_style
- IMPORTING
- iv_name TYPE string
- iv_style TYPE raw4
- CHANGING
- ct TYPE lvc_t_styl.
- METHODS get_tplnr
- IMPORTING
- iv TYPE zpm_rmc_s_equi_ausbau-equnr
- RETURNING
- VALUE(rv) TYPE zpm_rmc_s_equi_ausbau-vtplnr.
- METHODS get_tplnr_f4
- RETURNING
- VALUE(rv) TYPE zpm_rmc_s_equi_ausbau-ntplnr.
- METHODS set_error
- IMPORTING
- ism TYPE ts_message.
- METHODS fill_lines_aufnr
- IMPORTING
- lv_aufnr TYPE aufnr
- RETURNING
- VALUE(rt) TYPE zpm_rmc_t_equi_ausbau .
- METHODS fill_lines_without_aufnr
- IMPORTING
- is TYPE zcl_zpm_rmc_equi=>ts_data
- RETURNING
- VALUE(rt) TYPE zpm_rmc_t_equi_ausbau.
- ENDCLASS.
- CLASS zcl_zpm_rmc_equi IMPLEMENTATION.
- METHOD bapiret_to_show.
- DATA: l_show(1).
- CALL FUNCTION 'MESSAGES_INITIALIZE'.
- LOOP AT it_return INTO DATA(ls_msg) WHERE type CA iv_filer_type.
- CALL FUNCTION 'MESSAGE_STORE'
- EXPORTING
- arbgb = ls_msg-id
- msgty = ls_msg-type
- msgv1 = ls_msg-message_v1
- msgv2 = ls_msg-message_v2
- msgv3 = ls_msg-message_v3
- msgv4 = ls_msg-message_v4
- txtnr = ls_msg-number
- EXCEPTIONS
- message_type_not_valid = 1
- not_active = 2
- OTHERS = 3.
- l_show = 'X'.
- ENDLOOP.
- IF l_show = 'X'.
- CALL FUNCTION 'MESSAGES_STOP'
- EXCEPTIONS
- a_message = 1
- e_message = 2
- i_message = 3
- w_message = 4
- OTHERS = 5.
- CALL FUNCTION 'MESSAGES_SHOW'
- EXPORTING
- show_linno = ' '
- EXCEPTIONS
- inconsistent_range = 1
- no_messages = 2
- OTHERS = 3.
- ENDIF.
- ENDMETHOD.
- METHOD check.
- DATA: ls_install TYPE zpm_rmc_s_equi_einbau .
- DATA(lv_error) = abap_false.
- me->refresh_protocol( ).
- LOOP AT gt_data ASSIGNING FIELD-SYMBOL(<fs>).
- DATA(lv_index) = sy-tabix.
- * IF <fs>-vtplnr IS INITIAL .
- *
- * set_error( VALUE #(
- * msgid = 'ZPM_RM_MSG' msgty = 'E' msgno = 060 msgv1 = <fs>-equnr fieldname = 'VTPLNR' row_id = lv_index ) ).
- *
- * lv_error = 'X'.
- * ENDIF.
- IF <fs>-ntplnr IS INITIAL .
- set_error( VALUE #(
- msgid = 'ZPM_RM_MSG' msgty = 'E' msgno = 061 msgv1 = <fs>-equnr fieldname = 'NTPLNR' row_id = lv_index ) ).
- lv_error = 'X'.
- ENDIF.
- IF <fs>-equnr IS INITIAL.
- set_error( VALUE #(
- msgid = 'ZPM_RM_MSG' msgty = 'E' msgno = 062 msgv1 = <fs>-equnr fieldname = 'EQUNR' row_id = lv_index ) ).
- lv_error = 'X'.
- ENDIF.
- DATA(ls) = zcl_zpm_rmc_equi=>dismantle(
- is = <fs>
- iv_commit = abap_false ).
- IF ls-type CA 'EAX'.
- set_error( VALUE #(
- msgid = ls-id msgty = ls-type msgno = ls-number msgv1 = ls-message_v1 msgv2 = ls-message_v2
- msgv3 = ls-message_v3 msgv4 = ls-message_v4 fieldname = 'EQUNR' row_id = lv_index ) ).
- me->set_style(
- EXPORTING
- iv_name = 'EQUNR'
- iv_style = cl_gui_alv_grid=>mc_style_disabled
- CHANGING
- ct = <fs>-t_style ).
- lv_error = 'X'.
- ENDIF.
- ENDLOOP.
- IF lv_error = abap_true.
- gr_prot->display_protocol( ).
- ELSE.
- gr_prot->free( ).
- rv = abap_true.
- ENDIF.
- me->gr_pmcs_alv->refresh_table_display( ).
- DATA: lo TYPE REF TO lcl_for_redefine.
- IF lo IS NOT BOUND.
- CREATE OBJECT lo
- EXPORTING
- io_grid = gr_pmcs_alv.
- ENDIF.
- lo->set_status_changed( ).
- ENDMETHOD.
- METHOD constructor.
- gr_cont_equim = ir_cont.
- gr_prot_cont_equim = ir_prot_cont.
- me->set_display( ).
- IF lines( it_1 ) > 0.
- MOVE-CORRESPONDING it_1 TO gt_data.
- ELSE.
- gt_data =
- get_data(
- is = VALUE #(
- qmnum = iv_qmnum
- aufnr = iv_aufnr
- equnr = iv_equnr
- tplnr = iv_tplnr
- ) ).
- ENDIF.
- *** ALV Layout definieren
- *** ALV Events und Aufruf ALV Grid
- me->setup_alv( ).
- *gr_prot_cont_equim->free( ).
- * me->refresh_protocol( ).
- * me->refresh_protocol( ).
- * me->gr_pmcs_alv->refresh_table_display( ).
- ** BREAK-POINT.
- ENDMETHOD.
- METHOD conv_tplnr_input.
- CALL FUNCTION 'CONVERSION_EXIT_TPLNR_INPUT'
- EXPORTING
- input = iv
- * I_FLG_CHECK_INTERNAL = 'X'
- IMPORTING
- output = rv
- EXCEPTIONS
- not_found = 1
- OTHERS = 2.
- ENDMETHOD.
- METHOD dismantle.
- DATA: lv TYPE ilom_strno .
- CHECK is-vtplnr IS NOT INITIAL.
- IF is-superequi IS NOT INITIAL.
- CALL FUNCTION 'BAPI_EQUI_DISMANTLE'
- EXPORTING
- equipment = is-equnr " Number of Equipment to be Installed
- supequi = is-superequi " Number of Previous Installation Location (Superior Equipment
- IMPORTING
- return = rt. " Return Parameter
- ELSE.
- CALL FUNCTION 'CONVERSION_EXIT_TPLNR_INPUT'
- EXPORTING
- input = is-vtplnr
- IMPORTING
- output = lv
- EXCEPTIONS
- not_found = 1.
- CALL FUNCTION 'BAPI_EQUI_DISMANTLE'
- EXPORTING
- equipment = is-equnr " Number of Equipment to be Installed
- funcloc = lv " Number of Previous Installation Location (Functional Locatio
- IMPORTING
- return = rt. " Return Parameter
- ENDIF.
- IF iv_commit ='X'.
- CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
- EXPORTING
- wait = 'X'. " Use of Command `COMMIT AND WAIT`
- ELSE.
- CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'.
- ENDIF.
- ENDMETHOD.
- METHOD f4_with_customized_params.
- FIELD-SYMBOLS: <iface> TYPE ddshiface,
- <sface> TYPE ddshiface.
- DATA: f_shlp TYPE shlp_descr.
- DATA: f_rc TYPE sy-subrc.
- CALL FUNCTION 'F4IF_GET_SHLP_DESCR'
- EXPORTING
- shlpname = i_shlp_name
- shlptype = 'SH'
- IMPORTING
- shlp = f_shlp.
- LOOP AT it_ddshifaces ASSIGNING <iface>.
- READ TABLE f_shlp-interface[] WITH KEY shlpfield = <iface>-shlpfield ASSIGNING <sface>.
- IF sy-subrc EQ 0.
- MOVE-CORRESPONDING <iface> TO <sface>.
- ENDIF.
- ENDLOOP.
- CALL FUNCTION 'F4IF_START_VALUE_REQUEST'
- EXPORTING
- shlp = f_shlp
- disponly = i_display_only
- maxrecords = i_max_records
- multisel = space
- * CUCOL = SY-CUCOL
- * CUROW = SY-CUROW
- IMPORTING
- rc = f_rc
- TABLES
- return_values = et_values.
- ENDMETHOD.
- METHOD fill_lines_aufnr.
- DATA: ls_header TYPE bapi_alm_order_header_e,
- ls_ret TYPE STANDARD TABLE OF bapiret2,
- ls_hier TYPE bapi_eqhr,
- lv_ntplnr_2_row TYPE tplnr.
- APPEND INITIAL LINE TO rt ASSIGNING FIELD-SYMBOL(<fs>).
- CALL FUNCTION 'BAPI_ALM_ORDER_GET_DETAIL'
- EXPORTING
- number = lv_aufnr " Order Number
- IMPORTING
- es_header = ls_header " Export Structure for ALM Order Header
- TABLES
- return = ls_ret.
- <fs>-aufnr = lv_aufnr.
- <fs>-qmnum = ls_header-notif_no.
- <fs>-qmtxt = get_text_qmtxt( <fs>-qmnum ).
- <fs>-equnr = ls_header-equipment.
- <fs>-eqktx = get_text_equnr( <fs>-equnr ).
- lv_ntplnr_2_row = ls_header-funct_loc.
- CALL FUNCTION 'BAPI_EQMT_DETAIL'
- EXPORTING
- equipment = <fs>-equnr " Number of equipment to be read
- IMPORTING
- equihierarchy = ls_hier. " Structure for equipment hierarchy data
- <fs>-vtplnr = ls_hier-funcloc.
- <fs>-vpltxt = get_text_tplnr( conv_tplnr_input( <fs>-vtplnr ) ).
- <fs>-superequi = ls_hier-superequi.
- <fs>-supeqktx = <fs>-superequi.
- <fs>-ntplnr = get_zpm_rmc_equmbau( <fs>-vtplnr )..
- <fs>-npltxt = get_text_tplnr( conv_tplnr_input( <fs>-ntplnr ) ).
- me->set_style( EXPORTING iv_name = 'AUFNR' iv_style = gc_full_d CHANGING ct = <fs>-t_style ).
- me->set_style( EXPORTING iv_name = 'EQUNR' iv_style = gc_full_d CHANGING ct = <fs>-t_style ).
- me->set_style( EXPORTING iv_name = 'EQKTX' iv_style = gc_full_d CHANGING ct = <fs>-t_style ).
- me->set_style( EXPORTING iv_name = 'VTPLNR' iv_style = gc_full_d CHANGING ct = <fs>-t_style ).
- me->set_style( EXPORTING iv_name = 'VPLTXT' iv_style = gc_full_d CHANGING ct = <fs>-t_style ).
- me->set_style( EXPORTING iv_name = 'NPLTXT' iv_style = gc_full_d CHANGING ct = <fs>-t_style ).
- me->set_style( EXPORTING iv_name = 'NTPLNR' iv_style = gc_onlyf4 CHANGING ct = <fs>-t_style ).
- APPEND INITIAL LINE TO rt ASSIGNING FIELD-SYMBOL(<fs2>).
- <fs2>-ntplnr = lv_ntplnr_2_row.
- <fs2>-npltxt = get_text_tplnr( conv_tplnr_input( <fs2>-ntplnr ) ).
- me->set_style( EXPORTING iv_name = 'AUFNR' iv_style = gc_onlyf4 CHANGING ct = <fs2>-t_style ).
- me->set_style( EXPORTING iv_name = 'EQUNR' iv_style = gc_onlyf4 CHANGING ct = <fs2>-t_style ).
- me->set_style( EXPORTING iv_name = 'EQKTX' iv_style = gc_full_d CHANGING ct = <fs2>-t_style ).
- me->set_style( EXPORTING iv_name = 'VTPLNR' iv_style = gc_full_d CHANGING ct = <fs2>-t_style ).
- me->set_style( EXPORTING iv_name = 'VPLTXT' iv_style = gc_full_d CHANGING ct = <fs2>-t_style ).
- me->set_style( EXPORTING iv_name = 'NPLTXT' iv_style = gc_full_d CHANGING ct = <fs2>-t_style ).
- me->set_style( EXPORTING iv_name = 'NTPLNR' iv_style = gc_onlyf4 CHANGING ct = <fs2>-t_style ).
- * IF is-tplnr IS NOT INITIAL.
- * <fs>-vtplnr = is-tplnr.
- * ENDIF.
- * APPEND INITIAL LINE TO rt ASSIGNING FIELD-SYMBOL(<fs2>).
- * <fs2>-ntplnr = <fs>-vtplnr.
- *
- * <fs>-vpltxt = get_text_tplnr( conv_tplnr_input( <fs>-vtplnr ) ).
- * <fs2>-npltxt = get_text_tplnr( conv_tplnr_input( <fs2>-ntplnr ) ).
- * <fs>-eqktx = get_text_equnr( <fs>-equnr ).
- *
- *
- * CASE get_zpm_rmc_equmbau( <fs>-vtplnr )..
- * WHEN space.
- * "! Don't have values
- * me->set_style( EXPORTING iv_name = 'NTPLNR' iv_style = cl_gui_alv_grid=>mc_style_disabled CHANGING ct = <fs>-t_style ).
- * WHEN OTHERS.
- * <fs>-ntplnr = get_zpm_rmc_equmbau( <fs>-vtplnr )..
- * <fs>-npltxt = get_text_tplnr( conv_tplnr_input( <fs>-ntplnr ) ).
- * ENDCASE.
- *
- * <fs>-superequi = get_superequi( <fs>-equnr ).
- * <fs>-supeqktx = get_text_equnr( <fs>-superequi ).
- *
- * me->set_style( EXPORTING iv_name = 'AUFNR' iv_style = cl_gui_alv_grid=>mc_style_disabled CHANGING ct = <fs2>-t_style ).
- * me->set_style( EXPORTING iv_name = 'EQUNR' iv_style = cl_gui_alv_grid=>mc_style_disabled CHANGING ct = <fs2>-t_style ).
- * me->set_style( EXPORTING iv_name = 'EQKTX' iv_style = gc_style_disabled_f4_d CHANGING ct = <fs2>-t_style ).
- * me->set_style( EXPORTING iv_name = 'VTPLNR' iv_style = gc_style_disabled_f4_d CHANGING ct = <fs2>-t_style ).
- * me->set_style( EXPORTING iv_name = 'VPLTXT' iv_style = gc_style_disabled_f4_d CHANGING ct = <fs2>-t_style ).
- * me->set_style( EXPORTING iv_name = 'NPLTXT' iv_style = gc_style_disabled_f4_d CHANGING ct = <fs2>-t_style ).
- * me->set_style( EXPORTING iv_name = 'NTPLNR' iv_style = cl_gui_alv_grid=>mc_style_disabled CHANGING ct = <fs2>-t_style ).
- *
- *
- * EXIT.
- *
- *
- * ENDLOOP.
- ENDMETHOD.
- METHOD fill_lines_without_aufnr.
- DATA: ls_header TYPE bapi_alm_order_header_e,
- ls_ret TYPE STANDARD TABLE OF bapiret2,
- ls_hier TYPE bapi_eqhr,
- lv_ntplnr_2_row TYPE tplnr.
- APPEND INITIAL LINE TO rt ASSIGNING FIELD-SYMBOL(<fs>).
- * CALL FUNCTION 'BAPI_ALM_ORDER_GET_DETAIL'
- * EXPORTING
- * number = lv_aufnr " Order Number
- * IMPORTING
- * es_header = ls_header " Export Structure for ALM Order Header
- * TABLES
- * return = ls_ret.
- * <fs>-aufnr = lv_aufnr.
- * <fs>-qmnum = ls_header-notif_no.
- * <fs>-qmtxt = get_text_qmtxt( <fs>-qmnum ).
- * <fs>-equnr = ls_header-equipment.
- * <fs>-eqktx = get_text_equnr( <fs>-equnr ).
- * lv_ntplnr_2_row = ls_header-funct_loc.
- IF is-qmnum IS NOT INITIAL.
- * SELECT SINGLE
- * qmnum,
- * aufnr,
- * tplnr AS vtplnr,
- * equnr
- *
- * FROM viaufkst_iflos
- * INTO CORRESPONDING FIELDS OF @<fs>
- * WHERE
- * qmnum = @is-qmnum.
- SELECT SINGLE
- qmnum,
- equnr
- FROM qmih
- INTO CORRESPONDING FIELDS OF @<fs>
- WHERE
- qmnum = @is-qmnum.
- ENDIF.
- <fs>-qmtxt = get_text_qmtxt( <fs>-qmnum ).
- <fs>-eqktx = get_text_equnr( <fs>-equnr ).
- CALL FUNCTION 'BAPI_EQMT_DETAIL'
- EXPORTING
- equipment = <fs>-equnr " Number of equipment to be read
- IMPORTING
- equihierarchy = ls_hier. " Structure for equipment hierarchy data
- <fs>-vtplnr = ls_hier-funcloc.
- * IF is-tplnr IS NOT INITIAL.
- *
- * <fs>-vtplnr = lv_ntplnr_2_row = is-tplnr.
- * ELSE.
- lv_ntplnr_2_row = <fs>-vtplnr.
- * ENDIF.
- <fs>-vpltxt = get_text_tplnr( conv_tplnr_input( <fs>-vtplnr ) ).
- <fs>-superequi = ls_hier-superequi.
- <fs>-supeqktx = <fs>-superequi.
- <fs>-ntplnr = get_zpm_rmc_equmbau( <fs>-vtplnr )..
- <fs>-npltxt = get_text_tplnr( conv_tplnr_input( <fs>-ntplnr ) ).
- me->set_style( EXPORTING iv_name = 'AUFNR' iv_style = gc_full_d CHANGING ct = <fs>-t_style ).
- me->set_style( EXPORTING iv_name = 'EQUNR' iv_style = gc_full_d CHANGING ct = <fs>-t_style ).
- me->set_style( EXPORTING iv_name = 'EQKTX' iv_style = gc_full_d CHANGING ct = <fs>-t_style ).
- me->set_style( EXPORTING iv_name = 'VTPLNR' iv_style = gc_full_d CHANGING ct = <fs>-t_style ).
- me->set_style( EXPORTING iv_name = 'VPLTXT' iv_style = gc_full_d CHANGING ct = <fs>-t_style ).
- me->set_style( EXPORTING iv_name = 'NPLTXT' iv_style = gc_full_d CHANGING ct = <fs>-t_style ).
- me->set_style( EXPORTING iv_name = 'NTPLNR' iv_style = gc_onlyf4 CHANGING ct = <fs>-t_style ).
- APPEND INITIAL LINE TO rt ASSIGNING FIELD-SYMBOL(<fs2>).
- <fs2>-ntplnr = lv_ntplnr_2_row.
- <fs2>-npltxt = get_text_tplnr( conv_tplnr_input( <fs2>-ntplnr ) ).
- me->set_style( EXPORTING iv_name = 'AUFNR' iv_style = gc_onlyf4 CHANGING ct = <fs2>-t_style ).
- me->set_style( EXPORTING iv_name = 'EQUNR' iv_style = gc_onlyf4 CHANGING ct = <fs2>-t_style ).
- me->set_style( EXPORTING iv_name = 'EQKTX' iv_style = gc_full_d CHANGING ct = <fs2>-t_style ).
- me->set_style( EXPORTING iv_name = 'VTPLNR' iv_style = gc_full_d CHANGING ct = <fs2>-t_style ).
- me->set_style( EXPORTING iv_name = 'VPLTXT' iv_style = gc_full_d CHANGING ct = <fs2>-t_style ).
- me->set_style( EXPORTING iv_name = 'NPLTXT' iv_style = gc_full_d CHANGING ct = <fs2>-t_style ).
- me->set_style( EXPORTING iv_name = 'NTPLNR' iv_style = gc_onlyf4 CHANGING ct = <fs2>-t_style ).
- ENDMETHOD.
- METHOD free.
- IF gr_instance IS BOUND.
- FREE: gr_instance.
- ENDIF.
- CLEAR:gt_data.
- IF gr_pmcs_alv IS BOUND.
- * gr_pmcs_alv->free( ).
- FREE gr_pmcs_alv.
- ENDIF.
- IF gr_prot IS BOUND.
- gr_prot->free( ).
- CLEAR gr_prot.
- FREE gr_prot.
- ENDIF.
- IF gr_cont_equim IS BOUND.
- * gr_cont_equim->free( ).
- FREE gr_cont_equim.
- ENDIF.
- ENDMETHOD.
- METHOD get_data.
- * APPEND INITIAL LINE TO rt ASSIGNING FIELD-SYMBOL(<fs>).
- DATA:
- lr_equnr TYPE efg_tab_ranges,
- ls_ret TYPE STANDARD TABLE OF bapiret2,
- ls_header TYPE bapi_alm_order_header_e.
- IF is-equnr IS NOT INITIAL .
- lr_equnr = VALUE #( ( sign = 'I' option = 'EQ' low = is-equnr ) ).
- ENDIF.
- IF is-aufnr IS NOT INITIAL.
- APPEND LINES OF fill_lines_aufnr( EXPORTING lv_aufnr = is-aufnr ) TO rt.
- ELSEIF is-qmnum IS NOT INITIAL AND is-qmnum(1) NE '&'.
- SELECT SINGLE
- aufnr
- FROM viaufkst_iflos
- INTO @DATA(lv_aufnr)
- WHERE
- qmnum = @is-qmnum AND
- equnr IN @lr_equnr.
- IF sy-subrc = 0.
- APPEND LINES OF fill_lines_aufnr( EXPORTING lv_aufnr = lv_aufnr ) TO rt.
- ELSE.
- APPEND LINES OF fill_lines_without_aufnr( EXPORTING is = is ) TO rt.
- ENDIF.
- ELSE.
- APPEND LINES OF fill_lines_without_aufnr( EXPORTING is = is ) TO rt.
- ENDIF.
- * BREAK-POINT.
- *
- * IF is-qmnum IS NOT INITIAL.
- * SELECT SINGLE
- * qmnum,
- * aufnr,
- * tplnr AS vtplnr,
- * equnr
- *
- * FROM viaufkst_iflos
- * INTO CORRESPONDING FIELDS OF @<fs>
- * WHERE
- * qmnum = @is-qmnum AND
- * equnr IN @lr_equnr
- *
- * .
- * ELSEIF is-aufnr IS NOT INITIAL.
- * SELECT SINGLE
- * qmnum,
- * aufnr,
- * tplnr AS vtplnr,
- * equnr
- *
- * FROM viaufkst_iflos
- * INTO CORRESPONDING FIELDS OF @<fs>
- * WHERE
- * aufnr = @is-aufnr AND
- * equnr IN @lr_equnr.
- *
- * ELSE.
- * "! ERROR
- * ENDIF.
- *
- *
- * LOOP AT rt ASSIGNING <fs>.
- * IF is-tplnr IS NOT INITIAL.
- * <fs>-vtplnr = is-tplnr.
- *
- * ENDIF.
- * APPEND INITIAL LINE TO rt ASSIGNING FIELD-SYMBOL(<fs2>).
- * <fs2>-ntplnr = <fs>-vtplnr.
- *
- * <fs>-vpltxt = get_text_tplnr( conv_tplnr_input( <fs>-vtplnr ) ).
- * <fs2>-npltxt = get_text_tplnr( conv_tplnr_input( <fs2>-ntplnr ) ).
- * <fs>-eqktx = get_text_equnr( <fs>-equnr ).
- *
- * me->set_style( EXPORTING iv_name = 'AUFNR' iv_style = gc_style_disabled_f4_d CHANGING ct = <fs>-t_style ).
- * me->set_style( EXPORTING iv_name = 'EQUNR' iv_style = gc_style_disabled_f4_d CHANGING ct = <fs>-t_style ).
- * me->set_style( EXPORTING iv_name = 'EQKTX' iv_style = gc_style_disabled_f4_d CHANGING ct = <fs>-t_style ).
- * me->set_style( EXPORTING iv_name = 'VTPLNR' iv_style = gc_style_disabled_f4_d CHANGING ct = <fs>-t_style ).
- * me->set_style( EXPORTING iv_name = 'VPLTXT' iv_style = gc_style_disabled_f4_d CHANGING ct = <fs>-t_style ).
- * me->set_style( EXPORTING iv_name = 'NPLTXT' iv_style = gc_style_disabled_f4_d CHANGING ct = <fs>-t_style ).
- *
- *
- * CASE get_zpm_rmc_equmbau( <fs>-vtplnr )..
- * WHEN space.
- * "! Don't have values
- * me->set_style( EXPORTING iv_name = 'NTPLNR' iv_style = cl_gui_alv_grid=>mc_style_disabled CHANGING ct = <fs>-t_style ).
- * WHEN OTHERS.
- * <fs>-ntplnr = get_zpm_rmc_equmbau( <fs>-vtplnr )..
- * <fs>-npltxt = get_text_tplnr( conv_tplnr_input( <fs>-ntplnr ) ).
- * me->set_style( EXPORTING iv_name = 'NTPLNR' iv_style = cl_gui_alv_grid=>mc_style_disabled CHANGING ct = <fs>-t_style ).
- * ENDCASE.
- *
- * <fs>-superequi = get_superequi( <fs>-equnr ).
- * <fs>-supeqktx = get_text_equnr( <fs>-superequi ).
- *
- * me->set_style( EXPORTING iv_name = 'AUFNR' iv_style = cl_gui_alv_grid=>mc_style_disabled CHANGING ct = <fs2>-t_style ).
- * me->set_style( EXPORTING iv_name = 'EQUNR' iv_style = cl_gui_alv_grid=>mc_style_disabled CHANGING ct = <fs2>-t_style ).
- * me->set_style( EXPORTING iv_name = 'EQKTX' iv_style = gc_style_disabled_f4_d CHANGING ct = <fs2>-t_style ).
- * me->set_style( EXPORTING iv_name = 'VTPLNR' iv_style = gc_style_disabled_f4_d CHANGING ct = <fs2>-t_style ).
- * me->set_style( EXPORTING iv_name = 'VPLTXT' iv_style = gc_style_disabled_f4_d CHANGING ct = <fs2>-t_style ).
- * me->set_style( EXPORTING iv_name = 'NPLTXT' iv_style = gc_style_disabled_f4_d CHANGING ct = <fs2>-t_style ).
- * me->set_style( EXPORTING iv_name = 'NTPLNR' iv_style = cl_gui_alv_grid=>mc_style_disabled CHANGING ct = <fs2>-t_style ).
- *
- *
- * EXIT.
- *
- *
- * ENDLOOP.
- ENDMETHOD.
- METHOD get_equnr_f4.
- DATA: lt_values TYPE tty_values.
- me->f4_with_customized_params(
- EXPORTING
- i_display_only = space
- i_max_records = space
- i_shlp_name = 'EQUI'
- it_ddshifaces = VALUE #( ( shlpfield = 'EQUNR' valfield = 'X' value = '*' ) )
- IMPORTING
- et_values = lt_values
- ).
- CHECK lines( lt_values ) > 0.
- DATA(lv) = lt_values[ 1 ]-fieldval.
- CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
- EXPORTING
- input = lv " C field
- IMPORTING
- output = rv. " Internal display of INPUT, any category
- ENDMETHOD.
- METHOD get_instance.
- IF gr_instance IS NOT BOUND.
- CREATE OBJECT gr_instance
- EXPORTING
- ir_cont = ir_cont
- ir_prot_cont = ir_prot_cont
- iv_aufnr = iv_aufnr
- iv_equnr = iv_equnr
- iv_qmnum = iv_qmnum
- iv_tplnr = iv_tplnr
- it_1 = it_1
- it_2 = it_2.
- ENDIF.
- rr_instance = gr_instance.
- ENDMETHOD.
- METHOD get_superequi.
- DATA: ls_hier TYPE bapi_eqhr.
- * SELECT MAX( datbi ) FROM equz INTO @DATA(lv_data) WHERE equnr = @iv.
- *
- * SELECT SINGLE hequi
- * INTO rv
- * FROM equz
- * WHERE equnr = iv AND datbi = lv_data.
- CALL FUNCTION 'BAPI_EQMT_DETAIL'
- EXPORTING
- equipment = iv " Number of equipment to be read
- IMPORTING
- equihierarchy = ls_hier. " Structure for equipment hierarchy data
- rv = ls_hier-superequi.
- ENDMETHOD.
- METHOD get_table.
- FREE: it_1, it_2.
- LOOP AT gt_data ASSIGNING FIELD-SYMBOL(<fs>).
- APPEND INITIAL LINE TO it_1 ASSIGNING FIELD-SYMBOL(<fs_1>).
- APPEND INITIAL LINE TO it_2 ASSIGNING FIELD-SYMBOL(<fs_2>).
- MOVE-CORRESPONDING <fs> TO <fs_1>.
- MOVE-CORRESPONDING <fs> TO <fs_2>.
- ENDLOOP.
- ENDMETHOD.
- METHOD get_text_equnr.
- SELECT SINGLE eqktx
- FROM eqkt INTO rv
- WHERE
- equnr = iv.
- ENDMETHOD.
- METHOD get_text_qmtxt.
- SELECT SINGLE
- qmtxt
- FROM qmel INTO rv
- WHERE qmnum = iv.
- ENDMETHOD.
- METHOD get_text_ktext.
- SELECT SINGLE
- ktext
- FROM caufv INTO rv
- WHERE aufnr = iv.
- ENDMETHOD.
- METHOD get_text_tplnr.
- SELECT SINGLE pltxt
- FROM iflotx INTO rv
- WHERE
- tplnr = iv.
- ENDMETHOD.
- METHOD get_tplnr.
- DATA: ls_hier TYPE bapi_eqhr.
- * SELECT MAX( datbi ) FROM equz INTO @DATA(lv_data) WHERE equnr = @iv..
- * SELECT SINGLE
- * tplnr
- * FROM iloa
- * INNER JOIN equz ON equz~iloan = iloa~iloan
- * INTO rv
- * WHERE
- * equz~equnr = iv AND
- * equz~datbi = lv_data.
- CALL FUNCTION 'BAPI_EQMT_DETAIL'
- EXPORTING
- equipment = iv " Number of equipment to be read
- IMPORTING
- equihierarchy = ls_hier. " Structure for equipment hierarchy data
- rv = ls_hier-funcloc.
- ENDMETHOD.
- METHOD get_tplnr_f4.
- DATA: lt_values TYPE tty_values.
- me->f4_with_customized_params(
- EXPORTING
- i_display_only = space
- i_max_records = space
- i_shlp_name = 'IFLM'
- it_ddshifaces = VALUE #( ( shlpfield = 'TPLNR' valfield = 'X' value = '*' ) )
- IMPORTING
- et_values = lt_values
- ).
- CHECK lines( lt_values ) > 0.
- DATA(lv) = lt_values[ 1 ]-fieldval.
- CALL FUNCTION 'CONVERSION_EXIT_TPLNR_INPUT'
- EXPORTING
- input = lv " C field
- IMPORTING
- output = rv. " Internal display of INPUT, any category
- ENDMETHOD.
- METHOD get_zpm_rmc_equmbau.
- DATA(lv) = conv_tplnr_input( iv ).
- SELECT SINGLE ztplnr
- FROM zpm_rmc_equmbau INTO rv
- WHERE
- qtplnr = lv.
- ENDMETHOD.
- METHOD install.
- DATA: lv TYPE ilom_strno,
- ls TYPE bapi_itob_eq_install_ext.
- CALL FUNCTION 'CONVERSION_EXIT_TPLNR_INPUT'
- EXPORTING
- input = is-ntplnr
- IMPORTING
- output = lv
- EXCEPTIONS
- not_found = 1.
- ls = VALUE #(
- inst_date = sy-datum
- inst_time = sy-uzeit
- funcloc = lv
- ).
- DATA: lv_equnr TYPE equnr .
- CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
- EXPORTING
- input = is-equnr " C field
- IMPORTING
- output = lv_equnr. " Internal display of INPUT, any category
- CALL FUNCTION 'BAPI_EQUI_INSTALL'
- EXPORTING
- equipment = lv_equnr
- data_install = ls
- IMPORTING
- return = r_result.
- IF iv_commit ='X'.
- CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
- EXPORTING
- wait = 'X'. " Use of Command `COMMIT AND WAIT`
- ELSE.
- CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'.
- ENDIF.
- ENDMETHOD.
- METHOD refresh_protocol.
- IF gr_prot IS NOT BOUND.
- gr_prot = NEW #( i_calling_alv = gr_pmcs_alv i_container = gr_prot_cont_equim ).
- APPEND LINES OF gt_fcat TO gr_prot->mt_fieldcatalog.
- ELSE.
- "clear extra protocol
- gr_prot->refresh_protocol( ).
- gr_prot->free( ).
- CLEAR gr_prot.
- gr_prot = NEW #( i_calling_alv = gr_pmcs_alv i_container = gr_prot_cont_equim ).
- APPEND LINES OF gt_fcat TO gr_prot->mt_fieldcatalog.
- ENDIF.
- ENDMETHOD.
- METHOD save.
- DATA: lt_ret TYPE TABLE OF bapiret2 .
- LOOP AT it_1 ASSIGNING FIELD-SYMBOL(<fs_1>)."Dismantle
- APPEND zcl_zpm_rmc_equi=>dismantle(
- is = <fs_1>
- iv_commit = abap_false ) TO lt_ret ASSIGNING FIELD-SYMBOL(<fs_ret>).
- DATA(lv_index) = sy-tabix.
- CHECK <fs_ret>-type IS INITIAL.
- DELETE lt_ret INDEX lv_index.
- ENDLOOP.
- IF lines( lt_ret ) > 0.
- rt = lt_ret.
- * zcl_zpm_rmc_equi=>bapiret_to_show(
- * EXPORTING
- * it_return = lt_ret " Returntabelle
- * iv_filer_type = 'XAE' " Nicht näher def. Bereich, evtl. für Patchlevels verwendbar
- * ).
- EXIT.
- ELSE.
- LOOP AT it_1 ASSIGNING <fs_1>."Dismantle
- APPEND zcl_zpm_rmc_equi=>dismantle(
- is = <fs_1>
- iv_commit = abap_true ) TO lt_ret ASSIGNING <fs_ret>.
- lv_index = sy-tabix.
- CHECK <fs_ret>-type IS INITIAL.
- DELETE lt_ret INDEX lv_index.
- ENDLOOP.
- ENDIF.
- IF lines( lt_ret ) > 0.
- rt = lt_ret.
- * zcl_zpm_rmc_equi=>bapiret_to_show(
- * EXPORTING
- * it_return = lt_ret " Returntabelle
- * iv_filer_type = 'XAE' " Nicht näher def. Bereich, evtl. für Patchlevels verwendbar
- * ).
- EXIT.
- ENDIF.
- WAIT UP TO 1 SECONDS.
- LOOP AT it_2 ASSIGNING FIELD-SYMBOL(<fs_2>)."Install
- APPEND zcl_zpm_rmc_equi=>install(
- is = <fs_2>
- iv_commit = abap_false ) TO lt_ret ASSIGNING <fs_ret>.
- lv_index = sy-tabix.
- CHECK <fs_ret>-type IS INITIAL.
- DELETE lt_ret INDEX lv_index.
- ENDLOOP.
- IF lines( lt_ret ) > 0.
- rt = lt_ret.
- * zcl_zpm_rmc_equi=>bapiret_to_show(
- * EXPORTING
- * it_return = lt_ret " Returntabelle
- * iv_filer_type = 'XAE' " Nicht näher def. Bereich, evtl. für Patchlevels verwendbar
- * ).
- EXIT.
- ELSE.
- LOOP AT it_2 ASSIGNING <fs_2>.
- APPEND zcl_zpm_rmc_equi=>install(
- is = <fs_2>
- iv_commit = abap_true ) TO lt_ret ASSIGNING <fs_ret>.
- lv_index = sy-tabix.
- CHECK <fs_ret>-type IS INITIAL.
- DELETE lt_ret INDEX lv_index.
- ENDLOOP.
- ENDIF.
- IF lines( lt_ret ) > 0.
- rt = lt_ret.
- * zcl_zpm_rmc_equi=>bapiret_to_show(
- * EXPORTING
- * it_return = lt_ret " Returntabelle
- * iv_filer_type = 'XAE' " Nicht näher def. Bereich, evtl. für Patchlevels verwendbar
- * ).
- EXIT.
- ENDIF.
- DATA: lt_ret_positive LIKE lt_ret.
- LOOP AT it_1 ASSIGNING <fs_1>.
- APPEND VALUE #( type ='S' id = 'ZPM_RM_MSG' number = 63 message_v1 = <fs_1>-equnr message_v2 = <fs_1>-vtplnr ) TO lt_ret_positive.
- ENDLOOP.
- LOOP AT it_2 ASSIGNING <fs_2>.
- APPEND VALUE #( type ='S' id = 'ZPM_RM_MSG' number = 64 message_v1 = <fs_2>-equnr message_v2 = <fs_2>-ntplnr ) TO lt_ret_positive.
- ENDLOOP.
- rt = lt_ret_positive.
- * zcl_zpm_rmc_equi=>bapiret_to_show(
- * EXPORTING
- * it_return = lt_ret_positive " Returntabelle
- * iv_filer_type = 'S' " Nicht näher def. Bereich, evtl. für Patchlevels verwendbar
- * ).
- ENDMETHOD.
- METHOD setup_alv.
- *
- IF gr_prot_cont_equim IS INITIAL.
- gr_prot_cont_equim = NEW cl_gui_docking_container( ratio = 40 side = cl_gui_docking_container=>dock_at_bottom ).
- * gr_prot_cont_equim = NEW cl_gui_docking_container( ).
- * gr_prot_cont_equim = NEW cl_gui_docking_container( side = cl_gui_docking_container=>dock_at_bottom ).
- ENDIF.
- IF gr_cont_equim IS INITIAL.
- gr_cont_equim = NEW cl_gui_docking_container( ratio = 20 side = cl_gui_docking_container=>dock_at_bottom ).
- * gr_cont_equim = NEW cl_gui_docking_container( ).
- ENDIF.
- IF gr_pmcs_alv IS BOUND.
- gr_pmcs_alv->free( ).
- ENDIF.
- CREATE OBJECT gr_pmcs_alv
- EXPORTING
- i_parent = gr_cont_equim
- i_applogparent = gr_prot_cont_equim
- i_appl_events = 'X'.
- gr_pmcs_alv->set_ready_for_input( 1 ).
- gr_pmcs_alv->register_edit_event( i_event_id = cl_gui_alv_grid=>mc_evt_enter ).
- gr_pmcs_alv->register_edit_event( i_event_id = cl_gui_alv_grid=>mc_evt_modified ).
- gr_pmcs_alv->register_f4_for_fields( it_f4 = VALUE #(
- ( fieldname = 'EQUNR' register = 'X' getbefore = 'X' chngeafter = 'X' )
- ( fieldname = 'NTPLNR' register = 'X' getbefore = 'X' chngeafter = 'X' )
- ) ).
- * SET HANDLER me->zif_rmc_gui_alv_grid~handle_hotspot_click
- * FOR gr_pmcs_alv.
- *
- * SET HANDLER me->zif_rmc_gui_alv_grid~handle_data_changed
- * FOR gr_pmcs_alv.
- SET HANDLER me->zif_rmc_gui_alv_grid~handle_data_changed_finished
- FOR gr_pmcs_alv.
- **
- * SET HANDLER me->zif_rmc_gui_alv_grid~handle_user_command
- * FOR gr_pmcs_alv.
- SET HANDLER me->zif_rmc_gui_alv_grid~handle_onf4
- FOR gr_pmcs_alv.
- CALL METHOD gr_pmcs_alv->set_table_for_first_display
- EXPORTING
- i_bypassing_buffer = 'X'
- i_save = 'X'
- it_toolbar_excluding = gt_excl
- is_layout = gs_layout
- CHANGING
- it_outtab = gt_data
- it_fieldcatalog = gt_fcat.
- "Set focus on grid so user can immediately enter data in grid
- cl_gui_alv_grid=>set_focus( gr_pmcs_alv ).
- CALL METHOD cl_gui_cfw=>flush.
- ENDMETHOD.
- METHOD set_display.
- *** ALV Einstellungen für Layout
- FIELD-SYMBOLS: <ls_fcat> TYPE lvc_s_fcat.
- CALL FUNCTION 'LVC_FIELDCATALOG_MERGE'
- EXPORTING
- i_structure_name = 'ZPM_RMC_S_EQUI_AUSBAU' "ALV Ausgabestruktur
- i_bypassing_buffer = 'X'
- CHANGING
- ct_fieldcat = gt_fcat.
- LOOP AT gt_fcat ASSIGNING <ls_fcat>.
- <ls_fcat>-edit = abap_true.
- CASE <ls_fcat>-fieldname.
- WHEN
- 'QMNUM' OR
- 'QMTXT' OR
- 'AUFNR' OR
- 'KTEXT' OR
- 'VORNR' OR
- 'SUPEREQUI' OR
- 'SUPEQKTX'.
- <ls_fcat>-no_out = 'X'.
- CLEAR <ls_fcat>-edit.
- WHEN OTHERS.
- * <ls_fcat>-key = 'X'.
- <ls_fcat>-col_id = <ls_fcat>-col_pos.
- <ls_fcat>-coltext = <ls_fcat>-scrtext_l.
- ENDCASE.
- ENDLOOP.
- * gs_layout-zebra = abap_true.
- gs_layout-cwidth_opt = 'X'.
- gs_layout-sel_mode = 'A'.
- gs_layout-no_rowmark = 'X'.
- gs_layout-stylefname = 'T_STYLE'.
- gs_layout-col_opt = 'X'.
- gs_layout-no_rowins = 'X'.
- gs_layout-no_toolbar = 'X'.
- *** Toolbar Funktionen deaktivieren
- * APPEND cl_gui_alv_grid=>mc_fg_edit TO gt_excl. "Zellen berarbeitung entfernen
- APPEND cl_gui_alv_grid=>mc_fc_print TO gt_excl. "ALV Druck entfernen
- APPEND cl_gui_alv_grid=>mc_fc_graph TO gt_excl. "Grafik entfernen
- APPEND cl_gui_alv_grid=>mc_fc_info TO gt_excl. "Info entfernen
- APPEND cl_gui_alv_grid=>mc_mb_sum TO gt_excl. "Summierung entfernen
- APPEND cl_gui_alv_grid=>mc_fc_loc_append_row TO gt_excl.
- APPEND cl_gui_alv_grid=>mc_fc_loc_copy TO gt_excl.
- APPEND cl_gui_alv_grid=>mc_fc_loc_copy_row TO gt_excl.
- APPEND cl_gui_alv_grid=>mc_fc_loc_cut TO gt_excl.
- APPEND cl_gui_alv_grid=>mc_fc_loc_delete_row TO gt_excl.
- APPEND cl_gui_alv_grid=>mc_fc_loc_insert_row TO gt_excl.
- APPEND cl_gui_alv_grid=>mc_fc_loc_move_row TO gt_excl.
- APPEND cl_gui_alv_grid=>mc_fc_loc_paste TO gt_excl.
- APPEND cl_gui_alv_grid=>mc_fc_loc_paste_new_row TO gt_excl.
- APPEND cl_gui_alv_grid=>mc_fc_loc_undo TO gt_excl.
- APPEND cl_gui_alv_grid=>mc_fc_sort TO gt_excl.
- APPEND cl_gui_alv_grid=>mc_fc_sort_asc TO gt_excl.
- APPEND cl_gui_alv_grid=>mc_fc_sort_dsc TO gt_excl.
- * APPEND cl_gui_alv_grid=>mc_lystyle_no_delete_rows TO gt_excl.
- * APPEND cl_gui_alv_grid=>mc_ly_no_delete_rows TO gt_excl.
- * APPEND cl_gui_alv_grid=>mc_fc_loc_delete_row TO gt_excl.
- * APPEND cl_gui_alv_grid=>mc_lystyle_no_insert_rows TO gt_excl.
- ENDMETHOD.
- METHOD set_error.
- gr_prot->add_protocol_entry(
- EXPORTING
- i_msgid = ism-msgid " Message ID
- i_msgty = ism-msgty " Message Type
- i_msgno = ism-msgno " Message No.
- i_msgv1 = ism-msgv1 " Message Variable1
- i_msgv2 = ism-msgv2 " Message Variable1
- i_msgv3 = ism-msgv3 " Message Variable1
- i_msgv4 = ism-msgv4 " Message Variable1
- i_fieldname = ism-fieldname " Field Name
- i_row_id = ism-row_id " RowID
- i_tabix = ism-tabix " RowID
- ).
- READ TABLE gt_fcat ASSIGNING FIELD-SYMBOL(<fs_fcat>)
- WITH KEY fieldname = ism-fieldname.
- APPEND VALUE #( row_id = ism-row_id type = 0 col_id = <fs_fcat>-col_pos ) TO gt_error.
- ENDMETHOD.
- METHOD set_style.
- READ TABLE ct ASSIGNING FIELD-SYMBOL(<fs>) WITH KEY fieldname = iv_name.
- IF sy-subrc = 0.
- DELETE TABLE ct WITH TABLE KEY fieldname = iv_name.
- ENDIF.
- INSERT VALUE #( fieldname = iv_name style = iv_style ) INTO TABLE ct.
- ENDMETHOD.
- METHOD zif_rmc_gui_alv_grid~handle_data_changed_finished.
- DATA: lo TYPE REF TO lcl_for_redefine.
- IF lo IS NOT BOUND.
- CREATE OBJECT lo
- EXPORTING
- io_grid = gr_pmcs_alv.
- ENDIF.
- CHECK lines( gt_error ) > 0.
- lo->set_error( it = gt_error ).
- FREE gt_error.
- ENDMETHOD.
- METHOD zif_rmc_gui_alv_grid~handle_onf4.
- DATA: lv_error TYPE flag.
- me->refresh_protocol( ).
- READ TABLE me->gt_data ASSIGNING FIELD-SYMBOL(<ls_data_chk>) INDEX es_row_no-row_id.
- CASE e_fieldname.
- WHEN 'EQUNR'.
- <ls_data_chk>-equnr = get_equnr_f4( ).
- IF <ls_data_chk>-equnr IS NOT INITIAL.
- <ls_data_chk>-eqktx = get_text_equnr( <ls_data_chk>-equnr ).
- <ls_data_chk>-vtplnr = get_tplnr( <ls_data_chk>-equnr ).
- IF <ls_data_chk>-vtplnr IS NOT INITIAL .
- * set_error( VALUE #(
- * msgid = 'ZPM_RM_MSG' msgty = 'E' msgno = 060 msgv1 = <ls_data_chk>-equnr fieldname = e_fieldname row_id = es_row_no-row_id ) ).
- *
- * lv_error = abap_true.
- * CLEAR <ls_data_chk>-equnr.
- * ELSE.
- me->set_style(
- EXPORTING
- iv_name = 'EQUNR'
- iv_style = gc_onlyf4
- CHANGING
- ct = <ls_data_chk>-t_style ).
- me->set_style(
- EXPORTING
- iv_name = 'EQKTX'
- iv_style = gc_full_d
- CHANGING
- ct = <ls_data_chk>-t_style ).
- <ls_data_chk>-vpltxt = get_text_tplnr( conv_tplnr_input( <ls_data_chk>-vtplnr ) ).
- <ls_data_chk>-superequi = get_superequi( <ls_data_chk>-equnr ).
- <ls_data_chk>-supeqktx = get_text_equnr( <ls_data_chk>-superequi ).
- ELSE.
- CLEAR <ls_data_chk>-vpltxt.
- ENDIF.
- ENDIF.
- WHEN 'NTPLNR'.
- DATA(lv_tplnr) = get_tplnr_f4( ).
- IF lv_tplnr IS NOT INITIAL.
- <ls_data_chk>-ntplnr = lv_tplnr.
- me->set_style(
- EXPORTING
- iv_name = 'NTPLNR'
- iv_style = gc_onlyf4
- CHANGING
- ct = <ls_data_chk>-t_style ).
- <ls_data_chk>-npltxt = get_text_tplnr( conv_tplnr_input( <ls_data_chk>-ntplnr ) ).
- ENDIF.
- IF <ls_data_chk>-ntplnr IS INITIAL .
- set_error( VALUE #(
- msgid = 'ZPM_RM_MSG' msgty = 'E' msgno = 061 fieldname = e_fieldname row_id = es_row_no-row_id ) ).
- ENDIF.
- WHEN OTHERS.
- ENDCASE.
- IF lv_error = abap_true.
- gr_prot->display_protocol( ).
- ELSE.
- gr_prot->refresh_protocol( ).
- ENDIF.
- me->gr_pmcs_alv->refresh_table_display( ).
- er_event_data->m_event_handled = abap_true.
- ENDMETHOD.
- ENDCLASS.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement