zoukankan      html  css  js  c++  java
  • 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的物料收货时,价格差异的科目确定。

  • 相关阅读:
    【ABAP系列】【第五篇】SAP ABAP7.50 之用户接口
    【ABAP系列】【第六篇】SAP ABAP7.50 之隐式增强
    【ABAP系列】SAP ABAP 带有参数的AMDP的创建
    【MM系列】SAP ABAP 编辑字段出现:对象编辑中的错误
    【ABAP系列】SAP 使用特殊的技术更新数据库(ABAP)
    【ABAP系列】SAP 使用事务码DBCO实现SAP链接外部数据库以及读取例程
    【MM系列】SAP里批量设置采购信息记录删除标记
    【ABAP系列】SAP ABAP如何在调试查看EXPORT/IMPORT 内存数据
    【PP系列】SAP PP模块工作中心主数据维护
    Dom4J
  • 原文地址:https://www.cnblogs.com/SlashOut/p/5012774.html
Copyright © 2011-2022 走看看