iDempiere マーケティングチャンネルの使い方|販売管理 操作マニュアル・技術仕様
This content is not available in your language yet.
📖 販売管理の全体像: 販売管理の全体図 も合わせてご覧ください。
マーケティングチャンネルは、顧客を獲得する経路(販売チャネル)を分類するためのマスタです。「Web サイト」「代理店」「展示会」「紹介」といった経路を登録しておき、マーケティングキャンペーンに割り当てることで、どの経路からの施策なのかを集計できるようになります。
📌 ポイント: マーケティングチャンネルは単独では使いません。マーケティングキャンペーン(
C_Campaign)のC_Channel_IDから参照される親マスタで、キャンペーンをチャネル別に束ねるのが本来の使い方です。
マーケティングチャンネルでできること
Section titled “マーケティングチャンネルでできること”- 顧客獲得の経路(チャネル)をコード化して登録
- 各チャネルへの説明文の付与
- マーケティングキャンペーンへのチャネル割当(キャンペーン側から参照)
- 帳票・画面表示用のカラー(印刷カラー)の指定
- 使わなくなったチャネルの無効化(アクティブ解除)
マーケティングチャンネルは単一タブのシンプルなマスタです。
| タブ名 | テーブル | 項目数 | 役割 |
|---|---|---|---|
| マーケティングチャンネル | C_Channel | 6項目 | チャネルの名称・説明・カラー |
💡 ヒント: 項目が 6 つしかない軽量マスタです。初期構築時にまとめて登録し、以後はほとんど変更しない運用が向いています。
基本操作手順
Section titled “基本操作手順”graph TD
A["🚀 メニューから開く<br/>販売管理 > 販売管理設定 > マーケティングチャンネル"] --> B["➕ 新規ボタンをクリック"]
B --> C["✏️ 名称を入力<br/>(例: Web サイト・代理店)"]
C --> D["📝 説明を入力(任意)"]
D --> E{"帳票で色分けする?"}
E -->|する| F["🎨 カラーを選択<br/>(印刷カラーマスタから)"]
E -->|しない| G["💾 保存"]
F --> G
G --> H["🔗 マーケティングキャンペーンの<br/>チャンネル欄で選択可能に"]
アクセス方法(メニューパス)
Section titled “アクセス方法(メニューパス)”メニューから「販売管理 > 販売管理設定 > マーケティングチャンネル」を開きます。
- ツールバーの「新規」ボタンをクリック
- 必須項目を入力:
- 名称: チャネル名(最大 60 文字。例:
展示会)
- 名称: チャネル名(最大 60 文字。例:
- 必要に応じて任意項目を入力:
- 説明: チャネルの補足説明(最大 255 文字)
- カラー: 帳票・画面表示に使う印刷カラー
- 「保存」をクリック
⚠️ 注意: 「検索キー」に相当する項目がありません。識別子は 名称 のみのため、命名規則を決めずに登録すると同名チャネルが並んで判別できなくなります。運用開始前に命名ルールを決めてください。
項目リファレンス
Section titled “項目リファレンス”マーケティングチャンネルタブ
Section titled “マーケティングチャンネルタブ”| 項目名 | カラム | 必須 | 型 | 説明 |
|---|---|---|---|---|
| クライアント | AD_Client_ID | 必須 | 選択 | テナント(自動セット) |
| 組織 | AD_Org_ID | 必須 | 選択 | 組織(自動セット) |
| 名称 | Name | 必須 | 文字列(60) | チャネル名。識別子として使用 |
| 説明 | Description | - | 文字列(255) | 任意の補足説明 |
| 有効 | IsActive | 必須 | チェック | 無効化する場合はチェックを外す |
| カラー | AD_PrintColor_ID | - | 選択 | 表示・印刷に使うカラー |
チャネルとキャンペーンの関係
Section titled “チャネルとキャンペーンの関係”graph TD
A["マーケティングチャンネル<br/>C_Channel"] --> B["マーケティングキャンペーン<br/>C_Campaign"]
B --> C["受注伝票<br/>C_Order"]
B --> D["売上請求伝票<br/>C_Invoice"]
C --> E["会計仕訳<br/>Fact_Acct"]
D --> E
よくある質問(FAQ)
Section titled “よくある質問(FAQ)”Q. マーケティングチャンネルは伝票に直接設定できますか?
Section titled “Q. マーケティングチャンネルは伝票に直接設定できますか?”いいえ。受注伝票や請求伝票に会計ディメンションとして設定できるのは キャンペーン(C_Campaign)です。C_Channel_ID を保持しているのは C_Campaign のみのため、チャネル別の集計はキャンペーン経由で行います。
Q. 検索キー(Value)がないのはなぜですか?
Section titled “Q. 検索キー(Value)がないのはなぜですか?”C_Channel テーブルには Value カラムが定義されていないためです。一意識別のためのカラムは主キー C_Channel_ID と UUID のみで、業務上の識別は 名称 で行う設計になっています。
Q. 使わなくなったチャネルは削除すべきですか?
Section titled “Q. 使わなくなったチャネルは削除すべきですか?”「有効」チェックを外して無効化する運用を推奨します。C_Channel は削除可能なテーブル(IsDeleteable=Y)ですが、既にキャンペーンから参照されている場合は外部キー制約で削除できません。無効化すれば新規のキャンペーンでは選択できなくなり、既存データはそのまま残ります。
Q. カラーは何に使われますか?
Section titled “Q. カラーは何に使われますか?”AD_PrintColor_ID は印刷カラーマスタへの参照で、帳票出力や画面表示時の色指定に使われる汎用の仕組みです。設定は任意で、未設定でも業務上の支障はありません。
🛠 技術仕様(開発者向け)
マーケティングチャンネルはマスタデータ型のウィンドウ(AD_Window_ID: 150)で、C_Channel テーブルに格納されます。テーブル属性は IsDeleteable=Y / IsHighVolume=N / AccessLevel=3(クライアント+組織レベル)です。専用のビジネスロジッククラス(MChannel)は 存在せず、自動生成クラス X_C_Channel(212行)のみが提供されます。したがって beforeSave() / afterSave() によるコア側の独自検証はなく、制約は DB のカラム定義(NOT NULL・外部キー)と AD 側の必須設定のみです。
アーキテクチャ概要
Section titled “アーキテクチャ概要”classDiagram
class X_C_Channel {
<<generated>>
+setName(String) void
+getName() String
+setDescription(String) void
+setAD_PrintColor_ID(int) void
+getKeyNamePair() KeyNamePair
}
class PO {
<<abstract>>
}
class I_C_Channel {
<<interface>>
}
X_C_Channel --|> PO
X_C_Channel ..|> I_C_Channel
X_C_Channel --> X_C_Campaign : referenced by
パッケージ: org.compiere.model
ソースファイル: org.adempiere.base/src/org/compiere/model/X_C_Channel.java(インターフェースは I_C_Channel.java)
関連DBテーブル
Section titled “関連DBテーブル”C_Channel(マーケティングチャンネル)
Section titled “C_Channel(マーケティングチャンネル)”| カラム名 | 型 | 必須 | 説明 | 備考 |
|---|---|---|---|---|
| C_Channel_ID | ID | PK | チャネルID | 主キー |
| C_Channel_UU | UUID | N | UUID | 外部連携用の一意キー |
| AD_Client_ID | Table Direct | Y | クライアント | default @#AD_Client_ID@ |
| AD_Org_ID | Table Direct | Y | 組織 | default @#AD_Org_ID@ |
| Name | String(60) | Y | 名称 | 識別子(IsIdentifier=Y) |
| Description | String(255) | N | 説明 | |
| IsActive | Yes-No | Y | 有効 | default Y |
| AD_PrintColor_ID | Table Direct | N | カラー | 印刷カラーへの参照 |
📌 ポイント:
Value(検索キー)カラムは存在しません。Nameが唯一の識別子カラム(IsIdentifier=Y)であるため、参照元の項目にはチャネル名がそのまま表示されます。
erDiagram
C_Channel ||--o{ C_Campaign : "channel of campaign"
C_Channel }o--o| AD_PrintColor : "display color"
C_Campaign ||--o{ C_Order : "campaign dimension"
C_Campaign ||--o{ C_Invoice : "campaign dimension"
ビジネスロジック
Section titled “ビジネスロジック”C_Channel には M クラス(ビジネスロジッククラス)が存在しないため、コア実装に保存時ロジック・伝票処理(DocAction)はありません。動作は以下に限定されます。
- CRUD のみ:
PO基底クラスの標準的な挿入・更新・削除 - 必須制約:
Name/AD_Client_ID/AD_Org_ID/IsActiveが NOT NULL - 参照整合性:
C_Campaign.C_Channel_IDからの外部キー参照があるため、参照中のレコードは削除不可
拡張ポイント(カスタマイズ箇所)
Section titled “拡張ポイント(カスタマイズ箇所)”OSGi Model Validator(推奨)
Section titled “OSGi Model Validator(推奨)”M クラスが無いテーブルでも、ModelValidator の modelChange() は PO 単位で発火するため独自検証を追加できます。テーブル名で判定します。
public class CustomChannelValidator implements ModelValidator { @Override public int modelChange(PO po, int type) throws Exception { if (MTable.getTableName(po.getCtx(), po.get_Table_ID()).equals("C_Channel")) { if (type == TYPE_BEFORE_NEW || type == TYPE_BEFORE_CHANGE) { String name = po.get_ValueAsString("Name"); if (name == null || name.length() < 2) { throw new AdempiereException("チャネル名は2文字以上で入力してください"); } } } return null; }
@Override public String docValidate(PO po, int timing) { return null; // C_Channel は Document 型ではないため不要 }}Callout
Section titled “Callout”C_Channel の各カラムには Callout が設定されていません(gw_column.tsv の callout 列がすべて空)。入力時の連動処理を追加したい場合は、独自 Callout を AD_Column.Callout に登録するか、OSGi の IColumnCallout サービスとして実装します。
拡張カラムの追加
Section titled “拡張カラムの追加”チャネル別の予算や外部システムの ID を保持したい場合は、C_Channel にカスタムカラムを追加するのではなく、AD_Column 経由で拡張列を定義するか、別テーブル(例: X_ChannelExtension)を作成して 1:1 参照させるとバージョンアップ時の衝突を避けられます。
関連プロセス
Section titled “関連プロセス”このウィンドウに紐づく標準プロセス(ボタン)はありません。Processing / DocAction カラムを持たない純粋なマスタです。
関連ドキュメント
Section titled “関連ドキュメント”iDempiereカスタマイズのご相談
Section titled “iDempiereカスタマイズのご相談”マーケティングチャンネルは項目が少ない分、自社の顧客獲得経路の分析軸に合わせた拡張(チャネル別 KPI、外部広告システムとの ID 連携など)が効果を発揮します。
As-Link株式会社では、OSGiプラグインによる安全なカスタマイズを提供しています。