CO09可用性检查

1 篇文章 0 订阅
LOOP AT it_mard INTO wa_mard.
  MOVE-CORRESPONDING wa_mard TO wa_result.
  CALL FUNCTION 'ZFG_LOCAL_3'
    EXPORTING
      i_matnr   = wa_mard-matnr
      i_werks   = wa_mard-werks
    TABLES
      lt_atpdsx = lt_atpdsx.
  LOOP AT lt_atpdsx INTO ls_atpdsx WHERE atpnr+6(4) = wa_mard-lgort.
    IF ls_atpdsx-delkz = 'VJ' OR ls_atpdsx-delkz = 'VC'. "订单、交货单
      wa_result-kbmeng = wa_result-kbmeng + ls_atpdsx-qty_o.      "订单、交货单占用    (计划数量为负值)
    ENDIF.
    CLEAR:ls_atpdsx.
  ENDLOOP.
  LOOP AT lt_atpdsx INTO ls_atpdsx WHERE delkz = 'U1'. "UB转储单占用
    wa_ekpo-ebeln = ls_atpdsx-delnr.
    wa_ekpo-matnr = wa_mard-matnr.
    SELECT SINGLE reswk FROM ekko INTO wa_ekpo-werks
      WHERE ebeln = wa_ekpo-ebeln.
    wa_ekpo-menge = ls_atpdsx-qty_o.
    APPEND wa_ekpo TO it_ekpo.
    CLEAR: ls_atpdsx, wa_ekpo.
  ENDLOOP.
  APPEND wa_result TO it_result.
  CLEAR:wa_mard,wa_result.
ENDLOOP.

 

FUNCTION zfg_local_3.
*"----------------------------------------------------------------------
*"*"Local interface:
*"  IMPORTING
*"     VALUE(I_MATNR) TYPE  MATNR
*"     VALUE(I_WERKS) TYPE  WERKS_D
*"  TABLES
*"      LT_ATPDSX STRUCTURE  ATPDS OPTIONAL
*"----------------------------------------------------------------------

  DATA: p_atpca   TYPE atpca.
  DATA: lt_atpcsx TYPE STANDARD TABLE OF atpcs,
        ls_atpcsx TYPE atpcs.

  p_atpca-anwdg      = '8'.
  p_atpca-anwdg_orig = 'A'.
  p_atpca-azerg      = 'T'.
  p_atpca-rdmod      = 'S'.  " A→总计,S→单个
  p_atpca-xenqmd     = 'N'.
  p_atpca-force_r3   = 'X'.

  ls_atpcsx-matnr  = i_matnr.
  ls_atpcsx-werks  = i_werks.
  ls_atpcsx-prreg  = '01'.
  ls_atpcsx-chmod  = 'EXP'.
  ls_atpcsx-delkz  = 'VC'.
  ls_atpcsx-bdter  = sy-datum.
  ls_atpcsx-xline  = '1'.
  ls_atpcsx-trtyp  = 'A'.
  ls_atpcsx-IDXATP = '1'.
  ls_atpcsx-resmd  = 'X'.
  ls_atpcsx-chkflg  = 'X'.
  APPEND ls_atpcsx TO lt_atpcsx.

  CALL FUNCTION 'AVAILABILITY_CHECK'
    TABLES
      p_atpcsx = lt_atpcsx
      p_atpdsx = lt_atpdsx
    CHANGING
      p_atpca  = p_atpca
    EXCEPTIONS
      error    = 1
      OTHERS   = 2.
  IF sy-subrc <> 0.
* Implement suitable error handling here
  ENDIF.

ENDFUNCTION.

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值