搜索帮助——选择屏幕SCREEN
前言:有时候SAP系统报表程序的选择屏幕条件是没有F4帮助的,这时候就需要通过函数自定义实现,通过函数F4IF_INT_TABLE_VALUE_REQUEST可以实现这一需求。
案例:给选择条件物料特性值包装规格添加搜索帮助#
步骤如下代码所示:#
DATA:gv_zbzgg TYPE ausp-atinn.
*--------------------------------------------------------------------*
*&--------------------------「PROCESS」-----------------------------&*
*--------------------------------------------------------------------*
INITIALIZATION. "获取ZBGGG的内部特性值
PERFORM frm_atinn_trans USING 'ZBZGG' CHANGING gv_zbzgg .
AT SELECTION-SCREEN ON VALUE-REQUEST FOR s_zbzgg-low.
PERFORM frm_get_atwrt USING gv_zbzgg. "调用自定义搜索帮助
*&---------------------------------------------------------------------*
*& Form frm_atinn_trans
*&---------------------------------------------------------------------*
*& 特性值转换
*&---------------------------------------------------------------------*
FORM frm_atinn_trans USING p_atinn_i CHANGING p_atinn_o.
CALL FUNCTION 'CONVERSION_EXIT_ATINN_INPUT'
EXPORTING
input = p_atinn_i
IMPORTING
output = p_atinn_o.
ENDFORM.
*&---------------------------------------------------------------------*
*& Form frm_get_atwrt
*&---------------------------------------------------------------------*
*& 获取cawn特性值
*&---------------------------------------------------------------------*
FORM frm_get_atwrt USING p_atinn.
SELECT atwrt INTO TABLE @DATA(lt_cawn) FROM cawn WHERE atinn = @p_atinn. "获取数据
CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST' "实现搜索帮助"
EXPORTING
retfield = 'ATWRT' "值-关联指端
dynpprog = sy-repid
dynpnr = sy-dynnr
dynprofield = 'S_ZYYYHG' "关联的屏幕字段
value_org = 'S' "屏幕字段类型
TABLES
value_tab = lt_cawn "值表
EXCEPTIONS
parameter_error = 1
no_values_found = 2
OTHERS = 3.
ENDFORM.
效果如下图:#
作者:ITiger
出处:https://www.cnblogs.com/zyhcs/p/15546373.html
版权:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可。
转载请注明出处!
分类:
ABAP
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步