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 OBVFP = 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 (编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|