SAP 各种冲销凭证

本文介绍了SAP系统中财务凭证的更改与冲销方法,包括已过账凭证的修改限制、预制凭证的修改方式、不同模块下凭证冲销的具体步骤及注意事项。

正文部分

一:凭证的更改

1,已经过帐的
FB02.
过完帐的允许更改的地方有限,只有凭证抬头文本,参照,分配,文本,原因代码等

2,预制凭证的更改.
TCODE,FBV2.
预制凭证可以更改的地方很多,只有凭证编码+公司代码+记帐码不允许更改.

如果科目错误,可以把金额置为0 ,这样凭证保存后打印出来就不会含有那个科目了.

二:凭证冲销
原则:通过后勤产生的会计凭证只能够通过冲销相应的物料凭证(后勤凭证)来达到冲销会计凭证的目的.二:固定资产的产生的凭证不可通过冲销,只可做一个相反的会计凭证来调整.

1,财务模块手工输入的凭证的冲销

TCODE:FB08
输入凭证号码,会计年度,公司代码,冲销原因(如果冲销当月凭证就选择01,以前月分的用02 如果选择02需要输入记帐日期).回车.

如果出现下面的显示“财务中不能冲销的凭证”就说明这不是通过财务做进去的凭证,而是后勤产生的凭证.不可在FB08冲销.

 当输入凭证属于手工输入的凭证时,保存即可.就会出现提示:出现凭证XXXXXXXXXX已经保存.表明是冲销完成.

2,MM模块的凭证冲销

2.1)MM模块产生的会计凭证的冲销

TCODE:MBST

输入凭证类型和记帐日期,会计年度等.

保存.系统出现:出现凭证XXXXXXXXXX已经记帐,表明冲销完成.以前物料凭证关联生成的会计凭证也相应的被冲销.

2.2)发票发票交验的取消

TCODE:MR8M

输入发票号码,冲销原因

保存即可.

提示需要手工清除会计的凭证的提示.表明已经无错误的冲销完成.然后要手工清除此两张凭证(它们是不能自动清账的).

3,SD的凭证冲销

3.1)SD发货凭证的冲销

注意:如果已经在系统中开票了,必须先冲销开票然后再冲销发货过帐.再才能按下列步骤进行SD发货凭证的冲销。

操作:TCODE:VL09

输入相应的界定条件

系统根据用户输入列出所有交货凭证。

用户选中相应要冲销的凭证点击工具条的“冲销”按钮,系统会出现“确实需要冲销次发货吗?”提示框,选择“OK”按钮确认。

3.2),发票的取消(在SD开发票的时候错误)

操作:TCODE:VF11  (如果要反记账冲销,则在S1类开票类别中“反记账”填写A/B)

输入要取消的发票号码

点击:保存   冲销完毕. 

 

