ビジネスパートナ(BP)で得意先を作成する|得意先/仕入先統合(CVI)の番号範囲で詰まったポイント

今回やること

SAP S/4HANAで販売管理(Sales and Distribution:SD)の受注処理を進めるには、得意先(Customer)のマスタデータが必要です。今回の検証では、ビジネスパートナ(Business Partner:BP)から得意先ロールを作成し、販売エリア(Sales Area)と会社コード(Company Code)のデータまで設定しました。

ただし、最初の保存では「オブジェクト DEBITOR の番号範囲 BP が定義されていません」というエラーが発生しました。そこで、得意先/仕入先統合(Customer/Vendor Integration:CVI)の番号割当、得意先勘定グループ、BP側の番号範囲を順に実機で確認し、得意先側の番号範囲を補完しています。

その後、同じ作成セッションで再保存するとメッセージID CVI_MAPPING 044 が発生しました。ここでは原因を推測で断定せず、どこまで保存されたかをテーブルで確認したうえで、既存BPを開き直して得意先データを完成させた流れまで整理します。

BP02、CUST、番号範囲02/BP、会社コードZ091などは今回の検証環境で使用した値です。SAP標準の推奨値や唯一の正解として扱うものではありません。

検証情報

項目 内容
対象 SAP S/4HANA 2025 On-Premise
UI SAP GUI for HTML
検証日 2026年8月20日
対象領域 SD得意先マスタ/CVI番号割当
主な操作入口 BP、SPRO、XDN1、SE16N
主な対象 BP/得意先1000681、販売エリアZ091/10/00、会社コードZ091
検証レベル 作成・エラー調査・設定変更・保存結果・関連テーブル確認

BPで得意先を作るときのCVI番号割当

SAP Helpでは、BPから得意先を作成するとき、選択したBPグルーピングと得意先勘定グループの対応によって番号割当が決まります。また、同一番号を使う設定では、BP番号をそのまま得意先番号として使用できます。

今回の実機では、BPグルーピングBP02から得意先勘定グループCUSTへCVIの番号割当が設定され、「同一コード(Same Number)」が有効になっていました。つまり、BP側で採番された番号を得意先側でも受け入れられる番号体系が必要です。

確認対象 今回の実機値 確認した意味
BPグルーピング BP02 番号範囲02を内部採番で使用
CVI番号割当 BP02 → CUST 同一コードが有効
得意先勘定グループ CUST T077D-NUMKR = BP
BP側番号範囲 0001000000~0001999999 番号範囲02、外部採番OFF
得意先側番号範囲 BP 当初未定義。後で同一範囲を外部採番として追加

FLCU01で得意先を新規作成する

BPトランザクションでBPカテゴリを「組織」とし、グルーピングBP02、BPロールFLCU01(得意先)で新規作成を開始しました。名称は「Z091 テスト得意先」とし、テスト用住所を入力しています。

販売エリアにはZ091 / 10 / 00を指定し、出荷条件01、得意先勘定設定グループ01、税分類MWST = 1など、後続のSD統合テストに必要な値を設定しました。

ところが保存時、画面下部に次のエラーが表示されました。

「オブジェクト DEBITOR の番号範囲 BP が定義されていません」

BP取引でFLCU01得意先作成時にDEBITORの番号範囲BP未定義エラーが表示された画面
図1:FLCU01得意先の保存時に、DEBITOR番号範囲BPが未定義と表示された画面

XDN1で得意先番号範囲オブジェクトDEBITORを確認すると、当初は01、05、06、07、YZ、ZZがあり、エラーで要求されたBPは存在していませんでした。

番号範囲BPが要求される理由を実機で追う

ここで番号範囲をすぐ追加するのではなく、なぜBPが要求されているのかを順に確認しました。

まず、カスタマイジング(Customizing)の「定義: 番号割当: ビジネスパートナ → 得意先」を確認すると、BP02は得意先勘定グループCUSTへ割り当てられ、同一コードが有効でした。

