BAPI_PO_CREATE
とBAPI_PO_CREATE1
の2つの機能が見つかりました。 CREATE1
には最新の変更日があるので、これは使用するのに最適なものと想定しました。一例として、私は素材なしでかなり単純な購入をしています。このようにBAPI_PO_CREATE1アカウント割り当てエラー
call function 'BAPI_PO_CREATE1'
exporting
poheader = po_header
poheaderx = po_header_x
testrun = abap_false
tables
return = returning
poitem = po_items
poitemx = po_items_x
poaccount = po_accounts
poaccountx = po_accounts_x
poschedule = po_schedule
poschedulex = po_schedule_x.
、私はコストオブジェクトとしてG/L勘定とWBS要素を使用しています:
append initial line to po_accounts assigning field-symbol(<po_account>).
<po_account>-po_item = current_position.
" Classes that call CONVERSION_EXIT
<po_account>-gl_account = /dim/cl_bonadm_exit=>int_saknr(<item>-gl_account).
<po_account>-wbs_element = /dim/cl_bonadm_exit=>int_posnr(<item>-wbs_id).
append initial line to po_accounts_x assigning field-symbol(<po_account_x>).
<po_account_x>-po_item = current_position.
<po_account_x>-po_itemx = abap_true.
<po_account_x>-gl_account = abap_true.
<po_account_x>-wbs_element = abap_true.
しかし、私はエラーメッセージを取得し続ける:
No instance of object type PurchaseOrder has been created. External reference:
Purchase order item 00010 still contains faulty account assignments
Can delivery date be met?
Account 475000 requires an assignment to a CO object
を
ME21nで同じ正確なデータを記入すると、納期の警告が表示されますが、注文書のエラーは表示されません。私は2つの異なるSAPノートに出くわしましたが、どちらも実装できません。また、アカウントからWBS要素を削除しても、エラーメッセージが表示されます。
また、BAPI構造のCOオブジェクト項目のWBS要素を入力しようとしましたが、何もしませんでした。私はこのエラーメッセージを投げるBAPIのポイントをトレースすることができますが、なぜそれが起こっているのかわかりません。
全体方法:http://hastebin.com/ufarisozav.xml
私はこれも記入しました。投稿に追加されたコードスニペットは含まれていません – user3704258
だから、*完全な*サンプルはとても重要です。あなたは 'SERIAL_NO'も記入してそれを貼り付けるのを忘れましたか? – vwegert
いいえ、私はそれに何かを投げて見てみましょう。編集:何も変更されていない、私は方法全体のスニペットを含んだ。 – user3704258