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

一:下拉

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

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

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

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

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

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

设置GET_P:字段属性

  1. CASE iv_property.
  2. WHEN if_bsp_wd_model_setter_getter=>fp_fieldtype.
  3. rv_value = cl_bsp_dlc_view_descriptor=>field_type_picklist.
  4.  
  5. WHEN if_bsp_wd_model_setter_getter=>fp_server_event .
  6. rv_value = 'ZSTAT'.
  7.  
  8. ENDCASE.

然后设置GET_V:VALUE

  1. LR_CURRENT = ME->COLLECTION_WRAPPER->GET_CURRENT( ).
  2. CHECK LR_CURRENT IS BOUND.
  3. LR_CURRENT->GET_PROPERTIES( IMPORTING ES_ATTRIBUTES = LS_CURRENT ).
  4. CHECK LS_CURRENT-PROCESS_TYPE = 'ZWO3'.
  5.  
  6. DATA:lt_ddlb TYPE bsp_wd_dropdown_table.
  7. DATA:ls_ddlb TYPE LINE OF bsp_wd_dropdown_table.
  8.  
  9. DATA gr_ddlb_msale_gb TYPE REF TO cl_crm_uiu_ddlb.
  10.  
  11. CREATE OBJECT gr_ddlb_msale_gb
  12. EXPORTING
  13. iv_source_type = 'T'.
  14.  
  15. DATA:lt_tj30t TYPE TABLE OF tj30t,
  16. ls_tj30t TYPE tj30t.
  17.  
  18. SELECT *
  19. INTO TABLE lt_tj30t
  20. FROM tj30t
  21. WHERE STSMA = 'ZHIC_002'
  22. AND spras = sy-langu.
  23.  
  24. LOOP AT lt_tj30t INTO ls_tj30t.
  25. ls_ddlb-key = ls_tj30t-estat.
  26. ls_ddlb-value = ls_tj30t-txt30.
  27. INSERT ls_ddlb INTO TABLE lt_ddlb.
  28.  
  29. CLEAR: ls_tj30t,ls_ddlb.
  30. ENDLOOP.
  31.  
  32. INSERT INITIAL LINE INTO lt_ddlb INDEX .
  33. IF sy-subrc = .
  34. gr_ddlb_msale_gb->set_selection_table( it_selection_table = lt_ddlb ).
  35. ENDIF.
  36.  
  37. rv_valuehelp_descriptor = gr_ddlb_msale_gb.

二:F4

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

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

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

  1. DATA:
  2. ls_map TYPE if_bsp_wd_valuehelp_f4descr=>gtype_param_mapping,
  3. lt_inmap TYPE if_bsp_wd_valuehelp_f4descr=>gtype_param_mapping_tab,
  4. lt_outmap TYPE if_bsp_wd_valuehelp_f4descr=>gtype_param_mapping_tab,
  5. lr_entity TYPE REF TO cl_crm_bol_entity.
  6.  
  7. ls_map-context_attr = 'STRUCT.ZZZSYMPTOMSGROUP'.
  8. ls_map-f4_attr = 'CODEGRUPPE'.
  9. APPEND ls_map TO: lt_inmap.
  10. ls_map-context_attr = 'EXT.ZZSECTIONCODE'.
  11. ls_map-f4_attr = 'CODE'.
  12. APPEND ls_map TO: lt_inmap.
  13.  
  14. ls_map-context_attr = 'EXT.ZZSECTIONCODE'.
  15. ls_map-f4_attr = 'CODE'.
  16. APPEND ls_map TO lt_outmap.
  17. ls_map-context_attr = 'ZSEC_DESC'.
  18. ls_map-f4_attr = ' KURZTEXT'.
  19. APPEND ls_map TO lt_outmap.
  20.  
  21. lr_entity ?= me->collection_wrapper->get_current( ).
  22. CREATE OBJECT rv_valuehelp_descriptor
  23. TYPE
  24. cl_bsp_wd_valuehelp_f4descr
  25. EXPORTING
  26. iv_help_id = 'ZPQCODE_Z6'
  27. iv_help_id_kind = if_bsp_wd_valuehelp_f4descr=>help_id_kind_name
  28. iv_input_mapping = lt_inmap
  29. iv_output_mapping = lt_outmap
  30. iv_trigger_submit = abap_true
  31. iv_object_ref = lr_entity.

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

