原创 无峰 [ ABAP 技巧与实战 ](javascript:void\(0\);)
**_前言_ **
归纳总结是个好习惯,我们都值得拥有.
每一个业务的开发需求,都是一次归纳的契机.
• 根据业务特定的需求分析,是否可以概括出一个通用需求?
• 特定业务需求是否完全包含在这个通用需求中呢?
• 是否可以根据这个通用需求概括出一个通用处理模型?
• 该模型是否可以解决这一类的业务需求?
• 怎么用特定的语言(ABAP)开发这个模型?
• 怎么给业务最大的自由度去使用这个配置使用这个模型?
如果你是一个业务人员,带着这些问题去和你的开发沟通.(你毛病呀,半天就可以写完的程序,你想整一周?)
如果你是一个开发人员,带着这些问题去和需求提出者沟通(你找事呀,按我的需求做就完事了,要不你来写功能说明书?)
或者,你也会碰到志同道合的. 嗯,这个提议不错, 咱们一起来完善一下这个设计.
**尝试更多的去理解业务,去归纳业务,用开发的思想去重建功能设计.**
用于记录一类业务的信息.(比如销售订单,用于记录系统中创建的对客户的销售信息).单据类程序都需要有基本的增删改查功能.特定的单据可能还需要审批功能及后续处理功能.
通过对单据类程序的总结,归纳出一些它们的基础功能. 使用统一的代码实现这些基础功能. 对于单据特定的功能,则通过预留的代码位置编写代码实现.
• 一个主表 : 用于存放单据抬头信息,常用字段:类型,日期,审批标记,删除标记等
• 一个或多个从表: 第一个从表(明细表)依赖于主表,其它从表可能依赖于主表,也可能依赖于明细表,依赖关系通过主键确定.最多支持8个从表
• 一个下传控制表: 用于标记单据通过哪些接口下传
• 创建: 生成一个新的单号,添加特定的字段内容后,保存.
• 修改: 选中一个原有的单据,修改特定的字段后,保存.
• 显示: 选中一个或多个单据, 显示内容.
• 删除: 如果表中数据尚未记录,直接删除行, 否则设置删除标记.
• 审批: 设置抬头的审批标记,记录审批人,审批日期等信息.
• 加锁: 锁定单据, 以免多个用户同时编辑导致数据不一致.
• 修改日志: 显示单据的修改信息(什么人员在什么时间修改了什么字段,旧值是什么,新值是什么).
• 授权管理: 用于控制用户对单据能够执行的操作.
• 给单据编写一个单据短名称: <ORD>
• 定义单据的主表,明细表,从表 .
命名规则 ZT<ORD>_H 抬头表ZT<ORD>_I 明细表ZT<ORD>_I<N> 从表 <N>是一位的数字 允许从2-7
• 定义一个变更文档对象(TCODE: SCDO) 命名规则 Z<ORD>
• 通过DEMO: ZBC106C程序复制成一个新的程序.
• 替换单据识别号: DEMO程序的识别号BC106C.
• 调整单据的控制特性
• 完成一个新的单据程序的基本功能
**配置实现**
可以配置单据的字段属性,授权,按钮的禁用等内容
• ABAP 程序名称
• 单据类型
• 字段层级
• 字段名
• 字段描述
• 字段属性
• ALV 控制: 输出列
• 从抬头表指定字段获取内容(添加行的时候)
• 检查字段与抬头指定字段内容一致
• 字段的默认值
• 允许的字段内容(多值通过逗号,分割)
• 禁止的字段内容(多值通过逗号,分割)
** 特定位置添加代码实现特殊功能 **
可以在程序的特定位置,添加代码实现单据的特殊功能.
** **
_**总结** _
实际应用中. 自定义单据框架可以快速的实现一个单据的基本功能,
开发人员只需要专注于单据的特定功能逻辑编写,极大的加快了单据类程序的编写过程.减少因开发人员经验导致的复杂功能的程序BUG.
SAP开发框架系列 是我 对开篇前言中问题 的解答 , 这个系列提供的 是 一种 思维方式,有些涉及到的代码/工具,会在后续文章中陆续发布.
如果你 对这篇文章感兴趣,请帮忙转发分享, 并且勾选微信 <看一看>.文章右上角的按钮点击后,点击<在看>(或者文章末尾的右下角<在看>),即可.
(如果你真的喜欢这篇文章,请记得回来打个赏,作为支持我继续下去的动力,这是一个正反馈过程. 越多的人打赏,作者越有动力分享,读者就能享受更多的福利.
毕竟打赏的金额富不了我,穷不了你,却能支持这个公众号长久发文.)
扫码关注公众号,获取更多好用的SAP应用程序
扫码加入 公众号互动群,及时沟通.
•