SAP MM/FI 自动过账实现 OBYC 接口执行
一. 自动过账原理
在MM模块的许多操作都能实现在FI模块自动过账,如PO收货、发票验证(LIV)、工单发料、向生产车间发料等等。不用说,一定需要在IMG中进行配置才可以实现自动处理。但SAP实现的这种自动配置的机制是怎样的呢?其实也并不复杂,让我们先以一种最简单的情况来了解实现原理和实现流程,然后就可以轻松对各种情况作出配置。
如果我们使用SAP系统,初始化库存一定必不可少。大家都知道初始化库存使用移动类型(movement type) 561/562。我们先以561 / 562的配置方法为例,说明配置流程。
有一点是大家首先要知道的,如果物料既有数量管理,又有金额管理,则物料异动会产生会计凭证,否则就没有会计凭证产生。
为了便于理解,先告诉大家,系统对MM模块的自动过账配置是存放在T030表中的,我们用Tcode: SE16N查看INT 的自动科目配置有以下结果。
ChAc:Chart of Account(账目表)
Trans.:Transaction
VGCd:Valuation Group
Code
AM:Account Modification
Val. Class:Valuation Class(评估类)
上表的控制机制是这样的:
Chart of Account及Valuation Group Code从范围上进行控制,Transaction +
AM + Valuation Class从条件上进行控制。G/L
Account(总账科目)有两栏,一栏表示借方,一栏表示贷方,借贷方科目可以相同,也可以不同。
以第一行为例,在INT账目表中,如果transaction为BSV(表示库存账户变化),Valuation
class为3000,则借方科目是400020,贷方科目也是400020。
存货变动所生成的会计凭证有一个规律,这个规律就是一定有相应存货的增加或减少。比如PO收货会导致存货增加,而发料则导致存货减少。而对应的科目则各不相同,比如PO收货对应的科目是应付账款(在SAP中是GR/IR),发料对应的科目应该是生产成本类科目。根据这一规律,SAP系统也将存货过账分为存货科目(Stock
Account)和消耗科目(Consumption Account)。存货的增加与减少用存货科目, Transaction key
BSX码就是用于存货科目的配置; 对方科目因为各不相同,也就有不同的Transaction
key。比如GBB用来配置冲销科目,PRD用来配置价格差异科目等等。有时,一种transaction key还须细分不同的情况,这时就要用到Account
Modification了。比如在GBB(冲销科目)中,在冲销科目中,再用BSA(一种account
modification)表示初始化科目,用VBR表示物料消耗科目。Transaction key和account
modification组合在一起,称为价值串(value string),与movement type对应。用户在MM模块过账时,会选择movement
type,系统则根据movement type确定价值串,价值串确定transaction key和account
modification,据此找到对应的会计科目,自动过账也就实现了。这一段话是理解自动过账的关键。
1) 回到开头,初始化库存移动类型为561 / 562, 对应的价值串是WA01,WA01包含GBB (Transaction key)和BSA
(Account modification) (Tcode: OMWN)
2) GBB + BSA在INT中的科目配置为(用tcode:OBYC查看)
而Valuation class又有什么作用呢。在物料主档中,我们要设定物料material type和valuation class。Material
type大体上可为原材料、半成品、产成品等。但会计科目的设定并不一定要根据物料类别,可能更明细一些,比如原材料-A类,原材料-B类。Valuation
class就是用来将有相同特性的物料组合在一起,对应不同的会计科目,既可以将material type细分,也可以实现不同material
type之间的组合。以下是三种常见情况。
1) 一种物料类别对应一个会计科目
2) 不同物料类别对应同一科目
3) 一种物料类别对应多个会计科目
二. 自动过账配置方法
第一步 – 定义Valuation
level
Menu Path:
Valuation level可以基于plant, 也可基于company code. SAP建议用plant。相关要点请参看帮助文件,不再多述。
Valuation level can be : Valuation level is a plant or SAP recommend that valuation at plant level is used. If you want to use application component Production Planning or Costing, you The decision you made is valid for the whole client. Once set, it is not possible to switch the valuation level from plant to G/L accounts in which material stocks are managed ¡ If material stocks are valuated at company code level, all plant stocks of ¡ If material stocks are valuated at plant level, the material stocks for If several plants are to use account determination, you can group them |
第二步:配置MM Account determination,
将用到下面的menu path
2.1 Define valuation
control,这一步仅仅是激活或不激活。
2.2 Group together valuation areas
Valuation area总是与plant的名称相同。如果定义valuation level为plant,则可以通过valuation area
group实现自动配置的组合。比如对几家不同的工厂用相同的配置,如valuation area 9999与valuation area
9998的自动配置相同,它们可以用同一个group: 1000
2. 3 Define valuation class
这一步骤又分为三小步,如下图所示:
2.3.1 – Define account category reference
2.3.2 – Define valuation class
2.3.3 – Mapping material type with account category reference
2.3.1 Define account category reference 一般设置与物料类型对应。如:
ZM01作为原材料的参考。ZM02作为半成品的参考。等等。
2.3.2 Define valuation class 相同的评估类具有相同的科目确定。
以上是以手表业为例。设置8001为Case(壳),所用到的account category reference为ZM01,其它依此类推 。
2.3.3 Mapping material type with account category
reference
以ROH(raw material)为例,对应的account category
reference是ZM01.这一步有什么作用呢,其实就是限制ROH物料类型可用的valuation
class。用MM03可以作如下图所示测试:对ZM01来说,可用的valuation
class有8001至8005。下图是系统中的验证(物料TEST_CASE的物料类别是ROH)
第4步 - Configure
account determination (Tcode: OMWB / OBYC)
4.1 进入下图所示界面,找到BSX所在行
4.2 双击BSX行,输入账目表(chart of accounts), 进入下图所示界面,设置记账规则
○ Debit/Credit – 是否借贷方用不同的科目。对于BSX来说,不可设,即借贷方科目必须相同。
○ Valuation
modification – 是否参照valuation grouping code。
Valuation class – 是否不同的valuation
class用不同的科目。
这一界面为设置规则(rules),第一次设置时系统会自动进入此界面。储存规则后才可进行科目设置。
4.3储存规则后按“Accounts”按钮,设定各valuation
class所对应的科目。设置后,按储存。
4.4用同样的方法设置transaction GBB的记账规则和会计科目
Rules:
Accounts:
完成以上步骤,即可实现库存初始化了。可以在系统中进行simulation.
三.
配置其它transaction的Account
Determination举例
以上是标准设置流程,对各种不同的事务,主要是知悉所用到的Transaction 和 Accounts
Modification是什么。以下给出部分Transaction key
1) 配置PO收货 (movement type: 101 / 102) : WRX
2)
配置物料成本中心发货的科目确定(movement type 201 /202): GBB + VBR
3)
配置库存盘盈盘亏的科目确定 (movement type: 701 /702) : GBB + INV
4) 配置物料报废的科目确定(movement type: 551) : GBB + VNG
5) 配置重新估价的科目确定: UMB
用MR21重新定价或价格控制为S的物料收货时,价格差异的科目确定。
SAP MM/FI 自动过账实现 OBYC 接口执行的更多相关文章
- SAP MM 公司间STO里交货单PGI之后自动触发内向交货单功能的实现
SAP MM 公司间STO里交货单PGI之后自动触发内向交货单功能的实现 笔者所在的项目上的公司间STO的流程里,发货公司在做PGI之后系统自动触发收货公司的内向交货单.这个功能是通过交货单的Outp ...
- SAP MM MIGO过账报错 - 用本币计算的余额 - 之对策
SAP MM MIGO过账报错 - 用本币计算的余额 - 之对策 使用MIGO事务代码对采购订单4500000191,执行收货,系统报错: 详细错误信息如下: 用本币计算的余额 消息号 F5703 诊 ...
- 【FICO系列】SAP ABAP&FI FI/CO接口:待更新的不一致的FI/CO凭证标题数据
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[FICO系列]SAP ABAP&FI ...
- SAP MM 销售订单库存与普通库存之间相互转换过账后对于EBEWH以及MBEWH表的更新
SAP MM 销售订单库存与普通库存之间相互转换过账后对于EBEWH以及MBEWH表的更新 1,DEMO数据 物料号:1300009995 工厂:2160 销售订单号/item号:0010097627 ...
- Link Between SAP SD, MM & FI
Link Between SAP SD, MM & FI 1. In SAP you will always get integration with other modules. SD wi ...
- SAP MM 同一个序列号可以被多次用在交货单发货过账?
SAP MM 同一个序列号可以被多次用在交货单发货过账? 如下公司间转储订单,从公司代码CSAS转入公司代码HKCS, 物料有启用序列号管理. 转储数量为5 PC.该STO单据共计有2个外向交货单 8 ...
- 【MM系列】SAP MM模块-MIGO收货后自动打印收货单
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[MM系列]SAP MM模块-MIGO收货后自动 ...
- 【MM系列】SAP MM模块-收货自动创建采购订单
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[MM系列]SAP MM模块-收货自动创建采购订 ...
- SAP MM MI01事务代码里的批次确定
SAP MM MI01事务代码里的批次确定 1 – 批次管理启用之后果 一个物料如果启用了批次管理,那么库存管理以及盘点等诸多事务里都需要在批次的层次上进行. 货物移动的时候,需要在界面上指定相关货物 ...
随机推荐
- DCOS :私有云的物理基础架构管理引擎
https://cloud.tencent.com/developer/article/1005598 一.引言 云计算经过多年的发展,逐渐从概念到渐为人认知.到接受.到现在全行业拥抱上云,云的客户也 ...
- (原创)用c++11实现简洁的ScopeGuard
ScopeGuard的作用是确保资源面对异常时总能被成功释放,就算没有正常返回.惯用法让我们在构造函数里获取资源,当因为异常或者正常作用域结束,那么在析构函数里释放资源.总是能释放资源.如果没有异常抛 ...
- 每日英语:Political Gridlock, Beijing Style
To admirers outside the country, China's political system stands far above the dysfunctional democra ...
- Python Import机制
最近在看<Python源码剖析>,对Python内部运行机制比以前了解的更深入了,感觉自己有机会也可以做个小型的动态脚本语言了,呵呵,当然是吹牛了.目的当然不是创造一个动态语言,目的只有一 ...
- Windows下使用MINGW编译ffplay
之前考虑到需要快速配置编译ffplay,使用了比较暴力的方法,具体可以参考编译ffplay.exe简化版. 这里介绍下相对规范的做法. 前提:已经安装了Windows下GCC开发环境--MINGW+m ...
- js实现默认或者触发一个事件选中元素内容的方法
方法一:非文本框.文本域的选中内容方法 <!Doctype html> <html> <head> <script type="text/javas ...
- rapidjson使用总结
Reference: https://blog.csdn.net/elloop/article/details/49908689 rapidjson简介 rapidjson是腾讯的开源json解析框 ...
- MySQL升级后1728错误解决方案
MySQL升级后1728错误解决方案 错误 # 1728,Cannot load from mysql.proc. The table is probably corrupted 造成原因:MySQL ...
- ios 两个 TableView 之间的联动, TableView 与 CollectionView 之间的联动
两个 TableView 之间的联动, TableView 与 CollectionView 之间的联动 这是一个创建于 359 天前的主题,其中的信息可能已经有所发展或是发生改变. [联动] :两个 ...
- jquery复选框 选中事件 及其判断是否被选中_常用笔记
checkbox的change事件可监听是否选中状态,也可添加onclick事件. var dom=$('.checkbox'); 1. 判断checkbox是否被选中 var dom=$('.che ...