<think> 嗯,用户需要批量冲销物料凭证的方法。我先梳理一下用户的需求背景:用户提到MB51报表需要增加“排除已取消凭证”的功能,还提到多个凭证冲销链路的案例(如500000808被冲销成500000809,后者又可能被连续冲销)。这说明用户实际在处理大量存在冲销关系的物料凭证,需要高效管理。 从引用内容看,关键点有四个技术实现路径: 1. 标准事务码MBST:虽然只能单张冲销,但结合LSMW或脚本可半自动化。引用[3]明确提到MBST是MM模块标准冲销方式,会同步冲销会计凭证。 2. BAPI_GOODSMVT_CANCEL:引用[4]的ABAP代码示例很有价值,这个BAPI需要构建CANCELCODE参数(固定值'03')和参照凭证号MAT_DOC。但要注意它可能有锁表风险。 3. 开发自定义报表:针对用户提到的复杂冲销链路(如多级冲销),可能需要额外判断MATDOC表的ANALYSIS_REL字段(引用[1]案例中分析相关性为2需排除) 4. 后台作业调度:对于超大批量,必须用SM36定义后台任务,避免前台超时。 用户特别强调“批量”,说明手工操作不可行。这里需要权衡: - 如果冲销量在百位级,用LSMW+MBST最稳妥 - 千位级以上建议用BAPI开发程序,但要注意引用[4]中的回滚机制(BAPI_TRANSACTION_ROLLBACK) - 对于特殊场景如数量为0的凭证(引用[2]),程序需跳过,因为MBST无法处理零数量 突然想到个隐患:连续冲销时(如49000001422→49000001423→49000001424),直接批量执行可能导致中间凭证被重复冲销。解决方案是在自定义程序中加入层级判断,只处理最末级凭证(ANALYSIS_REL='1'且CANCEL_FLAG为空) 最后建议用户测试环境验证,毕竟引用[1]显示不同冲销场景下系统行为差异很大(比如分析相关性为1和2的不同处理)。财务月结期间更要谨慎,引用[3]强调过固定资产凭证不能冲销只能调整。 </think> 在SAP系统中批量冲销物料凭证,可通过以下方法实现: --- ### 方法一:使用标准事务码 **MBST**(结合脚本或批量输入) 1. **手动批量操作** - 事务码 `MBST` 进入冲销界面 - 输入冲销参数: - `物料凭证`:需冲销凭证号列表 - `会计年度`:凭证所属年度 - `冲销原因`:选择`02`(冲销以前期间凭证) - 通过 **LSMW** 或 **eCATT** 工具录制脚本,实现批量自动化处理[^3]。 2. **限制** - 需逐行输入凭证号,适合少量凭证 - 大量凭证需结合脚本开发 --- ### 方法二:通过 **BAPI** 开发自定义程序 使用 BAPI `BAPI_GOODSMVT_CANCEL` 开发批量冲销程序: ```abap DATA: lt_goodsmvt_head TYPE TABLE OF bapi2017_gm_head_ret, lt_goodsmvt_item TYPE TABLE OF bapi2017_gm_item_cancel, lt_return TYPE TABLE OF bapiret2. APPEND VALUE #( mat_doc = '凭证号' "待冲销物料凭证号 pstng_date = sy-datum "过账日期 ) TO lt_goodsmvt_head. APPEND VALUE #( material_doc_item = '行项目号' "需冲销的行项目 ) TO lt_goodsmvt_item. CALL FUNCTION 'BAPI_GOODSMVT_CANCEL' EXPORTING goodsmvt_cancel = 'X' goodsmvt_ref_doc = '凭证号' TABLES goodsmvt_head = lt_goodsmvt_head goodsmvt_item = lt_goodsmvt_item return = lt_return. IF lt_return[] IS INITIAL. CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'. ELSE. CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'. ENDIF. ``` **关键点**: - `pstng_date` 必须指定为冲销过账日期 - 需循环处理每个凭证/行项目[^4] - 必须检查返回消息表 `lt_return` --- ### 方法三:使用 **LSMW** 或 **BDC** 录制 1. 通过事务码 `SHDB` 录制 `MBST` 单冲销过程 2. 生成 BDC 程序并修改为批量处理结构 3. 上传凭证号清单,循环调用 BDC 程序 **优势**:无需开发,适合熟悉LSMW的用户[^3]。 --- ### 方法四:后台作业调度 对自定义程序或 BDC 任务: 1. 事务码 `SM36` 创建后台作业 2. 设置批量参数(如凭证号范围) 3. 定时执行避免前台超时 --- ### 注意事项 1. **冲销权限**:用户需有物料凭证冲销权限 2. **凭证状态**:仅可冲销未冻结、未归档的凭证 3. **关联凭证**:若存在会计凭证,需同步冲销(MBST/BAPI 会自动处理)[^3] 4. **测试验证**:**务必在测试环境验证**,避免生产数据错误 5. **零数量凭证**:数量为0的凭证无法冲销,需单独处理(如重新收货)[^2] --- ### 推荐方案 | 场景 | 推荐方法 | |-----------------------|------------------------| | 少量凭证 (<50) | MBST 手动输入 | | 中批量凭证 (50-500) | LSMW/BDC 录制 | | 大批量/周期性需求 | BAPI 开发自定义程序 | > **操作前备份数据**:冲销操作不可逆,建议提前备份相关表(如 `MATDOC`、`MSEG`)[^1]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值