、新建WDA 可从SE80在web dynpro 组件下 创建 并按例以下操作

2、插入窗口

3、相关功能

3-1、展示消息

DATA:lo_api_controller  TYPE REF TO if_wd_controller,lo_message_handler TYPE REF TO if_wd_message_manager.lo_api_controller ?= wd_this->wd_get_api( ).lo_message_handler = lo_api_controller->get_message_manager( ).LOOP AT it_return INTO DATA(lw_return).CALL METHOD lo_message_handler->report_t100_messageEXPORTINGmsgid = lw_return-idmsgno = lw_return-numbermsgty = lw_return-typep1    = lw_return-message_v1p2    = lw_return-message_v2p3    = lw_return-message_v3p4    = lw_return-message_v4.ENDLOOP.IF iv_msg IS NOT INITIAL.CALL METHOD lo_message_handler->report_t100_messageEXPORTINGmsgid = '00'msgno = '398'msgty = iv_msgtyp1    = CONV syst_msgv( iv_msg ).ENDIF.

 

3-2弹窗

 

DATA lo_window_manager TYPE REF TO if_wd_window_manager.lo_window_manager = wd_this->wd_get_api( )->get_window_manager( ).wd_this->go_pop_win = lo_window_manager->create_window(window_name            = iv_window_namemessage_display_mode   = if_wd_window=>co_msg_display_mode_allmessage_type           = if_wd_window=>co_msg_type_nonedefault_button         = if_wd_window=>co_button_noneclose_in_any_case      = abap_false).IFiv_width IS NOT INITIAL ANDiv_height IS NOT INITIAL.wd_this->go_pop_win->set_window_size( width = iv_width height = iv_height ).ENDIF.wd_this->go_pop_win->set_window_title( iv_title ).wd_this->go_pop_win->open( ).

4、可编辑或只读等的操作

  DATA lo_nd_available TYPE REF TO if_wd_context_node.DATA lo_el_available TYPE REF TO if_wd_context_element.DATA ls_available TYPE wd_this->element_available.DATA lo_button TYPE REF TO cl_wd_toolbar_button.DATA view      TYPE REF TO if_wd_view.DATA lo_nd_detail TYPE REF TO if_wd_context_node.DATA lo_el_detail TYPE REF TO if_wd_context_element.DATA ls_detail TYPE wd_this->element_fpo_alv.DATA lv_text TYPE string.****
