abapALV字段怎么设置搜索帮助

 我来答
猪八戒网
2023-04-26 · 百度认证:重庆猪八戒网络有限公司官方账号
猪八戒网
猪八戒网(zbj.com)创建于2006年,现已形成猪八戒网、天蓬网和线下八戒工场的“双平台+一社区”服务模式,是中国领先的人才共享平台。
向TA提问
展开全部

第一种办法:对表中某字段的引用,设置ref_table、ref_field,将自动触发该字段所带的搜索帮助。

第二种办法:就是利用自定义代码来实现ALV的搜索帮助,显然它的功能更强大、更灵活。针对在OOALV中实现搜索帮助,其主要步骤有:

1、在ALV的事件处理类中添加个Method,其DEFINITION如下:

handle_onf4FOREVENTonf4OFcl_gui_alv_grid

IMPORTINGe_fieldnamees_row_noer_event_data.

其中就是我们希望执行的代码,用来弹出可选择对话框。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'.

通知系统搜索事件处理完毕,这样就不会调用系统标准的SearchHelp。

2、那就是对需要自定义搜索帮助的字段,设置其fieldcatalog时:

ls_fieldcat-f4availabl='X'.

3、在创建ALV对象之后,要对需要自定义搜索帮助的字段进行注册。

DATA:lt_f4TYPElvc_t_f4WITHHEADERLINE.

CLEARlt_f4.

lt_f4-fieldname='FIELD_NAME'.

lt_f4-register='X'.

lt_f4-chngeafter='X'.

APPENDlt_f4.

CALLMETHODmygrid->register_f4_for_fields

EXPORTING

it_f4=lt_f4[].

lvc_s_f4中的字段getbefore和changeafter应该代表是否触发data_changed事件。

4、然后我们为其指定事件处理类(假设go_evt_receiver是自定义事件处理类的一个对象):

CREATEOBJECTgo_evt_receiver.

SETHANDLERgo_evt_receiver->handle_onf4FORgo_alv_grid.

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式