转:关于销售订单可用性检查控制的检查规则和检查组的确定

1)首先读取物料主数据(MARC)获取可用性检查设置(MTVFP),填写到VBAP-MTVFP

该字段来自物料主数据“销售:一般/工厂”-》“一般数据”-》“可用性检查”

 

2)首先在单元FV45VF0B_BEDARF_LESEN代码里设置可用性检查的初始(TMVFP-OBVFP)
代码摘抄如下
  DA_AUFRUFER              = CHARA.
  IF TVAK-LISOF NE SPACE.       "立即交货
    IF XVBUK-VBELN NE VBAK-VBELN.
      PERFORM. XVBUK_LESEN(SAPFV45K) USING VBAK-VBELN.
    ENDIF.
    IF XVBUK-LFSTK NE CHARB AND XVBUK-LFSTK NE CHARC.
      DA_AUFRUFER          = CHARB.
    ENDIF.
  ENDIF.
  在同个这个值调用
 CALL FUNCTION 'RV_REQUIREMENT_GET'
       EXPORTING
            AUFRUFER            = DA_AUFRUFER
            MATERIAL            = US_MATNR
            PRUEFGRUPPE         = US_MTVFP
            WERK                = US_WERKS
            BELEG               = US_VBELN
            POSITION            = US_POSNR
            VPMAT               = US_VPMAT
            VPWRK               = US_VPWRK
            PZMNG_LOESCHEN      = DA_KORRI
            KORR_AKT            = US_KORRI
            KORR_ALT            = DA_KOPIERMODUS
            CALL_MODUS          = DA_CALL_MODUS

NICHT_SPERREN       = DA_NICHT_SPERREN
            VBTYP               = VBAK-VBTYP
       IMPORTING
            SUMMIERUNG          = SUMBD
            MAT_GESPERRT        = DA_GESPERRT
       TABLES
            AVBBD               = AVBBD
            XMVERF_POS          = XMVERF_POS
            XQUOT_VB            = XQUOT_VB
            XQUOT_CH            = XQUOT_CH
       EXCEPTIONS
            MARC_MATNR_GESPERRT = 01
            MARC_VPMAT_GESPERRT = 02
            ENQUEUE_FEHLER      = 03.

3)在RV_REQUIREMENT_GET函数中根据读取的可用性检查设置读取可用性检查控制(TMVF)和可用量检查冻结(TMVFP)
  PERFORM. TMVF_SELECT USING PRUEFGRUPPE AUFRUFER CHARX SY-SUBRC.
3.1)读取可用量检查冻结(TMVFP)的代码摘抄
代码单元:LV03VFT2
FORM. TMVFP_SELECT USING US_MTVFP
                        US_OBVFP
                        US_ERROR
                        US_SUBRC.
  US_SUBRC = 0.
  IF TMVFP-MTVFP NE SPACE AND TMVFP-OBVFP NE SPACE.
    CHECK: US_MTVFP NE TMVFP-MTVFP OR
           US_OBVFP NE TMVFP-OBVFP.
  ENDIF.
* Wenn in TMVF-ACENQ gesetzt wird TMVFP eigentlich nicht gebraucht,
* verwendet wird allerdings OBVFP als Aufrufer.
* Ebenso wenn VERPN (keine Pr黤ung) gesetzt
  IF ( TMVF-ACENQ NE SPACE OR       "物料在具有传递需求的可用性检查中冻结
       TMVF-VERPN NE SPACE )  AND          "没有可用性检查

US_MTVFP NE SPACE       AND
      US_OBVFP NE SPACE.
    TMVFP-MTVFP            = US_MTVFP.
    TMVFP-OBVFP            = US_OBVFP.
    TMVFP-VFPSP            = SPACE.
  ENDIF.
  CHECK TMVF-ACENQ EQ SPACE AND TMVF-VERPN EQ SPACE.
  IF US_MTVFP EQ SPACE.
    US_SUBRC = 4.
  ELSE.
    SELECT SINGLE * FROM TMVFP WHERE MTVFP = US_MTVFP
                                 AND BVFP = US_OBVFP.
    IF SY-SUBRC NE 0.
      US_SUBRC = 4.
    ENDIF.
  ENDIF.
  IF US_SUBRC NE 0.
    IF US_ERROR NE SPACE.
      CLEAR: TMVFP.
      MESSAGE I305(VV) WITH US_MTVFP US_OBVFP.
    ENDIF.
  ENDIF.
ENDFORM.                    "TMVFP_SELECT

4)、在代码单元LV03VFA7中形成(PRREG)检查可用性检查的规则,代码摘抄如下:
  p_atpcs-prreg          = tmvfp-obvfp.
  p_atpcs-prreg+1(1)     = p_mverf_pos-sobkz. "SOBKZ:特殊库存标识
  IF p_mverf_pos-sobkz NE space AND
     p_mverf_pos-sobkz NE chare AND
     p_mverf_pos-sobkz NE charq.
    p_atpcs-kunnr        = p_mverf_pos-kunnr.
  ELSE.
    CLEAR p_atpcs-kunnr.
  ENDIF.

5)这样可用性的检查控制的两个因素就都决定出来了检查规则和检查组(MTVFP prreg),这样就可以读取T441V表,并用于可用性检查。

 6)相关 TCODE

OVZ2

OVZ1

OVZ9

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/10350860/viewspace-711969/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/10350860/viewspace-711969/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
SAP SD(销售和分销)的可用性检查是一个重要的功能,用于确保在销售过程中可以准确地确定产品的可用性。它基于不同的条件和规则,计算出产品的实际可用性,并向销售团队和客户提供准确的信息。 可用性检查主要侧重于以下方面: 1. 库存检查可用性检查将根据产品的当前库存情况,确定产品是否可用。它会考虑所有存储位置的库存数量,以及可能的未结账的出库订单和预留。 2. 交货日期检查:当客户下订单时,可用性检查可以根据当前库存和交货日期规则,计算出预计的交货日期。这有助于客户了解他们可以期望何时接收到产品。 3. 产品规则检查可用性检查还将考虑配置规则、替代和交叉销售等因素,以确定产品的可用性。例如,如果客户选择了一个产品配置,可用性检查将验证所需的组件是否可用。 4. 预留检查可用性检查还会考虑已创建的预留订单和未结账的出库订单。这确保了这些订单中的产品不会被其他订单或交货任务所占用。 5. 特殊情况处理:在某些情况下,例如促销活动或特殊客户订单可用性检查可以应用特殊规则,以确保产品的可用性以满足特定需求。 通过进行可用性检查销售团队和客户可以获得产品的准确可用信息,这有助于减少错误订单和满足客户的期望。同时,它还帮助企业优化库存管理并提高客户满意度。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值