SAP SDモジュール完全整理:トランザクションコードとマスタテーブル一覧
はじめに
SAP SD(Sales and Distribution:販売管理)モジュールは、受注から出荷・請求までの販売プロセス全体を管理するモジュールです。本記事では、SD担当者が日常業務で必ず使うトランザクションコードとマスタテーブルを体系的に整理します。
SDモジュールの主要トランザクションコード
受注管理(Sales Order)
| トランザクション |
説明 |
用途 |
| VA01 |
受注登録 |
新規受注の作成 |
| VA02 |
受注変更 |
既存受注の修正・更新 |
| VA03 |
受注照会 |
受注内容の参照(変更不可) |
| VA05 |
受注一覧 |
条件指定での受注リスト表示 |
| VA11 |
引合登録 |
引合(Inquiry)の作成 |
| VA21 |
見積登録 |
見積(Quotation)の作成 |
出荷管理(Delivery)
| トランザクション |
説明 |
用途 |
| VL01N |
出荷伝票作成 |
出荷(Outbound Delivery)の新規作成 |
| VL02N |
出荷伝票変更 |
ピッキング数量入力・出荷確認 |
| VL03N |
出荷伝票照会 |
出荷内容の参照 |
| VL10A |
出荷一括作成 |
受注に基づく出荷の一括生成 |
| VT01N |
輸送オーダー作成 |
輸送計画の作成 |
請求管理(Billing)
| トランザクション |
説明 |
用途 |
| VF01 |
請求書作成 |
出荷に基づく請求書の個別作成 |
| VF04 |
請求一括作成 |
請求未処理分の一括請求書生成 |
| VF02 |
請求書変更 |
請求書の修正・FI転記 |
| VF03 |
請求書照会 |
請求内容の参照 |
| VF11 |
請求書取消 |
発行済み請求書のキャンセル |
価格・条件管理(Pricing)
| トランザクション |
説明 |
用途 |
| VK11 |
条件レコード登録 |
価格・割引条件の新規登録 |
| VK12 |
条件レコード変更 |
既存価格条件の更新 |
| VK13 |
条件レコード照会 |
価格条件の参照 |
SDモジュールの主要マスタテーブル
受注・販売伝票テーブル
| テーブル名 |
内容 |
主キー |
| VBAK |
販売伝票ヘッダ |
VBELN(伝票番号) |
| VBAP |
販売伝票明細 |
VBELN + POSNR(明細番号) |
| VBEP |
販売伝票納入日程 |
VBELN + POSNR + ETENR |
| VBPA |
販売伝票パートナ |
VBELN + POSNR + PARVW |
| VBKD |
販売伝票業務データ |
VBELN + POSNR |
出荷伝票テーブル
| テーブル名 |
内容 |
主キー |
| LIKP |
出荷伝票ヘッダ |
VBELN |
| LIPS |
出荷伝票明細 |
VBELN + POSNR |
請求伝票テーブル
| テーブル名 |
内容 |
主キー |
| VBRK |
請求伝票ヘッダ |
VBELN |
| VBRP |
請求伝票明細 |
VBELN + POSNR |
得意先・顧客マスタテーブル
| テーブル名 |
内容 |
主キー |
| KNA1 |
得意先マスタ(一般) |
KUNNR(得意先コード) |
| KNB1 |
得意先マスタ(会社コード別) |
KUNNR + BUKRS |
| KNVV |
得意先マスタ(販売エリア別) |
KUNNR + VKORG + VTWEG + SPART |
| KNVP |
得意先パートナ機能 |
KUNNR + VKORG + PARVW |
価格条件テーブル
| テーブル名 |
内容 |
備考 |
| KONV |
伝票の価格条件 |
受注・出荷・請求の価格明細 |
| KONP |
条件レコード明細 |
マスタの価格条件値 |
| A304 |
価格条件(得意先/品目) |
PR00条件レコード |
よく使うテーブル結合パターン
ABAP開発でSD伝票データを取得する際の代表的な結合パターンです。
" 受注ヘッダ・明細・得意先マスタの結合
SELECT vbak~vbeln vbak~kunnr vbak~audat
vbap~posnr vbap~matnr vbap~kwmeng
kna1~name1
FROM vbak
INNER JOIN vbap ON vbak~vbeln = vbap~vbeln
INNER JOIN kna1 ON vbak~kunnr = kna1~kunnr
INTO TABLE @DATA(lt_orders)
WHERE vbak~audat >= @lv_date_from
AND vbak~audat <= @lv_date_to
AND vbak~auart = 'ZOR'. " 受注タイプ
" 受注から請求まで伝票連携を追跡
SELECT vbfa~vbeln " 元伝票番号
vbfa~vbtyp_n " 後続伝票タイプ
vbfa~nachn " 後続伝票番号
FROM vbfa
INTO TABLE @DATA(lt_flow)
WHERE vbfa~vbelv = @lv_order_no
AND vbfa~vbtyp_v = 'C'. " C = 受注
まとめ
SDモジュールのトランザクションは VA系(受注)→ VL系(出荷)→ VF系(請求) という流れで構成されており、テーブルもそれぞれ VBAx系 → LIKP/LIPS → VBRx系 に対応しています。VBFA(伝票フロー)テーブルを使うことで、受注から請求までの伝票連携を一貫して追跡できます。