常用的搜索帮助有SE11的SH,域,值列表,组件等。。。下面介绍一下经常用的:

一:下拉

dropdown是最经常用的,也是最简单的一种。

不管是查询条件,还是结果清单,还是明细界面,下拉都是一样的

1.设置字段属性为下拉。(界面查询组件,视图,字段,使用F2)

T-code:BSP_WD_CMPWB进入组件界面,输入组件

选择左侧对应的视图双击:

展开CONTEXT节点,选择对应的context node,点开属性

设置GET_P:字段属性

  CASE iv_property.
WHEN if_bsp_wd_model_setter_getter=>fp_fieldtype.
rv_value = cl_bsp_dlc_view_descriptor=>field_type_picklist. WHEN if_bsp_wd_model_setter_getter=>fp_server_event .
rv_value = 'ZSTAT'. ENDCASE.

然后设置GET_V:VALUE

LR_CURRENT = ME->COLLECTION_WRAPPER->GET_CURRENT( ).
CHECK LR_CURRENT IS BOUND.
LR_CURRENT->GET_PROPERTIES( IMPORTING ES_ATTRIBUTES = LS_CURRENT ).
CHECK LS_CURRENT-PROCESS_TYPE = 'ZWO3'. DATA:lt_ddlb TYPE bsp_wd_dropdown_table.
DATA:ls_ddlb TYPE LINE OF bsp_wd_dropdown_table. DATA gr_ddlb_msale_gb TYPE REF TO cl_crm_uiu_ddlb. CREATE OBJECT gr_ddlb_msale_gb
EXPORTING
iv_source_type = 'T'. DATA:lt_tj30t TYPE TABLE OF tj30t,
ls_tj30t TYPE tj30t. SELECT *
INTO TABLE lt_tj30t
FROM tj30t
WHERE STSMA = 'ZHIC_002'
AND spras = sy-langu. LOOP AT lt_tj30t INTO ls_tj30t.
ls_ddlb-key = ls_tj30t-estat.
ls_ddlb-value = ls_tj30t-txt30.
INSERT ls_ddlb INTO TABLE lt_ddlb. CLEAR: ls_tj30t,ls_ddlb.
ENDLOOP. INSERT INITIAL LINE INTO lt_ddlb INDEX .
IF sy-subrc = .
gr_ddlb_msale_gb->set_selection_table( it_selection_table = lt_ddlb ).
ENDIF. rv_valuehelp_descriptor = gr_ddlb_msale_gb.

二:F4

直接使用有搜索帮助或者有域的数据元素,或者手动给字段添加搜索帮助

设置GET_V(map字段一定要对好,inmap是输入字段,这里使用ZZZSYMPTOMSGROUP对应到搜索帮助的CODEGRUPPE  ZZSECTIONCODE 对应 CODE

OUT 对应输出字段,对应到界面字段,如果没有默认值和搜索项之类的,可以只使用outmap)

  DATA:
ls_map TYPE if_bsp_wd_valuehelp_f4descr=>gtype_param_mapping,
lt_inmap TYPE if_bsp_wd_valuehelp_f4descr=>gtype_param_mapping_tab,
lt_outmap TYPE if_bsp_wd_valuehelp_f4descr=>gtype_param_mapping_tab,
lr_entity TYPE REF TO cl_crm_bol_entity. ls_map-context_attr = 'STRUCT.ZZZSYMPTOMSGROUP'.
ls_map-f4_attr = 'CODEGRUPPE'.
APPEND ls_map TO: lt_inmap.
ls_map-context_attr = 'EXT.ZZSECTIONCODE'.
ls_map-f4_attr = 'CODE'.
APPEND ls_map TO: lt_inmap. ls_map-context_attr = 'EXT.ZZSECTIONCODE'.
ls_map-f4_attr = 'CODE'.
APPEND ls_map TO lt_outmap.
ls_map-context_attr = 'ZSEC_DESC'.
ls_map-f4_attr = ' KURZTEXT'.
APPEND ls_map TO lt_outmap. lr_entity ?= me->collection_wrapper->get_current( ).
CREATE OBJECT rv_valuehelp_descriptor
TYPE
cl_bsp_wd_valuehelp_f4descr
EXPORTING
iv_help_id = 'ZPQCODE_Z6'
iv_help_id_kind = if_bsp_wd_valuehelp_f4descr=>help_id_kind_name
iv_input_mapping = lt_inmap
iv_output_mapping = lt_outmap
iv_trigger_submit = abap_true
iv_object_ref = lr_entity.

三:组件搜索帮助:一般顾问就喜欢用标准的BP的那个搜索帮助,所以很多项目中只要是BP的字段,都会要求用那个搜索帮助。

添加组件为搜索帮助

