SAP 小技巧改造 SE16N 八带入选择内容

作者:ABAP技巧与实战 约 6 分钟阅读 更新日期:2025-03-02 1 年前更新 标签:ABAP, Data Engineering, SD, WM, 仓库管理, 开发, 数据工程, 销售分销

原创 无峰 [ ABAP 技巧与实战 ](javascript:void\(0\);)

前言

前期写过一些改造SE16N的文章.

> 详见链接 无峰,公众号:ABAP 技巧与实战 [ SAP小技巧之 改造SE16N(三)

> ](https://mp.weixin.qq.com/s?__biz=Mzg4MjA1MjE4NQ==&mid=2247485310&idx=1&sn=553de71b38de7b5ced176b766ccb67ad&chksm=cf5dda48f82a535eb1a46435f08ec10410d7a0c8a0357117442a5e363f56e27894b464003307&token=151789507&lang=zh_CN#rd)

之后很久没有再找到SE16N的改进点. 最近用户提到了一个关于使用SE16N维护配置表的改进点, 思路还不错.因此又对SE16N做了一个新的小改进

本文主要介绍单值选择条件自动填入新增的记录

赘述

一般情况下, 可以通过事务代码 SE16N 或者函数 SE16N_INTERFACE进入单表创建/维护/显示功能.

这个功能很好用,自开发的单表(配置表维护)都可以使用这个功能,当然,如果应用之前文章介绍的改进后,会更加好用.

也可以增强配置树调用SE16N维护表内容( SE16N自带了写入请求功能, 只不过需要手工写入请求)

> 详见链接 无峰,公众号:ABAP 技巧与实战 [ SAP小技巧 打造全新的配置体系(二 实现方式)

> ](https://mp.weixin.qq.com/s?__biz=Mzg4MjA1MjE4NQ==&mid=2247486967&idx=1&sn=5530ce1545477c5b23aa0d04be2c9860&chksm=cf5dd0c1f82a59d78d1d14127d57b5f6796c703f557ef681c52d416d06387148886682a28a8f&token=151789507&lang=zh_CN#rd)

业务需求

在一个ALV单击跳转到SE16N显示/维护 单表内容的功能中. 用户提到,如果表中没有记录,新增记录时,应该自动带出关键字

SAP 小技巧改造 SE16N 八带入选择内容 - 封面图
SAP 小技巧改造 SE16N 八带入选择内容 - 封面图
SAP 小技巧改造 SE16N 八带入选择内容 - 封面图
SAP 小技巧改造 SE16N 八带入选择内容 - 封面图

业务需求归纳

这个需求归纳总结如下

标准事务代码SE16N, 或者函数SE16N_INTERFACE 传递的选择条件, 如果是单值, 在新增记录时,需要自动设置这些单值的选择内容.

实现效果

实现效果如下, 任意选择条件, 只要是单值条件

SAP 小技巧改造 SE16N 八带入选择内容 - 封面图
SAP 小技巧改造 SE16N 八带入选择内容 - 封面图

新增记录

SAP 小技巧改造 SE16N 八带入选择内容 - 封面图
SAP 小技巧改造 SE16N 八带入选择内容 - 封面图

回车后 自动带入单值的选择条件内容.

后面创建日期,创建时间,创建人信息不允许修改,自动填入

> 详见链接 无峰,公众号:ABAP 技巧与实战 [ SAP小技巧之 改造SE16N(五)

> ](https://mp.weixin.qq.com/s?__biz=Mzg4MjA1MjE4NQ==&mid=2247485340&idx=1&sn=76031e8ad8841af477b785d2dc6ab7c6&chksm=cf5ddaaaf82a53bc032358b180b079fc6fcea060be2d6374cd6583b6b9c0fb08d296571510d6&token=151789507&lang=zh_CN#rd)

SAP 小技巧改造 SE16N 八带入选择内容 - 封面图
SAP 小技巧改造 SE16N 八带入选择内容 - 封面图

实现方式

该增强无法在点击新增按钮后立即实现,因为没有跟踪到点击新增按钮创建空白行的代码(貌似该逻辑无法跟踪). 理论上,功能放在那里更加合适.

因此,把该功能放到了回车动作中. 回车动作触发了事件

handle_data_changed_finished

标准SE16N功能的ALV中貌似没有注册这个事件, 需要在隐式增强中注册该事件及回调类方法

SAP 小技巧改造 SE16N 八带入选择内容 - 封面图
SAP 小技巧改造 SE16N 八带入选择内容 - 封面图
SAP 小技巧改造 SE16N 八带入选择内容 - 封面图
SAP 小技巧改造 SE16N 八带入选择内容 - 封面图
SAP 小技巧改造 SE16N 八带入选择内容 - 封面图
SAP 小技巧改造 SE16N 八带入选择内容 - 封面图

实现逻辑比较简单 通过MEMORY ID 传递选择条件, 函数SE16N_INTERFACE开头增强传递. 在DATA_CHANGED

事件中获取传递的选择条件. 如果是单值, 对于ALV新增行补充该内容)

需要注意的是, 标准SE16N 界面的选择条件写入 IT_OR_SELFIELDS 内表. 但是函数传递的选择条件 在内表 IT_SELFIELDS中

SAP 小技巧改造 SE16N 八带入选择内容 - 封面图
SAP 小技巧改造 SE16N 八带入选择内容 - 封面图
SAP 小技巧改造 SE16N 八带入选择内容 - 封面图
SAP 小技巧改造 SE16N 八带入选择内容 - 封面图
SAP 小技巧改造 SE16N 八带入选择内容 - 封面图
SAP 小技巧改造 SE16N 八带入选择内容 - 封面图

总结

这个优化只是一个很简单的功能, 设置后,可以简化使用SE16N创建新记录后的值输入. 把存在单值限制的设置默认值.

SE16N其他优化文章中还提到过其他默认值设置方式

> 详见链接 无峰,公众号:ABAP 技巧与实战 [ SAP小技巧之 改造SE16N(五)

> ](https://mp.weixin.qq.com/s?__biz=Mzg4MjA1MjE4NQ==&mid=2247485340&idx=1&sn=76031e8ad8841af477b785d2dc6ab7c6&chksm=cf5ddaaaf82a53bc032358b180b079fc6fcea060be2d6374cd6583b6b9c0fb08d296571510d6&token=151789507&lang=zh_CN#rd)

** THE **

** END **

**约定**

如果你对这篇文章感兴趣,请帮忙点赞,在看,分享.

( **如果你真的喜欢这篇文章,请记得回来打个赏,作为支持我继续下去的动力,这是一个正反馈过程.

越多的人打赏,作者越有动力分享,读者就能享受更多的福利.毕竟打赏的金额富不了我,穷不了你,却能支持这个公众号长久发文.** )

请微信联系管理员

syjf1976

sharry_xlp

Yannick_Duan

申请进入公众号讨论群提问或者参与话题讨论

ABAP技巧与实战

关于作者:ABAP技巧与实战

企业信息化与 SAP 技术顾问,长期专注 SAP ABAP、FI/CO、MM、SD 等模块的技术分享与实战经验总结。查看更多介绍

来源说明:本文内容由「SAP小技巧改造SE16N八带入选择内容.md」整理生成,仅用于内部技术分享与学习交流。