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 valuation is company code.

SAP recommend that valuation at plant level is used.

If you want to use application component Production Planning or Costing, you must use valuation at plant level.

The decision you made is valid for the whole client.

Once set, it is not possible to switch the valuation level from plant to company code, or vice versa.

G/L accounts in which material stocks are managed

¡ If material stocks are valuated at company code level, all plant stocks of a material are managed in a joint stock account for each company code.

¡ If material stocks are valuated at plant level, the material stocks for each plant can be managed in different accounts. You can define a separate account determination for each plant.

If several plants are to use account determination, you can group them together in Customizing for Valuation and Account Assignment in the section Account Determination .

 

第二步:配置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.

. 配置其它transactionAccount 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的物料收货时,价格差异的科目确定。

转载于:https://www.cnblogs.com/SlashOut/p/5012774.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/375324.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

JAVA 字符处理

/** * 分割字符串 * * param str String 原始字符串 * param splitsign String 分隔符 * return String[] 分割后的字符串数组 */ SuppressWarnings("unchecked") public static String[] split(String str, String splitsign) { int index; if (str null || …

Win32ASM-进程学习【1】

关于一些进程的概念就不说了。。。 一创建进程GreateProcess (1).当一个进程被创建时: ①.系统为进程创建一个内核对象,并将这个对象的计数设置为1,进程对象只是一个比较小的数据结构,可以通过进程句柄来引用 ②.系统为进程创建一个虚拟地址空间,并将可执行文件装载到这个地…

Object-C,NSArraySortTest,数组排序3种方式

晚上回来,继续写Object-C的例子,今天不打算写iOS可视化界面的程序,太累了。刚刚dady又电话过来,老一套,烦死了。其实,我一直一个观点,无论发生什么事情,不要整天一副不开心的样子。开…

android中listview的一些样式设置

在Android中,ListView是最常用的一个控件,在做UI设计的时候,很多人希望能够改变一下它的背景,使他能够符合整体的UI设计,改变背景背很简单只需要准备一张图片然后指定属性 android:background"drawable/bg"&…

Win32ASM-进程学习【2】

获取运行中的句柄 1.从窗口句柄中获取进程句柄 要对进程进行某种操作,就必须首先知道该进程的句柄或者进程ID 对于自己创建的子进程来说CreateProcess函数返回了子进程句柄和进程的ID 但是如果如果要对系统中运行的某个进程进行操作,那么首先获取他们的句柄才行 如果知道某个…

完美解决IE8有两个进程的问题

完美解决IE8有两个进程的问题,照以下方法设置后就只有一个进程了,没有什么负影响哦! 方法: 1、winR,在运行框里输入:gpedit.msc,回车进入组策略设置。 2、依次展开:计算机配置——管…

【转】gvim配置及相关插件安装

0.准备软件及插件。(a)gvim72.exe 地址ftp://ftp.vim.org/pub/vim/pc/gvim72.exe。(b)vimcdoc-1.7.0-setup.exe 地址http://prdownloads.sourceforge.net/vimcdoc/vimcdoc-1.7.0-setup.exe?download(c)ec57w32.zip 地址http://prdownloads.sourceforge.net/ctags/ec57w32.zip(…

Win32ASM-进程学习[3]-读写进程空间

invoke ReadProcessMemory,hProcess,lpBaseAddress,lpBuffer,dwSize,lpNumberOfBytesReadinvoke WriteProcessMemory,hProcess,lpBaseAddress,lpBuffer,dwSize,lpNumberOfBytesWritten hProcess 指定将要被读写的目标进程句柄 lpBaseAddress 目标进程中被读写的起始线性地址. …

MongoDB使用记录

安装服务 使用以下命令将MongoDB安装成为Windows服务。笔者的MongoDB目录为D:\Program Files\mongodb mongod --logpath "D:\Program Files\mongodb\data\logs.txt" --logappend --dbpath "D:\Program Files\mongodb\data" --directoryperdb --serviceName…

OC基础知识

Object C 语言基础 第一节总括 这一节是对Objective-C(以后简称OC)的简要介绍,目的是使读者对OC有一个概括的认识。 1.面象的读者 在阅读本文之前,应具备使用与C类似的编程语言(如C,C,JAVA)的一些经验,同时熟悉面向对象编程。 2.OC简介 OC是以SmallTalk为基础,建立…

Windows使用筛选器来处理异常

很久木有管博客了 最近也没有学什么 Dos系统下发生异常后,系统会调用int 24h服务例程,然后根据中断的返回值决定下一步要做什么,他会在屏幕上显示ignore Retry Fail Abort 让用户选择进而进行下一步操作 这样的话 只要应用程序截取int 24h中断,就可以随意的"胡作非…

Android 高级编程 RecyclerView 控件的使用

RecyclerView 是Android 新添加的一个用来取代ListView的控件,它的灵活性与可替代性比listview更好。 看一下继承关系: ava.lang.Object ↳android.view.View ↳android.view.ViewGroup ↳android.support.v7.widget.RecyclerViewKnown Direct …

Android下点亮LED

http://blog.csdn.net/cpj_phone/article/details/43562551转载于:https://www.cnblogs.com/Ph-one/p/4276974.html

SEH处理异常

Win32为每个线程定义了一个线程信息块,其中保存了线程的一些属性数据,线程信息块的属性被定义为NT_TIB结构 typedef struct _NT_TIB { struct _EXCEPTION_REGISTRATION_RECORD *ExceptionList; PVOID StackBase; PVOID StackLimit; PVOID SubSystemTib; union { PVOID FiberDa…

Asp.net MVC 4新项目中创建area的后续操作

Asp.net MVC 4新项目中创建area后,往往HomeController与area的HomeController路由发生混淆,需要手工设置一些地方避免mvc无法识别默认路由的状况。 无废话具体步骤: 1. 检查早Global.asax和\App_Start\RouteConfig.cs中是否已经自动添加了Are…

55-混沌操作法之我见:一、逆势操作.(2015.2.7)

混沌操作法之我见:一、逆势操作 首先谈谈,均线以及鳄鱼线。单独的市场价格表达了t时刻价格的个体情况,均线表达了一段时间内价格的综合情况。t时刻的价格与均线的比较,表达了考虑了过去以及当前综合价格的比较情况,即t…

SEH链和展开操作

每次我们定义了一个新的SEH异常处理回调函数,EXCEPTION_REGISTRATION结构的prev字段都被要求填写上一个EXCEPTION_REGISTRATION结构的地址,随着应用程序对模块的调用一层层深入下去的时候,那么最后回调函数会形成一个SEH链 当程序中有多个线程在运行的时候,每个线程中都会存在各…

spring的基本知识

首先是回顾一下spring的基本知识 1、controller 控制器(注入服务) 2、service 服务(注入dao) 3、repository dao(实现dao访问) 4、component (把普通pojo实例化到spring容器中,相当于…

vs2010 EF4.0 访问mysql

需要安装mysql-connector-net-6.3.5 6.8.9的安装完后在dbfirst里找不到对应的提供程序 链接字符串里需要 指定下编码(如果不是gbk的话) <add name"sourceEntities" connectionString"metadatares://*/Model1.csdl|res://*/Model1.ssdl|res://*/Model1.msl;pr…

Win32ASM 变长参数的理解

C语言里面 提供了一些宏 可以使用变长参数 int MsgPrintf(INT dwszBuffer,TCHAR* szCaption,TCHAR* szFormat,...){LPVOID lpszBuffer;va_list pArgList;va_start(pArgList,szFormat);lpszBuffer HeapAlloc(GetProcessHeap(),HEAP_ZERO_MEMORY,100);_vsntprintf((LPTSTR)lpsz…