移动类型与财务凭证

先说结果:个人觉得产生财务凭证 唯一的依据就是 有没有价值串,然后价值串就决定记账科目。。

而决定价值串 是由7个要素组成.具体可以参考OMJJ 或者看表 - T156SY
BWART = 移动类型  WERTU = 价值更新 = X   MENGU = 数量更新 = X     
SOBKZ = 特殊库存类型     KZBEW = 移动标识    KZZUG = 收货标识     KZVBR = 消耗过帐  

找价值串:T156(Ref)->T156SC->T156SY(Valuation string)->T156W(Related Transaction)->T030(GL)

下面例子就是MB01 MVT = 101 VMI 入库的移动信息   
      
系统根据此程序SAPLMBMV-LMBMVU36- FUNCTION MB_CONTROL_MOVETYPE_GET_SINGLE.           
select single * from  t156sc client specified into  t156sc_wa 从这里开始来找对应的价值串           
BWART = 移动类型 = 101   WERTU = 价值更新 = X   MENGU = 数量更新 = X     
SOBKZ = 特殊库存类型 = K Consignment (vendor)       KZBEW = 移动标识 = B 按采购订单的货物移动   
KZZUG = 收货标识 = NULL 正常收货    KZVBR = 消耗过帐 = NULL 没有消耗      
上面请参考OMJJ 或者自动过账配置

下面是各要素 值分析
1.1 价值更新/数量更新-->OMS2 物料类型中设计           
         
1.2 SOBKZ = 特殊库存类型
1.2.1 -->参考PO 的I                       
PO这里只有3个。-->Purchase Order->Define Document Types 这里配置
1.2.2 但是如果不是根据PO入库时.就会根据移动T-CODE中的Special Stock来决定。
比如用MB1B MVT =411 入库,那么SOBKZ = 特殊库存类型 = Special Stock 来。并且此时有9种类型
其中Q和E 跟KZVBR 消耗过账有关联,详细看KZVBR = 消耗过帐说明

1.3 KZVBR = 消耗过帐
1.3.1参考PO 的A.然后根据科目分配类别去查看其消耗记账是否有信息       如果A = NULL 代表消耗记账 = NULL
1.3.1.2 在OME9 设置科目分配类别 对应消耗记账信息
1.3.2 如果不是根据PO 入库-->我估计 如果此字段跟PO 有关。那么 也会跟消耗 及 发货 相关画面也有关系
1.3.2.1 SAPFM07M - FM07MFM0 - FORM mengenstring_finden USING m-bwart LIKE  mseg-bwart
这里有判断IF m-sobkz特殊库存 EQ E Orders on hand or EQ Q Project stock
--> m-kzvbr =  m-sobkz = E 销售订单.  如果不是  m-kzvbr = P项目
1.3.2.2 查看了T156SY 此talbe 看到此字段<> null。并且有价值串 -->很多都是KZVBR = E or P。
也有一部分 = V  这些MVT都是用于消耗 发货比较多。因为对这部分不是很了解 所以暂时没研究
可以参考T158B看看这些MVT 都用于那些T-CODE
         
1.4 KZBEW = 移动标识
根据T-CODE的出来。具体可以参考T156-->可以看到移动T-code对应的KZBEW信息        
在输入T-CODE:MB01时 系统就会SELECT - T156-->此时MB01 = B
         
1.5 KZZUG = 收货标识  这个就比较复杂

查看T156SY 在KZZUG = X 库存运输订单时-->MVT= 101/102/351/641 ==会有信息。所以推测 这是跟UB Stock Transfer Ord相关           
注意:101 虽然也有信息但是没有价值串。所以此时应该不会产生财务文档           
查看T156SY 在KZZUG = L 没有数据-->所以判定L 是没有用途
      
1.5.1 根据采购订单类型Order Type-->后台配置Purchase Order - Define Document Types           
设置Control信息:字段名BSAKZ -->Value Range = T Transport OR L Purchase requisition for outline agreement           
         
1.5.2 具体逻辑           
1.5.2.1 创建PO 时根据订单类型把后台配置的订单类型对应Control信息 Insert 到EKPO-BSAKZ此字段           
1.5.2.2 会在程序SAPLEINR-LEINRF2Q -CALL FUNCTION 'MMPUR_SET_CCOMP' 根据EKKPO-BSAKZ等信息 来更新Pot-ccomp           
1.5.2.3 会在程序SAPLEINR-LEINRF27 判断if pot-ccomp eq '1-->xebefu-bsakz = bsakz-tran =T(参考Include:FMMEXDIR系统写死bsakz-tran VALUE 'T')
1.5.2.4 最后判断SAPMM07M-MM07MFB7 判断IF xebefu-bsakz = t. -->mseg-kzzug = X.   

最后在SAPFM07M-FM07MFM0 - CALL FUNCTION 'MB_CONTROL_MOVETYPE_GET_SINGLE' 根据各要素信息去找价值串        
         
     
建议:去T156SY 看看各要素 的rang Value..这样就可以便于理解
  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值