METHOD BP_ACCOUNT_SEARCH.
* only used for account search - Employee and Contact have separate search DATA : LV_TITLE TYPE STRING,
LV_EVENTNAME TYPE STRING,
LR_QS TYPE REF TO CL_CRM_BOL_DQUERY_SERVICE,
LR_CURRENT TYPE REF TO CL_CRM_BOL_ENTITY,
LR_COL TYPE REF TO IF_BOL_BO_COL,
LR_CONTEXT TYPE REF TO CL_BSP_WD_CONTEXT_NODE,
LV_EMPRESP TYPE STRING,
LV_COLLECTION TYPE REF TO IF_BOL_BO_COL,
LR_BTPARTNERSET TYPE REF TO CL_CRM_BOL_ENTITY,
LR_BTPARTNER TYPE REF TO CL_CRM_BOL_ENTITY,
LR_PARTNERSET_CTXT TYPE REF TO CL_CRM_UIU_BTPARTNERSET_CN.
DATA: LV_LOW TYPE STRING.
DATA: LS_SELECTION TYPE GENILT_SELECTION_PARAMETER,
LR_VALUENODE TYPE REF TO CL_BSP_WD_VALUE_NODE,
LR_REF_ANY TYPE REF TO DATA. FIELD-SYMBOLS: <LV_CONTEXT_NODE> TYPE ANY,
<LV_PARTNERSET_CONTEXT_NODE> TYPE ANY.
DATA: LR_PARAM TYPE REF TO IF_BOL_BO_PROPERTY_ACCESS,
LR_ITERATOR TYPE REF TO IF_BOL_BO_COL_ITERATOR,
LT_PARAMS TYPE GENILT_SELECTION_PARAMETER_TAB.
DATA: LS_GENERAL TYPE ZCORDER_GENERAL. DATA LV_SALES_ORG TYPE CRMT_SALES_ORG.
DATA LV_LAND TYPE LAND1."当前账号所属国家
CALL FUNCTION 'Z_GET_SALESORG_BY_USER'
EXPORTING
IV_USER = SY-UNAME
IMPORTING
EV_COUNTRY = LV_LAND. LR_CURRENT ?= ME->TYPED_CONTEXT->ZCORDER->COLLECTION_WRAPPER->GET_CURRENT( ).
LR_CURRENT->GET_PROPERTIES( IMPORTING ES_ATTRIBUTES = LS_GENERAL ). IF LS_GENERAL-COUNTRY EQ 'JP' AND ( IV_ROLE = 'ZHSI0CNN' OR IV_ROLE = 'RELAIER' ).
ZCL_CRM_BUFFER=>GV_JP_FLAG = 'X'.
ELSE.
CLEAR ZCL_CRM_BUFFER=>GV_JP_FLAG.
ENDIF. CASE IV_ROLE.
WHEN 'SOLDTO'.
LV_TITLE = CL_WD_UTILITIES=>GET_OTR_TEXT_BY_ALIAS( 'CRM_UIU_BT/PARTNER_SEARCH' ).
IF BPSEARCH_ACCOUNT_POPUP IS NOT BOUND.
BPSEARCH_ACCOUNT_POPUP = COMP_CONTROLLER->WINDOW_MANAGER->CREATE_POPUP(
IV_INTERFACE_VIEW_NAME = 'SearchHelpWindow' "#EC NOTEXT
IV_USAGE_NAME = 'CUBPSearchAccount'
IV_TITLE = LV_TITLE ).
ENDIF. * set display mode
BPSEARCH_ACCOUNT_POPUP->SET_DISPLAY_MODE( IF_BSP_WD_POPUP=>C_DISPLAY_MODE_SURROUNDED ).
* Open the Popup
BPSEARCH_ACCOUNT_POPUP->OPEN( IV_INBOUND_PLUG = 'CLEAR_ALL' ). * Role dependand Event
CONCATENATE 'SEL' IV_ROLE INTO LV_EVENTNAME.
BPSEARCH_ACCOUNT_POPUP->SET_ON_CLOSE_EVENT( IV_VIEW = ME IV_EVENT_NAME = LV_EVENTNAME ).
* Get Query Context node
LR_CONTEXT = BPSEARCH_ACCOUNT_POPUP->GET_CONTEXT_NODE( 'SEARCH' ).
CHECK LR_CONTEXT IS BOUND.
* Get DQuery object to add search parameter
LR_QS ?= LR_CONTEXT->COLLECTION_WRAPPER->GET_CURRENT( ).
CHECK LR_QS IS BOUND.
LR_COL = LR_QS->GET_SELECTION_PARAMS( ).
IF IV_ROLE = 'SERPR' OR IV_ROLE = 'RELAIER' OR IV_ROLE = 'SOLDTO'.
CASE IV_ROLE.
WHEN 'SERPR'.
LV_LOW = 'Z003'.
LS_SELECTION-ATTR_NAME = 'ZBP_GROUP'.
LS_SELECTION-SIGN = 'I'.
LS_SELECTION-OPTION = 'EQ'.
LS_SELECTION-LOW = LV_LOW .
GET REFERENCE OF LS_SELECTION INTO LR_REF_ANY.
CREATE OBJECT LR_VALUENODE
TYPE
CL_BSP_WD_VALUE_NODE
EXPORTING
IV_DATA_REF = LR_REF_ANY.
LR_COL->ADD( LR_VALUENODE ).
WHEN 'RELAIER'.
LV_LOW = 'Z005'.
LS_SELECTION-ATTR_NAME = 'ZBP_GROUP'.
LS_SELECTION-SIGN = 'I'.
LS_SELECTION-OPTION = 'EQ'.
LS_SELECTION-LOW = LV_LOW .
GET REFERENCE OF LS_SELECTION INTO LR_REF_ANY.
CREATE OBJECT LR_VALUENODE
TYPE
CL_BSP_WD_VALUE_NODE
EXPORTING
IV_DATA_REF = LR_REF_ANY.
LR_COL->ADD( LR_VALUENODE ).
WHEN 'SOLDTO'.
IF SY-LANGU = 'J'."ADD BY LY 20170328
LR_QS->ADD_SELECTION_PARAM( IV_ATTR_NAME = 'COUNTRY'
IV_SIGN = 'I'
IV_OPTION = 'EQ'
IV_LOW = 'JP' ).
ENDIF. ENDCASE.
ENDIF.
IF ZCL_CRM_BUFFER=>GV_UI_LOGIN_ORG = 'O 50000297'.
LV_LOW = LS_GENERAL-SALES_ORG.
LR_QS->ADD_SELECTION_PARAM( IV_ATTR_NAME = 'CATEGORY'
IV_SIGN = 'I'
IV_OPTION = 'EQ'
IV_LOW = '' ).
LR_QS->ADD_SELECTION_PARAM( IV_ATTR_NAME = 'ZSALES_ORG'
IV_SIGN = 'I'
IV_OPTION = 'EQ'
IV_LOW = LV_LOW ). LR_QS->ADD_SELECTION_PARAM( IV_ATTR_NAME = 'ZBP_GROUP'
IV_SIGN = 'I'
IV_OPTION = 'EQ'
IV_LOW = 'Z005' ).
LR_QS->ADD_SELECTION_PARAM( IV_ATTR_NAME = 'ZBP_GROUP'
IV_SIGN = 'I'
IV_OPTION = 'EQ'
IV_LOW = 'Z006' ).
LR_QS->ADD_SELECTION_PARAM( IV_ATTR_NAME = 'ZBP_GROUP'
IV_SIGN = 'I'
IV_OPTION = 'EQ'
IV_LOW = 'Z021' ).
ENDIF. LR_COL = LR_QS->GET_SELECTION_PARAMS( ).
LR_ITERATOR = LR_COL->GET_ITERATOR( ).
LR_PARAM = LR_ITERATOR->GET_FIRST( ).
WHILE LR_PARAM IS BOUND.
LR_PARAM->GET_PROPERTIES( IMPORTING ES_ATTRIBUTES = LS_SELECTION ).
IF ls_selection-attr_name = 'ZBP_GROUP' AND ls_selection-low IS INITIAL AND ZCL_CRM_BUFFER=>GV_UI_LOGIN_ORG = 'O 50000297'..
lr_col->remove( lr_param ).
lr_param = lr_iterator->get_current( ).
CONTINUE.
* EXIT.
ENDIF.
IF ls_selection-attr_name = 'ZSALES_ORG' AND ls_selection-low IS INITIAL AND ZCL_CRM_BUFFER=>GV_UI_LOGIN_ORG = 'O 50000297'..
lr_col->remove( lr_param ).
lr_param = lr_iterator->get_current( ).
CONTINUE.
* EXIT.
ENDIF.
IF LS_GENERAL-COUNTRY EQ 'JP' AND LS_SELECTION-ATTR_NAME = 'COUNTRY' AND LS_SELECTION-LOW IS INITIAL.
LR_COL->REMOVE( LR_PARAM ).
LR_PARAM = LR_ITERATOR->GET_CURRENT( ).
CONTINUE.
* EXIT.
ENDIF.
LR_PARAM = LR_ITERATOR->GET_NEXT( ).
ENDWHILE. BPSEARCH_ACCOUNT_POPUP->OPEN( IV_INBOUND_PLUG = 'CLEAR_ALL'
IV_COLLECTION = LR_COL ).
WHEN 'SERPR'. LV_TITLE = CL_WD_UTILITIES=>GET_OTR_TEXT_BY_ALIAS( 'CRM_UIU_BT/PARTNER_SEARCH' ).
IF BPSEARCH_ACCOUNT_POPUP1 IS NOT BOUND.
BPSEARCH_ACCOUNT_POPUP1 = COMP_CONTROLLER->WINDOW_MANAGER->CREATE_POPUP(
IV_INTERFACE_VIEW_NAME = 'SearchHelpWindow' "#EC NOTEXT
IV_USAGE_NAME = 'CUBPSearchAccount'
IV_TITLE = LV_TITLE ).
ENDIF. * set display mode
BPSEARCH_ACCOUNT_POPUP1->SET_DISPLAY_MODE( IF_BSP_WD_POPUP=>C_DISPLAY_MODE_SURROUNDED ).
* Open the Popup
BPSEARCH_ACCOUNT_POPUP1->OPEN( IV_INBOUND_PLUG = 'CLEAR_ALL' ). * Role dependand Event
CONCATENATE 'SEL' IV_ROLE INTO LV_EVENTNAME.
BPSEARCH_ACCOUNT_POPUP1->SET_ON_CLOSE_EVENT( IV_VIEW = ME IV_EVENT_NAME = LV_EVENTNAME ).
* Get Query Context node
LR_CONTEXT = BPSEARCH_ACCOUNT_POPUP1->GET_CONTEXT_NODE( 'SEARCH' ).
CHECK LR_CONTEXT IS BOUND.
* Get DQuery object to add search parameter
LR_QS ?= LR_CONTEXT->COLLECTION_WRAPPER->GET_CURRENT( ).
CHECK LR_QS IS BOUND.
LR_CURRENT ?= ME->TYPED_CONTEXT->ZCORDER->COLLECTION_WRAPPER->GET_CURRENT( ).
LR_CURRENT->GET_PROPERTIES( IMPORTING ES_ATTRIBUTES = LS_GENERAL ).
LV_LOW = LS_GENERAL-SALES_ORG.
LR_QS->ADD_SELECTION_PARAM( IV_ATTR_NAME = 'ZSALES_ORG'
IV_SIGN = 'I'
IV_OPTION = 'EQ'
IV_LOW = LV_LOW ). LR_QS->ADD_SELECTION_PARAM( IV_ATTR_NAME = 'ZBP_GROUP'
IV_SIGN = 'I'
IV_OPTION = 'EQ'
IV_LOW = 'Z003' ). IF SY-LANGU = 'J'.
LR_QS->ADD_SELECTION_PARAM( IV_ATTR_NAME = 'COUNTRY'
IV_SIGN = 'I'
IV_OPTION = 'EQ'
IV_LOW = 'JP' ).
ENDIF. LR_COL = LR_QS->GET_SELECTION_PARAMS( ).
LR_ITERATOR = LR_COL->GET_ITERATOR( ).
LR_PARAM = LR_ITERATOR->GET_FIRST( ).
WHILE LR_PARAM IS BOUND.
LR_PARAM->GET_PROPERTIES( IMPORTING ES_ATTRIBUTES = LS_SELECTION ).
IF LS_SELECTION-ATTR_NAME = 'ZBP_GROUP' AND LS_SELECTION-LOW IS INITIAL.
LR_COL->REMOVE( LR_PARAM ).
LR_PARAM = LR_ITERATOR->GET_CURRENT( ).
CONTINUE.
* EXIT.
ENDIF.
IF LS_GENERAL-COUNTRY EQ 'JP' AND LS_SELECTION-ATTR_NAME = 'COUNTRY' AND LS_SELECTION-LOW IS INITIAL.
LR_COL->REMOVE( LR_PARAM ).
LR_PARAM = LR_ITERATOR->GET_CURRENT( ).
CONTINUE.
* EXIT.
ENDIF.
LR_PARAM = LR_ITERATOR->GET_NEXT( ).
ENDWHILE.
LR_PARAM = LR_ITERATOR->GET_FIRST( ).
WHILE LR_PARAM IS BOUND.
LR_PARAM->GET_PROPERTIES( IMPORTING ES_ATTRIBUTES = LS_SELECTION ).
IF LS_SELECTION-ATTR_NAME = 'ZSALES_ORG' AND LS_SELECTION-LOW IS INITIAL.
LR_COL->REMOVE( LR_PARAM ).
EXIT.
ENDIF.
LR_PARAM = LR_ITERATOR->GET_NEXT( ).
ENDWHILE. BPSEARCH_ACCOUNT_POPUP1->OPEN( IV_INBOUND_PLUG = 'CLEAR_ALL'
IV_COLLECTION = LR_COL ).
WHEN 'RELAIER' OR 'CONSIGNOR'.
LV_TITLE = CL_WD_UTILITIES=>GET_OTR_TEXT_BY_ALIAS( 'CRM_UIU_BT/PARTNER_SEARCH' ).
IF BPSEARCH_ACCOUNT_POPUP2 IS NOT BOUND.
BPSEARCH_ACCOUNT_POPUP2 = COMP_CONTROLLER->WINDOW_MANAGER->CREATE_POPUP(
IV_INTERFACE_VIEW_NAME = 'SearchHelpWindow' "#EC NOTEXT
IV_USAGE_NAME = 'CUBPSearchAccount'
IV_TITLE = LV_TITLE ).
ENDIF. * set display mode
BPSEARCH_ACCOUNT_POPUP2->SET_DISPLAY_MODE( IF_BSP_WD_POPUP=>C_DISPLAY_MODE_SURROUNDED ).
* Open the Popup
BPSEARCH_ACCOUNT_POPUP2->OPEN( IV_INBOUND_PLUG = 'CLEAR_ALL' ).
* Role dependand Event
CONCATENATE 'SEL' IV_ROLE INTO LV_EVENTNAME.
BPSEARCH_ACCOUNT_POPUP2->SET_ON_CLOSE_EVENT( IV_VIEW = ME IV_EVENT_NAME = LV_EVENTNAME ).
* Get Query Context node
LR_CONTEXT = BPSEARCH_ACCOUNT_POPUP2->GET_CONTEXT_NODE( 'SEARCH' ).
CHECK LR_CONTEXT IS BOUND.
* Get DQuery object to add search parameter
LR_QS ?= LR_CONTEXT->COLLECTION_WRAPPER->GET_CURRENT( ).
CHECK LR_QS IS BOUND. *********add by dq-yuw 南非retailer 分组为z006
IF LV_LAND EQ 'ZA' OR LS_GENERAL-COUNTRY EQ 'ZA'..
* lr_qs->add_selection_param( iv_attr_name = 'ZBP_GROUP'
* iv_sign = 'I'
* iv_option = 'EQ'
* iv_low = 'Z006' ). LR_QS->ADD_SELECTION_PARAM( IV_ATTR_NAME = 'PARTNER'
IV_SIGN = 'I'
IV_OPTION = 'SW'
IV_LOW = '' ).
ELSE.
LR_QS->ADD_SELECTION_PARAM( IV_ATTR_NAME = 'ZBP_GROUP'
IV_SIGN = 'I'
IV_OPTION = 'EQ'
IV_LOW = 'Z005' ).
IF IV_ROLE = 'CONSIGNOR'.
LR_QS->ADD_SELECTION_PARAM( IV_ATTR_NAME = 'ZBP_GROUP'
IV_SIGN = 'I'
IV_OPTION = 'EQ'
IV_LOW = 'Z006' ).
ENDIF.
IF IV_ROLE = 'RELAIER'.
IF LV_LAND EQ 'FR' OR ZCL_CRM_BUFFER=>GV_UI_LOGIN_ORG = 'O 50000297'...
LR_QS->ADD_SELECTION_PARAM( IV_ATTR_NAME = 'ZBP_GROUP'
IV_SIGN = 'I'
IV_OPTION = 'EQ'
IV_LOW = 'Z006' ).
ENDIF.
ENDIF. ENDIF. IF LS_GENERAL-COUNTRY EQ 'JP'.
IF IV_ROLE <> 'CONSIGNOR'.
LR_QS->ADD_SELECTION_PARAM( IV_ATTR_NAME = 'ZBP_GROUP'
IV_SIGN = 'I'
IV_OPTION = 'EQ'
IV_LOW = 'Z006' ).
ENDIF. LR_QS->ADD_SELECTION_PARAM( IV_ATTR_NAME = 'ZBP_GROUP'
IV_SIGN = 'I'
IV_OPTION = 'EQ'
IV_LOW = 'Z010' ).
ENDIF.
****************end add
IF SY-LANGU = 'J'."ADD BY LY 20170328
LR_QS->ADD_SELECTION_PARAM( IV_ATTR_NAME = 'COUNTRY'
IV_SIGN = 'I'
IV_OPTION = 'EQ'
IV_LOW = 'JP' ).
ENDIF. LR_CURRENT ?= ME->TYPED_CONTEXT->ZCORDER->COLLECTION_WRAPPER->GET_CURRENT( ).
LR_CURRENT->GET_PROPERTIES( IMPORTING ES_ATTRIBUTES = LS_GENERAL ).
LV_LOW = LS_GENERAL-SALES_ORG.
LR_QS->ADD_SELECTION_PARAM( IV_ATTR_NAME = 'ZSALES_ORG'
IV_SIGN = 'I'
IV_OPTION = 'EQ'
IV_LOW = LV_LOW ).
LR_COL = LR_QS->GET_SELECTION_PARAMS( ).
LR_ITERATOR = LR_COL->GET_ITERATOR( ).
LR_PARAM = LR_ITERATOR->GET_FIRST( ).
WHILE LR_PARAM IS BOUND.
LR_PARAM->GET_PROPERTIES( IMPORTING ES_ATTRIBUTES = LS_SELECTION ).
IF LS_SELECTION-ATTR_NAME = 'ZBP_GROUP' AND LS_SELECTION-LOW IS INITIAL.
LR_COL->REMOVE( LR_PARAM ).
LR_PARAM = LR_ITERATOR->GET_CURRENT( ).
CONTINUE.
* EXIT.
ENDIF.
IF LS_GENERAL-COUNTRY EQ 'JP' AND LS_SELECTION-ATTR_NAME = 'COUNTRY' AND LS_SELECTION-LOW IS INITIAL.
LR_COL->REMOVE( LR_PARAM ).
LR_PARAM = LR_ITERATOR->GET_CURRENT( ).
CONTINUE.
* EXIT.
ENDIF.
LR_PARAM = LR_ITERATOR->GET_NEXT( ).
ENDWHILE.
LR_PARAM = LR_ITERATOR->GET_FIRST( ).
WHILE LR_PARAM IS BOUND.
LR_PARAM->GET_PROPERTIES( IMPORTING ES_ATTRIBUTES = LS_SELECTION ).
IF LS_SELECTION-ATTR_NAME = 'ZSALES_ORG' AND LS_SELECTION-LOW IS INITIAL.
LR_COL->REMOVE( LR_PARAM ).
EXIT.
ENDIF.
LR_PARAM = LR_ITERATOR->GET_NEXT( ).
ENDWHILE. BPSEARCH_ACCOUNT_POPUP2->OPEN( IV_INBOUND_PLUG = 'CLEAR_ALL'
IV_COLLECTION = LR_COL ). WHEN 'NETWORK' OR 'ZHSI0CNN'.
LV_TITLE = CL_WD_UTILITIES=>GET_OTR_TEXT_BY_ALIAS( 'CRM_UIU_BT/PARTNER_SEARCH' ).
IF BPSEARCH_ACCOUNT_POPUP2 IS NOT BOUND.
BPSEARCH_ACCOUNT_POPUP2 = COMP_CONTROLLER->WINDOW_MANAGER->CREATE_POPUP(
IV_INTERFACE_VIEW_NAME = 'SearchHelpWindow' "#EC NOTEXT
IV_USAGE_NAME = 'CUBPSearchAccount'
IV_TITLE = LV_TITLE ).
ENDIF. * set display mode
BPSEARCH_ACCOUNT_POPUP2->SET_DISPLAY_MODE( IF_BSP_WD_POPUP=>C_DISPLAY_MODE_SURROUNDED ).
* Open the Popup
BPSEARCH_ACCOUNT_POPUP2->OPEN( IV_INBOUND_PLUG = 'CLEAR_ALL' ).
* Role dependand Event
CONCATENATE 'SEL' IV_ROLE INTO LV_EVENTNAME.
BPSEARCH_ACCOUNT_POPUP2->SET_ON_CLOSE_EVENT( IV_VIEW = ME IV_EVENT_NAME = LV_EVENTNAME ).
* Get Query Context node
LR_CONTEXT = BPSEARCH_ACCOUNT_POPUP2->GET_CONTEXT_NODE( 'SEARCH' ).
CHECK LR_CONTEXT IS BOUND.
* Get DQuery object to add search parameter
LR_QS ?= LR_CONTEXT->COLLECTION_WRAPPER->GET_CURRENT( ).
CHECK LR_QS IS BOUND.
IF SY-LANGU = 'J'."ADD BY LY 20170328
LR_QS->ADD_SELECTION_PARAM( IV_ATTR_NAME = 'COUNTRY'
IV_SIGN = 'I'
IV_OPTION = 'EQ'
IV_LOW = 'JP' ).
ENDIF. LR_QS->ADD_SELECTION_PARAM( IV_ATTR_NAME = 'ZBP_GROUP'
IV_SIGN = 'I'
IV_OPTION = 'EQ'
IV_LOW = 'Z010' ). IF LS_GENERAL-COUNTRY EQ 'JP'.
LR_QS->ADD_SELECTION_PARAM( IV_ATTR_NAME = 'ZBP_GROUP'
IV_SIGN = 'I'
IV_OPTION = 'EQ'
IV_LOW = 'Z006' ).
ENDIF. * lr_current ?= me->typed_context->zcorder->collection_wrapper->get_current( ).
* lr_current->get_properties( IMPORTING es_attributes = ls_general ).
* lv_low = ls_general-sales_org.
* lr_qs->add_selection_param( iv_attr_name = 'ZSALES_ORG'
* iv_sign = 'I'
* iv_option = 'EQ'
* iv_low = lv_low ).
LR_COL = LR_QS->GET_SELECTION_PARAMS( ).
LR_ITERATOR = LR_COL->GET_ITERATOR( ).
LR_PARAM = LR_ITERATOR->GET_FIRST( ).
WHILE LR_PARAM IS BOUND.
LR_PARAM->GET_PROPERTIES( IMPORTING ES_ATTRIBUTES = LS_SELECTION ).
IF LS_SELECTION-ATTR_NAME = 'ZBP_GROUP' AND LS_SELECTION-LOW IS INITIAL.
LR_COL->REMOVE( LR_PARAM ).
LR_PARAM = LR_ITERATOR->GET_CURRENT( ).
CONTINUE.
ENDIF.
IF LS_GENERAL-COUNTRY EQ 'JP' AND LS_SELECTION-ATTR_NAME = 'COUNTRY' AND LS_SELECTION-LOW IS INITIAL.
LR_COL->REMOVE( LR_PARAM ).
LR_PARAM = LR_ITERATOR->GET_CURRENT( ).
CONTINUE.
ENDIF.
LR_PARAM = LR_ITERATOR->GET_NEXT( ).
ENDWHILE. BPSEARCH_ACCOUNT_POPUP2->OPEN( IV_INBOUND_PLUG = 'CLEAR_ALL'
IV_COLLECTION = LR_COL ).
WHEN 'LOGICAL'.
LV_TITLE = CL_WD_UTILITIES=>GET_OTR_TEXT_BY_ALIAS( 'CRM_UIU_BT/PARTNER_SEARCH' ).
IF BPSEARCH_ACCOUNT_POPUP IS NOT BOUND.
BPSEARCH_ACCOUNT_POPUP = COMP_CONTROLLER->WINDOW_MANAGER->CREATE_POPUP(
IV_INTERFACE_VIEW_NAME = 'SearchHelpWindow' "#EC NOTEXT
IV_USAGE_NAME = 'CUBPSearchAccount'
IV_TITLE = LV_TITLE ).
ENDIF. * set display mode
BPSEARCH_ACCOUNT_POPUP->SET_DISPLAY_MODE( IF_BSP_WD_POPUP=>C_DISPLAY_MODE_SURROUNDED ).
* Open the Popup
BPSEARCH_ACCOUNT_POPUP->OPEN( IV_INBOUND_PLUG = 'CLEAR_ALL' ).
* Role dependand Event
CONCATENATE 'SEL' IV_ROLE INTO LV_EVENTNAME.
BPSEARCH_ACCOUNT_POPUP->SET_ON_CLOSE_EVENT( IV_VIEW = ME IV_EVENT_NAME = LV_EVENTNAME ).
* Get Query Context node
LR_CONTEXT = BPSEARCH_ACCOUNT_POPUP->GET_CONTEXT_NODE( 'SEARCH' ).
CHECK LR_CONTEXT IS BOUND.
* Get DQuery object to add search parameter
LR_QS ?= LR_CONTEXT->COLLECTION_WRAPPER->GET_CURRENT( ).
CHECK LR_QS IS BOUND.
* IF SY-LANGU = 'J'.
* lr_qs->add_selection_param( iv_attr_name = 'COUNTRY'
* iv_sign = 'I'
* iv_option = 'EQ'
* iv_low = 'JP' ).
* ENDIF. LR_QS->ADD_SELECTION_PARAM( IV_ATTR_NAME = 'ZBP_GROUP'
IV_SIGN = 'I'
IV_OPTION = 'EQ'
IV_LOW = 'Z003' ).
LR_CURRENT ?= ME->TYPED_CONTEXT->ZCORDER->COLLECTION_WRAPPER->GET_CURRENT( ).
LR_CURRENT->GET_PROPERTIES( IMPORTING ES_ATTRIBUTES = LS_GENERAL ).
LV_LOW = LS_GENERAL-SALES_ORG.
IF LV_LOW IS NOT INITIAL.
LR_QS->ADD_SELECTION_PARAM( IV_ATTR_NAME = 'ZSALES_ORG'
IV_SIGN = 'I'
IV_OPTION = 'EQ'
IV_LOW = LV_LOW ).
ENDIF. LV_LOW = LS_GENERAL-COUNTRY.
IF LV_LOW IS NOT INITIAL.
LR_QS->ADD_SELECTION_PARAM( IV_ATTR_NAME = 'COUNTRY'
IV_SIGN = 'I'
IV_OPTION = 'EQ'
IV_LOW = LV_LOW ).
ENDIF. LR_COL = LR_QS->GET_SELECTION_PARAMS( ).
LR_ITERATOR = LR_COL->GET_ITERATOR( ).
LR_PARAM = LR_ITERATOR->GET_FIRST( ).
WHILE LR_PARAM IS BOUND.
LR_PARAM->GET_PROPERTIES( IMPORTING ES_ATTRIBUTES = LS_SELECTION ).
IF LS_SELECTION-ATTR_NAME = 'ZBP_GROUP' AND LS_SELECTION-LOW IS INITIAL.
LR_COL->REMOVE( LR_PARAM ).
LR_PARAM = LR_ITERATOR->GET_CURRENT( ).
CONTINUE.
ENDIF.
IF LS_GENERAL-COUNTRY EQ 'JP' AND LS_SELECTION-ATTR_NAME = 'COUNTRY' AND LS_SELECTION-LOW IS INITIAL.
LR_COL->REMOVE( LR_PARAM ).
LR_PARAM = LR_ITERATOR->GET_CURRENT( ).
CONTINUE.
ENDIF.
LR_PARAM = LR_ITERATOR->GET_NEXT( ).
ENDWHILE. WHEN 'ZHSI0DEL'.
LV_TITLE = CL_WD_UTILITIES=>GET_OTR_TEXT_BY_ALIAS( 'CRM_UIU_BT/PARTNER_SEARCH' ).
IF BPSEARCH_ACCOUNT_POPUP2 IS NOT BOUND.
BPSEARCH_ACCOUNT_POPUP2 = COMP_CONTROLLER->WINDOW_MANAGER->CREATE_POPUP(
IV_INTERFACE_VIEW_NAME = 'SearchHelpWindow' "#EC NOTEXT
IV_USAGE_NAME = 'CUBPSearchAccount'
IV_TITLE = LV_TITLE ).
ENDIF. * set display mode
BPSEARCH_ACCOUNT_POPUP2->SET_DISPLAY_MODE( IF_BSP_WD_POPUP=>C_DISPLAY_MODE_SURROUNDED ).
* Open the Popup
BPSEARCH_ACCOUNT_POPUP2->OPEN( IV_INBOUND_PLUG = 'CLEAR_ALL' ).
* Role dependand Event
CONCATENATE 'SEL' IV_ROLE INTO LV_EVENTNAME.
BPSEARCH_ACCOUNT_POPUP2->SET_ON_CLOSE_EVENT( IV_VIEW = ME IV_EVENT_NAME = LV_EVENTNAME ).
* Get Query Context node
LR_CONTEXT = BPSEARCH_ACCOUNT_POPUP2->GET_CONTEXT_NODE( 'SEARCH' ).
CHECK LR_CONTEXT IS BOUND.
* Get DQuery object to add search parameter
LR_QS ?= LR_CONTEXT->COLLECTION_WRAPPER->GET_CURRENT( ).
CHECK LR_QS IS BOUND.
IF SY-LANGU = 'J'."ADD BY LY 20170328
LR_QS->ADD_SELECTION_PARAM( IV_ATTR_NAME = 'COUNTRY'
IV_SIGN = 'I'
IV_OPTION = 'EQ'
IV_LOW = 'JP' ).
ENDIF. LR_QS->ADD_SELECTION_PARAM( IV_ATTR_NAME = 'ZBP_GROUP'
IV_SIGN = 'I'
IV_OPTION = 'EQ'
IV_LOW = 'Z010' ). LR_QS->ADD_SELECTION_PARAM( IV_ATTR_NAME = 'ZBP_GROUP'
IV_SIGN = 'I'
IV_OPTION = 'EQ'
IV_LOW = 'Z006' ).
LR_QS->ADD_SELECTION_PARAM( IV_ATTR_NAME = 'ZBP_GROUP'
IV_SIGN = 'I'
IV_OPTION = 'EQ'
IV_LOW = 'Z003' ). * lr_current ?= me->typed_context->zcorder->collection_wrapper->get_current( ).
* lr_current->get_properties( IMPORTING es_attributes = ls_general ).
* lv_low = ls_general-sales_org.
* lr_qs->add_selection_param( iv_attr_name = 'ZSALES_ORG'
* iv_sign = 'I'
* iv_option = 'EQ'
* iv_low = lv_low ).
LR_COL = LR_QS->GET_SELECTION_PARAMS( ).
LR_ITERATOR = LR_COL->GET_ITERATOR( ).
LR_PARAM = LR_ITERATOR->GET_FIRST( ).
WHILE LR_PARAM IS BOUND.
LR_PARAM->GET_PROPERTIES( IMPORTING ES_ATTRIBUTES = LS_SELECTION ).
IF LS_SELECTION-ATTR_NAME = 'ZBP_GROUP' AND LS_SELECTION-LOW IS INITIAL.
LR_COL->REMOVE( LR_PARAM ).
LR_PARAM = LR_ITERATOR->GET_CURRENT( ).
CONTINUE.
ENDIF.
IF LS_GENERAL-COUNTRY EQ 'JP' AND LS_SELECTION-ATTR_NAME = 'COUNTRY' AND LS_SELECTION-LOW IS INITIAL.
LR_COL->REMOVE( LR_PARAM ).
LR_PARAM = LR_ITERATOR->GET_CURRENT( ).
CONTINUE.
ENDIF.
LR_PARAM = LR_ITERATOR->GET_NEXT( ).
ENDWHILE. BPSEARCH_ACCOUNT_POPUP2->OPEN( IV_INBOUND_PLUG = 'CLEAR_ALL'
IV_COLLECTION = LR_COL ).
ENDCASE. ENDMETHOD.
  METHOD op_zhsi0cnn.