添加组件为搜索帮助

  1. METHOD BP_ACCOUNT_SEARCH.
  2. * only used for account search - Employee and Contact have separate search
  3.  
  4. DATA : LV_TITLE TYPE STRING,
  5. LV_EVENTNAME TYPE STRING,
  6. LR_QS TYPE REF TO CL_CRM_BOL_DQUERY_SERVICE,
  7. LR_CURRENT TYPE REF TO CL_CRM_BOL_ENTITY,
  8. LR_COL TYPE REF TO IF_BOL_BO_COL,
  9. LR_CONTEXT TYPE REF TO CL_BSP_WD_CONTEXT_NODE,
  10. LV_EMPRESP TYPE STRING,
  11. LV_COLLECTION TYPE REF TO IF_BOL_BO_COL,
  12. LR_BTPARTNERSET TYPE REF TO CL_CRM_BOL_ENTITY,
  13. LR_BTPARTNER TYPE REF TO CL_CRM_BOL_ENTITY,
  14. LR_PARTNERSET_CTXT TYPE REF TO CL_CRM_UIU_BTPARTNERSET_CN.
  15. DATA: LV_LOW TYPE STRING.
  16. DATA: LS_SELECTION TYPE GENILT_SELECTION_PARAMETER,
  17. LR_VALUENODE TYPE REF TO CL_BSP_WD_VALUE_NODE,
  18. LR_REF_ANY TYPE REF TO DATA.
  19.  
  20. FIELD-SYMBOLS: <LV_CONTEXT_NODE> TYPE ANY,
  21. <LV_PARTNERSET_CONTEXT_NODE> TYPE ANY.
  22. DATA: LR_PARAM TYPE REF TO IF_BOL_BO_PROPERTY_ACCESS,
  23. LR_ITERATOR TYPE REF TO IF_BOL_BO_COL_ITERATOR,
  24. LT_PARAMS TYPE GENILT_SELECTION_PARAMETER_TAB.
  25. DATA: LS_GENERAL TYPE ZCORDER_GENERAL.
  26.  
  27. DATA LV_SALES_ORG TYPE CRMT_SALES_ORG.
  28. DATA LV_LAND TYPE LAND1."当前账号所属国家
  29. CALL FUNCTION 'Z_GET_SALESORG_BY_USER'
  30. EXPORTING
  31. IV_USER = SY-UNAME
  32. IMPORTING
  33. EV_COUNTRY = LV_LAND.
  34.  
  35. LR_CURRENT ?= ME->TYPED_CONTEXT->ZCORDER->COLLECTION_WRAPPER->GET_CURRENT( ).
  36. LR_CURRENT->GET_PROPERTIES( IMPORTING ES_ATTRIBUTES = LS_GENERAL ).
  37.  
  38. IF LS_GENERAL-COUNTRY EQ 'JP' AND ( IV_ROLE = 'ZHSI0CNN' OR IV_ROLE = 'RELAIER' ).
  39. ZCL_CRM_BUFFER=>GV_JP_FLAG = 'X'.
  40. ELSE.
  41. CLEAR ZCL_CRM_BUFFER=>GV_JP_FLAG.
  42. ENDIF.
  43.  
  44. CASE IV_ROLE.
  45. WHEN 'SOLDTO'.
  46. LV_TITLE = CL_WD_UTILITIES=>GET_OTR_TEXT_BY_ALIAS( 'CRM_UIU_BT/PARTNER_SEARCH' ).
  47. IF BPSEARCH_ACCOUNT_POPUP IS NOT BOUND.
  48. BPSEARCH_ACCOUNT_POPUP = COMP_CONTROLLER->WINDOW_MANAGER->CREATE_POPUP(
  49. IV_INTERFACE_VIEW_NAME = 'SearchHelpWindow' "#EC NOTEXT
  50. IV_USAGE_NAME = 'CUBPSearchAccount'
  51. IV_TITLE = LV_TITLE ).
  52. ENDIF.
  53.  
  54. * set display mode
  55. BPSEARCH_ACCOUNT_POPUP->SET_DISPLAY_MODE( IF_BSP_WD_POPUP=>C_DISPLAY_MODE_SURROUNDED ).
  56. * Open the Popup
  57. BPSEARCH_ACCOUNT_POPUP->OPEN( IV_INBOUND_PLUG = 'CLEAR_ALL' ).
  58.  
  59. * Role dependand Event
  60. CONCATENATE 'SEL' IV_ROLE INTO LV_EVENTNAME.
  61. BPSEARCH_ACCOUNT_POPUP->SET_ON_CLOSE_EVENT( IV_VIEW = ME IV_EVENT_NAME = LV_EVENTNAME ).
  62. * Get Query Context node
  63. LR_CONTEXT = BPSEARCH_ACCOUNT_POPUP->GET_CONTEXT_NODE( 'SEARCH' ).
  64. CHECK LR_CONTEXT IS BOUND.
  65. * Get DQuery object to add search parameter
  66. LR_QS ?= LR_CONTEXT->COLLECTION_WRAPPER->GET_CURRENT( ).
  67. CHECK LR_QS IS BOUND.
  68. LR_COL = LR_QS->GET_SELECTION_PARAMS( ).
  69. IF IV_ROLE = 'SERPR' OR IV_ROLE = 'RELAIER' OR IV_ROLE = 'SOLDTO'.
  70. CASE IV_ROLE.
  71. WHEN 'SERPR'.
  72. LV_LOW = 'Z003'.
  73. LS_SELECTION-ATTR_NAME = 'ZBP_GROUP'.
  74. LS_SELECTION-SIGN = 'I'.
  75. LS_SELECTION-OPTION = 'EQ'.
  76. LS_SELECTION-LOW = LV_LOW .
  77. GET REFERENCE OF LS_SELECTION INTO LR_REF_ANY.
  78. CREATE OBJECT LR_VALUENODE
  79. TYPE
  80. CL_BSP_WD_VALUE_NODE
  81. EXPORTING
  82. IV_DATA_REF = LR_REF_ANY.
  83. LR_COL->ADD( LR_VALUENODE ).
  84. WHEN 'RELAIER'.
  85. LV_LOW = 'Z005'.
  86. LS_SELECTION-ATTR_NAME = 'ZBP_GROUP'.
  87. LS_SELECTION-SIGN = 'I'.
  88. LS_SELECTION-OPTION = 'EQ'.
  89. LS_SELECTION-LOW = LV_LOW .
  90. GET REFERENCE OF LS_SELECTION INTO LR_REF_ANY.
  91. CREATE OBJECT LR_VALUENODE
  92. TYPE
  93. CL_BSP_WD_VALUE_NODE
  94. EXPORTING
  95. IV_DATA_REF = LR_REF_ANY.
  96. LR_COL->ADD( LR_VALUENODE ).
  97. WHEN 'SOLDTO'.
  98. IF SY-LANGU = 'J'."ADD BY LY 20170328
  99. LR_QS->ADD_SELECTION_PARAM( IV_ATTR_NAME = 'COUNTRY'
  100. IV_SIGN = 'I'
  101. IV_OPTION = 'EQ'
  102. IV_LOW = 'JP' ).
  103. ENDIF.
  104.  
  105. ENDCASE.
  106. ENDIF.
  107. IF ZCL_CRM_BUFFER=>GV_UI_LOGIN_ORG = 'O 50000297'.
  108. LV_LOW = LS_GENERAL-SALES_ORG.
  109. LR_QS->ADD_SELECTION_PARAM( IV_ATTR_NAME = 'CATEGORY'
  110. IV_SIGN = 'I'
  111. IV_OPTION = 'EQ'
  112. IV_LOW = '' ).
  113. LR_QS->ADD_SELECTION_PARAM( IV_ATTR_NAME = 'ZSALES_ORG'
  114. IV_SIGN = 'I'
  115. IV_OPTION = 'EQ'
  116. IV_LOW = LV_LOW ).
  117.  
  118. LR_QS->ADD_SELECTION_PARAM( IV_ATTR_NAME = 'ZBP_GROUP'
  119. IV_SIGN = 'I'
  120. IV_OPTION = 'EQ'
  121. IV_LOW = 'Z005' ).
  122. LR_QS->ADD_SELECTION_PARAM( IV_ATTR_NAME = 'ZBP_GROUP'
  123. IV_SIGN = 'I'
  124. IV_OPTION = 'EQ'
  125. IV_LOW = 'Z006' ).
  126. LR_QS->ADD_SELECTION_PARAM( IV_ATTR_NAME = 'ZBP_GROUP'
  127. IV_SIGN = 'I'
  128. IV_OPTION = 'EQ'
  129. IV_LOW = 'Z021' ).
  130. ENDIF.
  131.  
  132. LR_COL = LR_QS->GET_SELECTION_PARAMS( ).
  133. LR_ITERATOR = LR_COL->GET_ITERATOR( ).
  134. LR_PARAM = LR_ITERATOR->GET_FIRST( ).
  135. WHILE LR_PARAM IS BOUND.
  136. LR_PARAM->GET_PROPERTIES( IMPORTING ES_ATTRIBUTES = LS_SELECTION ).
  137. IF ls_selection-attr_name = 'ZBP_GROUP' AND ls_selection-low IS INITIAL AND ZCL_CRM_BUFFER=>GV_UI_LOGIN_ORG = 'O 50000297'..
  138. lr_col->remove( lr_param ).
  139. lr_param = lr_iterator->get_current( ).
  140. CONTINUE.
  141. * EXIT.
  142. ENDIF.
  143. IF ls_selection-attr_name = 'ZSALES_ORG' AND ls_selection-low IS INITIAL AND ZCL_CRM_BUFFER=>GV_UI_LOGIN_ORG = 'O 50000297'..
  144. lr_col->remove( lr_param ).
  145. lr_param = lr_iterator->get_current( ).
  146. CONTINUE.
  147. * EXIT.
  148. ENDIF.
  149. IF LS_GENERAL-COUNTRY EQ 'JP' AND LS_SELECTION-ATTR_NAME = 'COUNTRY' AND LS_SELECTION-LOW IS INITIAL.
  150. LR_COL->REMOVE( LR_PARAM ).
  151. LR_PARAM = LR_ITERATOR->GET_CURRENT( ).
  152. CONTINUE.
  153. * EXIT.
  154. ENDIF.
  155. LR_PARAM = LR_ITERATOR->GET_NEXT( ).
  156. ENDWHILE.
  157.  
  158. BPSEARCH_ACCOUNT_POPUP->OPEN( IV_INBOUND_PLUG = 'CLEAR_ALL'
  159. IV_COLLECTION = LR_COL ).
  160. WHEN 'SERPR'.
  161.  
  162. LV_TITLE = CL_WD_UTILITIES=>GET_OTR_TEXT_BY_ALIAS( 'CRM_UIU_BT/PARTNER_SEARCH' ).
  163. IF BPSEARCH_ACCOUNT_POPUP1 IS NOT BOUND.
  164. BPSEARCH_ACCOUNT_POPUP1 = COMP_CONTROLLER->WINDOW_MANAGER->CREATE_POPUP(
  165. IV_INTERFACE_VIEW_NAME = 'SearchHelpWindow' "#EC NOTEXT
  166. IV_USAGE_NAME = 'CUBPSearchAccount'
  167. IV_TITLE = LV_TITLE ).
  168. ENDIF.
  169.  
  170. * set display mode
  171. BPSEARCH_ACCOUNT_POPUP1->SET_DISPLAY_MODE( IF_BSP_WD_POPUP=>C_DISPLAY_MODE_SURROUNDED ).
  172. * Open the Popup
  173. BPSEARCH_ACCOUNT_POPUP1->OPEN( IV_INBOUND_PLUG = 'CLEAR_ALL' ).
  174.  
  175. * Role dependand Event
  176. CONCATENATE 'SEL' IV_ROLE INTO LV_EVENTNAME.
  177. BPSEARCH_ACCOUNT_POPUP1->SET_ON_CLOSE_EVENT( IV_VIEW = ME IV_EVENT_NAME = LV_EVENTNAME ).
  178. * Get Query Context node
  179. LR_CONTEXT = BPSEARCH_ACCOUNT_POPUP1->GET_CONTEXT_NODE( 'SEARCH' ).
  180. CHECK LR_CONTEXT IS BOUND.
  181. * Get DQuery object to add search parameter
  182. LR_QS ?= LR_CONTEXT->COLLECTION_WRAPPER->GET_CURRENT( ).
  183. CHECK LR_QS IS BOUND.
  184. LR_CURRENT ?= ME->TYPED_CONTEXT->ZCORDER->COLLECTION_WRAPPER->GET_CURRENT( ).
  185. LR_CURRENT->GET_PROPERTIES( IMPORTING ES_ATTRIBUTES = LS_GENERAL ).
  186. LV_LOW = LS_GENERAL-SALES_ORG.
  187. LR_QS->ADD_SELECTION_PARAM( IV_ATTR_NAME = 'ZSALES_ORG'
  188. IV_SIGN = 'I'
  189. IV_OPTION = 'EQ'
  190. IV_LOW = LV_LOW ).
  191.  
  192. LR_QS->ADD_SELECTION_PARAM( IV_ATTR_NAME = 'ZBP_GROUP'
  193. IV_SIGN = 'I'
  194. IV_OPTION = 'EQ'
  195. IV_LOW = 'Z003' ).
  196.  
  197. IF SY-LANGU = 'J'.
  198. LR_QS->ADD_SELECTION_PARAM( IV_ATTR_NAME = 'COUNTRY'
  199. IV_SIGN = 'I'
  200. IV_OPTION = 'EQ'
  201. IV_LOW = 'JP' ).
  202. ENDIF.
  203.  
  204. LR_COL = LR_QS->GET_SELECTION_PARAMS( ).
  205. LR_ITERATOR = LR_COL->GET_ITERATOR( ).
  206. LR_PARAM = LR_ITERATOR->GET_FIRST( ).
  207. WHILE LR_PARAM IS BOUND.
  208. LR_PARAM->GET_PROPERTIES( IMPORTING ES_ATTRIBUTES = LS_SELECTION ).
  209. IF LS_SELECTION-ATTR_NAME = 'ZBP_GROUP' AND LS_SELECTION-LOW IS INITIAL.
  210. LR_COL->REMOVE( LR_PARAM ).
  211. LR_PARAM = LR_ITERATOR->GET_CURRENT( ).
  212. CONTINUE.
  213. * EXIT.
  214. ENDIF.
  215. IF LS_GENERAL-COUNTRY EQ 'JP' AND LS_SELECTION-ATTR_NAME = 'COUNTRY' AND LS_SELECTION-LOW IS INITIAL.
  216. LR_COL->REMOVE( LR_PARAM ).
  217. LR_PARAM = LR_ITERATOR->GET_CURRENT( ).
  218. CONTINUE.
  219. * EXIT.
  220. ENDIF.
  221. LR_PARAM = LR_ITERATOR->GET_NEXT( ).
  222. ENDWHILE.
  223. LR_PARAM = LR_ITERATOR->GET_FIRST( ).
  224. WHILE LR_PARAM IS BOUND.
  225. LR_PARAM->GET_PROPERTIES( IMPORTING ES_ATTRIBUTES = LS_SELECTION ).
  226. IF LS_SELECTION-ATTR_NAME = 'ZSALES_ORG' AND LS_SELECTION-LOW IS INITIAL.
  227. LR_COL->REMOVE( LR_PARAM ).
  228. EXIT.
  229. ENDIF.
  230. LR_PARAM = LR_ITERATOR->GET_NEXT( ).
  231. ENDWHILE.
  232.  
  233. BPSEARCH_ACCOUNT_POPUP1->OPEN( IV_INBOUND_PLUG = 'CLEAR_ALL'
  234. IV_COLLECTION = LR_COL ).
  235. WHEN 'RELAIER' OR 'CONSIGNOR'.
  236. LV_TITLE = CL_WD_UTILITIES=>GET_OTR_TEXT_BY_ALIAS( 'CRM_UIU_BT/PARTNER_SEARCH' ).
  237. IF BPSEARCH_ACCOUNT_POPUP2 IS NOT BOUND.
  238. BPSEARCH_ACCOUNT_POPUP2 = COMP_CONTROLLER->WINDOW_MANAGER->CREATE_POPUP(
  239. IV_INTERFACE_VIEW_NAME = 'SearchHelpWindow' "#EC NOTEXT
  240. IV_USAGE_NAME = 'CUBPSearchAccount'
  241. IV_TITLE = LV_TITLE ).
  242. ENDIF.
  243.  
  244. * set display mode
  245. BPSEARCH_ACCOUNT_POPUP2->SET_DISPLAY_MODE( IF_BSP_WD_POPUP=>C_DISPLAY_MODE_SURROUNDED ).
  246. * Open the Popup
  247. BPSEARCH_ACCOUNT_POPUP2->OPEN( IV_INBOUND_PLUG = 'CLEAR_ALL' ).
  248. * Role dependand Event
  249. CONCATENATE 'SEL' IV_ROLE INTO LV_EVENTNAME.
  250. BPSEARCH_ACCOUNT_POPUP2->SET_ON_CLOSE_EVENT( IV_VIEW = ME IV_EVENT_NAME = LV_EVENTNAME ).
  251. * Get Query Context node
  252. LR_CONTEXT = BPSEARCH_ACCOUNT_POPUP2->GET_CONTEXT_NODE( 'SEARCH' ).
  253. CHECK LR_CONTEXT IS BOUND.
  254. * Get DQuery object to add search parameter
  255. LR_QS ?= LR_CONTEXT->COLLECTION_WRAPPER->GET_CURRENT( ).
  256. CHECK LR_QS IS BOUND.
  257.  
  258. *********add by dq-yuw 南非retailer 分组为z006
  259. IF LV_LAND EQ 'ZA' OR LS_GENERAL-COUNTRY EQ 'ZA'..
  260. * lr_qs->add_selection_param( iv_attr_name = 'ZBP_GROUP'
  261. * iv_sign = 'I'
  262. * iv_option = 'EQ'
  263. * iv_low = 'Z006' ).
  264.  
  265. LR_QS->ADD_SELECTION_PARAM( IV_ATTR_NAME = 'PARTNER'
  266. IV_SIGN = 'I'
  267. IV_OPTION = 'SW'
  268. IV_LOW = '' ).
  269. ELSE.
  270. LR_QS->ADD_SELECTION_PARAM( IV_ATTR_NAME = 'ZBP_GROUP'
  271. IV_SIGN = 'I'
  272. IV_OPTION = 'EQ'
  273. IV_LOW = 'Z005' ).
  274. IF IV_ROLE = 'CONSIGNOR'.
  275. LR_QS->ADD_SELECTION_PARAM( IV_ATTR_NAME = 'ZBP_GROUP'
  276. IV_SIGN = 'I'
  277. IV_OPTION = 'EQ'
  278. IV_LOW = 'Z006' ).
  279. ENDIF.
  280. IF IV_ROLE = 'RELAIER'.
  281. IF LV_LAND EQ 'FR' OR ZCL_CRM_BUFFER=>GV_UI_LOGIN_ORG = 'O 50000297'...
  282. LR_QS->ADD_SELECTION_PARAM( IV_ATTR_NAME = 'ZBP_GROUP'
  283. IV_SIGN = 'I'
  284. IV_OPTION = 'EQ'
  285. IV_LOW = 'Z006' ).
  286. ENDIF.
  287. ENDIF.
  288.  
  289. ENDIF.
  290.  
  291. IF LS_GENERAL-COUNTRY EQ 'JP'.
  292. IF IV_ROLE <> 'CONSIGNOR'.
  293. LR_QS->ADD_SELECTION_PARAM( IV_ATTR_NAME = 'ZBP_GROUP'
  294. IV_SIGN = 'I'
  295. IV_OPTION = 'EQ'
  296. IV_LOW = 'Z006' ).
  297. ENDIF.
  298.  
  299. LR_QS->ADD_SELECTION_PARAM( IV_ATTR_NAME = 'ZBP_GROUP'
  300. IV_SIGN = 'I'
  301. IV_OPTION = 'EQ'
  302. IV_LOW = 'Z010' ).
  303. ENDIF.
  304. ****************end add
  305. IF SY-LANGU = 'J'."ADD BY LY 20170328
  306. LR_QS->ADD_SELECTION_PARAM( IV_ATTR_NAME = 'COUNTRY'
  307. IV_SIGN = 'I'
  308. IV_OPTION = 'EQ'
  309. IV_LOW = 'JP' ).
  310. ENDIF.
  311.  
  312. LR_CURRENT ?= ME->TYPED_CONTEXT->ZCORDER->COLLECTION_WRAPPER->GET_CURRENT( ).
  313. LR_CURRENT->GET_PROPERTIES( IMPORTING ES_ATTRIBUTES = LS_GENERAL ).
  314. LV_LOW = LS_GENERAL-SALES_ORG.
  315. LR_QS->ADD_SELECTION_PARAM( IV_ATTR_NAME = 'ZSALES_ORG'
  316. IV_SIGN = 'I'
  317. IV_OPTION = 'EQ'
  318. IV_LOW = LV_LOW ).
  319. LR_COL = LR_QS->GET_SELECTION_PARAMS( ).
  320. LR_ITERATOR = LR_COL->GET_ITERATOR( ).
  321. LR_PARAM = LR_ITERATOR->GET_FIRST( ).
  322. WHILE LR_PARAM IS BOUND.
  323. LR_PARAM->GET_PROPERTIES( IMPORTING ES_ATTRIBUTES = LS_SELECTION ).
  324. IF LS_SELECTION-ATTR_NAME = 'ZBP_GROUP' AND LS_SELECTION-LOW IS INITIAL.
  325. LR_COL->REMOVE( LR_PARAM ).
  326. LR_PARAM = LR_ITERATOR->GET_CURRENT( ).
  327. CONTINUE.
  328. * EXIT.
  329. ENDIF.
  330. IF LS_GENERAL-COUNTRY EQ 'JP' AND LS_SELECTION-ATTR_NAME = 'COUNTRY' AND LS_SELECTION-LOW IS INITIAL.
  331. LR_COL->REMOVE( LR_PARAM ).
  332. LR_PARAM = LR_ITERATOR->GET_CURRENT( ).
  333. CONTINUE.
  334. * EXIT.
  335. ENDIF.
  336. LR_PARAM = LR_ITERATOR->GET_NEXT( ).
  337. ENDWHILE.
  338. LR_PARAM = LR_ITERATOR->GET_FIRST( ).
  339. WHILE LR_PARAM IS BOUND.
  340. LR_PARAM->GET_PROPERTIES( IMPORTING ES_ATTRIBUTES = LS_SELECTION ).
  341. IF LS_SELECTION-ATTR_NAME = 'ZSALES_ORG' AND LS_SELECTION-LOW IS INITIAL.
  342. LR_COL->REMOVE( LR_PARAM ).
  343. EXIT.
  344. ENDIF.
  345. LR_PARAM = LR_ITERATOR->GET_NEXT( ).
  346. ENDWHILE.
  347.  
  348. BPSEARCH_ACCOUNT_POPUP2->OPEN( IV_INBOUND_PLUG = 'CLEAR_ALL'
  349. IV_COLLECTION = LR_COL ).
  350.  
  351. WHEN 'NETWORK' OR 'ZHSI0CNN'.
  352. LV_TITLE = CL_WD_UTILITIES=>GET_OTR_TEXT_BY_ALIAS( 'CRM_UIU_BT/PARTNER_SEARCH' ).
  353. IF BPSEARCH_ACCOUNT_POPUP2 IS NOT BOUND.
  354. BPSEARCH_ACCOUNT_POPUP2 = COMP_CONTROLLER->WINDOW_MANAGER->CREATE_POPUP(
  355. IV_INTERFACE_VIEW_NAME = 'SearchHelpWindow' "#EC NOTEXT
  356. IV_USAGE_NAME = 'CUBPSearchAccount'
  357. IV_TITLE = LV_TITLE ).
  358. ENDIF.
  359.  
  360. * set display mode
  361. BPSEARCH_ACCOUNT_POPUP2->SET_DISPLAY_MODE( IF_BSP_WD_POPUP=>C_DISPLAY_MODE_SURROUNDED ).
  362. * Open the Popup
  363. BPSEARCH_ACCOUNT_POPUP2->OPEN( IV_INBOUND_PLUG = 'CLEAR_ALL' ).
  364. * Role dependand Event
  365. CONCATENATE 'SEL' IV_ROLE INTO LV_EVENTNAME.
  366. BPSEARCH_ACCOUNT_POPUP2->SET_ON_CLOSE_EVENT( IV_VIEW = ME IV_EVENT_NAME = LV_EVENTNAME ).
  367. * Get Query Context node
  368. LR_CONTEXT = BPSEARCH_ACCOUNT_POPUP2->GET_CONTEXT_NODE( 'SEARCH' ).
  369. CHECK LR_CONTEXT IS BOUND.
  370. * Get DQuery object to add search parameter
  371. LR_QS ?= LR_CONTEXT->COLLECTION_WRAPPER->GET_CURRENT( ).
  372. CHECK LR_QS IS BOUND.
  373. IF SY-LANGU = 'J'."ADD BY LY 20170328
  374. LR_QS->ADD_SELECTION_PARAM( IV_ATTR_NAME = 'COUNTRY'
  375. IV_SIGN = 'I'
  376. IV_OPTION = 'EQ'
  377. IV_LOW = 'JP' ).
  378. ENDIF.
  379.  
  380. LR_QS->ADD_SELECTION_PARAM( IV_ATTR_NAME = 'ZBP_GROUP'
  381. IV_SIGN = 'I'
  382. IV_OPTION = 'EQ'
  383. IV_LOW = 'Z010' ).
  384.  
  385. IF LS_GENERAL-COUNTRY EQ 'JP'.
  386. LR_QS->ADD_SELECTION_PARAM( IV_ATTR_NAME = 'ZBP_GROUP'
  387. IV_SIGN = 'I'
  388. IV_OPTION = 'EQ'
  389. IV_LOW = 'Z006' ).
  390. ENDIF.
  391.  
  392. * lr_current ?= me->typed_context->zcorder->collection_wrapper->get_current( ).
  393. * lr_current->get_properties( IMPORTING es_attributes = ls_general ).
  394. * lv_low = ls_general-sales_org.
  395. * lr_qs->add_selection_param( iv_attr_name = 'ZSALES_ORG'
  396. * iv_sign = 'I'
  397. * iv_option = 'EQ'
  398. * iv_low = lv_low ).
  399. LR_COL = LR_QS->GET_SELECTION_PARAMS( ).
  400. LR_ITERATOR = LR_COL->GET_ITERATOR( ).
  401. LR_PARAM = LR_ITERATOR->GET_FIRST( ).
  402. WHILE LR_PARAM IS BOUND.
  403. LR_PARAM->GET_PROPERTIES( IMPORTING ES_ATTRIBUTES = LS_SELECTION ).
  404. IF LS_SELECTION-ATTR_NAME = 'ZBP_GROUP' AND LS_SELECTION-LOW IS INITIAL.
  405. LR_COL->REMOVE( LR_PARAM ).
  406. LR_PARAM = LR_ITERATOR->GET_CURRENT( ).
  407. CONTINUE.
  408. ENDIF.
  409. IF LS_GENERAL-COUNTRY EQ 'JP' AND LS_SELECTION-ATTR_NAME = 'COUNTRY' AND LS_SELECTION-LOW IS INITIAL.
  410. LR_COL->REMOVE( LR_PARAM ).
  411. LR_PARAM = LR_ITERATOR->GET_CURRENT( ).
  412. CONTINUE.
  413. ENDIF.
  414. LR_PARAM = LR_ITERATOR->GET_NEXT( ).
  415. ENDWHILE.
  416.  
  417. BPSEARCH_ACCOUNT_POPUP2->OPEN( IV_INBOUND_PLUG = 'CLEAR_ALL'
  418. IV_COLLECTION = LR_COL ).
  419. WHEN 'LOGICAL'.
  420. LV_TITLE = CL_WD_UTILITIES=>GET_OTR_TEXT_BY_ALIAS( 'CRM_UIU_BT/PARTNER_SEARCH' ).
  421. IF BPSEARCH_ACCOUNT_POPUP IS NOT BOUND.
  422. BPSEARCH_ACCOUNT_POPUP = COMP_CONTROLLER->WINDOW_MANAGER->CREATE_POPUP(
  423. IV_INTERFACE_VIEW_NAME = 'SearchHelpWindow' "#EC NOTEXT
  424. IV_USAGE_NAME = 'CUBPSearchAccount'
  425. IV_TITLE = LV_TITLE ).
  426. ENDIF.
  427.  
  428. * set display mode
  429. BPSEARCH_ACCOUNT_POPUP->SET_DISPLAY_MODE( IF_BSP_WD_POPUP=>C_DISPLAY_MODE_SURROUNDED ).
  430. * Open the Popup
  431. BPSEARCH_ACCOUNT_POPUP->OPEN( IV_INBOUND_PLUG = 'CLEAR_ALL' ).
  432. * Role dependand Event
  433. CONCATENATE 'SEL' IV_ROLE INTO LV_EVENTNAME.
  434. BPSEARCH_ACCOUNT_POPUP->SET_ON_CLOSE_EVENT( IV_VIEW = ME IV_EVENT_NAME = LV_EVENTNAME ).
  435. * Get Query Context node
  436. LR_CONTEXT = BPSEARCH_ACCOUNT_POPUP->GET_CONTEXT_NODE( 'SEARCH' ).
  437. CHECK LR_CONTEXT IS BOUND.
  438. * Get DQuery object to add search parameter
  439. LR_QS ?= LR_CONTEXT->COLLECTION_WRAPPER->GET_CURRENT( ).
  440. CHECK LR_QS IS BOUND.
  441. * IF SY-LANGU = 'J'.
  442. * lr_qs->add_selection_param( iv_attr_name = 'COUNTRY'
  443. * iv_sign = 'I'
  444. * iv_option = 'EQ'
  445. * iv_low = 'JP' ).
  446. * ENDIF.
  447.  
  448. LR_QS->ADD_SELECTION_PARAM( IV_ATTR_NAME = 'ZBP_GROUP'
  449. IV_SIGN = 'I'
  450. IV_OPTION = 'EQ'
  451. IV_LOW = 'Z003' ).
  452. LR_CURRENT ?= ME->TYPED_CONTEXT->ZCORDER->COLLECTION_WRAPPER->GET_CURRENT( ).
  453. LR_CURRENT->GET_PROPERTIES( IMPORTING ES_ATTRIBUTES = LS_GENERAL ).
  454. LV_LOW = LS_GENERAL-SALES_ORG.
  455. IF LV_LOW IS NOT INITIAL.
  456. LR_QS->ADD_SELECTION_PARAM( IV_ATTR_NAME = 'ZSALES_ORG'
  457. IV_SIGN = 'I'
  458. IV_OPTION = 'EQ'
  459. IV_LOW = LV_LOW ).
  460. ENDIF.
  461.  
  462. LV_LOW = LS_GENERAL-COUNTRY.
  463. IF LV_LOW IS NOT INITIAL.
  464. LR_QS->ADD_SELECTION_PARAM( IV_ATTR_NAME = 'COUNTRY'
  465. IV_SIGN = 'I'
  466. IV_OPTION = 'EQ'
  467. IV_LOW = LV_LOW ).
  468. ENDIF.
  469.  
  470. LR_COL = LR_QS->GET_SELECTION_PARAMS( ).
  471. LR_ITERATOR = LR_COL->GET_ITERATOR( ).
  472. LR_PARAM = LR_ITERATOR->GET_FIRST( ).
  473. WHILE LR_PARAM IS BOUND.
  474. LR_PARAM->GET_PROPERTIES( IMPORTING ES_ATTRIBUTES = LS_SELECTION ).
  475. IF LS_SELECTION-ATTR_NAME = 'ZBP_GROUP' AND LS_SELECTION-LOW IS INITIAL.
  476. LR_COL->REMOVE( LR_PARAM ).
  477. LR_PARAM = LR_ITERATOR->GET_CURRENT( ).
  478. CONTINUE.
  479. ENDIF.
  480. IF LS_GENERAL-COUNTRY EQ 'JP' AND LS_SELECTION-ATTR_NAME = 'COUNTRY' AND LS_SELECTION-LOW IS INITIAL.
  481. LR_COL->REMOVE( LR_PARAM ).
  482. LR_PARAM = LR_ITERATOR->GET_CURRENT( ).
  483. CONTINUE.
  484. ENDIF.
  485. LR_PARAM = LR_ITERATOR->GET_NEXT( ).
  486. ENDWHILE.
  487.  
  488. WHEN 'ZHSI0DEL'.
  489. LV_TITLE = CL_WD_UTILITIES=>GET_OTR_TEXT_BY_ALIAS( 'CRM_UIU_BT/PARTNER_SEARCH' ).
  490. IF BPSEARCH_ACCOUNT_POPUP2 IS NOT BOUND.
  491. BPSEARCH_ACCOUNT_POPUP2 = COMP_CONTROLLER->WINDOW_MANAGER->CREATE_POPUP(
  492. IV_INTERFACE_VIEW_NAME = 'SearchHelpWindow' "#EC NOTEXT
  493. IV_USAGE_NAME = 'CUBPSearchAccount'
  494. IV_TITLE = LV_TITLE ).
  495. ENDIF.
  496.  
  497. * set display mode
  498. BPSEARCH_ACCOUNT_POPUP2->SET_DISPLAY_MODE( IF_BSP_WD_POPUP=>C_DISPLAY_MODE_SURROUNDED ).
  499. * Open the Popup
  500. BPSEARCH_ACCOUNT_POPUP2->OPEN( IV_INBOUND_PLUG = 'CLEAR_ALL' ).
  501. * Role dependand Event
  502. CONCATENATE 'SEL' IV_ROLE INTO LV_EVENTNAME.
  503. BPSEARCH_ACCOUNT_POPUP2->SET_ON_CLOSE_EVENT( IV_VIEW = ME IV_EVENT_NAME = LV_EVENTNAME ).
  504. * Get Query Context node
  505. LR_CONTEXT = BPSEARCH_ACCOUNT_POPUP2->GET_CONTEXT_NODE( 'SEARCH' ).
  506. CHECK LR_CONTEXT IS BOUND.
  507. * Get DQuery object to add search parameter
  508. LR_QS ?= LR_CONTEXT->COLLECTION_WRAPPER->GET_CURRENT( ).
  509. CHECK LR_QS IS BOUND.
  510. IF SY-LANGU = 'J'."ADD BY LY 20170328
  511. LR_QS->ADD_SELECTION_PARAM( IV_ATTR_NAME = 'COUNTRY'
  512. IV_SIGN = 'I'
  513. IV_OPTION = 'EQ'
  514. IV_LOW = 'JP' ).
  515. ENDIF.
  516.  
  517. LR_QS->ADD_SELECTION_PARAM( IV_ATTR_NAME = 'ZBP_GROUP'
  518. IV_SIGN = 'I'
  519. IV_OPTION = 'EQ'
  520. IV_LOW = 'Z010' ).
  521.  
  522. LR_QS->ADD_SELECTION_PARAM( IV_ATTR_NAME = 'ZBP_GROUP'
  523. IV_SIGN = 'I'
  524. IV_OPTION = 'EQ'
  525. IV_LOW = 'Z006' ).
  526. LR_QS->ADD_SELECTION_PARAM( IV_ATTR_NAME = 'ZBP_GROUP'
  527. IV_SIGN = 'I'
  528. IV_OPTION = 'EQ'
  529. IV_LOW = 'Z003' ).
  530.  
  531. * lr_current ?= me->typed_context->zcorder->collection_wrapper->get_current( ).
  532. * lr_current->get_properties( IMPORTING es_attributes = ls_general ).
  533. * lv_low = ls_general-sales_org.
  534. * lr_qs->add_selection_param( iv_attr_name = 'ZSALES_ORG'
  535. * iv_sign = 'I'
  536. * iv_option = 'EQ'
  537. * iv_low = lv_low ).
  538. LR_COL = LR_QS->GET_SELECTION_PARAMS( ).
  539. LR_ITERATOR = LR_COL->GET_ITERATOR( ).
  540. LR_PARAM = LR_ITERATOR->GET_FIRST( ).
  541. WHILE LR_PARAM IS BOUND.
  542. LR_PARAM->GET_PROPERTIES( IMPORTING ES_ATTRIBUTES = LS_SELECTION ).
  543. IF LS_SELECTION-ATTR_NAME = 'ZBP_GROUP' AND LS_SELECTION-LOW IS INITIAL.
  544. LR_COL->REMOVE( LR_PARAM ).
  545. LR_PARAM = LR_ITERATOR->GET_CURRENT( ).
  546. CONTINUE.
  547. ENDIF.
  548. IF LS_GENERAL-COUNTRY EQ 'JP' AND LS_SELECTION-ATTR_NAME = 'COUNTRY' AND LS_SELECTION-LOW IS INITIAL.
  549. LR_COL->REMOVE( LR_PARAM ).
  550. LR_PARAM = LR_ITERATOR->GET_CURRENT( ).
  551. CONTINUE.
  552. ENDIF.
  553. LR_PARAM = LR_ITERATOR->GET_NEXT( ).
  554. ENDWHILE.
  555.  
  556. BPSEARCH_ACCOUNT_POPUP2->OPEN( IV_INBOUND_PLUG = 'CLEAR_ALL'
  557. IV_COLLECTION = LR_COL ).
  558. ENDCASE.
  559.  
  560. ENDMETHOD.
  1. METHOD op_zhsi0cnn.
  2. * Added by wizard: Outbound plug 'ZHSI0CNN'
  3. bp_account_search( iv_role = 'ZHSI0CNN' ).
  4. 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. 剥开比原看代码08:比原的Dashboard是怎么做出来的?

    作者:freewind 比原项目仓库: Github地址:https://github.com/Bytom/bytom Gitee地址:https://gitee.com/BytomBlockchai ...

  2. 转载:linux tar 解压命令总结

    把常用的tar解压命令总结下,当作备忘: tar -c: 建立压缩档案 -x:解压 -t:查看内容 -r:向压缩归档文件末尾追加文件 -u:更新原压缩包中的文件 这五个是独立的命令,压缩解压都要用到其 ...

  3. sap hana 数据库 EBS

    SAP实时数据平台详解 ************************************************************ EBS是Oracle 公司对原有应用产品整合后的一个产 ...

  4. Codeforces Round #107 (Div. 1) B. Quantity of Strings(推算)

    http://codeforces.com/problemset/problem/150/B 题意: 给出n,m,k,n表示字符串的长度为n,m表示字符种类个数,k表示每k个数都必须是回文串,求满足要 ...

  5. 用户管理--借鉴技术大牛ken

    本节内容 useradd userdel usermod groupadd groupdel 用户管理 为什么需要有用户? 1. linux是一个多用户系统 2. 权限管理(权限最小化) 用户:存在的 ...

  6. GZip对字符串压缩和解压

    /// <summary> /// 压缩 /// </summary> /// <param name="value">需要压缩字符串</ ...

  7. redis简介(未完成)

    redis是一个用c语言开发的一个开源的高性能键值对(key-value)数据库,基本类型: 1)字符串型 string 2)字符串列表 lists 3)字符串集合 sets 4)有序字符串集合 so ...

  8. hibernate框架模板(可复制修改)

    简易搭建jar包 User类 package com.littlepage.test; public class User { private int uid; private String unam ...

  9. PCA-主成分分析(Principal components analysis)

    来自:刘建平 主成分分析(Principal components analysis,以下简称PCA)是最重要的降维方法之一. 1. PCA的思想 PCA顾名思义,就是找出数据里最主要的方面,用数据里 ...

  10. STL_头文件

    #include <string> #include <vector> #include <deque> #include <queue> #inclu ...