SAP 开发框架系列之自动单据

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

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

前言

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

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

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

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

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

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

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

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

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

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

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

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

**正文**

**自动单据: 在无需业务介入的情况下,由前一个单据触发产生后一个或多个相关单据.**

**大部分自动单据的需求来自以下场景:**

1. 实际业务流程与系统单据流程匹配时,系统中多出的步骤.

2. 根据公司财务记账需求,需要系统中额外创建的单据.

3. 入站接口需要处理产生系统中多个有前后关系的单据.

**自动单据的实现方式:**

1. 配置实现. 部分的SAP单据可以通过配置自动产生后续单据,比如销售订单->交货单. 可以通过配置在销售订单保存时自动产生后续的交货单.

2. 工作流实现?(这个不太擅长,无法展开阐述)

3. EDI实现. 部分单据可以通过配置,在前置单据保存时,自动创建一个IDOC,执行后产生后续单据,比如跨公司调拨的发票自动创建对应的发票校验.

4. 开发实现. (这个是本文阐述的重点)

**不管是什么方式实现自动单据,都需要解决以下几个共性问题(** _这也是为什么EDI实现有一套复杂的配置的原因_ **)**

• 什么样的单据需要自动创建后续单据,怎么识别它们?

• 创建后续单据的一些关键信息怎么获取?

• 后续单据创建如果失败了. 怎么获取失败的信息并且重新执行?

**自动单据框架对上述问题的解决思路**

• 对于需要自动创建后续单据的单据,在单据保存时,通过一些通用配置来识别单据中关键特性(单据类型/地点/库位/客户/供应商/公司代码或任意抬头字段或地点客户供应商的属性),对于识别成功的,记录自定义的表中.

• 通过参照模版程序创建一个处理程序,后续单据的关键信息可以在程序中通过代码实现(或构造一些对应关系表实现).

• 处理程序同时负责监控及重新处理报错的单据.

• 自动单据框架下的内容可以快速部署在一个自定义的监控平台,方便集中监控所有的自动单据执行情况(这个后续介绍)

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

自动单据框架试图简化项目中这一类的开发,把一个较长的处理链条拆解成若干个单一的环节,并且尽可能实现相关业务的可配置化.这样,开发出来的自动单据程序可以兼容并处理多种业务场景.

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

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

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

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

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

SAP 开发框架系列之自动单据 - 封面图
SAP 开发框架系列之自动单据 - 封面图
ABAP技巧与实战

关于作者:ABAP技巧与实战

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

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