显示标签为“MM”的博文。显示所有博文
显示标签为“MM”的博文。显示所有博文

2009年2月11日星期三

SAP MM Automatic Account Determination zz

http://sapdup.peteandmegan.com/?p=19

Sometimes I wonder how many implementations it would take to get the Automatic Account Determination process down-pat.

Every consultant I’ve dealt with has had to brush up on the account determination process before implementing it, no matter their experience level.

So, for my sake, and yours, here’s a simple (as much as it can be) explanation of what Automatic Account Determination is, what it does, and how to do it.

Why do I need Automatic Account Determination?

Every time a transaction with financial implications is run, postings must be made to financial accounts. I’m a logistics consultant, so to be honest, I don’t care. But it has to happen, so since this is an integration point between us and FI, unless you can make the FI consultant do it, we have to fight through it.

We could let the user enter the GL account each time we post an invoice or goods receipt, but SAP is supposed to be a productivity tool, so that’s not really acceptable.

So, the idea is that the system will determine (based on our config) what account to post to depending on a number of factors, namely; company code, valuation area (plant vs company code), material / material type, transaction or business event and movement type.

So, with five variables, the determination system must be pretty complex?

Yes. When you come to understand the way SAP have done it, it is an elegant solution, but it is pretty damn complex.

Before you begin, sit down with the FI consultant, find out what accounts there are and in a business sense, how and when each of the accounts should be posted to. Discuss all five of the categories above. With this info set in concrete in front of you, you can begin the SAP config.

Here’s the lowdown, try and stay with me.

Essentially all that is happening is that SAP are allowing us to maintain a record of “if x and y happen, then use account z” and “if a and b occur then use account q”.

I can just imagine the conversation many years ago in Germany (translated for your convenience):

“Ok, we need a table of possible outcomes for account determination.”

“That’s faaarrr too easy. Let’s break it into fifty different tables, come up with many interchangeable names for the same thing, and hide the tables beneath several different, unimaginable directory paths.”

Configuration Steps

First up, since we have to do something first, let’s specify our valuation control. This is done via IMG > Materials Management > Valuation and Account Assignment > Account Determination > Account Determination Without Wizard > Define Valuation Control.

All that we’re doing here is specifying whether the system should consider the valuation grouping code in it’s determination procedures.

“What’s the valuation grouping code?” I hear you asking?

The valuation grouping code (vgc) is a collection of valuation areas that will have the same account determination. Since a valuation area can be a company code or plant, we can say that a vgc represents a group of plants or company codes that have the same account determination.

If you don’t use the valuation grouping code, you’ll have to set up account determination for each plant or company code in SAP.

If you’re using the vgc, then jump into “group together valuation areas” and assign your company codes or plant a code (any code). They should be somewhere in the list automatically, all you should need to do is give them a code.

The next step is to manage different account determination per material type. This is where it can get complicated if you let it.

The valuation class is linked to an account category reference. The account category reference (acr) is an artificial code which allows flexibility in linking material types with valuation classes.

“Huh?” I hear you asking. Let’s consider the alternatives.

We could relate the GL account directly to the material type. This would be easy to setup for a few material types, but would take a huge amount of time for many material types, and would be hard to understand if changes needed to be made.

We could use the valuation class, assign the GL account to it, and then assign valuation classes to material types. This is better, since we could for instance have a “Raw Materials” vc and a “Finished Materials” vc and then simply link all the various material types under each category to the valuation class. This would make updates and initial loads easier, but there is still one thing missing, a material type can only be part of one valuation class and can only post to one account.

However, in the real world, a material type may post to different accounts depending on things other than just the material type, such as plant, movement type or indeed any of the factors above.

So, we have an account category reference which is linked to a material type. This acr is then linked with a valuation class and the GL account is linked to the valuation class. So a material type can be linked to one or more valuation classes (and hence GL Accounts) and in turn, a valuation class can be linked to multiple material types (enabling ease of understanding and updates).

Now that you (hopefully) understand that, the actual updates are pretty simple.

Go to transaction: IMG > Materials Management > Valuation and Account Assignment > Account Determination > Account Determination Without Wizard > Define Valuation Classes and begin by defining your valuation classes. Then define your account category references and go back into your valuation classes and assign them (or you could do the acr’s first). Then go into your material types and assign your acr’s to your material types and done! For the moment.

At this point we should consider another factor, the actual business event that is occurring and it’s effect on account determination. This is another area where you have to try and see through the impenetrable fog of terminology.

Each time “something” occurs in the system it produces a “key” for each of the postings that need to be made (i.e. debit and credit). This “key” is entered in our account determination procedure so that postings for credit and debit go to different accounts. Simple aye?

Well when (as far as I understand) the “something” can be called ‘transaction (key)’ or ‘event (key)’ and the “key” can be called ‘value string’, ‘posting rule’ or ‘posting string for values’ and the column header in SAP for the “key” says “Trans”. Fun, fun, fun.

