SAP 工具箱收款清账

作者:ABAP技巧与实战 约 7 分钟阅读 更新日期:2025-03-02 1 年前更新 标签:CO, FI, 财务

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

**点击蓝字** 关注我们

前言

收款/清账是SAP中的标准功能. 可以通过一些标准事务代码完成. 但SAP标准的程序的易用性较差. 不太方便用户的操作.

因此项目中财务顾问提出了开发一个用于客户收款/清账的程序, 方便财务用户的勾单操作,并实现一些标准不支持的功能.

**本文主要介绍客户清帐单程序的设计思路及实现**

标准功能

SAP财务模块关于应收的标准功能

• 创建凭证: F-02 可以创建一个收款凭证(图一)

• 收款功能F-28 用于创建一个针对客户的收款凭证(图二),并且通过选择未清项,在收款的同时实现清账的动作.(剩余金额产生新的应收或收款项)

• 清账功能F-32 用于勾选客户的收款项与应收项,完成清账的动作.(图三) 如果勾选的金额不一致, 会产生新的应收款项或新的收款项.

SAP 工具箱收款清账 - 封面图
SAP 工具箱收款清账 - 封面图

图一

SAP 工具箱收款清账 - 封面图
SAP 工具箱收款清账 - 封面图

图二

SAP 工具箱收款清账 - 封面图
SAP 工具箱收款清账 - 封面图

图三

清账的实现

以下是程序的一些设计及操作步骤

通过配置表ZTDQZ_C1默认设置应收凭证类型及收款凭证类型

SAP 工具箱收款清账 - 封面图
SAP 工具箱收款清账 - 封面图

执行事务代码ZDQZ_INI 的清账功能, 凭证类型选择默认来自配置表, 且不可修改. 理论上清账程序并不限制只能处理相同的客户. 通过复选框

<只能清账相同客户的> 来限定是否跨客户清账.

SAP 工具箱收款清账 - 封面图
SAP 工具箱收款清账 - 封面图

进入后的勾单界面可以勾选获取的收款凭证和清账凭证. 根据勾选的情况, 抬头汇总相应的金额并计算差异.

SAP 工具箱收款清账 - 封面图
SAP 工具箱收款清账 - 封面图

通过左边清单中的创建按钮可以创建一个清账单, 记录本次勾单情况.

SAP 工具箱收款清账 - 封面图
SAP 工具箱收款清账 - 封面图

跳转到清账的的处理界面. 可以显示清账单的抬头/明细信息. 可以对清账单执行审核,删除,过账等操作.

SAP 工具箱收款清账 - 封面图
SAP 工具箱收款清账 - 封面图

过账后生成会计凭证,记录相应的信息, 完成清账的动作.

SAP 工具箱收款清账 - 封面图
SAP 工具箱收款清账 - 封面图
SAP 工具箱收款清账 - 封面图
SAP 工具箱收款清账 - 封面图

收款并清账

收款信息来自与接口从银行同步的信息存放于自定义表中. 为了和系统中的收款凭证整合,

通过DDL视图把来自银行的信息与系统中的收款凭证整合在视图ZDDL_BKPF/ZDDL_BSEG中. 通过凭证类型区分.

收款后续的勾单并产生清帐单的逻辑完全等同于清账功能,产生特定类型的清帐单.

在清帐单生成会计凭证的过程中, 根据清帐单类型确定不同的记账方式,对于收款类型的单据创建收款并清账的会计凭证

**建议**

通过DDL视图可以把处理逻辑相同的数据整合到一起, 使用相同的程序处理过程处理. 复杂程序推荐使用. 可以通过调整视图扩展程序的数据处理范围.

SAP 工具箱收款清账 - 封面图
SAP 工具箱收款清账 - 封面图
SAP 工具箱收款清账 - 封面图
SAP 工具箱收款清账 - 封面图

BAPI部分

创建会计凭证部分封装到函数

Z_BC_F_51_POST_CLEARING 中. 函数中调用了标准函数

POSTING_INTERFACE_START

POSTING_INTERFACE_CLEARING

POSTING_INTERFACE_END

这三个函数的本质是调用BDC产生会计凭证. 因此可以通过设置 i_mode参数=A,调整到前台处理模式,查看参数填写是否存在问题.

SAP 工具箱收款清账 - 封面图
SAP 工具箱收款清账 - 封面图
SAP 工具箱收款清账 - 封面图
SAP 工具箱收款清账 - 封面图
SAP 工具箱收款清账 - 封面图
SAP 工具箱收款清账 - 封面图

比较

自定义的收款清账功能相比于标准程序有如下优势

• 勾选方式更灵活,清晰

• 突破了客户相同的限定,允许跨客户勾单,清账

• 增加了清账单环节, 允许在清账单中补充额外的信息

• 增加了审批功能(也可以设置自动审批).

• 增加了部门,业务员信息,可以基于部门,业务员收款清账

• 多客户清账时,可以指定差异金额归入特定的客户

• 允许设置收款中的部门,业务员信息(应收的部门,业务员来自单据)

• 收款功能基于银行同步的信息,制单更加准确

• 对于银行同步的数据中不包含客户信息的, 可以通过勾单指认客户

• ...

总结

收款/清账程序在不同的项目中具备一定的通用性. 程序的数据处理范围可以通过修改DDL视图调整并扩展. 可以把它作为一个框架程序,

通过配置单据类型及调整DDL视图内容, 完成所有需要勾选,创建单据并最终创建会计凭证的同一类需求.

主体程序ZDQZ使用了复杂单据框架

> 详见链接 无峰,公众号:ABAP开发技巧 [ SAP开发框架系列之 自定义单据

> ](https://mp.weixin.qq.com/s?__biz=Mzg4MjA1MjE4NQ==&mid=2247485035&idx=1&sn=bcb948be340bf03315e0d1e8a82dfc0e&chksm=cf5ddb5df82a524b909d329fbceecd6d3ac0d0334ccffa846af46a58ebcfbdd29dfaa994a602&token=1824442037&lang=zh_CN#rd)

允许用户通过配置表ZTBCREP_C1自行配置字段的属性及部分校验逻辑

SAP 工具箱收款清账 - 封面图
SAP 工具箱收款清账 - 封面图

** THE **

** END **

**约定**

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

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

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

SAP 工具箱收款清账 - 封面图
SAP 工具箱收款清账 - 封面图

**公众号 : syjf1976_abap**

**ABAP开发技巧**

**微信号 : 392077**

请微信联系管理员

syjf1976

sharry_xlp

Yannick_Duan

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

ABAP技巧与实战

关于作者:ABAP技巧与实战

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

来源说明:本文内容由「SAP工具箱收款清账.md」整理生成,仅用于内部技术分享与学习交流。