原文地址:http://www.olios.org/sapplements/kandokoro/48/48.html
会社間販売の価格決定の仕組みについて説明します。
「47. 会社間販売の実行手順」で説明しましたが、会社間販売では、PI01 または PI02、そして IV01 または IV02 の2組の会社間販売専用の条件タイプが使用されます。今回は、PI01 及び PI02 の条件タイプを中心に販社側の価格決定の仕組みを解説してみたいと思います。
条件タイプ PI01、PI02 は、販社の受注伝票、請求伝票でメーカーの仕切価格=つまり販社の仕入価格を計算するために使われます。条件タイプ PI01(会社間価格)は、仕切単価を設定するための条件タイプで、仕切単価に数量を乗じて仕切価格が計算されます。条件タイプ PI01 には検索順序 PI01(販売組織/プラント/品目)が割り当てられています。下の画面は、検索順序 PI01 の設定画面ですが、検索順序 PI01 には条件テーブル 55 が設定されていて、伝票ヘッダーの(販社の)販売組織 + 伝票明細の(メーカーの)プラント + 品目コードごとに仕切単価を設定できるようになっていることが分かります。
条件タイプ PI02(会社間 %)は、仕切率を設定するための条件タイプで、販社の販売価格に仕切率を乗じて仕切価格が計算されます。条件タイプ PI02 には検索順序 PI02(販売組織/プラント)が割り当てられています。下の画面は、検索順序 PI02 の設定画面ですが、検索順序 PI02 には条件テーブル 56 が設定されていて、伝票ヘッダーの(販社の)販売組織と伝票明細の(メーカーの)プラントごとに仕切率が設定できるようになっていることが分かります。
続いて、販社の価格決定表(この例では、SAP 標準 RVAA01)の設定を確認してみます。
(中略)
価格決定表の設定を見てみると、まず、PI01、PI02 共に統計フラグが設定されていることが分かります。「30. SD 価格決定表について」で説明しましたが、統計フラグが ON の場合は、計算結果が販売金額に反映されずに統計値として取り扱われます。従って、PI01 または PI02 のステップで仕切金額が計算されたとしても、販社の得意先に対する販売金額には反映されずに、条件小計パラメーター B によって伝票明細テーブル(受注伝票の場合は VBAP、請求伝票の場合は VBRP)の原価項目 WAVWR に仕切金額が更新され、LIS(ロジスティクス情報システム)機能の売上原価項目に値が更新されます。なお、小計項目にはステップ番号の大きい方の値が優先されて更新されるので、PI02(仕切率)、PI01(仕切単価)の両方のステップで仕切金額が計算された場合には、ステップ番号の大きい PI01 の仕切金額が優先されて原価項目に更新されます。
続いて、価格決定表の(限定)条件パラメーターに注目してみます。限定条件は、条件マスターの検索有無を制御するパラメーターですが、PI01、PI02 共に限定条件ルーチン 22 が設定されています。この限定条件ルーチンを照会してみると、
以上のプログラムコードで実装されています。このコードを解析してみると、
- まず、2 行目の sy-subrc = 4 で、終了ステータスを 4(条件マスター検索中止)に初期設定した上で、
- 3 行目の check: komp-werks ne space. で、明細にプラントが指定されていない場合には条件マスター検索を中止し、
- 4 行目の check: komp-fareg na '45' で、マイルストーン請求の前受金計上の請求伝票処理の場合には条件マスター検索を中止しています。
- また、5 行目から 8 行目までのロジックで、伝票カテゴリが 5(会社間請求書)または 6(会社間クレジットメモ)の場合=会社間販売のメーカーの請求伝票の場合は、sy-subrc に 0 を更新して、条件マスター検索を実行させています。
- 続く 9 行目では、if komp-kposn ne 0 で明細レベルでの価格計算処理であることを確認した上で、
- 10 行目で明細カテゴリーの価格設定区分 komp-prsfd が X(価格設定:標準)または B(価格設定:無償品)であることを確認した上で、
- 11 行目で販売組織が属する会社コード t001-bukrs と明細の出荷プラント(=評価レベル)が属する会社コード t001k-bukrs が異なる場合に sy-subrc に 0 を更新して条件マスター検索を実行させています。
このルーチンの一番のポイントは、11 行目のロジックにあります。伝票ヘッダーの販売組織と明細の出荷プラントで属する会社コードが異なる状態=販社の販売組織の伝票でメーカーの出荷プラントを指定した会社間販売の伝票処理の場合でのみ仕切金額の条件マスター検索が行われて、仕切金額が計算される仕組みになっているのです。
さて、前回の説明で、会社間販売の場合、同じ条件小計パラメーター B が設定された売上原価の条件タイプ VPRS が更新されないことをお伝えしましたが、これは、条件タイプ VPRS のステップに設定された限定条件 4 によって制御されています。限定条件ルーチン 4 のプログラムコードを照会してみると、
4 行目の check: t001-bukrs = t001k-bukrs. で販売組織が属する会社コードと明細の出荷プラントが属する会社コードが等しい場合にマスター(VPRS の場合は、品目マスター/会計データ)検索を実行するようにコーディングされています。つまり、価格決定表の限定条件ルーチンの設定によって、販売組織の会社コード = プラントの会社コードの場合には VPRS で、販売組織の会社コード <> プラントの会社コードの場合には PI01 または PI02 で、伝票明細の原価項目 WAVWR の値更新を行うように制御しているようです。
では、実際に会社間販売の(販社の)受注伝票を登録して、価格決定の動きを確認してみたいと思います。
この例では、販売組織に会社コード F002 に属する F002、出荷プラントには会社コード F001 に属する F001 を指定して会社間販売の受注伝票を入力しています。明細を選択し、明細条件ボタンを押して、明細の価格設定画面を照会してみます。
まず、条件タイプ PR00 で販社の得意先に対する販売金額を計算してます。1,000 JPY に数量 1 を乗じて、販売金額 1,000 円が計算されています。前述した限定条件ルーチン 22 によって、販売組織の会社コード <> プラントの会社コードが確認され、PI01、PI02 の条件マスター検索が実行された結果、97% の仕切率と、950 JPY の仕切単価が更新されています。なお、2つの仕切金額が計算された場合には、ステップ番号が大きい方=より下の行にある条件タイプの仕切金額が有効になるので、PI01 で検索された仕切単価 950 JPY × 1 個 = 950 JPY が仕切金額になります。なお、PI02、PI01 共に統計フラグが ON なので、PR00 で計算された 1,000 JPY がこの明細の販売金額(=正味額)になっています。
続いて、保存ボタンを押して、受注伝票を登録します。この例では、伝票番号 497 で伝票が保存されました。
データブラウザーで受注伝票 497 の明細データを照会してみます。PI01 で計算された仕切金額 950 JPY(SAP 特有の仕様で日本円は 1/100 の金額 9.50 で更新される)が更新されていることが確認できます。
次回は、メーカー側の会社間請求伝票の価格決定の仕組みについて解説します。
×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××
前回に続いて、会社間販売の価格決定の仕組みについて説明します。
前回は、会社間販売専用の条件タイプ PI01、PI02 を中心にして販社側の価格決定の仕組みを解説しましたが、今回は、PI01、PI02 の対になる IV01 及び IV02 の条件タイプを中心にしてメーカー側の価格決定の仕組みを解説してみたいと思います。
条件タイプ IV01、IV02 は、メーカーが販社に対する販売価格を計算するために、メーカーの請求伝票=会社間請求伝票の価格決定で使用されます。条件タイプ IV01(会社間価格)は、販売単価を設定するための条件タイプで、販売単価に数量を乗じて販売価格が計算されます。下の画面は、条件タイプ IV01 の設定画面です。
(中略)
条件タイプ IV01 の設定を解析してみると、検索順序 PI01 が割り当てられているので、条件タイプ PI01 と同様にプラント+品目コードごとに条件タイプ IV01 の条件マスターを設定できるようになっていますが、一方で参照アプリケーションに V、参照条件タイプに販社側の会社間販売単価の条件タイプ IV01 が設定されています。参照条件タイプが設定されていると、自身の条件タイプで登録された条件マスターを検索せずに、参照先の条件タイプの条件マスターを検索して価格決定が行われます。つまり、販社側の仕切単価=条件タイプ PI01 とメーカー側の販売単価=条件タイプ IV01 は、同じ条件マスターを検索することになるので、結果的に販社側の価格決定で自動計算される仕切価格とメーカー側で自動計算される販売価格が等しくなります。
条件タイプ IV02(会社間 %)は、メーカー側の価格決定で使用する仕切率の条件タイプで、販社の得意先に対する販売価格に仕切率を乗じてメーカーの販社に対する販売価格が計算されます。下の画面は、条件タイプ IV02 の設定画面です。
(中略)
条件タイプ IV02 には検索順序 PI02(販売組織/プラント)が割り当てられていますが、参照アプリケーション V、参照条件タイプ PI02 が設定されています。よって、販社側の仕切率=条件タイプ PI02 とメーカー側の仕切率=条件タイプ IV02 は、同じ条件マスターを検索することになるので、仕切価格の基準になる(得意先に対する販社の)販売価格が等しければ、販社側の価格決定で自動計算される仕切価格とメーカー側で計算される(販社に対する)販売価格が等しくなります。
なお、条件タイプ IV01 と PI01、IV02 と PI02 で差異があるのは、参照アプリケーション、参照条件タイプの設定のみなので、条件マスターの検索方法以外は、まったく同じ動作をすることになります。
続いて、メーカー側の価格決定表(この例では、SAP 標準 ICAA01)の設定を解析してみます。
(中略)
メーカー側の価格決定表 ICAA01 の設定は、前回解説した販社側の価格決定表 RVAA01 と非常に似通っていますが、以下のような相違点があります。
- 販社の決定表 RVAA01 のステップ番号 909 に条件タイプ PI02 が設定されているが、メーカーの決定表 ICAA01 には条件タイプ IV02 が設定されている。
- 販社の決定表 RVAA01 のステップ番号 910 に条件タイプ PI01 が設定されているが、メーカーの決定表 ICAA01 には条件タイプ PI01 が設定されている。
- 販社の決定表 RVAA01 の条件タイプ PI01、PI02 に統計フラグが設定されるが、メーカーの決定表 ICAA01 の条件タイプ IV01、IV02 には統計フラグが設定されていない。
前述したように、条件タイプ PI02 と IV02 は、参照条件以外の設定が同じで、IV02 の参照条件の設定で PI02 の条件マスターを検索するようになっているので仕切金額の計算結果がまったく同じになります。条件タイプ PI01 と IV01 も IV02 の参照条件の設定で PI01 の条件マスターを検索するようになっていること以外は同じ設定なので、仕切金額のベースになる金額が同じであれば、仕切金額の計算結果が同じになります。またベースになる金額は、ステップ番号 910 までに計算された正味金額になりますが、R100「100% 割引」、NRAB「無償品」、PDIF「差異金額(自社)」等の特殊な条件タイプ、請求伝票の販売金額に参入されないリベートの条件タイプ以外は2つの決定表の設定に違いがないので、実質的にベース金額が同じになって、PI01 と IV01 の算出する仕切金額も同じになります。
2つの価格決定表で異なるのは、これらの条件タイプに対する統計フラグの設定です。前回説明したように、販社の価格決定表の条件タイプ PI01、PI02 には統計フラグが設定されているので、伝票の金額に仕切金額が反映されません。一方、メーカーの価格決定表の条件タイプ IV01、IV02 には統計フラグが設定されていないので、伝票の金額に仕切金額が反映されることになります。また、条件タイプ IV01、IV02 の設定で条件クラス B「価格」が設定されているので、計算された仕切金額が直前のステップまでに計算された伝票金額をそのまま上書きします。従って、販社の決定表 RVAA01 では条件タイプ PI01、PI02 で計算された仕切金額が統計値として取り扱われるのに対して、メーカーの決定表 ICAA01 では条件タイプ IV01、IV02 で計算された仕切金額がそのまま請求金額になります。
続いて、伝票コピーの設定を確認してみます。以下の設定画面は、販社の請求伝票のコピー管理(出荷伝票タイプ LF + 請求伝票タイプ F2 + 明細カテゴリー TAN)の設定です。
次の設定画面は、メーカーの請求伝票(=会社間請求伝票)のコピー管理(出荷伝票タイプ LF + 請求伝票タイプ IV + 明細カテゴリー TAN)の設定です。
いずれの設定も、価格設定タイプには G「価格要素のコピー(変更なし)/税の再決定」が設定されています。価格設定タイプ G を設定すると、消費税以外の価格要素(=条件タイプ)について、請求伝票登録時に改めて条件マスターを検索せずに参照元の伝票からデータをコピーします。また、価格参照パラメーターが空「受注」になっているので、販社の請求伝票もメーカーの請求伝票も、消費税以外の条件タイプは、参照元の(販社が得意先に対して登録した)受注伝票からコピーされることになります。なお、参照元の受注伝票には条件タイプ IV01、IV02 がないので、会社間請求伝票登録の際に新たに条件マスターを検索して価格が自動計算されますが、前述の参照条件の設定で受注伝票登録の際に検索した条件タイプ PI01、PI02 のマスターを検索するので、受注伝票登録から会社間請求伝票登録までの間に PI01、PI02 の条件マスターが変更されない限り、販社の請求伝票の PI01、PI02 とメーカーの請求伝票の IV01、IV02 の金額が同じになります。
では、実際に請求伝票を登録して価格決定の動きを確認してみます。前回登録した受注伝票を参照して出荷伝票登録、出庫確認を行った後、出荷伝票を参照して販社の請求伝票を登録してみます。
明細を選択し、明細条件ボタンを押して、明細の価格設定画面を照会してみます。
販社の請求伝票(この例では、伝票タイプ F2)には、参照元の受注伝票と同じ価格決定表 RVAA01 が割り当てられているので、前述のコピー管理の設定によって、参照元の受注伝票から条件タイプ PR00、PI02、PI01 の価格データがコピーされて、結果的に前回の受注伝票と同じ計算結果になっています。なお、PI01、PI02 には統計フラグが設定されているので、PI02 のステップで計算された仕切金額 970 JPY、PI01 のステップで計算された仕切金額 950 JPY は、いずれも統計値として取り扱われるので、請求伝票の正味金額は、PR00 のステップで計算された 1,000 JPY が反映されています。
続いて、同じ出荷伝票を参照してメーカーの請求伝票(=会社間請求伝票)を登録してみます。
明細の価格設定画面を照会してみます。
メーカーの請求伝票(この例では、伝票タイプ IV)には、伝票価格決定区分 I が設定されているので、会社間請求用の価格決定表 ICCA01 を使って価格決定が行われます。コピー管理の設定によって参照元の受注伝票から条件タイプ PR00 の価格データがコピーされますが、受注伝票の価格決定表にない条件タイプ IV01、IV02 については、請求伝票登録のタイミングで条件タイプを検索して価格計算が行われますが、結果的に参照元の受注伝票の PI01、PI02 と同じ仕切金額が算出されています。しかし、統計フラグが設定されていないので、仕切金額が会社間請求伝票の正味金額に反映されることになります。この例では、IV02、IV01 共に仕切金額が計算されているので、後に計算された IV01 の計算結果 950 JPY が請求伝票の正味額に更新されています。なお、メーカーの請求伝票では、条件タイプ VPRS「原価」を使って品目マスター/会計ビューに設定された品目原価 900 JPY が売上原価として自動提案されています。
では、会社間請求伝票を保存して、自動生成された会計伝票を照会してみます。
会社間請求伝票で計算された仕切金額(この例では、条件タイプ IV01 で計算された 950 JPY)でメーカー(この例では、会社コード F001)の売上高が計上されていることが確認できます。
続いて、データブラウザーで会社間請求伝票の明細データを照会してみます。請求伝票明細の原価項目に条件タイプ VPRS の金額=品目マスターに更新された品目原価 900 JPY(SAP 特有の仕様で日本円は 1/100 の金額 9.00 で更新される)が更新されていることが分かります。
以上。