当前位置: 首页 > Web前端 > JavaScript

如何在 WebClient UI 里创建 Value Help

时间:2023-03-26 20:25:26 JavaScript

undefined代码如下:CASEiv_property。当if_bsp_wd_model_setter_getter=>fp_fieldtype。rv_value=cl_bsp_dlc_view_descriptor=>field_type_input。结束案例。上述代码的语义是指定BusinessPartnerID的类型(fieldtype)为枚举值cl_bsp_dlc_view_descriptor=>field_type_input。实现:GcreET方法对象rv_valuehelp_descriptor类型cl_bsp_wd_valuehelp_navdescr导出iv_outbound_plug='OP_PARTNER_SEARCH'。将出站插件绑定到BusinessPartnerID字段并将其命名为OP_PARTNER_SEARCH。(2)创建一个同名的outboundplug:OP_PARTNER_SEARCH在视图控制器中定义了一个private,optrivate类型为TYPEREFTOif_bsp_wd_popup.实现如下ABAP代码:DATA:lv_nodeTYPEREFTOcl_bsp_wd_context_node.DATA:lv_titleTYPEstring.lv_title=cl_wd_utilities=>get_otr_text_by_alias('CRM_UIU_PROD_CUST/SEARCH_CUSTOMER').mv_popup=comp_controller->window_manager->create_popup(iv_interface_view_name='SearchHelpWindow'iv_usage_name='BPSearch'iv_title=lv_title).mv_popup->set_display_mode(if_bsp_wd_popup=>c_display_mode_surrounded).mv_popup->set_on_close_event(iv_view=meiv_event_name='CLOSEPOPUP').mv_popup->open('CLEAR_ALL').(3)在上一步的ABAP代码中,我们试图在ComponentUsage中打开定义名为BPSearch的Popupwindow,所以在这一步中,我们需要在runtimerepository中定义一个Componentusage:当valuehelpwindow关闭时,会触发事件CLOSEPOPUP。所以我们创建这个事件处理程序并实现它:因此,我们为CLOSEPOPUP事件创建一个事件处理程序。在事件处理函数的实现逻辑中,我们从组件BP_HEAD_SEARCH的上下文节点PARTNER的搜索结果中获取用户选择的BusinessPartner记录的内容,并存储在我们定义的字段BusinessPartnerID和EmployeeName中它。方法EH_ONCLOSEPOPUP.DATA:lv_target_node类型引用cl_bsp_wd_context_node.DATA:lr_node类型引用cl_bsp_wd_context_node,lr_entity类型引用if_bol_bo_property_access,lr_entity_bp类型引用if_bol_bo_property_access,lv_fullnameTYPElv_partyPECRIP,BUDESlr_entity?=me->typed_context->bpinfo->collection_wrapper->get_current()。断言lr_entity不是初始的。lr_node=mv_popup->get_context_node('PARTNER').检查lr_node是否绑定。lr_entity_bp=lr_node->collection_wrapper->get_current()。检查lr_entity是否绑定并且lr_entity_bp是否绑定。lv_bp_id=lr_entity_bp->get_property_as_string('BP_NUMBER').检查lv_bp_id不是初始的。lr_entity->set_property(iv_attr_name='BP_ID'iv_value=lv_bp_id).调用函数'CRM_BUPA_DESCRIPTION_READ'导出iv_partner=lv_bp_id导入ev_description_name=lv_fullname异常no_partner_specified=1no_valid_record_found=2OTHERS=3.lr_entity->set_property(iv_attr_name='BP_NAME'iv_value=lv_fullname)。第二步创建出站插件OP_PARTNER_proSEARCH,我们需要创建的默认方法是tected,将其改为Public。如果省略这一步,我们会在运行时遇到异常CX_BSP_WD_INCORRECT_IMPLEMENT,因为BSP框架无法调用类的受保护方法