BP02が得意先勘定グループCUSTに割り当てられ、同一コードが有効なCVI番号割当画面
図2:BP02からCUSTへのCVI番号割当で同一コードが有効な状態

次にSE16NでT077Dを照会すると、得意先勘定グループCUSTの番号範囲はBPでした。

T077Dで得意先勘定グループCUSTの番号範囲BPを確認した画面
図3:T077Dで得意先勘定グループCUSTの番号範囲BPを確認した画面

さらにBP側を確認すると、グルーピングBP02は番号範囲02を使用し、内部標準グループとして設定されていました。

BPグルーピングBP02が番号範囲02を使用し内部標準グループであることを確認した画面
図4:BPグルーピングBP02が番号範囲02を使用している設定

番号範囲02の実機値は0001000000~0001999999で、外部採番はOFFでした。つまりBP側では、この範囲から内部採番されます。

BP側番号範囲02が0001000000から0001999999で内部採番であることを確認した画面
図5:BP側の番号範囲02と内部採番の設定

以上から、今回の実機では「BP02 → CUST → 得意先番号範囲BP」というつながりがあり、同一コードを使うためには得意先側でもBP番号を受け入れられる範囲が必要だと判断しました。

得意先側に番号範囲BPを追加する

XDN1でDEBITORへ番号範囲BPを追加しました。開始番号・終了番号はBP側の番号範囲02と合わせ、得意先側では外部採番をONにしています。

項目 今回の設定値
番号範囲 BP
開始番号 0001000000
終了番号 0001999999
外部採番 ON

SAP Helpでは、BP側が内部採番、得意先勘定グループ側が外部採番で、同一番号を使用する設定の場合、システムはBP番号を得意先番号として割り当てます。今回の設定は、この番号割当方式と実機で確認した番号範囲の組み合わせに合わせたものです。

得意先番号範囲BPを0001000000から0001999999の外部採番として追加し保存した画面
図6:得意先番号範囲BPをBP側と同じ範囲・外部採番で追加した画面

保存時には番号範囲間隔の移送に関するメッセージも表示されましたが、今回の検証では番号範囲BPの移送操作までは実施していません。

番号範囲追加後にCVI_MAPPING 044が発生した

番号範囲BPを保存した後、元のBP作成セッションで再保存すると、今度はメッセージID CVI_MAPPING 044 が発生しました。画面には、得意先固有データが保存されなかったことが表示されています。

番号範囲追加後のBP保存でCVI_MAPPING 044が表示され得意先固有データが保存されなかった画面
図7:番号範囲追加後の再保存でCVI_MAPPING 044が発生した画面

SAP KBA 3439994では、CVI_MAPPING 044は「Customer number is not within interval」と説明されています。ただし、今回の作業ではメッセージ内部の判定処理まで追跡していないため、なぜ同じ作成セッションでこのメッセージが残ったのかは断定していません。

エラー後は新しいBPを作らず、保存状態を確認する

ここで新しいBPを作り直すと重複する可能性があるため、まず保存状態を確認しました。実機ではBP1000681自体は登録されていましたが、SE16NでKNA1 / KUNNR=1000681を確認すると0件でした。

つまり、この時点ではBP一般データは存在する一方、得意先一般データはまだ生成されていない中間状態でした。そこで、新しいSAPセッションから既存BP1000681を開き直し、FLCU01を変更モードで確認しました。

販売エリアデータは残っていなかったため、Z091 / 10 / 00を再設定し、出荷条件01、得意先勘定設定グループ01、税分類、取引先機能などを改めて設定して保存しています。今回は正常に保存され、取引先機能も同じ得意先番号1000681で確定しました。

既存BP1000681を開き直しFLCU01販売エリアZ091・10・00と取引先機能を保存した画面
図8:既存BP1000681を開き直し、FLCU01販売エリアと取引先機能を保存できた画面

