Oracle Projects API, クライアント拡張およびオープン・インタフェース・リファレンス リリース12 E05609-01 | ![]() 目次 | ![]() 前へ | ![]() 次へ |
この章では、Oracle Project Managementアプリケーションのクライアント機能拡張を説明します。
この章では、次のトピックを説明します。
作業計画ワークフロー機能拡張を使用すると、作業計画の発行、承認および公開用のワークフロー・プロセスをカスタマイズできます。
作業計画の発行、承認および公開の方法を決定する必要があります。『Oracle Project Managementユーザー・ガイド』の作業計画の作成および更新に関する項を参照してください。
デフォルトの作業計画ワークフロー・プロセスでは、作業計画ワークフロー機能拡張が呼び出されます。
機能拡張は、次の項目で識別されます。
項目 | 名称 |
---|---|
本体テンプレート | PAXSTWCB.pls |
仕様テンプレート | PAXSTWCS.pls |
パッケージ | pa_workplan_workflow_client |
次のプロシージャのパラメータの説明は、Oracle Integration Repositoryで表示できます。Oracle Integration Repositoryは、このマニュアルの「はじめに」で説明されています。
プロシージャ名は、start_workflowです。
このプロシージャは、作業計画のワークフロー・プロセスを開始します。
プロシージャ名は、select_approverです。
このプロシージャは、作業計画承認プロセスの承認者を決定します。
このプロシージャの名称は、set_notification_partyです。
このプロシージャは、作業計画の発行、承認、棄却および公開の実行時に、ワークフロー通知を受信するユーザーを決定します。
関連トピック
進捗管理クライアント機能拡張を使用すると、すべての構造レベルにおける最下位タスクとタスク割当の実績日および予定日のデフォルト導出方法を上書きできます。
機能拡張は、次の項目で識別されます。
項目 | 名称 |
---|---|
本体テンプレート | PAPCTCXS.pls |
仕様テンプレート | PAPCTCXB.pls |
パッケージ | pa_progress_client_extn |
プロシージャ | get_task_res_override_info |
プロシージャ名は、get_task_res_override_infoです。
このプロシージャを使用すると、作業計画のすべての構造レベルにおける、最下位タスクとタスク割当の実績日および予定日のデフォルト計算方法を上書きできます。このプロシージャは、次の処理の実行時に、すべての最下位レベル・タスクとタスク割当に対して実行できます。
最下位タスクの進捗の発行
タスク割当の進捗の発行
集計プロセスの実行
このプロシージャのパラメータは、Oracle Integration Repositoryで表示できます。Oracle Integration Repositoryは、このマニュアルの「はじめに」で説明されています。
予算計算機能拡張を使用すると、Oracle Projectsの予算および予測の処理方法を制御できます。この機能拡張を使用すると、入力する数量と直接費金額に基づいて、予算金額と予測金額を計算するように独自のルールを定義できるため、予算と予測の入力を効率化できます。
注意: 機能セキュリティを使用すると、職責に応じて計算金額を上書きすることをユーザーに許可するかどうかを制御できます。この機能セキュリティに関連する機能の名称は、「予算: 明細ソース」で始まります。『Oracle Projectsインプリメンテーション・ガイド』のOracle Projectsの機能セキュリティに関する項を参照してください。
機能拡張は、次の項目で識別されます。
項目 | 名称 |
---|---|
本体テンプレート | PAXBCECB.pls |
仕様テンプレート | PAXBCECS.pls |
パッケージ | PA_Client_Extn_Budget |
プロシージャの名称は、次のとおりです。
calc_raw_cost
calc_burdened_cost
calc_revenue
クライアント機能拡張は、必要なロジックおよび付加的なデータ要素を決めてから、記述する必要があります。予算計算機能拡張を設計する際に、次の考慮点について検討してください。
予算または予測の基本編成用に必要な条件
直接費、総原価または収益額導出の条件または環境
金額を計算するレートの決定方法
Oracle Projects表またはカスタム表にレートを保存する方法
導出済金額をユーザーが上書きできる時期
ルールが複数ある場合の計算の実行順序
予算計算機能拡張を使用すると、次の予算金額と予測金額を計算できます。
変数 | 説明 |
---|---|
直接費 | 原価予算または予測計画の明細に数量を入力すると、直接費を計算する予算計算機能拡張が呼び出されます。値を返すように予算計算機能拡張のルールを定義した場合には、計算金額が「直接費」金額フィールドに表示されます。 直接費計算ルール定義の例を次に示します。
|
総原価 | 原価予算または予測計画の明細に数量または直接費を入力すると、総原価を計算する予算計算機能拡張が呼び出されます。値を返すように予算計算機能拡張のルールを定義した場合には、計算金額が「総原価」金額フィールドに表示されます。 総原価計算ルール定義の例を次に示します。
|
収益 | 収益予算または予測計画の明細に数量を入力すると、収益を計算する予算計算機能拡張が呼び出されます。値を返すように予算計算機能拡張のルールを定義した場合には、計算金額が「収益」金額フィールドに表示されます。 収益計算ルール定義の例を次に示します。
|
ここでは、このクライアント機能拡張のプロシージャを説明します。
これらのプロシージャのパラメータは、Oracle Integration Repositoryで表示できます。Oracle Integration Repositoryは、このマニュアルの「はじめに」で説明されています。
このプロシージャの名称は、calc_raw_costです。
このプロシージャの名称は、calc_burdened_costです。
ヒント: プロジェクトまたはタスクに定義した総原価乗数を使用して、総原価金額を計算する場合には、原価加算APIを使用します。「原価加算API」を参照してください。
このプロシージャの名称は、calc_revenueです。
ここでは、このクライアント機能拡張のパラメータを説明します。
変数 | 説明 | ||||||||
---|---|---|---|---|---|---|---|---|---|
エラー処理 | プロシージャが失敗した場合には、x_error_code、x_error_message、p_error_codeおよびp_errorメッセージ・パラメータを使用すると、エラー状態を解決できます。 x_err_codeまたはp_error_codeパラメータは、次のようなプロシージャの処理ステータスを示します。
ヒント: エラー状態を解決できるように、予算計算のプロシージャのステータスが、予算計算機能拡張の呼出し元のプロシージャに返されていることを確認してください。
クライアント機能拡張で、x_error_codeまたはp_error_codeの値がゼロ以外に設定された場合は、次のようなメッセージが表示されます。 直接費予算計算クライアント機能拡張のエラー<x_error_code>: <x_error_message> |
関連トピック
予算検証機能拡張を使用すると、発行時または基本編成時の予算または予測を検証するルールを定義できます。
予算と予測の発行および基本編成の要件を決定する必要があります。『Oracle Project Managementユーザー・ガイド』の、予算編成および予測の使用に関する項と、予算管理と予算統合を使用した予算および予測の作成に関する項を参照してください。
機能拡張は、次の項目で識別されます。
項目 | 名称 |
---|---|
本体テンプレート | PAXBCECB.pls |
仕様テンプレート | PAXBCECS.pls |
パッケージ | PA_Client_Extn_Budget |
プロシージャ | verify_budget_rules, stamp_client_extn_errors |
これらのプロシージャのパラメータは、Oracle Integration Repositoryで表示できます。Oracle Integration Repositoryは、このマニュアルの「はじめに」で説明されています。
プロシージャ名は、veirfy_budget_rulesです。このプロシージャを使用して、予算または予測の発行時または基本編成時に実行する追加の検証ルールを作成できます。p_eventパラメータを使用して、SUBMITまたはBASELINEのいずれかの値を渡します。この値は、検証する予算または予測についての目標のステータスを表します。
プロシージャ名は、stamp_client_extn_errorsです。Excelスプレッドシートからプロジェクトの作業計画をアップロードすると、システムからこのプロシージャが呼び出されて、エラー・メッセージが表示されます。この操作を実行すると、予算計算機能拡張と予算検証機能拡張の両方がシステムから呼び出されます。
このプロシージャが正常に動作するように、アップロード済予算に適用するエラー・メッセージすべてに参照コードを定義する必要があります。
関連トピック
予算ワークフロー機能拡張を使用すると、予算または予測のステータス変更用のワークフロー・プロセスをカスタマイズできます。
Oracle Projectsは、予算ワークフロー・プロセスを呼び出して、予算または予測を基本編成するOracle Workflowを呼び出すかどうか、どのワークフロー・プロセスを呼び出すのかを決定します。
デフォルト予算ワークフロー・プロセスは、予算ワークフロー機能拡張を呼び出して、予算または予測の承認者を決定します。
機能拡張は、次の項目で識別されます。
項目 | 名称 |
---|---|
本体テンプレート | PAWFBCEB.pls |
仕様テンプレート | PAWFBCES.pls |
パッケージ | pa_client_extn_budget_wf |
この機能拡張を実装するには、予算または予測を基本編成するOracle Workflowを呼び出すかどうかを決定するルールを定義する必要があります。また、予算または予測の承認者を選択するかどうかを決定するルールも定義する必要があります。
次のプロシージャのパラメータは、Oracle Integration Repositoryで表示できます。Oracle Integration Repositoryは、このマニュアルの「はじめに」で説明されています。
このプロシージャの名称は、budget_wf_is_usedです。
Oracle Projectsが予算または予測のステータス変更用のOracle Workflowを呼び出すかどうかを決定するときに、予算タイプまたは計画タイプ、およびプロジェクト・タイプの設定がその判断基準になります。このプロシージャを使用して、これらの設定を上書きしたり、新しい要件を追加できます。
このプロシージャの名称は、start_budget_wfです。
このプロシージャは、予算および予測のステータス変更用のワークフロー・プロセスを開始します。また、呼び出すワークフロー・プロセスの名称を収録しています。デフォルトのプロシージャでは、プロセスはPABUDWFとして表されます。
このプロシージャの名称は、verify_budget_rulesです。
このプロシージャを使用して、予算および予測のステータス変更にOracle Workflowを使用する場合にのみ適用する予算検証ルールを指定できます。このプロシージャは、pa_budget_wf.baseline_budgetプロシージャから呼び出されます。
このプロシージャの名称は、select_budget_approverです。
このプロシージャは、予算または予測の承認者を決定する際に、Oracle Workflowから呼び出されます。このプロシージャを使用して、予算または予測の承認権限を付与するユーザーを決定するルールを追加できます。デフォルトのプロシージャからは、予算または予測ステータスの変更を要求しているユーザーの管理者のIDが返されます。
完了見積生成方法機能拡張を使用すると、完了見積(ETC)の予測数量と予測金額の計算を制御できます。
この機能拡張を使用して、直接費、総原価および収益の数量と金額を計算できます。
機能拡張は、次の項目で識別されます。
項目 | 名称 |
---|---|
本体テンプレート | PAFPFGCB.pls |
仕様テンプレート | PAFPFGCS.pls |
パッケージ | PA_FP_FCST_GEN_CLIENT_EXT |
このプロシージャの名称は、fcst_gen_client_extです。
このプロシージャを使用して、直接費、総原価および収益の完了見積数量および金額の計算を定義します。
PL/SQL表のレコード・タイプの定義は次のとおりです。
type l_pds_rate_dtls_rec_type is RECORD
( PERIOD_NAME pa_budget_lines.period_name%TYPE, RAW_COST_RATE pa_budget_lines.txn_standard_cost_rate%TYPE, BURDENED_COST_RATE pa_budget_lines.burden_cost_rate%TYPE, REVENUE_BILL_RATE pa_budget_lines.txn_standard_bill_rate%TYPE);
type l_pds_rate_dtls_tab is
TABLE 1 of l_pds_rate_dtls_rec_type;
このプロシージャのパラメータは、Oracle Integration Repositoryで表示できます。Oracle Integration Repositoryは、このマニュアルの「はじめに」で説明されています。
管理項目タイプの自動採番が有効な場合に、この機能拡張を使用すると、懸案および変更文書の採番に対する独自のロジックを作成できます。
機能拡張は、次の項目で識別されます。
項目 | 名称 |
---|---|
本体テンプレート | PACINRXB.pls |
仕様テンプレート | PACINRXS.pls |
パッケージ | pa_ci_number_client_extn |
プロシージャ名は、get_next_numberです。
このプロシージャを使用して、採番ロジックを定義します。管理項目タイプの自動採番が有効な場合には、懸案または変更文書に番号を割り当てると、このプロシージャが呼び出されます。
このプロシージャのパラメータは、Oracle Integration Repositoryで表示できます。Oracle Integration Repositoryは、このマニュアルの「はじめに」で説明されています。
関連トピック
『Oracle Projectsインプリメンテーション・ガイド』の管理項目タイプに関する項
この機能拡張を使用すると、懸案および変更文書の発行と承認を実行するワークフロー・プロセスをカスタマイズできます。
機能拡張は、次の項目で識別されます。
項目 | 名称 |
---|---|
本体テンプレート | PACIWFCB.pls |
仕様テンプレート | PACIWFCS.pls |
パッケージ | pa_control_items_wf_client |
次のプロシージャのパラメータは、Oracle Integration Repositoryで表示できます。Oracle Integration Repositoryは、このマニュアルの「はじめに」で説明されています。
このプロシージャの名称は、start_workflowです。このプロシージャを使用して、懸案および変更文書承認のワークフロー・プロセスを開始します。
このプロシージャの名称は、set_ci_approverです。このプロシージャを使用して、懸案および変更文書の承認権限を付与するユーザーを指定します。
このプロシージャの名称は、set_notification_partyです。このプロシージャを使用して、懸案および変更文書の承認と棄却の通知先を指定します。
関連トピック
『Oracle Projectsインプリメンテーション・ガイド』の管理項目タイプに関する項
プロジェクト・ステータス・レポート・ワークフロー機能拡張を使用すると、プロジェクト・ステータス・レポートの承認および公開用のワークフロー・プロセスをカスタマイズできます。
レポートの承認方法および公開方法を決定する必要があります。『Oracle Project Managementユーザー・ガイド』のプロジェクト・ステータス・レポートの概要に関する項を参照してください。
デフォルトのプロジェクト・ステータス・レポート・ワークフロー・プロセスでは、プロジェクト・ステータス・レポート・ワークフロー機能拡張が呼び出されます。
機能拡張は、次の項目で識別されます。
項目 | 名称 |
---|---|
本体テンプレート | PAPRWFCB.pls |
仕様テンプレート | PAPRWFCS.pls |
パッケージ | pa_report_workflow_client |
次のプロシージャのパラメータは、Oracle Integration Repositoryで表示できます。Oracle Integration Repositoryは、このマニュアルの「はじめに」で説明されています。
このプロシージャの名称は、start_workflowです。このワークフローを使用して、ワークフローのパラメータを変更または追加し、ワークフローを開始できます。
このプロシージャの名称は、set_report_approverです。このプロシージャは、プロジェクト・ステータス・レポートの承認プロセスの承認者を決定します。このプロシージャを変更し、ステータス・レポートの承認担当者を決定するルールを追加できます。デフォルトでは、「ステータス・レポート設定詳細」ページでレポートの承認者として指定したユーザーに、プロシージャから通知が送信されます。このページで承認者を指定していない場合には、レポートの提出者の管理者が承認者になります。
このプロシージャの名称は、set_report_notification_partyです。このプロシージャは、プロジェクト・ステータス・レポートが承認、公開または棄却されたときのワークフローの通知先ユーザーを決定します。
関連トピック
このクライアント機能拡張を使用すると、プロジェクト実績のレポート用のカスタム・メジャーを作成できます。
機能拡張は、次の項目で識別されます。
項目 | 名称 |
---|---|
本体テンプレート | PJISCO1B.pls |
仕様テンプレート | PJISCO1S.pls |
パッケージ | PJI_PJP_SUM_CUST |
プロシージャのパラメータは、Oracle Integration Repositoryで表示できます。Oracle Integration Repositoryは、このマニュアルの「はじめに」で説明されています。
カスタム・パフォーマンス・メジャー・クライアント機能拡張では、次のプロシージャが提供されます。
プロシージャ名はPJP_CUSTOM_FPR_APIです。
このプロシージャを使用して、財務金額と計画金額に対する最大15個のカスタム・メジャーを、PJI_FP_CUST_PJPO表のCUSTOM1からCUSTOM15までラベルの付いた列に挿入します。
プロジェクト実績レポート集計プロセスにより、これらの新規カスタム・メジャーが考慮され、実績データ明細がPJI_FP_XBS_ACCUM_F表のメジャーに対して挿入されます。
プロシージャ名はPJP_CUSTOM_ACR_APIです。
このプロシージャを使用して、記帳金額と請求金額について最大15個までのカスタム・メジャーを、PJI_FP_CUST_PJPO表のCUSTOM1からCUSTOM15までラベルの付いた列に挿入します。
プロジェクト実績レポート集計プロセスにより、これらの新規カスタム・メジャーが考慮され、実績データ明細がPJI_AC_XBS_ACCUM_F表のメジャーに対して挿入されます。
関連トピック
『Oracle Projectsインプリメンテーション・ガイド』のプロジェクト実績レポートに関する項
プロジェクト・パフォーマンス・ステータス機能拡張を使用すると、プロジェクトのパフォーマンス・ステータス全体の取得に関連するロジックをカスタマイズできます。この機能拡張は、次の項目で識別されます。
項目 | 名称 |
---|---|
本体テンプレート | PAPESCLB.pls |
仕様テンプレート | PAPESCLS.pls |
パッケージ | pa_perf_status_client_extn |
プロシージャ | get_performance_status |
get_performance_statusプロシージャを使用して、プロジェクトのパフォーマンス・ステータス全体の導出や取得を行います。次の関連を定義するためのコードを記述できます。
PA_LOOKUPSビューのPREDEFINED_FLAG列に指定された重要度と数値との関連
プロジェクトのキー・パフォーマンス領域ステータスとパフォーマンス・ステータス全体との関連
プロシージャのパラメータは、Oracle Integration Repositoryで表示できます。Oracle Integration Repositoryは、このマニュアルの「はじめに」で説明されています。このプロシージャの必須パラメータを次に示します。
P_OBJECT_TYPE
P_OBJECT_ID
P_KPA_SUMMARY
関連トピック
『Oracle Projectsインプリメンテーション・ガイド』の管理項目タイプに関する項
『Oracle Projectsインプリメンテーション・ガイド』のプロジェクト実績の追跡に関する項
プロジェクト・ステータス照会(PSI)クライアント機能拡張を使用すると、「プロジェクト・ステータス照会列」ウィンドウで列定義を入力した場合でも、代替の列値を導出できます。また、「プロジェクト」ウィンドウの合計フィールドを上書きすることもできます。
PSIクライアント機能拡張を使用するには、次の操作を行う必要があります。
PL/SQLプロシージャ・ロジックの記述とデータベースに対するプロシージャの保存
「プロジェクト・ステータス照会列」ウィンドウの列に対する列プロンプトの定義
PSIクライアント機能拡張を実行すると、製品のパフォーマンスが低下します。したがって、クライアント機能拡張プロシージャを定義するときに、その適用範囲をできるだけ少なくしてください。
機能拡張は、次の項目で識別されます。
項目 | 名称 |
---|---|
本体テンプレート | PAXVPS2B.pls |
仕様テンプレート | PAXVPS2S.pls |
パッケージ | pa_client_extn_status |
次のプロシージャのパラメータは、Oracle Integration Repositoryで表示できます。Oracle Integration Repositoryは、このマニュアルの「はじめに」で説明されています。
列取得のプロシージャは、各ステータス・フォルダ(プロジェクト、タスクおよび資源)に対応する、次の3つのファンクションから構成されています。
ProjCustomExtn
TaskCustomExtn
RsrcCustomExtn
列取得のプロシージャの名称は、getcolsです。
各ファンクションにパラメータまたはスイッチを指定することで、クライアント機能拡張の実行部分を限定できます。ファンクションの実行部分を、すべて、なし、または任意の組合せに設定できます。デフォルトでは、3つのスイッチは無効になっています。
列取得のプロシージャを有効にすると、「プロジェクト・ステータス照会列」ウィンドウに定義した列プロンプトと、クライアント機能拡張の計算値が「プロジェクト ステータス」ウィンドウに表示されます。「プロジェクト・ステータス照会列」ウィンドウに定義した値よりも、クライアント機能拡張の計算値が優先されるため、クライアント機能拡張の計算値を出力する列には定義を入力する必要がありません。
注意: プロシージャがNULL値を返す場合は、「プロジェクト・ステータス」ウィンドウに、「プロジェクト・ステータス照会列」ウィンドウで定義した値が表示されます。
PSI合計取得のプロシージャは、PSIの「プロジェクト」ウィンドウの次の合計機能に対応する2つのファンクションから構成されます。
Hide_Totals
Proj_Tot_Custom_Extn
デフォルトでは、これらのファンクションは無効です。「プロジェクト」ウィンドウで列取得のプロシージャが有効な場合は、機能拡張を変更しないかぎり、このウィンドウの「合計」ボタンは自動的に無効になります。
プロジェクト・ステータス照会合計クライアント機能拡張を有効にすると、OUT NOCOPY-パラメータに値を割り当てる、「プロジェクト」ウィンドウの30個すべての数値列の合計フィールドを上書きできます。値が割り当てられていないOUT NOCOPY-パラメータは、「プロジェクト」ウィンドウでは「NULL」と表示されます。
柔軟性が高くなるように、実際には、「合計」クエリーが、PA_STATUS_PROJ_TOTALS_Vというユーザー定義ビューから列を選択し集計します。デフォルトでは、このビューは、PSIの「プロジェクト」ウィンドウから問い合せたベース・ビューに直接マッピングされます。先頭から34列までの同じ列名とデータ型を保守する場合は、SELECT文の変更、列のリテラルの代替、およびPA_STATUS_PROJ_TOTALS_Vに対するUNIONの追加を実行できます。
合計取得のプロシージャの名称は、Get_Totalsです。
次の表に、PA_STATUS_PROJ_TOTALS_Vというユーザー定義の合計ビューで使用可能な列名とデータ型を示します。
注意: 先頭から34列目までの列名とデータ型は、PSIの「プロジェクト」ウィンドウの合計機能で使用されますが、SELECT文を変更したり、UNIONや新しい列を追加するなどの変更は可能です。
列名 | NULL | タイプ |
---|---|---|
PROJECT_ID | NOT NULL | NUMBER(15) |
COLUMN1 | NOT NULL | VARCHAR2(240) |
COLUMN2 | NOT NULL | VARCHAR2(240) |
COLUMN3 | NOT NULL | VARCHAR2(240) |
COLUMN4〜COLUMN33 | NOT NULL | NUMBER |
PA_STATUS_PROJ_TOTALS_VのデフォルトのSELECT文は次のとおりです。
CREATE or REPLACE FORCE VIEW PA_STATUS_PROJ_TOTALS_V
(PROJECT_ID,
COLUMN1,
COLUMN2,
COLUMN3,
COLUMN4...
)
AS SELECT
spg.project_id
spg.column1,
spg.column2,
spg.column3,
spg.column4...
FROM pa_status_proj_generic_v spg;
関連トピック
『Oracle Project Managementユーザー・ガイド』のプロジェクト要約金額に関する項
プロジェクト・ステータス照会取引約定の間接費計算クライアント機能拡張を使用すると、取引約定の間接費金額の表示を制御できます。
プロジェクト・タイプの場合には、間接費計算オプションの選択が可能で、間接費金額と直接費金額を同じ支出項目に保存するか、または間接費金額を個別の支出項目として保存することができます。この機能拡張を使用すると、「プロジェクト・ステータス照会」に約定取引の間接費金額を表示するように、プロジェクト・タイプに定義した間接費計算オプションを上書きできます。
取引約定の間接費計算クライアント機能拡張を使用して、取引約定の間接費表示の設定を上書きできます。
機能拡張は、次の項目で識別されます。
項目 | 名称 |
---|---|
本体テンプレート | PAXBSGCB.pls |
仕様テンプレート | PAXBSGCS.pls |
パッケージ | pa_client_extn_burden_summary |
このファンクションの名称は、Same_Line_Burden_Cmtです。
ファンクションから返されるデフォルト値は、FALSEです。値がFALSEに設定された場合は、プロジェクト・タイプの間接費金額を表示するときの計算方法として選択した間接費計算オプションに従って、取引約定の間接費金額が表示されます。
TRUEの値を指定した場合は、プロジェクト・タイプに選択した間接費計算オプションに関係なく、同じ支出項目に、約定取引の間接費金額と直接費金額が表示されます。
関連トピック
『Oracle Projectsインプリメンテーション・ガイド』の(すべてのプロジェクト・タイプの)原価計算情報に関する項
『Oracle Project Managementユーザー・ガイド』の実績、取引約定、およびイベント詳細へのドリルダウンに関する項
『Oracle Project Costing User Guide』の間接費の保存、会計処理および表示に関する項
PRC: プロジェクト要約金額の更新プロセスを実行すると、プロジェクトごとに取引約定に変更があったかどうかを確認できます。変更があった場合には、取引約定の要約金額は削除され、再作成されます。
重要: Oracle ProjectsのPA_COMMITMENT_TXNS_Vという取引約定ビューを変更した場合は、取引約定が変更されているかどうかを確認するために、取引約定変更クライアント機能拡張も変更する必要があります。
機能拡張は、次の項目で識別されます。
項目 | 名称 |
---|---|
本体テンプレート | PACECMTB.pls |
仕様テンプレート | PACECMTS.pls |
パッケージ | pa_client_extn_check_cmt |
プロシージャ | commitments_changed |
重要: 機能拡張プロシージャまたはパラメータの名称を変更しないでください。また、プロシージャのパラメータ・タイプまたはパラメータの順序を変更しないでください。プロシージャの記述後に、それをコンパイルし、データベースに格納します。詳細は、「PL/SQLプロシージャの記述」を参照してください。
プロシージャ名は、commitments_changedです。
本体テンプレートには、commitments_changedファンクションのデフォルトのコードを含むサンプル・プロシージャが収録されています。デフォルトでは、このプロシージャは、system-defined取引約定ビューに次の変更があるかどうかをチェックします。
新しい取引約定が追加されたかどうか。
取引約定の全部または一部が費用に換算されたかどうか(たとえば、発注が仕入先請求書と照合された場合)。
取引約定のステータスが「未承認」から「承認済」に変更されたかどうか。
取引約定が変更された場合、ファンクションはYの値を返します。変更されていない場合は、Nの値を返します。Yが返された場合、集計プロセスは取引約定の集計金額を再計算します。
取引約定ビューを変更した場合、最後の集計プロセス以降にユーザー定義取引約定が変更されたかどうかを判定するように、このプロシージャも変更する必要があります。
サンプル・プロシージャの前提条件は次のとおりです。
ユーザー取引約定ビューがPA_COMMITMENTS_OUTSIDE_SYSTEMであること
明細タイプが「I」であること
取引ソースがOUTSIDE_SYSTEMであること
CMT_HEADER_ID列にユーザー・ビューのヘッダーIDが保存されていること
CMT_LINE_NUMBER列にユーザー・ビューの明細番号が保存されていること
最後の集計プロセス以降にAPPROVED_FLAGに変更があったかどうかチェックされること
サンプル・プロシージャでは、次の条件をチェックします。
ユーザー・ビューの同じ取引約定とは異なるステータス(APPROVED_FLAG列)を持つ、PA_COMMITMENT_TXNSの取引約定
PA_COMMITMENT_TXNSには存在しないユーザー・ビューの取引約定
取引約定ビューの列のうち値に変更があるかどうかをチェックする列と、新しい取引約定があるかどうかをチェックするプロシージャを決定する必要があります。