iDempiere SLA標準の使い方|会計 操作マニュアル・技術仕様
📖 会計の全体像: 会計の全体図 も合わせてご覧ください。
SLA標準は、サービスレベル合意(SLA: Service Level Agreement)の測定基準(クライテリア)を定義し、取引先ごとのゴールと実測値を管理するウィンドウです。品質・納期遵守率などの基準を定義し、取引先別の目標値と実績を記録する 3 階層構成になっています。
⚠️ 非推奨: iDempiere 13 標準では、このウィンドウは無効化されています(旧バージョンからの互換用・標準メニュー未登録)。新規の業務設計での利用は推奨されません。本ページは既存データの理解・移行検討のための参考情報です。
📌 ポイント: 取引先パフォーマンスの測定が要件の場合、現行バージョンではパフォーマンス測定(ゴール/測定)系の機能や独自レポートでの実装を検討してください。
SLA標準でできること(設計上の機能)
Section titled “SLA標準でできること(設計上の機能)”- SLA 測定基準(例: 納期遵守、品質基準)の定義
- 測定方法の指定(手動入力、または Java クラスによる自動測定)
- 取引先別 SLA ゴール(目標値・有効期間)の設定
- ゴール配下への個別実測値(SLA測定)の記録
- 「検索+計算測定」ボタンによる実測値の取り込み・集計
| タブ名 | テーブル | 項目数 | 役割 |
|---|---|---|---|
| SLA標準 | PA_SLA_Criteria | 約8項目 | 測定基準の定義(手動/クラス指定) |
| SLAゴール | PA_SLA_Goal | 約15項目 | 取引先別の目標値と実績サマリ |
| SLA測定 | PA_SLA_Measure | 約10項目 | 個別の実測値レコード |
基本操作手順
Section titled “基本操作手順”graph TD
A["⚠️ iDempiere 13 では無効化<br/>(利用時は AD で再有効化が必要)"] --> B["➕ SLA標準タブで基準を定義<br/>(名称・マニュアル or クラス名)"]
B --> C["🎯 SLAゴールタブで<br/>取引先・目標値・期間を設定"]
C --> D["📝 SLA測定タブに実測値を記録<br/>(手動 or プロセス)"]
D --> E["🔄 検索+計算測定ボタンで<br/>実績を集計"]
E --> F["📊 目標 vs 実績を確認"]
アクセス方法(メニューパス)
Section titled “アクセス方法(メニューパス)”標準メニューには登録されていません(間接使用・互換用ウィンドウ)。参照する場合はウィンドウ検索等から開く必要があります。
基準の定義(設計上の手順)
Section titled “基準の定義(設計上の手順)”- SLA標準タブで測定基準を登録:
- 名称: 基準名(例:
納期遵守率) - マニュアル: 実測値を手動入力する場合にチェック(既定オン)
- クラス名: 自動測定する場合、
org.compiere.sla.SLACriteriaを実装した Java クラスを指定
- 名称: 基準名(例:
- SLAゴールタブで取引先別の目標を登録:
- 取引先 / 測定目標 / 有効開始日・終了日
- SLA測定タブで個別の実測値を記録(取引日付・実績測定・参照テーブル/レコード)
- ゴールの「検索+計算測定」ボタンで実績を集計
項目リファレンス
Section titled “項目リファレンス”主要項目のみ掲載します。全項目一覧はリファレンス参照。
| 項目名 | タブ | 必須 | 説明 |
|---|---|---|---|
| 名称 | SLA標準 | 必須 | 基準名 |
| マニュアル | SLA標準 | 必須 | 手動測定かどうか(既定 Y) |
| クラス名 | SLA標準 | - | SLACriteria 実装クラス(自動測定時) |
| 取引先 | SLAゴール | 必須 | 対象取引先 |
| 測定目標 / 実績測定 | SLAゴール | 必須 | 目標値と集計済み実績 |
| 有効開始日 / 有効終了日 | SLAゴール | - | ゴールの有効期間 |
| 取引日付 / 実績測定 | SLA測定 | 必須 | 個別実測値 |
| テーブル / レコードID | SLA測定 | - | 実測の根拠レコードへのリンク |
よくある質問(FAQ)
Section titled “よくある質問(FAQ)”Q. メニューに見当たりません。
Section titled “Q. メニューに見当たりません。”iDempiere 13 ではこのウィンドウは無効化されており、標準メニューに登録されていません。旧バージョン(Compiere/ADempiere 系)からの互換用として AD 定義のみ残っています。
Q. それでも使いたい場合はどうすればよいですか?
Section titled “Q. それでも使いたい場合はどうすればよいですか?”システム管理者ロールで AD のウィンドウ/メニュー定義を有効化すれば表示は可能ですが、標準では保守されていない機能のため、新規要件には現行のパフォーマンス測定機能やカスタム実装を推奨します(要件定義段階でのご相談を推奨)。
Q. 「マニュアル」と「クラス名」の関係は?
Section titled “Q. 「マニュアル」と「クラス名」の関係は?”マニュアル=Y の基準は SLA測定タブへの手動入力が前提です。自動測定する場合はマニュアルを外し、org.compiere.sla.SLACriteria を実装したクラス名を指定します(MSLACriteria.newInstance() がインスタンス化して実行します)。
🛠 技術仕様(開発者向け)
SLA標準は PA_SLA_Criteria(アクセスレベル 6 = System+Client)+ PA_SLA_Goal + PA_SLA_Measure(いずれもアクセスレベル 3)の 3 階層です。モデルクラスは MSLACriteria(226行)・MSLAGoal(168行)・MSLAMeasure(141行)。MSLACriteria はキャッシュ対応(markImmutable())で、newInstance() によるプラガブルな測定ロジックの起動が特徴です。
アーキテクチャ概要
Section titled “アーキテクチャ概要”classDiagram
class MSLACriteria {
+get(int)$ MSLACriteria
+getGoals() MSLAGoal[]
+newInstance() SLACriteria
+markImmutable() MSLACriteria
}
class MSLAGoal {
+getAllMeasures() MSLAMeasure[]
+getNewMeasures() MSLAMeasure[]
+isDateValid(Timestamp) boolean
}
class MSLAMeasure {
+setLink(int, int) void
}
class SLACriteria {
<<abstract: org.compiere.sla>>
}
MSLACriteria --> MSLAGoal : has many
MSLAGoal --> MSLAMeasure : has many
MSLACriteria ..> SLACriteria : newInstance()
パッケージ: org.compiere.model
ソースファイル: org.adempiere.base/src/org/compiere/model/MSLACriteria.java / MSLAGoal.java / MSLAMeasure.java
関連DBテーブル
Section titled “関連DBテーブル”PA_SLA_Criteria(SLA標準)
Section titled “PA_SLA_Criteria(SLA標準)”| カラム名 | 型 | 必須 | 説明 | 備考 |
|---|---|---|---|---|
| PA_SLA_Criteria_ID | ID | PK | 基準ID | 主キー |
| Name | String(60) | Y | 名称 | |
| IsManual | YesNo | Y | マニュアル | default Y |
| Classname | String(255) | N | 測定クラス名 | SLACriteria 実装 |
PA_SLA_Goal(SLAゴール)
Section titled “PA_SLA_Goal(SLAゴール)”| カラム名 | 型 | 必須 | 説明 | 備考 |
|---|---|---|---|---|
| PA_SLA_Goal_ID | ID | PK | ゴールID | 主キー |
| PA_SLA_Criteria_ID | TableDirect | Y | 親基準 | |
| C_BPartner_ID | Search | Y | 取引先 | |
| MeasureTarget / MeasureActual | Number | Y | 目標値 / 実績値 | |
| ValidFrom / ValidTo | Date | N | 有効期間 | |
| Processing | Button | N | 検索+計算測定 | |
| DateLastRun | Date+Time | N | 最新実行日 |
PA_SLA_Measure(SLA測定)
Section titled “PA_SLA_Measure(SLA測定)”| カラム名 | 型 | 必須 | 説明 | 備考 |
|---|---|---|---|---|
| PA_SLA_Measure_ID | ID | PK | 測定ID | 主キー |
| PA_SLA_Goal_ID | TableDirect | Y | 親ゴール | |
| DateTrx | Date+Time | Y | 取引日付 | |
| MeasureActual | Number | Y | 実績測定 | |
| AD_Table_ID / Record_ID | Search/RecordID | N | 根拠レコードリンク | setLink() で設定 |
ビジネスロジック
Section titled “ビジネスロジック”- MSLACriteria.newInstance():
Classnameに指定されたorg.compiere.sla.SLACriteria実装クラスをロード・インスタンス化します。測定ロジックをプラグイン的に差し替えるための仕組みです - MSLAGoal.getNewMeasures(): 前回実行(DateLastRun)以降の新しい測定レコードを取得し、集計対象を絞り込みます
- MSLAGoal.isDateValid(): 指定日付がゴールの有効期間内かを判定します
- beforeSave 等の保存フックはこれらのクラスには定義されていません(AD の必須制約ベース)
拡張ポイント
Section titled “拡張ポイント”- 測定ロジックの拡張ポイントは
SLACriteria実装クラスの追加ですが、ウィンドウ自体が非推奨のため、新規開発では Model Validator + カスタムテーブル/プロセスによる KPI 実装を推奨します - Callout: 標準 Callout の定義はありません(gw_column 上 callout なし)
関連プロセス
Section titled “関連プロセス”| プロセス名 | 説明 |
|---|---|
| 検索+計算測定 | SLAゴールの Processing ボタン。実測値の取り込み・集計 |
| 計算測定 | SLA測定の Processing ボタン。個別測定の計算 |
関連ドキュメント
Section titled “関連ドキュメント”iDempiereカスタマイズのご相談
Section titled “iDempiereカスタマイズのご相談”納期遵守率・品質指標など取引先 KPI の測定は、現行機能に沿った形で安全に実装し直すことができます。
As-Link株式会社では、OSGiプラグインによる安全なカスタマイズを提供しています。