The combinations of movement type and “keys” and how they are determined are all internally programmed by SAP, so we don’t really care. What we do care about is the account modifier or ‘account grouping code’.

This is the topic I spent the most time on, and I’m still not completely clear, so don’t feel bad if you’re confused.

The account grouping code (aka account modification code, modifier or (in SAP) general modifier) is a three character code (which rather oddly has no link with the posting strings (”key”)) which we use to break account determination down by movement type.

For example, by default in SAP, the system says for movement type 101 and posting key PRD there is no modification. So the account determination is not different based on movement type. However, I can enter a code (e.g. AAA) against movement type 101 and posting key PRD and code BBB against movement type 102 and PRD.

Then in ‘Configure Automatic Postings’ when we go into posting key PRD, we will make entries for ‘general modifier’ AAA, account 100000 and BBB of 100001 (there will also need to be an entry for a “blank” modifier which should cover all the other movement types).

So, make sense? Hopefully.

Now you need to go through and for each posting key that we’re concerned with, record each of the defining factors mentioned above (you don’t need to enter them if you’re not using them) and enter a GL account for each permutation.

You should now find that your account determination is working. I wouldn’t put any money on that promise. My hope is that having read this guide, you’re a little bit closer to having your account determination working, and that in conjunction with a number of other resources you’ll get there eventually.

PS: I will be updating this article periodically, and would appreciate your constructive criticism by commenting below.

2009年2月10日星期二

MM useful T-Code

MM常用事务码(T Code)清单
MM01 - 创建物料主数据
XK01 - 创建供应商主数据
ME11 - 创建采购信息记录
ME01 - 维护货源清单
ME51N- 创建采购申请
ME5A - 显示采购申请清单
ME55 - 批准采购申请(批准组:YH)
ME57 – 分配并处理采购申请
MB21 - 预留
MB24 - 显示预留清单
ME21N- 创建采购订单
ME28 - 批准采购订单(批准组:YS)
ME9F - 采购订单发送确认
ME2L - 查询供应商的采购凭证
ME31 - 创建采购协议
MD03 - 手动MRP
MD04 - 库存需求清单(MD05 - MRP清单)
MRKO - 寄售结算
MELB - 采购申请列表(需求跟踪号)
ME41 - 创建询价单
ME47 - 维护报价
ME49 - 价格比较清单
MI31 - 建立库存盘点凭证
MI21 - 打印盘点凭证
MI22 - 显示实际盘点凭证内容
MI24 - 显示实际盘点凭证清单
MI03 - 显示实际盘点清单
MI04 - 根据盘点凭证输入库存计数
MI20 - 库存差异清单
MI07 - 库存差额总览记帐
MI02 - 更改盘点凭证
MB03 - 显示物料凭证
ME2O - 查询供应商货源库存
MB03 - 显示物料凭证
MMBE - 库存总览
MB5L - 查询库存价值余额清单
MCBR - 库存批次分析
MB5B - 查询每一天的库存
MB58 - 查询客户代保管库存
MB25 - 查询预留和发货情况MB51
MB5S - 查询采购订单的收货和发票差异
MB51 - 物料凭证查询(可以按移动类型查询)
ME2L - 确认采购单/转储单正确
MCSJ - 信息结构S911 采购信息查询(采购数量价值、收货数量价值、发票数量价值)
MCBA - 核对库存数量,金额
MM04 - 显示物料改变
MMSC - 集中创建库存地点
MIGO_GR根据单据收货:
MB1C - 其它收货
MB1A - 输入发货
MB1B - 转储
MB31 - 生产收货
MB01 - 采购收货)
MBST - 取消物料凭证
MM60 - 商品清单
ME31L- 创建计划协议
ME38 - 维护交货计划
ME9A - 消息输出
MB04 - 分包合同事后调整
MB52 - 显示现有的仓库物料库存
MB90 - 来自货物移动的输出
CO03 - 显示生产订单
IW13 - 物料反查订单(清单)
IW33 - 显示维修订单
VA01 -创建销售订单
VL01N - 参照销售订单创建外向交货单
VL02N – 修改外向交货单(拣配、发货过帐)
VL09 – 冲销销售的货物移动
VF01 – 出具销售发票
VF04 – 处理出具发票到期清单
VF11 – 取消出具销售发票

MVT for MIGO_GR
101 : 一步收货
103+105 : 两步收货

MVT for MB1A
201 : 发料到成本中心
241 : 从仓库发货到资产(在建工程)
261 : 发货到内部订单
551 : 为报废提取
555 : 自冻结库报废
601 : 销售发货
653 : 销售退货
Z41 : 维修工单发货

MVT for MB1B
344 : 欲报废物资先移库到冻结库存
411K: 从代销到本公司的转帐
541 : 从非限制库存到分包商库存的转储记帐(委托加工)
555 : 自冻结库报废

MTV for MI07(盘点记帐)
701 : 实际盘点-盘盈
702 : 实际盘点-盘亏

博客归档