CO09可用性检查
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.
post SAP-Garson
原文链接:https://blog.csdn.net/Summer_duan/article/details/112780559文章来自于网络,如果侵犯了您的权益,请联系站长删除!