**      edit (绑定选择屏幕文本)    ‘'X'.   "可编辑
**      on1  (绑定删除)            'X'.   "可使用
**      on2  (绑定编辑/保存/提交)  'X'.   "可使用
**      on3  (绑定过账)            'X'.   "可使用
****lo_nd_detail = wd_context->get_child_node( name = wd_this->wdctx_fpo_alv ).lo_el_detail = lo_nd_detail->get_element( ).view ?= wd_this->wd_get_api( ).lo_button ?= view->get_element( id = 'BTN_EDIT').lo_nd_available = wd_context->get_child_node( name = wd_this->wdctx_available ).lo_el_available = lo_nd_available->get_element( ).CASEl_way .WHEN '01'."第一次进入屏幕IF wd_comp_controller->gv_ztype = 'C'."新建ls_available-edit = ''.ls_available-on1 = 'X'.ls_available-on2 = 'X'.ls_available-on3 = ' '.ELSE.CASEwd_comp_controller->gw_zsmm0332-ztjzt.WHEN 'A'."新建ls_available-edit = 'X'.ls_available-on1 = 'X'.ls_available-on2 = 'X'.ls_available-on3 = ' '.WHEN 'B'."提交ls_available-edit = 'X'.ls_available-on1 = ' '.ls_available-on2 = ' '.ls_available-on3 = ' '.WHEN 'C'."过账关闭ls_available-edit = 'X'.ls_available-on1 = ' '.ls_available-on2 = ' '.ls_available-on3 = 'X'.WHEN OTHERS.ENDCASE.ENDIF.wd_comp_controller->gv_read = 'X'.WHEN '02' ."编辑按钮IFwd_comp_controller->gv_read = 'X'.lo_button->set_image_source('~Icon/Edit').lo_button->set_text( wd_assist->if_wd_component_assistance~get_text( key = 'A02') ).lo_button->set_tooltip( wd_assist->if_wd_component_assistance~get_text( key = 'A02') ).CASEwd_comp_controller->gw_zsmm0332-ztjzt.WHEN 'A'."新建ls_available-edit = ' '.ls_available-on1 = 'X'.ls_available-on2 = 'X'.ls_available-on3 = ' '.WHEN 'B'."提交ls_available-edit = 'X'.ls_available-on1 = ' '.ls_available-on2 = ' '.ls_available-on3 = ' '.WHEN 'C'."过账关闭ls_available-edit = ' '.ls_available-on1 = ' '.ls_available-on2 = ' '.ls_available-on3 = 'X'.WHEN OTHERS.ls_available-edit = 'X'.ls_available-on1 = ' '.ls_available-on2 = 'X'.ls_available-on3 = ' '.ENDCASE.wd_comp_controller->gv_read = ' '.ELSE.lo_button->set_image_source('~Icon/Display').lo_button->set_text( wd_assist->if_wd_component_assistance~get_text( key = 'A01' ) ).lo_button->set_tooltip( wd_assist->if_wd_component_assistance~get_text( key = 'A01' ) ).CASE wd_comp_controller->gw_zsmm0332-ztjzt.WHEN 'A'.ls_available-edit = 'X'.ls_available-on1 = 'X'.ls_available-on2 = 'X'.ls_available-on3 = ' '.WHEN 'B'.ls_available-edit = 'X'.ls_available-on1 = ' '.ls_available-on2 = ' '.ls_available-on3 = ' '.WHEN 'C'.ls_available-edit = ' '.ls_available-on1 = ' '.ls_available-on2 = ' '.ls_available-on3 = 'X'.WHEN OTHERS.ls_available-edit = ' '.ls_available-on1 = 'X'.ls_available-on2 = 'X'.ls_available-on3 = ' '.ENDCASE.wd_comp_controller->gv_read = 'X'.ENDIF.WHEN '03' ."保存ls_available-edit = 'X'.ls_available-on1 = 'X'.ls_available-on2 = 'X'.ls_available-on3 = ' '.wd_comp_controller->gv_read = 'X'.WHEN '04'."提交ls_available-edit = 'X'.ls_available-on1 = ' '.ls_available-on2 = ' '.ls_available-on3 = ' '.wd_comp_controller->gv_read = 'X'.WHEN '05'. "过账ls_available-edit = 'X'.ls_available-on1 = ' '.ls_available-on2 = ' '.ls_available-on3 = ' '.wd_comp_controller->gv_read = 'X'.WHEN OTHERS.ENDCASE.lo_el_available->set_static_attributes( static_attributes = ls_available ).
1、搜索帮助
1、搜索帮助
***<!----------------------------------- F4输入结构TYPES:BEGIN OF lty_stru_input,werks TYPE werks_d,lgort TYPE lgort_d,matnr TYPE matnr,lifnr TYPE lifnr,
*          charg  TYPE charg_d,
*          field1 TYPE string,END OF lty_stru_input.
*        ls_search_input TYPE lty_stru_input.
***<!----------------------------------- F4输出结构TYPES: BEGIN OF lty_stru_list,werks TYPE werks_d,lgort TYPE lgort_d,matnr TYPE matnr,lifnr TYPE lifnr,charg TYPE charg_d,clabs TYPE zremnum,
*           column1 TYPE string,END OF lty_stru_list.
*         lt_select_list TYPE STANDARD TABLE OF lty_stru_list.
***<!------------------------------------批次返回结构DATA:BEGIN OF lw_batch,werks TYPE werks_d,lgort TYPE lgort_d,matnr TYPE matnr,charg TYPE charg_d,clabs TYPE zremnum,END OF lw_batch,lt_batch LIKE TABLE OF lw_batch.
DATA:lv_msg  TYPE bapi_msg,lv_type TYPE    bapi_mtype.
***<!----------------------------------- F4所需结构DATA: ls_text         TYPE wdr_name_value,lt_label_texts  TYPE wdr_name_value_list,lt_column_texts TYPE wdr_name_value_list,lv_window_title TYPE string,lv_table_header TYPE string,ls_search_input TYPE lty_stru_input,lw_select_list  TYPE lty_stru_list,lt_select_list  TYPE STANDARD TABLE OF lty_stru_list..
FIELD-SYMBOLS: <ls_query_params> TYPE lty_stru_input,<ls_selection>    TYPE lty_stru_list.
DATA:lo_nd_fpo_alv TYPE REF TO if_wd_context_node,lo_el_fpo_alv TYPE REF TO if_wd_context_element.
DATA:lo_nd_fpo_sel TYPE REF TO if_wd_context_node,lo_el_fpo_sel TYPE REF TO if_wd_context_element.DATA lt_select_ovs TYPE wd_this->elements_charg_f4.DATA ls_fpo_sel TYPE wd_this->element_fpo_sel.
DATA:ls_alv TYPE wd_this->element_fpo_alv,lt_alv TYPE wd_this->elements_fpo_alv.
DATA:lv_lifnr TYPE wd_this->element_fpo_sel-lifnr,lv_lgort TYPE wd_this->element_fpo_sel-lgort,lv_werks TYPE wd_this->element_fpo_sel-werks.
lo_nd_fpo_alv = wd_context->get_child_node( name = wd_this->wdctx_fpo_alv ).lo_nd_fpo_alv->get_static_attributes_table( IMPORTING table = lt_alv ).
lo_nd_fpo_sel = wd_context->get_child_node( name = wd_this->wdctx_fpo_sel ).lo_el_fpo_sel = lo_nd_fpo_sel->get_element( ).
CLEAR:lv_lifnr,lv_werks,lv_lgort.lo_el_fpo_sel->get_attribute( EXPORTING name = `LIFNR` IMPORTING value = lv_lifnr ).lo_el_fpo_sel->get_attribute( EXPORTING name = `LGORT` IMPORTING value = lv_lgort ).lo_el_fpo_sel->get_attribute( EXPORTING name = `WERKS` IMPORTING value = lv_werks ).
CASEovs_callback_object->phase_indicator.
WHEN if_wd_ovs=>co_phase_0.     "实例化F4窗口lt_label_texts[]  = VALUE #( ( name = 'WERKS' value = wd_assist->if_wd_component_assistance~get_text( key = 'M06' ) )( name = 'LGORT' value = wd_assist->if_wd_component_assistance~get_text( key = 'M10' ) )( name = 'MATNR' value = wd_assist->if_wd_component_assistance~get_text( key = 'M03' ) )( name = 'LIFNR' value = wd_assist->if_wd_component_assistance~get_text( key = 'V01' ) )).lt_column_texts[] = VALUE #( ( name = 'WERKS' value = wd_assist->if_wd_component_assistance~get_text( key = 'M06' ) )( name = 'LGORT' value = wd_assist->if_wd_component_assistance~get_text( key = 'M10' ) )( name = 'MATNR' value = wd_assist->if_wd_component_assistance~get_text( key = 'M03' ) )( name = 'LIFNR' value = wd_assist->if_wd_component_assistance~get_text( key = 'V01' ) )( name = 'CHARG' value = wd_assist->if_wd_component_assistance~get_text( key = 'Y07' ) )( name = 'CLABS' value = wd_assist->if_wd_component_assistance~get_text( key = '017' ) )).
ovs_callback_object->set_configuration( label_texts  = lt_label_textscolumn_texts = lt_column_textswindow_title = lv_window_titletable_header = lv_table_header).
WHEN if_wd_ovs=>co_phase_1.    "实例化搜索框
*      ovs_callback_object->context_element->get_static_attributes( IMPORTING static_attributes = ls_search_input ).
*      ovs_callback_object->set_input_structure( input = ls_search_input ).
WHEN if_wd_ovs=>co_phase_2.    "实例化取值
DATA(lv_index) = ovs_callback_object->context_element->get_index( ).
*   获取 RFC 名字SELECT SINGLE * INTO @DATA(lw_zrfc) FROM zrfc WHERE to_system = 'ERP' AND function  = ''.
READ TABLE lt_alv INTO DATA(lw_alv) INDEX lv_index.IF sy-subrc = 0.
CALL FUNCTION 'ZRFC_SNC_ERP_RTV_GET_CHARG' DESTINATION lw_zrfc-rfc_nameEXPORTINGi_werks            = lv_werksi_lgort            = lv_lgorti_matnr            = lw_alv-matnri_lifnr            = lv_lifnrIMPORTINGe_msg              = lv_msge_type             = lv_typeTABLESt_batch            = lt_batchEXCEPTIONSrfc_external_abort = 1OTHERS             = 2.LOOP AT lt_batch INTO lw_batch.MOVE-CORRESPONDING lw_batch TO lw_select_list.lw_select_list-lifnr = lv_lifnr.APPEND lw_select_list TO lt_select_list.CLEAR:lw_batch,lw_select_list."lv_lifnr,lv_werks,lv_lgort.ENDLOOP.
ENDIF.
ovs_callback_object->set_output_table( output = lt_select_list ).
WHEN if_wd_ovs=>co_phase_3."将值塞入ALV中
*   apply result
IF ovs_callback_object->selection IS NOT BOUND.
******** TODO exception handlingENDIF.
ASSIGN ovs_callback_object->selection->* TO <ls_selection>.IF <ls_selection> IS ASSIGNED.ovs_callback_object->context_element->set_attribute(name  = `CHARG`value = <ls_selection>-charg  ).
*        ovs_callback_object->context_element->set_attribute(
*                               name  = `LGOBE`
*                               value = <ls_selection>-lgobe ).
ENDIF.ENDCASE.
2、ALV相关
*<!-----组件DATA: lo_cmp_usage           TYPE REF TO if_wd_component_usage,lo_interfacecontroller TYPE REF TO iwci_salv_wd_table,lo_nd_alv              TYPE REF TO if_wd_context_node,lo_config_table        TYPE REF TO cl_salv_wd_config_table,lo_column_settings     TYPE REF TO if_salv_wd_column_settings,lo_field_settings      TYPE REF TO if_salv_wd_field_settings,lo_functions_set       TYPE REF TO if_salv_wd_function_settings.
DATA:lr_dorpdown TYPE REF TO cl_salv_wd_uie_dropdown_by_key.
lo_cmp_usage =   wd_this->wd_cpuse_main_alv( ).IFlo_cmp_usage->has_active_component( ) IS INITIAL.lo_cmp_usage->create_component( ).ENDIF.
*<!-----界面lo_interfacecontroller =   wd_this->wd_cpifc_main_alv( ).
*<!-----获取nodelo_nd_alv = wd_context->get_child_node( name = wd_this->wdctx_main_alv ).
*<!-----alv与node绑定lo_interfacecontroller->set_data( r_node_data = lo_nd_alv ).
*<!-----获取节点组lo_config_table = lo_interfacecontroller->get_model( ).
*<!-----隐藏打印版本lo_config_table->if_salv_wd_std_functions~set_pdf_allowed( '').
*<!-----所有字段100%显示
*  lo_config_table->if_salv_wd_table_settings~set_grid_mode( '00').
*  lo_config_table->if_salv_wd_table_settings~set_visible_row_count( 20).
*  lo_config_table->if_salv_wd_table_settings~set_scrollable_col_count( '10')."滚动列
*  lo_config_table->if_salv_wd_table_settings~set_width( '100%' )."设置宽度
*  lo_config_table->if_salv_wd_table_settings~set_selection_mode( value = cl_wd_table=>e_selection_mode-multi_no_lead ).
*  lo_config_table->if_salv_wd_table_settings~set_cell_action_event_enabled( value = abap_true ).
*<!-----设置行样式lo_column_settings ?= lo_config_table.lo_field_settings ?= lo_config_table.lo_functions_set ?= lo_config_table.
lo_config_table->if_salv_wd_table_settings~set_read_only( abap_false ).lo_config_table->if_salv_wd_table_settings~set_cell_action_event_enabled( abap_true ).
*
*  lo_config_table->if_salv_wd_table_settings~set_selection_mode( '08').
*  lo_config_table->if_salv_wd_table_settings~set_scrollable_col_count( '15').
*  lo_config_table->if_salv_wd_table_settings~set_visible_row_count( '10').
lo_config_table->if_salv_wd_std_functions~set_edit_check_available( abap_false ).lo_config_table->if_salv_wd_std_functions~set_edit_append_row_allowed( abap_false ).lo_config_table->if_salv_wd_std_functions~set_edit_insert_row_allowed( abap_false ).lo_config_table->if_salv_wd_std_functions~set_edit_delete_row_allowed( abap_false ).
*<!-----Alv列设置DATA: lt_columns       TYPE salv_wd_t_column_ref,lr_column_header TYPE REF TO cl_salv_wd_column_header,lr_link          TYPE REF TO cl_salv_wd_uie_link_to_action,lr_drop_bykey    TYPE REF TO cl_salv_wd_uie_dropdown_by_key,lr_function      TYPE REF TO cl_salv_wd_function,lr_button        TYPE REF TO cl_salv_wd_fe_button,lo_input         TYPE REF TO cl_salv_wd_uie_input_field.
lt_columns = lo_column_settings->get_columns( ).LOOP AT lt_columns INTO DATA(ls_column).lr_column_header = ls_column-r_column->get_header( ).lr_column_header->set_ddic_binding_field( if_salv_wd_c_column_settings=>ddic_bind_none ).
CREATE OBJECTlo_input EXPORTING value_fieldname = ls_column-id.
CASEls_column-id.WHEN 'ZREFN'.lr_column_header->set_text( value = wd_assist->if_wd_component_assistance~get_text('M01') ).
CREATE OBJECTlo_input EXPORTING value_fieldname = ls_column-id.lr_link = NEW#( ).CREATE OBJECTlr_link.lr_link->set_text_fieldname( ls_column-id ).ls_column-r_column->set_cell_editor( lr_link ).
WHEN 'ZREPO'.lr_column_header->set_text( value = wd_assist->if_wd_component_assistance~get_text('M02') ).lo_input->set_read_only( abap_false ).WHEN 'MATNR'.lr_column_header->set_text( value = wd_assist->if_wd_component_assistance~get_text('M03') ).WHEN 'MENGE'.lr_column_header->set_text( value = wd_assist->if_wd_component_assistance~get_text('M04') ).lo_input->set_length( 4).WHEN 'WERKS'.lr_column_header->set_text( value = wd_assist->if_wd_component_assistance~get_text('M06') ).WHEN 'NAME1'.lr_column_header->set_text( value = wd_assist->if_wd_component_assistance~get_text('M07') ).WHEN 'YCK_MENGE'.lr_column_header->set_text( value = wd_assist->if_wd_component_assistance~get_text('M08') ).lo_input->set_length( 4).WHEN 'ZCDATE'.lr_column_header->set_text( value = wd_assist->if_wd_component_assistance~get_text('M09') ).WHEN 'LGORT'.lr_column_header->set_text( value = wd_assist->if_wd_component_assistance~get_text('M10') ).WHEN 'CHARG'.lr_column_header->set_text( value = wd_assist->if_wd_component_assistance~get_text('M11') ).WHEN 'ZTJZT'.lr_column_header->set_text( value = wd_assist->if_wd_component_assistance~get_text('M12') ).WHEN 'ZRVTYY'.lr_column_header->set_text( value = wd_assist->if_wd_component_assistance~get_text('M13') ).lo_input->set_length( 8).WHEN 'ZRTVYY_N'.lr_column_header->set_text( value = wd_assist->if_wd_component_assistance~get_text('M14') ).lo_input->set_length( 8).WHEN 'ZCNAME'.lr_column_header->set_text( value = wd_assist->if_wd_component_assistance~get_text('M15') ).WHEN 'TELENUM'.lr_column_header->set_text( value = wd_assist->if_wd_component_assistance~get_text('M16') ).WHEN 'ZBEIZH'.lr_column_header->set_text( value = wd_assist->if_wd_component_assistance~get_text('M17') ).WHEN OTHERS.lo_column_settings->delete_column( ls_column-id ).ENDCASE.
ENDLOOP.
*<!-----设置按钮lo_functions_set ?= lo_config_table.lr_function = lo_functions_set->create_function( 'SEARCH').CREATE OBJECTlr_button.lr_button->set_text( value = wd_assist->if_wd_component_assistance~get_text('B10') )."查询lr_function->set_editor( lr_button ).
lo_functions_set ?= lo_config_table.lr_function = lo_functions_set->create_function( 'ZADD' ).CREATE OBJECT lr_button.lr_button->set_text( value = wd_assist->if_wd_component_assistance~get_text('B11') )."新建退货lr_function->set_editor( lr_button ).
3、绑定搜索帮助DATA: lo_cp_usage  TYPE REF TO if_wd_component_usage,lo_select_op TYPE REF TO iwci_wdr_select_options,lt_rangtable TYPE REF TO data.DATA: lt_range_table TYPE REF TO data.DATA: lr_s1 TYPE RANGE OF bu_partner  .DATA  lw_s1 LIKE LINE OF lr_s1.DATA: ev_cp_partner  TYPE bu_partner.DATA: ev_partner  TYPE bu_partner.DATA: ev_partner_guid   TYPE bu_partner_guid.FIELD-SYMBOLS <fs_data> TYPE table.DATA: lt_value_set TYPE wdy_key_value_table.
lo_cp_usage = wd_this->wd_cpuse_sel_opt( ).IFlo_cp_usage->has_active_component( ) IS INITIAL.lo_cp_usage->create_component( ).ENDIF.
lo_select_op = wd_this->wd_cpifc_sel_opt( ).
* 设定到全局参数wd_this->go_handler = lo_select_op->init_selection_screen( ).wd_this->go_handler->set_global_options(i_display_btn_cancel  = abap_falsei_display_btn_check   = abap_falsei_display_btn_reset   = abap_falsei_display_btn_execute = abap_false ).
DEFINE set_opt.
lt_rangtable = wd_this->go_handler->create_range_table( i_typename = &1).wd_this->go_handler->add_selection_field(i_id              = &2it_result         = lt_rangtablei_read_only       = &3"只读i_as_dropdown     = &4   "下拉框i_description     = &5"描述i_obligatory      = &6   "必填i_no_extension    = &7"sel_opt -no_extensioni_no_intervals    = &7   "sel-opt -no_intervalsi_value_help_type = &8"F4类型i_value_help_id   = &9   "F4ID).
END-OF-DEFINITION.
DATA: lv_text TYPE string.lv_text = wd_assist->if_wd_component_assistance~get_text( 'M15')."创建人set_opt 'LIFNR'     'S_1'   'X'   ' '   lv_text    'X'   'X'   ' '   ' '.
lv_text = wd_assist->if_wd_component_assistance~get_text( 'M06' )."工厂set_opt 'WERKS_D''S_2'' '' 'lv_text    'X'' ''OVR''ON_OVS'." .
lv_text = wd_assist->if_wd_component_assistance~get_text( 'M01' )."退货申请单号set_opt 'ZEREFN''S_3'' '' 'lv_text    ' '' '' '' '.
lv_text = wd_assist->if_wd_component_assistance~get_text( 'M03')."物料set_opt 'MATNR'     'S_4'   ' '   ' '   lv_text    ' '   ' '   ' '   ' '.
lv_text = wd_assist->if_wd_component_assistance~get_text( 'M09' )."创建日期set_opt 'ERDAT''S_5'' '' 'lv_text    ' '' '' '' '." ."' '' '.
**--------------------------------------------------------------------*
**` 默认值
**--------------------------------------------------------------------*FIELD-SYMBOLS: <it_range_table> TYPE STANDARD TABLE.
lt_range_table = wd_this->go_handler->get_range_table_of_sel_field( i_id =  'S_1').ASSIGN lt_range_table->* TO <it_range_table> .CLEAR <it_range_table>.
**--------------------------------------------------------------------*
**   初始供应商
**--------------------------------------------------------------------*"获取登录帐号所对应的供应商编号CALL FUNCTION 'ZBUPA_NUMBERS_GET'EXPORTINGiv_uname         = sy-unameIMPORTINGev_cp_partner    = ev_cp_partnerev_partner       = ev_partnerev_partner_guid  = ev_partner_guidEXCEPTIONSno_cp_username   = 1no_business_part = 2.
IF ev_partner IS NOT INITIAL.lt_range_table = wd_this->go_handler->get_range_table_of_sel_field( i_id =  'S_1' ).ASSIGN lt_range_table->* TO <it_range_table> .CLEAR <it_range_table>.lw_s1-sign   = 'I' .lw_s1-option = 'EQ' .lw_s1-low    = ev_partner.APPEND lw_s1 TO <it_range_table> .wd_this->go_handler->set_range_table_of_sel_field(i_id = 'S_1'it_range_table = lt_range_table).ENDIF.
*
4、获取选择屏幕的值 查询并绑定DATA:lo_range TYPE REFTOdata.FIELD-SYMBOLS: <fs_range>TYPE table.
DATA: lt_alv    TYPE wd_this->elements_main_alv,lw_alv    TYPE wd_this->element_main_alv,lo_nd_alv TYPE REFTOif_wd_context_node.
*报错误消息的方法定义DATA: lo_current_controller TYPE REFTOif_wd_controller,lo_message_manager    TYPE REFTOif_wd_message_manager.
DATA:lt_lifnr TYPE TABLEOFzranges,lt_werks TYPE TABLEOFzranges,lt_zrefn TYPE TABLEOFzranges,lt_matnr TYPE TABLEOFzranges,lt_erdat TYPE TABLEOFzranges,lv_text  TYPE string.
lo_range =wd_this->go_handler->get_range_table_of_sel_field( i_id ='S_1')."取当前供应商ASSIGN lo_range->* TO <fs_range>.MOVE-CORRESPONDING <fs_range> TO lt_lifnr.
lo_range = wd_this->go_handler->get_range_table_of_sel_field( i_id = 'S_2' )."取当前工厂ASSIGN lo_range->*TO<fs_range>.MOVE-CORRESPONDING<fs_range>TOlt_werks .
lo_range =wd_this->go_handler->get_range_table_of_sel_field( i_id ='S_3')."取退货申请号ASSIGN lo_range->* TO <fs_range>.MOVE-CORRESPONDING <fs_range> TO lt_zrefn .
lo_range = wd_this->go_handler->get_range_table_of_sel_field( i_id = 'S_4' )."取物料ASSIGN lo_range->*TO<fs_range>.MOVE-CORRESPONDING<fs_range>TOlt_matnr .
lo_range =wd_this->go_handler->get_range_table_of_sel_field( i_id ='S_5')."取当前创建日期ASSIGN lo_range->* TO <fs_range>.MOVE-CORRESPONDING <fs_range> TO lt_erdat.
IF lt_werks  IS INITIAL OR lt_lifnr  IS INITIAL.lv_text = wd_assist->if_wd_component_assistance~get_text( 'E03' ).         "'请检查 工厂/供应商 字段必填!!wd_comp_controller->show_message( iv_msgty = 'E' iv_msg = lv_text ).ELSE.
*   获取 RFC 名字SELECT SINGLE * INTO @DATA(lw_zrfc) FROM zrfc WHERE to_system = 'ERP' AND function  = ''.
CALL FUNCTION 'ZRFC_SNC_ERP_HANDLE_RTV_SEARCH' DESTINATION lw_zrfc-rfc_nameEXPORTINGiv_langu  = sy-languTABLESir_zafnam = lt_lifnrir_werks  = lt_werksir_zrefn  = lt_zrefnir_matnr  = lt_matnrir_zcdate = lt_erdatet_data   = lt_alv.
SORT lt_alv BY zrefn DESCENDING.
*    LOOP AT lt_alv assigning field-symbol(lv).
*
*    ENDLOOP.
IF lt_alv IS NOT INITIAL.lo_nd_alv = wd_context->get_child_node( name = wd_this->wdctx_main_alv ).  "'查询成功'.lo_nd_alv->bind_table( new_items = lt_alv set_initial_elements = abap_true ).ELSE.lv_text = wd_assist->if_wd_component_assistance~get_text( 'E01' ).         "'查询失败:当前无符合条件的数据'.wd_comp_controller->show_message( iv_msgty = 'E' iv_msg = lv_text ).ENDIF.ENDIF.
5、获取选择的行
复制  DATA:lo_nd_receiver TYPE REF TO if_wd_context_node,lo_el_receiver TYPE REF TO if_wd_context_element.DATA:lt_rows   TYPE wdr_context_element_set,lo_nd_alv TYPE REF TO if_wd_context_node,lt_alv    TYPE wd_this->elements_fpo_alv, "ALV的内表lw_alv    LIKE LINE OF lt_alv.
DATA:lv_tabix TYPE sy-tabix.
***<!---------------------获取整个内表lo_nd_receiver = wd_context->get_child_node( name = wd_this->wdctx_fpo_alv ).lo_nd_receiver->get_static_attributes_table( IMPORTING table = lt_alv ).
***<!---------------------获取选中行数据lo_nd_alv = wd_context->get_child_node( name = wd_this->wdctx_fpo_alv ).lt_rows   = lo_nd_alv->get_selected_elements( including_lead_selection = abap_true ).
LOOP AT lt_rows INTO DATA(lw_rows).lv_tabix = sy-tabix.CALL METHOD lw_rows->get_static_attributes( IMPORTING static_attributes = lw_alv ).
DELETE lt_alv WHERE zrefn = lw_alv-zrefn AND zrepo = lw_alv-zrepo.
*    lo_nd_receiver = wd_context->get_child_node( name = wd_this->wdctx_fpo_alv ).
*    lo_el_receiver = lo_nd_receiver->get_element( lo_nd_receiver->get_lead_selection_index( ) ).
*    lo_nd_receiver->remove_element( lo_el_receiver ).
ENDLOOP.
***<!-----------------重新绑定lo_nd_receiver = wd_context->get_child_node( name = wd_this->wdctx_fpo_alv ).  "'查询成功'.lo_nd_receiver->bind_table( new_items = lt_alv set_initial_elements = abap_true ).
*  lo_nd_receiver = wd_context->get_child_node( name = wd_this->wdctx_fpo_alv ).
*  lo_el_receiver = lo_nd_receiver->get_element( lo_nd_receiver->get_lead_selection_index( ) ).
*  lo_nd_receiver->remove_element( lo_el_receiver ).来自 <https://www.showdoc.com.cn/2061732476156924/10264315363757174> 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/news/912821.shtml
繁体地址,请注明出处:http://hk.pswp.cn/news/912821.shtml
英文地址,请注明出处:http://en.pswp.cn/news/912821.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ALV常用设置(更新中一)

之前设置了checkbox&#xff0c;但是触发不了单击事件&#xff0c;且alv自带的复选&#xff0c;鼠标移动单击别处就会自动取消。 **增加多选框到fieldcat&#xff0c;**这一点很重要&#xff0c;然后设置 IF gs_fcat-fieldname sel.gs_fcat-checkbox X. gs_fcat-edit X. …

NumPy 或 PyTorch/TensorFlow 中的张量理解

(2, 2, 3) 形状的 3D 数组&#xff08;或张量&#xff09;的结构。 个人理解&#xff1a; 2个2维数组&#xff08;张量&#xff09;&#xff0c;2维数组&#xff08;张量&#xff09;里面有2个1维向量&#xff08;张量&#xff09;&#xff0c;1维向量&#xff08;张量&#x…

Linux环境下使用 C++ 与 OpenCV 实现 ONNX 分类模型推理

实验环境&#xff1a;Ubuntu 20.0 推理模型&#xff1a;ONNX分类模型 1. 安装依赖项 首先是需要安装依赖库&#xff0c;如g&#xff0c;cmake等&#xff0c;如果已经安装的话可以忽略 sudo apt install -y g sudo apt install -y cmake sudo apt install -y make sudo apt i…

AJAX 安装使用教程

一、AJAX 简介 AJAX&#xff08;Asynchronous JavaScript and XML&#xff09;是一种在无需重新加载整个网页的情况下&#xff0c;能够与服务器交换数据并更新部分网页内容的技术。它不是一种新语言&#xff0c;而是使用现有的标准组合&#xff1a;JavaScript XMLHttpRequest…

【牛客算法】牛客网编程题解:小红拼图

一、题目介绍 1.1. 题目链接 &#xff1a;小红拼图 https://www.nowcoder.com/questionTerminal/08b54686f0d14bd784d9d148c68a268a 1.2 题目介绍 小红正在玩一个拼图游戏&#xff0c;她有一些完全相同的拼图组件&#xff1a; 小红准备用这些组件来拼成一些图案。这些组件可…

买卖股票的最佳时机--js 算法

一、买卖股票的最佳时机 给定一个数组 prices ,它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。你只能选择 某一天 买入这只股票,并选择在 未来的某一个不同的日子 卖出该股票。设计一个算法来计算你所能获取的最大利润。返回你可以从这笔交易中获取的最大利润。…

C#基础(WndProc)

WndProc 是操作系统与你的程序“对话”的通道​​。当用户点击鼠标、按下键盘&#xff0c;或系统事件&#xff08;如窗口移动&#xff09;发生时&#xff0c;Windows 会将这些事件打包成“消息”&#xff0c;发送给你的窗口&#xff0c;而 WndProc 就是接收和处理这些消息的函数…

记录一个 Linux中脚本无法执行的问题

问题描述&#xff1a; 在本地的window系统传的云服务器上一个.sh结尾的安装Java环境的脚本 上传到云服务器后&#xff0c;使用命令赋予执行权限 chmod x 文件名然后看一下这个脚本变绿了就可以了 然后开始尝试执行 ./脚本名 然后就报错了 然后开始排查问题 1.检查并修复 She…

Iceberg在图灵落地应用

导读 百度MEG上一代大数据产品存在平台分散、易用性差等问题&#xff0c;导致开发效率低下、学习成本高&#xff0c;业务需求响应迟缓。为了解决这些问题&#xff0c;百度MEG内部开发了图灵3.0生态系统&#xff0c;包括Turing Data Engine(TDE)计算&存储引擎、Turing Data…

FPGA设计的用户约束

FPGA设计的用户约束 文章目录 FPGA设计的用户约束FPGA设计的用户约束综合约束管脚约束位置约束时序约束小总结 FPGA设计的用户约束 至此&#xff0c;HDL到门级网表的转化已经完成&#xff0c;对于编译器来说&#xff0c;下一步的任务就是要将门级网表转换并映射到具体的FPGA硬…

Spring 生态创新应用:微服务架构设计与前沿技术融合实践

在数字化转型的深水区&#xff0c;企业级应用正面临从 “单体架构” 向 “分布式智能架构” 的根本性跃迁。Spring 生态以其二十年技术沉淀形成的生态壁垒&#xff0c;已成为支撑这场变革的核心基础设施。从 2002 年 Rod Johnson 发布《Expert One-on-One J2EE Design and Deve…

车牌识别与标注:基于百度OCR与OpenCV的实现(一)

车牌识别与标注&#xff1a;基于百度OCR与OpenCV的实现 在计算机视觉领域&#xff0c;车牌识别是一项极具实用价值的技术&#xff0c;广泛应用于交通监控、智能停车场管理等领域。本文将介绍如何在macOS系统下&#xff0c;利用百度OCR API进行车牌识别&#xff0c;并结合OpenC…

【系统分析师】2021年真题:论文及解题思路

文章目录 试题一&#xff1a;论面向对象的信息系统分析方法试题二&#xff1a;论静态测试方法及其应用试题三&#xff1a;论富互联网应用的客户端开发技术试题四&#xff1a;论DevSecOps技术及其应用 试题一&#xff1a;论面向对象的信息系统分析方法 信息系统分析是信息系统生…

OFA-PT:统一多模态预训练模型的Prompt微调

摘要 Prompt微调已成为模型微调的新范式&#xff0c;并在自然语言预训练甚至视觉预训练中取得了成功。参数高效的Prompt微调方法通过优化soft embedding并保持预训练模型冻结&#xff0c;在计算成本低和几乎无性能损失方面展现出优势。在本研究中&#xff0c;我们探索了Prompt…

【硬核数学】2.5 “价值标尺”-损失函数:信息论如何设计深度学习的损失函数《从零构建机器学习、深度学习到LLM的数学认知》

欢迎来到本系列硬核数学之旅的第十篇&#xff0c;也是我们对经典数学领域进行深度学习“升级”的最后一站。我们已经拥有了强大的模型架构&#xff08;基于张量&#xff09;、高效的学习引擎&#xff08;反向传播&#xff09;和智能的优化策略&#xff08;Adam等&#xff09;。…

雷卯针对灵眸科技EASY EAI nano RV1126 开发板防雷防静电方案

一、应用场景 1. 人脸检测 2. 人脸识别 3. 安全帽检测 4. 人员检测 5. OCR文字识别 6. 人头检测 7. 表情神态识别 8. 人体骨骼点识别 9. 火焰检测 10. 人脸姿态估计 11. 人手检测 12. 车辆检测 13. 二维码识别 二、 功能概述 1 CPU 四核ARM Cortex-A71.5GHz 2 …

【记录】Ubuntu|Ubuntu服务器挂载新的硬盘的流程(开机自动挂载)

简而言之&#xff0c;看这张图片就好&#xff08;可以存一下&#xff0c;注意挂载点/data可以自定义&#xff0c;挂载硬盘的位置/dev/sdb要改成步骤1中检查的时候查到的那个位置&#xff0c;不过这个图的自动挂载漏了UUID&#xff0c;可以通过blkid指令查找&#xff09;&#x…

六、软件操作手册

建议在飞书平台阅读此文。 我将沿着初来乍到的用户的浏览路径介绍“诤略参谋”应用。 目录 一、用户信息1.1 注册、登录、自动登录、忘记密码、修改用户名、修改密码、退出登录与个性化设置1.2 认识主界面与任务系统1.3 语义审查、Knowledge Cutoff 审查1.4 重要内容未保存提醒…

电脑键盘不能打字了怎么解决 查看恢复方法

电脑键盘打不了字&#xff0c;这是我们电脑使用过程中&#xff0c;偶尔会遇到的电脑故障问题。一般来说&#xff0c;电脑键盘打不出字&#xff0c;可能是硬件故障、驱动问题或系统设置错误等多种原因引起。本文将详细介绍一些常见的原因和解决方法&#xff0c;帮助用户恢复正常…

基于STM32的土豆种植自动化灌溉系统设计与实现

📌 项目简介 随着农业现代化发展及水资源短缺问题日益突出,传统土豆种植方式在浇灌效率与用水科学性方面暴露出诸多问题。本文基于STM32F103C8T6微控制器,设计并实现了一种智能化的土豆种植自动灌溉系统,集成多种环境传感器(温湿度、土壤湿度、光照)、控制设备(水泵、…