DOC_TYPE TYPE BAPIMEREQHEADER-DOC_TYPE, "單據類型(默認 'NB')
PUR_ORG TYPE BAPIMEREQHEADER-PUR_ORG, "采購組織(如 '0001')
PUR_GROUP TYPE BAPIMEREQHEADER-PUR_GROUP, "采購組(如 '001')
DELIV_DATE TYPE BAPIMEREQHEADER-DELIV_DATE, "需求日期(必填)
PRITEM 關鍵字段
PREQ_ITEM TYPE BAPIMEREQITEM-PREQ_ITEM, "行號(建議 '00010' 遞增)
MATERIAL TYPE BAPIMEREQITEM-MATERIAL, "物料編號(需存在主數據)
PLANT TYPE BAPIMEREQITEM-PLANT, "工廠(與采購組織分配一致)
QUANTITY TYPE BAPIMEREQITEM-QUANTITY, "數量(>0)
ACCTASSCAT TYPE BAPIMEREQITEM-ACCTASSCAT, "賬戶分配類型(如 'K'=成本中心)
2. 輸出參數(Export Parameters)
參數名
結構類型
說明
PURCHASINGDOCUMENT
BAPIMEREQHEADER-PREQ_NO
生成的采購申請號(如 ‘4500000123’)
RETURN
BAPIRET2_T
執行結果消息(成功/錯誤明細)
三、調用示例與分步解析
1. ABAP 代碼示例
DATA: ls_header TYPE BAPIMEREQHEADER,lt_pritem TYPE TABLE OF BAPIMEREQITEM,lt_praccount TYPE TABLE OF BAPIMEREQACCOUNT,lt_return TYPE TABLE OF BAPIRET2,lv_preq_no TYPE BAPIMEREQHEADER-PREQ_NO.* 1. 抬頭信息配置
ls_header = VALUE #(DOC_TYPE = 'NB' "采購申請類型PUR_ORG = '0001' "采購組織PUR_GROUP = '001' "采購組DELIV_DATE = sy-datum + 30 "30天后交貨
).* 2. 行項目配置
APPEND VALUE #(PREQ_ITEM = '00010' "行號MATERIAL = 'MAT-1000' "物料號(需在MM01中存在)PLANT = '1000' "工廠QUANTITY = 5 "數量UNIT = 'EA' "單位ACCTASSCAT = 'K' "成本中心分配
) TO lt_pritem.* 3. 賬戶分配配置(若 ACCTASSCAT=K)
APPEND VALUE #(PREQ_ITEM = '00010' "關聯行號CO_AREA = '1000' "控制范圍COSTCENTER = 'KOSTEN_001' "成本中心(需在KS03激活)
) TO lt_praccount.* 4. 執行 BAPI
CALL FUNCTION 'BAPI_PR_CREATE'EXPORTINGPRHEADER = ls_headerIMPORTINGPURCHASINGDOCUMENT = lv_preq_noTABLESPRITEM = lt_pritemPRACCOUNT = lt_praccountRETURN = lt_return.* 5. 事務提交與錯誤處理
IF lt_return IS INITIAL.CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'.WRITE: / 'PR Created:', lv_preq_no.
ELSE.CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'.LOOP AT lt_return INTO DATA(ls_msg).WRITE: / ls_msg-type, ls_msg-message.ENDLOOP.
ENDIF.