スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

購買依頼登録BAPI

BAPI_PR_CREATE

概要

購買依頼伝票を新規登録するBAPIです。パラメータの数が非常に多いのが特徴で、購買依頼登録画面(ME51N)とほぼ同等の内容をBAPIから登録することができます。

パラメータ

購買依頼伝票のデータ構成に近い形でBAPIのパラメータも構成されています。
(購買依頼ヘッダ、明細、勘定設定など)

発注伝票登録BAPIと同様にヘッダや明細のパラメータと対となる変更ツールバーのパラメータ構成になっています。更新する項目について変更ツールバーの項目にも設定が必要です。
パラメータ一覧
種別パラメータ説明
インポートPRHEADER購買依頼ヘッダ
PRHEADERX変更ツールバー 購買依頼ヘッダ
TESTRUNテスト区分
エクスポートNUMBER購買依頼番号
PRHEADEREXP購買依頼ヘッダ
テーブルRETURNリターンパラメータ
PRITEM購買依頼明細データ
PRITEMX変更ツールバー 購買依頼明細データ
PRITEMEXP購買依頼明細データ
PRITEMSOURCE購買依頼供給元
PRACCOUNT購買依頼勘定設定
PRACCOUNTPROFITSEGMENT入出庫予定
PRACCOUNTX変更ツールバー 購買依頼勘定設定
PRADDRDELIVERY購買依頼明細アドレス
PRITEMTEXT購買依頼明細テキスト
PRHEADERTEXT購買依頼ヘッダテキスト
EXTENSIONIN拡張 (インポートパラメータ)
EXTENSIONOUT拡張 (エクスポートパラメータ)
PRVERSION購買依頼明細のバージョン
PRVERSIONX変更ツールバー 購買依頼明細のバージョン
ALLVERSIONS全バージョンデータ
PRCOMPONENTSコンポーネント
PRCOMPONENTSX変更ツールバー コンポーネント
SERVICEOUTLINE外注サービス: サービスアウトライン
SERVICEOUTLINEX変更ツールバー サービスアウトライン
SERVICELINES外注サービス: サービス行
SERVICELINESX変更ツールバー 外注サービス: サービス行
SERVICELIMIT外注サービス: 制限
SERVICELIMITX変更ツールバー 外注サービス: 制限
SERVICECONTRACTLIMITS外注サービス: 基本契約制限
SERVICECONTRACTLIMITSX変更ツールバー 外注サービス: 基本契約制限
SERVICEACCOUNT外注サービス: 勘定設定配賦
SERVICEACCOUNTX変更ツールバー 外注サービス: 勘定設定配賦
SERVICELONGTEXT外注サービス: サービステキスト (長)
SERIALNUMBERシリアル番号
SERIALNUMBERX変更ツールバー シリアル番号

購買依頼ヘッダ関連のパラメータを設定する

購買依頼伝票にはヘッダテーブルがないため、購買依頼ヘッダ(PRHEADER)で設定可能な項目は発注タイプなど少数の項目のみです。対となるパラメータとして変更ツールバー購買依頼ヘッダ(PRHEADERX)があります。変更ツールバーには更新する購買依頼ヘッダの項目に「X」を設定します。
設定例:PRHEADER
項目項目名称設定値
PR_TYPE発注タイプNB
設定例:PRHEADERX
項目項目名称設定値
PR_TYPE発注タイプX

購買依頼明細関連のパラメータを設定する