* Added by wizard: Outbound plug 'ZHSI0CNN'
bp_account_search( iv_role = 'ZHSI0CNN' ).
ENDMETHOD.

太懒了,不想说废话,直接代码吧。。。不懂的就算了

UI基础二:下拉,F4,OP等的更多相关文章

  1. Bootstrap <基础十二>下拉菜单(Dropdowns)

    Bootstrap 下拉菜单.下拉菜单是可切换的,是以列表格式显示链接的上下文菜单.这可以通过与 下拉菜单(Dropdown) JavaScript 插件 的互动来实现. 如需使用下列菜单,只需要在 ...

  2. selenium基础(下拉菜单操作)

    selenium基础(下拉菜单操作) 非select/option元素: 1.触发下拉列表出现 2.等待下拉列表中的元素出现,然后进行选择元素即可. select/option元素: 下拉框操作-Se ...

  3. Bootstrap Flat UI的select下拉框显示不出来 问题解决

    Bootstrap Flat UI的select下拉框显示不出来?看这里,恰巧今天我也遇到了这个问题: 点击Messages后并没有出现下拉列表,然而官网的index.html却能显示出来. 经过一番 ...

  4. Atitit.ui控件---下拉菜单选择控件的实现select html

    Atitit.ui控件---下拉菜单选择控件的实现select   html 1. 调用& model的实现 1 2. -----select.jsp------ 1 1. 调用& m ...

  5. jQuery UI 多选下拉框插件:jquery-ui-multiselect

    前一个项目,由于项目需求,需要大量使用到下拉多选框,而由于本人又不会写有关 CSS 样式,所以,便上网找到了这个 jQuery 插件:jquery-ui-multiselect .该款插件提供了基本下 ...

  6. Android UI自定义Spinner下拉框(用popuwindow实现)-转

    定义出第一个图片的布局和弹出框(一个listView)的布局,,这里就不在多说了~ListView需要自己定义一个MyspinnerAdapter~做好这些准备之后,就是弹出框的实现了~  prote ...

  7. ASP.NET MVC页面UI之联动下拉选择控件(省、市、县联动选择)

    地区选择操作在WEB应用中比较常见的操作,本文在.net mvc3下实现了省市县三级联动选择功能. 本文博客出处:http://www.kwstu.com/ArticleView/admin_2013 ...

  8. javaScript基础练习题-下拉框制作

    1.基础回顾 如何让一个段javascript在文档加载后执行,(因为自己忘了,所以顺便复习一下) window.onload = function(){}; <!DOCTYPE html PU ...

  9. layer ui 多选下拉取值(全)

    https://maplemei.gitee.io/xm-select/#/basic/create   layer ui

