abap ALV 字段怎么设置搜索帮助

ALV界面显示的字段我要怎么设置它们其中某些字段的搜索帮助就是点击它会显示一个下拉列表里面有所要的值... ALV 界面显示的字段 我要怎么设置它们其中某些字段的搜索帮助 就是点击它会显示一个下拉列表 里面有所要的值 展开
 我来答
百度网友96ffcf7
2015-05-23 · 知道合伙人互联网行家
百度网友96ffcf7
知道合伙人互联网行家
采纳数:22721 获赞数:118725
从事多年网络方面工作,有丰富的互联网经验。

向TA提问 私信TA
展开全部
第一种办法:对表中某字段的引用,设置ref_table、ref_field,将自动触发该字段所带的搜索帮助。
第二种办法:就是利用自定义代码来实现ALV的搜索帮助,显然它的功能更强大、更灵活。针对在OO ALV中实现搜索帮助,
其主要步骤有:
1、在ALV的事件处理类中添加个Method,其DEFINITION如下:
handle_onf4 FOR EVENT onf4 OF cl_gui_alv_grid
IMPORTING e_fieldname es_row_no er_event_data.
其IMPLEMENTATION中就是我们希望执行的代码,用来弹出可选择对话框。e_fieldname代表用户点击了ALV的哪个字段来触发搜索帮助,es_row_no代表了当前行信息,
es_row_no-row_id就是ALV中内表记录的INDEX。er_event_data代表了当前用户对ALV进行了哪些编辑的信息。在Method的最后,记得加上
er_event_data->m_event_handled = 'X'.
通知系统搜索事件处理完毕,这样就不会调用系统标准的Search Help。
2、那就是对需要自定义搜索帮助的字段,设置其field catalog时:
ls_fieldcat-f4availabl = 'X'.
3、在创建ALV对象之后,要对需要自定义搜索帮助的字段进行注册。
DATA: lt_f4 TYPE lvc_t_f4 WITH HEADER LINE.
CLEAR lt_f4.
lt_f4-fieldname = 'FIELD_NAME'.
lt_f4-register = 'X'.
lt_f4-chngeafter = 'X'.
APPEND lt_f4.
CALL METHOD mygrid->register_f4_for_fields
EXPORTING
it_f4 = lt_f4[].
lvc_s_f4中的字段getbefore和changeafter应该代表是否触发data_changed事件。
4、然后我们为其指定事件处理类(假设go_evt_receiver是自定义事件处理类的一个对象):
CREATE OBJECT go_evt_receiver.
SET HANDLER go_evt_receiver->handle_onf4 FOR go_alv_grid.
唯我成志
2012-07-04 · 超过11用户采纳过TA的回答
知道答主
回答量:79
采纳率:0%
帮助的人:27.5万
展开全部
如果是搜索帮助的话 alv fieldcat 设置一下ref_field 和 ref_table ,下拉列表 你百度一下多的是
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
xxx45_hello
2012-07-04
知道答主
回答量:40
采纳率:0%
帮助的人:16万
展开全部
wa_fieldcat-ref_tabname = 'MAKT'.
wa_fieldcat-ref_fieldname = 'MATNR'
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
a4416275
2012-07-07 · 超过47用户采纳过TA的回答
知道小有建树答主
回答量:128
采纳率:0%
帮助的人:97.7万
展开全部
ON VALUE REQUEST.
这个是需要你自己用代码实现的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式