Component Interface(CI)とは
PeopleSoftのコンポーネント(画面)をAPIのように外部から呼び出せるようにしたものです。画面と同じ業務ロジック(PeopleCodeやエディット、有効日処理など)を通してデータを登録・更新・参照できるため、テーブルへの直接INSERTと違い、整合性が保たれます。
仕組み
Application Designerで、既存のコンポーネントを元にCIを作成します(Job Data用の標準CIとしては CI_JOB_DATA などがあります)。
各CIには、プロパティ(フィールド)とメソッドが定義されます。
主なメソッド:
Create:新規行の追加
Get:キーを指定して既存データを取得
Save:変更の保存(ここで画面と同じ検証が走る)
Find:キーによる検索
Cancel:変更の破棄
キー(例:EMPLID、EMPL_RCD)を指定し、有効日行や連番行を操作します。
呼び出し方法
PeopleCode:GetCompIntfc() でCIを取得して操作
Excel to CI:Excelテンプレートからバッチ投入
Java / C++ / COM:外部プログラムから、生成されたAPIバインディング経由で利用
Integration Broker:CIをWebサービス(SOAP)として公開
発令データ取り込みでの注意点
発令は ACTION と ACTION_REASON の組み合わせが検証されるため、不正な組み合わせはエラーになります。
同一社員・同一有効日に複数行を登録する場合は、EFFSEQ の制御が必要です。
画面と同じロジックが動くので、Fluid/Classicのどちらのコンポーネントかや、ワークフロー承認の有無にも影響されます。
大量データではパフォーマンスが落ちやすいため、件数に応じてAEやバッチ分割を検討します。
CIのセキュリティ(Permission List)に実行権限が必要です。
エラー処理
Save時のエラーはメッセージ集合(PSMessages)で取得できるため、行ごとにエラーを記録して、失敗分だけ再投入する設計が一般的です。
事前確認のポイント
使用するCIが標準のままか、カスタマイズ済みか
項目のうち、取り込み対象のものがCIのプロパティに公開されているか(公開されていなければCIの修正が必要)
Register as a new user and use Qiita more conveniently
- You get articles that match your needs
- You can efficiently read back useful information
- You can use dark theme