随机推荐

  1. java.lang.OutOfMemoryError:GC overhead limit exceeded

    在调测程序时报java.lang.OutOfMemoryError:GC overhead limit exceeded 错误 错误原因:在用程序进行数据切割时报了该错误.由于在本地执行数据切割测试的 ...

  2. ARM伪指令

    1.伪指令是什么 ARM伪指令不是ARM指令集中的指令,只是为了编程方便人们定义了伪指令. 在汇编时这些指令将会被等效的ARM指令或arm指令的组合代替. 编程时可以像其他ARM指令一样使用伪指令,区 ...

  3. JavaScript——类型检测

    要检测一个变量是否是基本数据类型,可以用 Typeof 操作符.如果我们想知道它是什么类型的对象,我们可以用instanceof 操作符,语法如下所示: result=variable instanc ...

  4. 4、Python中的类详解(0601)

    <大话数据结构>的作者程杰在博客园也有博客,网址是:http://cj723.cnblogs.com/ 面向对象编程(OOP) 1.程序 = 指令 + 数据 代码可以选择以指令为核心或以数 ...

  5. python Exception raise

    异常是指程序中的例外,违例情况.异常机制是指程序出现错误后,程序的处理方法.当出现错误后,程序的执行流程发生改变,程序的控制权转移到异常处理.Exception类是常用的异常类,该类包括Standar ...

  6. 线程中为控件赋值Winform

    this.Invoke(new MethodInvoker(() => { //TO DO })); this.Invoke(new Action(()=>{ // TO DO }));

  7. 总结react native 事件机制

    React 事件机制 一个组件的所有事件会使用统一的事件监听器,绑定到组件的最外层,那么如何使用? bind方法,绑定并且可以传递参数 <TouchableOpacity onPress={th ...

  8. JavaScript中的方法事件和函数的方法的三种方法

    js中的很多事件  而事件相对应的就是方法(函数 )那么今天所说的就是这三种方法      已onclick事件为例 1: 基本方法 <div id="a" onclick= ...

  9. 安装tensorflow-gpu

    pip install --upgrade tensorflow-gpu import tensorflow as tf sess = tf.Session() 如果提示如下 -- ::] Your ...

  10. go 接口以及对象的使用

    // Sample program to show how to declare methods and how the Go // compiler supports them. package m ...