購買依頼明細(PRITEM)には明細番号、品目コード、プラント、購買依頼数量などを設定します。対となるパラメータとして購買依頼明細変更ツールバー(PRITEMX)があります。
設定例:PRITEM
項目項目名称設定値
PREQ_ITEM購買依頼の明細番号00010
MATERIAL品目コードMAT1001
PLANTプラント1000
QUANTITY購買依頼数量3
UNIT購買依頼数量単位KG
DELIV_DATE納入期日20150501
REL_DATE購買依頼承認日付20150501
ACCTASSCAT勘定設定カテゴリK
DES_VENDOR希望仕入先VEND001
設定例:PRITEMX
項目項目名称設定値
PO_ITEM購買伝票の明細番号00010
PO_ITEMX購買伝票の明細番号X
MATERIAL品目コードX
PLANTプラントX
QUANTITY購買依頼数量X
UNIT購買依頼数量単位X
DELIV_DATE納入期日X
REL_DATE購買依頼承認日付X
ACCTASSCAT勘定設定カテゴリX
DES_VENDOR希望仕入先X

勘定設定項目のパラメータを設定する

購買依頼明細に勘定設定カテゴリを入力した場合、勘定設定項目(PRACCOUNT)のパラメータの入力が必要となります。対となるパラメータとして勘定設定項目変更ツールバー(PRACCOUNTX)があります。

購買依頼明細で指定した勘定設定カテゴリに応じて勘定設定に必要な項目を設定します。 (例えば、購買依頼明細の勘定設定カテゴリが「K」の場合は原価センタを設定する)
設定例:PRACCOUNT
項目項目名称設定値
PREQ_ITEM購買依頼の明細番号00010
SERIAL_NO勘定設定の連続番号01
COSTCENTER原価センタC001
設定例:PRACCOUNTX
項目項目名称設定値
PREQ_ITEM購買依頼の明細番号00010
SERIAL_NO勘定設定の連続番号PR00
PREQ_ITEMX購買依頼の明細番号X
SERIAL_NOX勘定設定の連続番号X
COSTCENTER原価センタX

サンプルコード

通常の汎用モジュールを実行するのと同様にCALL FUNCTIONで実行します。購買依頼登録のBAPIの内部ではコミットされないため、正常終了時は明示的にコミットを実行する必要があります。

BAPIは例外を発生させない仕様なので、エラー判定はRETURNパラメータにメッセージタイプが「E」のレコードが1件以上あるかどうかで判定をします。
DATA: LS_PRHEADER   TYPE BAPIMEREQHEADER,
      LS_PRHEADERX  TYPE BAPIMEREQHEADERX,
      LT_PRITEM     TYPE TABLE OF BAPIMEREQITEMIMP,
      LT_PRITEMX    TYPE TABLE OF BAPIMEREQITEMX,
      LT_PRACCOUNT  TYPE TABLE OF BAPIMEREQACCOUNT,
      LT_PRACCOUNTX TYPE TABLE OF BAPIMEREQACCOUNTX,
      LV_NUMBER     TYPE BAPIMEREQHEADER-PREQ_NO,
      LT_RETURN     TYPE TABLE OF BAPIRET2.

* パラメータに値を設定する
LS_PRHEADER-PR_TYPE = 'NB'. " 購買依頼タイプ
*             :
*          (以下略)

CALL FUNCTION 'BAPI_PR_CREATE'
  EXPORTING
    PRHEADER   = LS_PRHEADER
    PRHEADERX  = LS_PRHEADERX
  IMPORTING
    NUMBER     = LV_NUMBER
  TABLES
    RETURN     = LT_RETURN
    PRITEM     = LT_PRITEM
    PRITEMX    = LT_PRITEMX
    PRACCOUNT  = LT_PRACCOUNT
    PRACCOUNTX = LT_PRACCOUNTX
  .

* エラーメッセージの取得
READ TABLE LT_RETURN WITH KEY TYPE = 'E'.

* エラーメッセージがない場合
IF SY-SUBRC <> 0.
  COMMIT WORK AND WAIT.
ELSE.
  ROLLBACK WORK.
ENDIF.

コメントの投稿

非公開コメント

プロフィール

Z*

Author:Z*

このブログではSAPの技術情報について解説をしていきます。

このブログを気に入って頂いた方は、リンクを張っていただけると嬉しいです。

カテゴリ
最新記事
最新コメント
月別アーカイブ
検索フォーム
リンク
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。