如何在ME55选择屏幕中添加EBKN-SAKTO选择选项?
ME55选择屏幕添加EBKN-SAKTO字段的实现方案
1. 选择屏幕的隐式增强实现
ME55的后台程序是RM06BF00,对应选择屏幕编号为1000。直接修改标准屏幕不可行,可通过隐式增强添加字段:
- 用SE80打开程序RM06BF00,定位到选择屏幕定义区域(搜索
SELECTION-SCREEN BEGIN OF BLOCK),在合适位置插入隐式增强块,添加选择选项:SELECT-OPTIONS: s_sakto FOR ebkn-sakto. - 激活增强后,该字段会直接显示在ME55的选择屏幕上。
2. 筛选逻辑的适配
添加字段后必须同步修改数据查询逻辑,否则选择框不会生效:
- 找到程序中读取EBKN表的子例程,通常是
FORM SELECT_EBKN; - 在该子例程的SELECT语句中,追加
s_sakto的筛选条件:SELECT * FROM ebkn INTO TABLE gt_ebkn WHERE banfn IN s_banfn AND bnfpo IN s_bnfpo AND sakto IN s_sakto. "新增总账科目筛选条件 - 如果是通过内表后续过滤,也可在LOOP内表时加入
CHECK ebkn-sakto IN s_sakto的判断语句。
3. 备选方案:使用用户出口/BADI
若隐式增强受系统限制,可尝试以下方式:
- 检查用户出口
EXIT_SAPLMEREQ_001,该出口可用于扩展采购申请的选择逻辑; - 或使用BADI
ME_PROCESS_REQ_CUST,结合选择屏幕的增强传递筛选参数,但这种方式相对复杂,更适合需要复杂业务逻辑的场景。
注意事项
- 所有操作先在测试环境验证,避免影响标准业务流程;
- 需考虑权限控制:SAKTO字段关联权限对象
F_BKPF_BES,确保用户有对应权限才能使用该筛选条件; - 若使用变式,需确保新增字段能被变式识别,可通过SE38维护程序变式时确认字段可见性。
内容的提问来源于stack exchange,提问作者Yasitha Lokunarangoda
相关产品推荐
相关产品推荐

