SAP 开发框架系列之自定义单据

作者:ABAP技巧与实战 约 7 分钟阅读 更新日期:2025-03-02 1 年前更新 标签:ABAP, 开发
SAP 开发框架系列之自定义单据 - 封面图
SAP 开发框架系列之自定义单据 - 封面图

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

**_前言_ **

归纳总结是个好习惯,我们都值得拥有.

每一个业务的开发需求,都是一次归纳的契机.

• 根据业务特定的需求分析,是否可以概括出一个通用需求?

• 特定业务需求是否完全包含在这个通用需求中呢?

• 是否可以根据这个通用需求概括出一个通用处理模型?

• 该模型是否可以解决这一类的业务需求?

• 怎么用特定的语言(ABAP)开发这个模型?

• 怎么给业务最大的自由度去使用这个配置使用这个模型?

如果你是一个业务人员,带着这些问题去和你的开发沟通.(你毛病呀,半天就可以写完的程序,你想整一周?)

如果你是一个开发人员,带着这些问题去和需求提出者沟通(你找事呀,按我的需求做就完事了,要不你来写功能说明书?)

或者,你也会碰到志同道合的. 嗯,这个提议不错, 咱们一起来完善一下这个设计.

**尝试更多的去理解业务,去归纳业务,用开发的思想去重建功能设计.**

1.单据类程序概述

用于记录一类业务的信息.(比如销售订单,用于记录系统中创建的对客户的销售信息).单据类程序都需要有基本的增删改查功能.特定的单据可能还需要审批功能及后续处理功能.

通过对单据类程序的总结,归纳出一些它们的基础功能. 使用统一的代码实现这些基础功能. 对于单据特定的功能,则通过预留的代码位置编写代码实现.

2.单据类程序的存储特性

• 一个主表 : 用于存放单据抬头信息,常用字段:类型,日期,审批标记,删除标记等

SAP 开发框架系列之自定义单据 - 封面图
SAP 开发框架系列之自定义单据 - 封面图

• 一个或多个从表: 第一个从表(明细表)依赖于主表,其它从表可能依赖于主表,也可能依赖于明细表,依赖关系通过主键确定.最多支持8个从表

SAP 开发框架系列之自定义单据 - 封面图
SAP 开发框架系列之自定义单据 - 封面图
SAP 开发框架系列之自定义单据 - 封面图
SAP 开发框架系列之自定义单据 - 封面图
SAP 开发框架系列之自定义单据 - 封面图
SAP 开发框架系列之自定义单据 - 封面图

• 一个下传控制表: 用于标记单据通过哪些接口下传

SAP 开发框架系列之自定义单据 - 封面图
SAP 开发框架系列之自定义单据 - 封面图

3.单据类程序的基本功能

SAP 开发框架系列之自定义单据 - 封面图
SAP 开发框架系列之自定义单据 - 封面图
SAP 开发框架系列之自定义单据 - 封面图
SAP 开发框架系列之自定义单据 - 封面图

• 创建: 生成一个新的单号,添加特定的字段内容后,保存.

• 修改: 选中一个原有的单据,修改特定的字段后,保存.

• 显示: 选中一个或多个单据, 显示内容.

• 删除: 如果表中数据尚未记录,直接删除行, 否则设置删除标记.

• 审批: 设置抬头的审批标记,记录审批人,审批日期等信息.

• 加锁: 锁定单据, 以免多个用户同时编辑导致数据不一致.

• 修改日志: 显示单据的修改信息(什么人员在什么时间修改了什么字段,旧值是什么,新值是什么).

• 授权管理: 用于控制用户对单据能够执行的操作.

4.单据类程序的快速生成

• 给单据编写一个单据短名称: <ORD>

• 定义单据的主表,明细表,从表 .

命名规则 ZT<ORD>_H 抬头表ZT<ORD>_I 明细表ZT<ORD>_I<N> 从表 <N>是一位的数字 允许从2-7

• 定义一个变更文档对象(TCODE: SCDO) 命名规则 Z<ORD>

SAP 开发框架系列之自定义单据 - 封面图
SAP 开发框架系列之自定义单据 - 封面图

• 通过DEMO: ZBC106C程序复制成一个新的程序.

• 替换单据识别号: DEMO程序的识别号BC106C.

• 调整单据的控制特性

SAP 开发框架系列之自定义单据 - 封面图
SAP 开发框架系列之自定义单据 - 封面图
SAP 开发框架系列之自定义单据 - 封面图
SAP 开发框架系列之自定义单据 - 封面图

• 完成一个新的单据程序的基本功能

5.单据的特定功能实现

**配置实现**

可以配置单据的字段属性,授权,按钮的禁用等内容

SAP 开发框架系列之自定义单据 - 封面图
SAP 开发框架系列之自定义单据 - 封面图

字段属性允许配置如下特性

• ABAP 程序名称

• 单据类型

• 字段层级

• 字段名

• 字段描述

• 字段属性

• ALV 控制: 输出列

• 从抬头表指定字段获取内容(添加行的时候)

• 检查字段与抬头指定字段内容一致

• 字段的默认值

• 允许的字段内容(多值通过逗号,分割)

• 禁止的字段内容(多值通过逗号,分割)

SAP 开发框架系列之自定义单据 - 封面图
SAP 开发框架系列之自定义单据 - 封面图

** 特定位置添加代码实现特殊功能 **

可以在程序的特定位置,添加代码实现单据的特殊功能.

SAP 开发框架系列之自定义单据 - 封面图
SAP 开发框架系列之自定义单据 - 封面图

** **

_**总结** _

SAP 开发框架系列之自定义单据 - 封面图
SAP 开发框架系列之自定义单据 - 封面图
SAP 开发框架系列之自定义单据 - 封面图
SAP 开发框架系列之自定义单据 - 封面图
SAP 开发框架系列之自定义单据 - 封面图
SAP 开发框架系列之自定义单据 - 封面图
SAP 开发框架系列之自定义单据 - 封面图
SAP 开发框架系列之自定义单据 - 封面图

实际应用中. 自定义单据框架可以快速的实现一个单据的基本功能,

开发人员只需要专注于单据的特定功能逻辑编写,极大的加快了单据类程序的编写过程.减少因开发人员经验导致的复杂功能的程序BUG.

SAP开发框架系列 是我 对开篇前言中问题 的解答 , 这个系列提供的 是 一种 思维方式,有些涉及到的代码/工具,会在后续文章中陆续发布.

如果你 对这篇文章感兴趣,请帮忙转发分享, 并且勾选微信 <看一看>.文章右上角的按钮点击后,点击<在看>(或者文章末尾的右下角<在看>),即可.

(如果你真的喜欢这篇文章,请记得回来打个赏,作为支持我继续下去的动力,这是一个正反馈过程. 越多的人打赏,作者越有动力分享,读者就能享受更多的福利.

毕竟打赏的金额富不了我,穷不了你,却能支持这个公众号长久发文.)

扫码关注公众号,获取更多好用的SAP应用程序

SAP 开发框架系列之自定义单据 - 封面图
SAP 开发框架系列之自定义单据 - 封面图

扫码加入 公众号互动群,及时沟通.

SAP 开发框架系列之自定义单据 - 封面图

ABAP技巧与实战

关于作者:ABAP技巧与实战

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

来源说明:本文内容由「SAP开发框架系列之自定义单据.md」整理生成,仅用于内部技术分享与学习交流。