その後、KNA1で得意先1000681が1件作成されたこと、KNVVで販売エリアZ091 / 10 / 00が作成されたことを確認しました。

今回の対処で重要だったのは、エラー後に新規BPを増やすのではなく、BPと得意先のどこまでが実際に保存されているかを確認してから復旧方針を決めたことです。

FLCU00で会社コードデータを追加する

販売エリア側のFLCU01を完成させた後、同じBP1000681へFLCU00(得意先・財務会計)を追加しました。SAP Helpでも、FLCU01は販売エリアデータ、FLCU00は会社コードデータを保持する得意先ロールとして説明されています。

今回の会社コードデータは次の内容です。

項目 今回の実機値 位置づけ
会社コード Z091 今回の新会社コード
統制勘定(Reconciliation Account) 113100 実機で得意先用統制勘定を調査し「売掛金 - 国内」を採用
支払条件(Terms of Payment) NT30 今回の国内販売テスト用として採用

113100やNT30は今回の検証環境とテスト方針に基づく値であり、SAP標準として必須の値ではありません。保存後、KNB1で会社コードZ091、統制勘定113100、支払条件NT30を確認しました。

最終的に確認できた得意先データ

確認対象 実機で確認した結果
BP/得意先番号 1000681/1000681
得意先一般データ KNA1で1件
販売エリアデータ KNVVでZ091 / 10 / 00を確認
取引先機能 SP/BP/PY/SHはいずれも1000681
会社コードデータ KNB1で会社コードZ091、統制勘定113100、支払条件NT30

今回の検証で分かったこと

  • CVIで同一番号を使用する場合、BPグルーピング、得意先勘定グループ、BP側番号範囲、得意先側番号範囲を一連のつながりとして確認する必要があります。
  • 今回の実機では、BP02 → CUST → NUMKR=BPとなっている一方、当初DEBITOR/BPが存在しなかったため、保存時に番号範囲未定義エラーが発生しました。
  • 得意先側の番号範囲BPは、BP側番号範囲02と同じ0001000000~0001999999を外部採番として設定しました。
  • CVI_MAPPING 044発生後は、BPを新規作成し直す前にKNA1などで保存状態を確認しました。今回の実機ではBPだけが先に存在する中間状態を確認できました。
  • 番号範囲変更後に既存BPを新しいセッションで開き直して得意先データを再設定すると保存できましたが、これを「新しいセッションなら必ず解消する」という一般仕様としては扱いません。

注意点

  • 番号範囲や勘定グループは環境全体へ影響する設定です。今回のBP02、CUST、02、BPという組み合わせを他環境へそのまま適用することはできません。
  • 番号範囲BPの移送操作は今回実施していません。移送方法や本番反映は本記事の範囲外です。
  • CVI_MAPPING 044の内部的な発生原因は今回の実機操作だけでは特定していません。確認できたのは、メッセージ発生、得意先データ未作成の中間状態、既存BPを使った再設定後の正常保存までです。
  • 受注、出荷、出庫(Post Goods Issue:PGI)、請求、会計伝票までのE2E確認は後続の検証対象です。

SAP公式情報

まとめ

今回の検証では、BP1000681を得意先として作成する途中で、得意先番号範囲BPの未定義エラーが発生しました。CVI番号割当、T077D、BPグルーピング、BP側番号範囲を順に確認した結果、今回の実機では得意先側に同一範囲の外部採番区間を追加する必要がある構成だと判断しました。

番号範囲追加後にはCVI_MAPPING 044も発生しましたが、そこで新しいBPを作り直さず、保存済みデータを確認して既存BP1000681から復旧しました。最終的にはFLCU01の販売エリアZ091 / 10 / 00とFLCU00の会社コードZ091を保存し、得意先一般データ・販売エリアデータ・会社コードデータまで確認できています。