ヘッダーをスキップ

Oracle Projects API, クライアント拡張およびオープン・インタフェース・リファレンス
リリース12
E05609-01
目次へ
目次
前のページへ
前へ
次のページへ
次へ

Oracle Project Management API

この章では、Oracle Project Management APIを実装する方法を説明します。

この章では、次のトピックを説明します。

プロジェクト成果物API

プロジェクト成果物のAPIは、プロジェクトの成果物を作成、更新および削除するための外部システム用インタフェースを提供します。これには、タスクおよびタスク割当への成果物関連を作成または削除できるAPIも含まれています。

プロジェクト成果物APIのビュー

次の表に、プロジェクト成果物APIのパラメータ・データを提供するビューを示します。ビューの詳細は、OracleMetaLinkで入手可能なOracle eTRMを参照してください。

ビュー 説明
PA_DELIVERABLES_AMG_V プロジェクトの成果物のリスト
PA_DLVR_ACTIONS_AMG_V プロジェクトの成果物処理のリスト
PA_DELIVERABLE_TYPES_AMG_V 成果物タイプのリスト
PA_DELIVERABLE_STATUSES_AMG_V 有効な成果物ステータスのリスト
PA_ACTION_FUNCTIONS_AMG_V 処理機能のリスト

プロジェクト成果物APIのプロシージャ

プロジェクト成果物用のAPIプロシージャを次に示します。これらのプロシージャは、パブリックAPIパッケージPA_PROJECT_PUB内にあります。

このプロシージャのすべてのパラメータの説明は、Oracle Integration Repositoryで参照できます。Oracle Integration Repositoryは、このマニュアルの「はじめに」で説明されています。

LOAD_DELIVERABLE

このAPIを使用すると、1つの成果物に対してPL/SQL表をロードできます。このプロシージャの必須パラメータは次のとおりです。

LOAD_DELIVERABLES

このAPIを使用すると、成果物に対してPL/SQL表をロードできます。このプロシージャの必須パラメータは次のとおりです。

LOAD_ACTION

このプロシージャを使用すると、成果物処理に対してPL/SQL表内に単一の成果物処理をロードできます。このプロシージャの必須パラメータは次のとおりです。

LOAD_ACTIONS

このプロシージャを使用すると、成果物処理に対してPL/SQL表をロードできます。このプロシージャの必須パラメータは次のとおりです。

ビジネス・ルール

CREATE_DELIVERABLE

このプロシージャを使用すると、プロジェクトに成果物を作成できます。このプロシージャの必須パラメータは次のとおりです。

UPDATE_DELIVERABLE

このプロシージャを使用すると、成果物の属性を更新できます。このプロシージャの必須パラメータは次のとおりです。

CREATE_DELIVERABLE_ACTION

このプロシージャを使用すると、成果物に成果物処理を作成できます。このプロシージャの必須パラメータは次のとおりです。

ビジネス・ルール

UPDATE_DELIVERABLE_ACTION

このプロシージャを使用すると、成果物処理の属性を更新できます。このプロシージャの必須パラメータは次のとおりです。

ビジネス・ルール

DELETE_DELIVERABLES

このプロシージャを使用すると、プロジェクトの成果物を削除できます。

DELETE_DELIVERABLE_ACTIONS

このプロシージャを使用すると、成果物に対する成果物処理を削除できます。このプロシージャの必須パラメータは次のとおりです。

ASSOCIATE_DLV_TO_TASK

このプロシージャを使用すると、成果物をタスクに関連付けることができます。このプロシージャの必須パラメータは次のとおりです。

ASSOCIATE_DLV_TO_TASK_ASSIGN

このプロシージャを使用すると、成果物をタスク割当に関連付けることができます。このプロシージャの必須パラメータは次のとおりです。

DELETE_DLV_TO_TASK_ASSCN

このプロシージャを使用すると、成果物とタスクの関連を削除できます。このプロシージャの必須パラメータは次のとおりです。

DELETE_DLV_TO_TASK_ASSIGN

このプロシージャを使用すると、成果物とタスク割当の関連を削除できます。このプロシージャの必須パラメータは次のとおりです。

予算API

予算によって、プロジェクトまたはタスクを完了するために使用すると予想する時間と資源が追跡されます。外部システムを使用して予算を準備してから、予算APIを使用して、予算および予算明細をOracle Projectsにインターフェイスします。その後、Oracle Projectsによって、外部システムに格納された資源予算およびレートに基づいて予算が生成されます。複数の予算バージョンをOracle Projectsにインタフェースし、必要に応じて基本編成できます。

注意: プロジェクト識別子を必要とする予算APIを呼び出す場合は、プロジェクトを識別するためにP_PA_PROJECT_IDまたはP_PM_PROJECT_REFERENCEパラメータを渡す必要があります。資源リスト識別子を必要とする予算APIを呼び出す場合は、資源リストを識別するためにP_RESOURCE_LIST_NAMEまたはP_RESOURCE_LIST_IDパラメータを渡す必要があります。

予算APIのビュー

予算APIのパラメータ・データを提供するビューを次に示します。ビューの詳細は、OracleMetaLinkで入手可能なOracle eTRMを参照してください。

ビュー 説明
PA_BASE_BUDGET_BY_GL_PERIOD_V GL期間別最新基本編成済予算金額
PA_BASE_BUDGET_BY_PA_PERIOD_V PA期間別最新基本編成済予算金額
PA_BUDGET_CHANGE_REASON_V 予算変更事由コードを取得します
PA_BUDGET_ENTRY_METHODS_V 予算入力方法を取得します
PA_BUDGET_STATUS_CODES_V 予算ステータス・コードを取得します
PA_BUDGET_TYPES_V 予算タイプを取得します
PA_ORIG_BUDGET_BY_GL_PERIOD_V GL期間別当初予算金額
PA_ORIG_BUDGET_BY_PA_PERIOD_V PA期間別当初予算金額
PA_FINPLAN_TYPES_V 財務計画タイプを取得します
PA_BASE_FINPLAN_BY_GL_PERIOD_V 財務計画タイプのGL期間別最新予算基本編成金額
PA_BASE_FINPLAN_BY_PA_PERIOD_V 財務計画タイプのPA期間別最新予算基本編成金額
PA_ORIG_ FINPLAN_BY_GL_PERIOD_V 財務計画タイプのGL期間別当初予算金額
PA_ORIG_ FINPLAN_BY_PA_PERIOD_V 財務計画タイプのPA期間別当初予算金額

予算APIのプロシージャ

この項で説明するプロシージャを次に示します。これらのプロシージャは、パブリックAPIパッケージPA_BUDGET_PUB内にあります。

予算レコードおよび表のデータ型

以降のページに、APIで使用されるレコードおよび表のデータ型を定義します。

BUDGET_LINE_IN_TBL_TYPEデータ型

表タイプBUDGET_LINE_IN_TBL_TYPEは、BUDGET_LINE_IN_REC_TYPEの表です。次の表に、BUDGET_LINE_IN_REC_TYPEデータ型の属性を示します。

名称 使用 タイプ 必須であるか 説明
PA_TASK_ID IN NUMBER No Oracle Projects内のタスクを一意に識別する参照コード
PM_TASK
_REFERENCE
IN VARCHAR2
(30)
No 外部システム内のタスクを一意に識別する参照コード
RESOURCE_ALIAS IN VARCHAR2
(80)
No 資源の別名
RESOURCE_LIST
_MEMBER_ID
IN NUMBER No 資源の識別コード
BUDGET_START
_DATE
IN DATE No 予算明細の開始日
BUDGET_END
_DATE
IN DATE No 予算明細の終了日
PERIOD_NAME IN VARCHAR2
(30)
No GLまたはPA期間名
DESCRIPTION IN VARCHAR2
(255)
No (現在使用不可)
RAW_COST IN NUMBER No 予算直接費金額
BURDENED_COST IN NUMBER No 予算総原価金額
REVENUE IN NUMBER No 予算収益額
QUANTITY IN NUMBER No 予算数量
PM_PRODUCT_CODE IN VARCHAR2
(30)
No 外部システムの仕入先の製品コード
PM_BUDGET
_LINE_REFERENCE
IN VARCHAR2
(30)
No クライアント側の予算明細を識別する参照コード
ATTRIBUTE
_CATEGORY
IN VARCHAR2
(30)
No 付加フレックスフィールド用
ATTRIBUTE1〜ATTRIBUTE15 IN VARCHAR2
(150)
No 予算明細付加フレックスフィールド
TXN_CURRENCY
_CODE
IN VARCHAR2
(15)
Yes 予算明細の取引通貨コード
PROJFUNC_COST
_RATE_TYPE
IN VARCHAR2
(30)
No 取引通貨からプロジェクト機能通貨に原価金額を換算するためのレート・タイプ
PROJFUNC_COST
_RATE_DATE_TYPE
IN VARCHAR2
(30)
No 取引通貨からプロジェクト機能通貨に原価金額を換算するためのレート基準日タイプ
PROJFUNC_COST
_RATE_DATE
IN DATE No 取引通貨からプロジェクト機能通貨に原価金額を換算するためのレート基準日
PROJFUNC_COST
_EXCHANGE_RATE
IN NUMBER No PROJFUNC_COST_RATE_TYPEが「ユーザー」の場合に、取引通貨からプロジェクト機能通貨に原価金額を換算するためのレート
PROJFUNC_REV
_RATE_TYPE
IN VARCHAR2
(30)
No 取引通貨からプロジェクト機能通貨に収益額を換算するためのレート・タイプ
PROJFUNC_REV
_RATE_DATE_TYPE
IN VARCHAR2
(30)
No 取引通貨からプロジェクト機能通貨に収益額を換算するためのレート基準日タイプ
PROJFUNC_REV
_RATE_DATE
IN DATE No 取引通貨からプロジェクト機能通貨に収益額を換算するためのレート基準日
PROJFUNC_REV
_EXCHANGE_RATE
IN NUMBER No PROJFUNC_REV_RATE_TYPEが「ユーザー」の場合に、取引通貨からプロジェクト機能通貨に収益額を換算するためのレート
PROJECT_COST
_RATE_TYPE
IN VARCHAR2
(30)
No 取引通貨からプロジェクト通貨に原価金額を換算するためのレート・タイプ
PROJECT_COST
_RATE_DATE_TYPE
IN VARCHAR2
(30)
No 取引通貨からプロジェクト通貨に原価金額を換算するためのレート基準日タイプ
PROJECT_COST
_RATE_DATE
IN DATE No 取引通貨からプロジェクト通貨に原価金額を換算するためのレート基準日
PROJECT_COST
_EXCHANGE_RATE
IN NUMBER No PROJECT_COST_RATE_TYPEが「ユーザー」の場合に、取引通貨からプロジェクト通貨に原価金額を換算するためのレート
PROJECT_REV
_RATE_TYPE
IN VARCHAR2
(30)
No 取引通貨からプロジェクト通貨に収益額を換算するためのレート・タイプ
PROJECT_REV
_RATE_DATE_TYPE
IN VARCHAR2
(30)
No 取引通貨からプロジェクト通貨に収益額を換算するためのレート基準日タイプ
PROJECT_REV
_RATE_DATE
IN DATE No 取引通貨からプロジェクト通貨に収益額を換算するためのレート基準日
PROJECT_REV
_EXCHANGE_RATE
IN NUMBER No PROJECT_REV_RATE_TYPEが「ユーザー」の場合に、取引通貨からプロジェクト通貨に収益額を換算するためのレート
CHANGE_REASON
_CODE
IN VARCHAR2
(30)
No 変更事由を識別する参照コード

BUDGET_LINE_OUT_TBL_TYPEデータ型

表タイプBUDGET_LINE_OUT_TBL_TYPEは、BUDGET_LINE_OUT_REC_TYPEの表です。次の表に、BUDGET_LINE_OUT_REC_TYPEデータ型の属性を示します。

名称 使用 タイプ 必須であるか 説明
RETURN_STATUS OUT NOCOPY VARCHAR2(1)   戻りステータス

CALC_BUDGET_LINE_OUT_TBL_TYPEデータ型

表タイプCALC_BUDGET_LINE_OUT_TBL_TYPEは、CALC_BUDGET_LINE_OUT_REC_TYPEの表です。次の表に、CALC_BUDGET_LINE_OUT_REC_TYPEデータ型の属性を示します。

名称 使用 タイプ 説明
PA_TASK_ID OUT
NOCOPY
NUMBER Oracle Projects内のタスクを一意に識別する参照コード
PM_TASK
_REFERENCE
OUT
NOCOPY
VARCHAR2
(30)
外部システム内のタスクを一意に識別する参照コード
RESOURCE_ALIAS OUT
NOCOPY
VARCHAR2
(80)
資源の別名
RESOURCE_LIST
_MEMBER_ID
OUT
NOCOPY
NUMBER 資源の識別コード
BUDGET_START
_DATE
OUT
NOCOPY
DATE 予算の開始日
BUDGET_END_DATE OUT
NOCOPY
DATE 予算の終了日
PERIOD_NAME OUT
NOCOPY
VARCHAR2
(30)
PAまたはGL期間名
CALCULATED
_RAW_COST
OUT
NOCOPY
NUMBER 取引通貨での計算済直接費(P_TXN_CURRENCY_CODE)
CALCULATED
_BURDENED_COST
OUT
NOCOPY
NUMBER 取引通貨での計算済総原価(P_TXN_CURRENCY_CODE)
CALCULATED
_REVENUE
OUT
NOCOPY
NUMBER 取引通貨での計算済収益(P_TXN_CURRENCY_CODE)
QUANTITY OUT
NOCOPY
NUMBER 数量
RETURN_STATUS OUT
NOCOPY
VARCHAR2(1) API標準
TXN_CURRENCY
_CODE
OUT VARCHAR2(30) 予算明細の取引通貨コード。フォーム・ベース予算では、これは常にプロジェクト機能通貨です。
PROJECT_RAW
_COST
OUT NUMBER プロジェクト通貨での計算済直接費金額。Webベースのユーザー・インタフェースを使用して作成された予算にのみ適用可能です。
PROJECT
_BURDENED_COST
OUT NUMBER プロジェクト通貨での計算済総原価金額。Webベースのユーザー・インタフェースを使用して作成された予算にのみ適用可能です。
PROJECT_REVENUE OUT NUMBER プロジェクト通貨での計算済収益額。Webベースのユーザー・インタフェースを使用して作成された予算にのみ適用可能です。
PROJFUNC_RAW
_COST
OUT NUMBER プロジェクト機能通貨での計算済直接費金額。Webベースのユーザー・インタフェースを使用して作成された予算にのみ適用可能です。
PROJFUNC
_BURDENED_COST
OUT NUMBER プロジェクト機能通貨での計算済総原価金額。Webベースのユーザー・インタフェースを使用して作成された予算にのみ適用可能です。
PROJFUNC
_REVENUE
OUT NUMBER プロジェクト機能通貨での計算済収益額。Webベースのユーザー・インタフェースを使用して作成された予算にのみ適用可能です。

予算APIのプロシージャの定義

この項では、予算APIについて、ビジネス・ルールおよびパラメータも含めて説明します。

ADD_BUDGET_LINE

ADD_BUDGET_LINEは、プロジェクトおよび予算タイプ、またはプロジェクトおよび財務計画タイプのいずれかに対して、Oracle Projectsで草案または作業中バージョンに明細を追加するために使用するPL/SQLプロシージャです。

ビジネス・ルール

このセクションでは予算タイプのために作成されるバージョンと、このプロシージャを使用するためのルールおよび財務計画タイプのための一般ビジネス・ルールを説明します。

一般ルール

予算タイプ

財務計画タイプ

パラメータ

このプロシージャのすべてのパラメータの説明は、Oracle Integration Repositoryで参照できます。Oracle Integration Repositoryは、このマニュアルの「はじめに」で説明されています。このプロシージャの必須パラメータは次のとおりです。

BASELINE_BUDGET

BASELINE_BUDGETは、プロジェクトおよび予算タイプ、またはプロジェクトおよび財務計画タイプのいずれかに対して、Oracle Projectsで既存の予算に基本編成を作成するために使用するPL/SQLプロシージャです。

ビジネス・ルール

このプロシージャのすべてのパラメータの説明は、Oracle Integration Repositoryで参照できます。Oracle Integration Repositoryは、このマニュアルの「はじめに」で説明されています。このプロシージャの必須パラメータは次のとおりです。

CALCULATE_AMOUNTS

CALCULATE_AMOUNTSは、プロジェクトおよび予算タイプ、またはプロジェクトおよび財務計画タイプのいずれかに対してOracle Projectsで草案または作業中バージョンの明細の直接費、総原価および収益額を再計算するために使用するPL/SQLプロシージャです。このプロシージャでは、「予算計算機能拡張」(PA_CLIENT_EXTN_BUDGET)を使用して計算を実行します。

ビジネス・ルール

このセクションでは予算タイプのために作成されるバージョンと、このプロシージャを使用するためのルールおよび財務計画タイプのための一般ビジネス・ルールを説明します。

一般ルール

予算タイプ

財務計画タイプ

パラメータ

このプロシージャのすべてのパラメータの説明は、Oracle Integration Repositoryで参照できます。Oracle Integration Repositoryは、このマニュアルの「はじめに」で説明されています。このプロシージャの必須パラメータは次のとおりです。

CREATE_DRAFT_BUDGET

CREATE_DRAFT_BUDGETは、選択した予算タイプおよび予算入力方法、または財務計画タイプを使用して、特定のプロジェクトに対してOracle Projectsで予算草案とその予算明細を作成するために使用するPL/SQLプロシージャです。

このAPIは複合データ型を使用します。詳細は、「複合データ型を使用するAPI」を参照してください。

ビジネス・ルール

このプロシージャのすべてのパラメータの説明は、Oracle Integration Repositoryで参照できます。Oracle Integration Repositoryは、このマニュアルの「はじめに」で説明されています。このプロシージャの必須パラメータは次のとおりです。

CREATE_DRAFT_FINPLAN

CREATE_DRAFT_FINPLANは、財務計画タイプに予算草案および予測を作成するプロシージャで、CREATE_DRAFT_BUDGETに類似しています。このプロシージャは、プロジェクト、タスク、資源および通貨レベルで要約データを受け入れます。PAまたはGL期間で期間分割された予算および予測バージョンについては、資源に関連付けられた分割曲線に基づいて、APIは全期間へのデータ(数量や金額を含む)の分割も行います。その他のデータ編集または変更は、このプロシージャでは行われません。このプロシージャの検証および機能セキュリティは、CREATE_DRAFT_BUDGETと同様です。

注意: このプロシージャは、予算計算クライアント機能拡張を呼び出します。予算計算クライアント機能拡張を使用可能にしている場合、クライアント機能拡張では、このAPIプロシージャで生成された次の金額を上書きできます。

予算計算クライアント機能拡張の詳細は、「予算計算機能拡張」を参照してください。

ビジネス・ルール

このプロシージャのすべてのパラメータの説明は、Oracle Integration Repositoryで参照できます。Oracle Integration Repositoryは、このマニュアルの「はじめに」で説明されています。このプロシージャの必須パラメータは次のとおりです。

DELETE_BASELINE_BUDGET

DELETE_BASELINE_BUDGETは、プロジェクトおよび予算タイプ、またはプロジェクトおよび財務計画タイプのいずれかに対して、Oracle Projectsで基本編成バージョンを削除するために使用するPL/SQLプロシージャです。

ビジネス・ルール

このセクションでは予算タイプのために作成されるバージョンと、このプロシージャを使用するためのルールおよび財務計画タイプのための一般ビジネス・ルールを説明します。

一般ルール

予算タイプ

財務計画タイプ

パラメータ

このプロシージャのすべてのパラメータの説明は、Oracle Integration Repositoryで参照できます。Oracle Integration Repositoryは、このマニュアルの「はじめに」で説明されています。このプロシージャの必須パラメータは次のとおりです。

バージョンを識別するパラメータは次のとおりです。

DELETE_BUDGET_LINE

DELETE_BUDGET_LINEは、プロジェクトおよび予算タイプ、またはプロジェクトおよび財務計画タイプのいずれかに対して、Oracle Projectsで草案または作業中バージョンから明細を削除するために使用するPL/SQLプロシージャです。

ビジネス・ルール

このセクションでは予算タイプのために作成されるバージョンと、このプロシージャを使用するためのルールおよび財務計画タイプのための一般ビジネス・ルールを説明します。

一般ルール

予算タイプ

財務計画タイプ

パラメータ

このプロシージャのすべてのパラメータの説明は、Oracle Integration Repositoryで参照できます。Oracle Integration Repositoryは、このマニュアルの「はじめに」で説明されています。このプロシージャの必須パラメータは次のとおりです。

バージョンと明細を識別するパラメータは次のとおりです。

DELETE_DRAFT_BUDGET

DELETE_DRAFT_BUDGETは、プロジェクトおよび予算タイプ、またはプロジェクトおよび財務計画タイプのいずれかに対して、Oracle Projectsで草案または作業中バージョンを削除するために使用するPL/SQLプロシージャです。

ビジネス・ルール

このセクションでは予算タイプのために作成されるバージョンと、このプロシージャを使用するためのルールおよび財務計画タイプのための一般ビジネス・ルールを説明します。

一般ルール

予算タイプ

財務計画タイプ

パラメータ

このプロシージャのすべてのパラメータの説明は、Oracle Integration Repositoryで参照できます。Oracle Integration Repositoryは、このマニュアルの「はじめに」で説明されています。このプロシージャの必須パラメータは次のとおりです。

バージョンを識別するパラメータは次のとおりです。

GET_PROJECT_ID

プロジェクトに添付された財務計画タイプすべてに関する情報を取得するには、プロジェクト・コンテキストを設定する必要があります。GET_PROJECT_IDは、パブリック・ビューPA_FINPLAN_TYPES_Vで使用されるコンテキストのプロジェクトに対してPROJECT_IDを返します。このビューはOracle Project Connectで使用されます。

SET_PROJECT_ID

SET_PROJECT_IDは、パブリック・ビューPA_FINPLAN_TYPES_Vで使用されるパブリック変数G_PROJECT_IDを設定するために使用します。このビューはOracle Project Connectで使用されます。

このプロシージャのすべてのパラメータの説明は、Oracle Integration Repositoryで参照できます。Oracle Integration Repositoryは、このマニュアルの「はじめに」で説明されています。

SET_PROJECT_IDの必須パラメータは、次のとおりです。

UPDATE_BUDGET

UPDATE_BUDGETは、プロジェクトおよび予算タイプ、またはプロジェクトおよび財務計画タイプのいずれかに対して、Oracle Projectsで草案または作業中バージョンを更新するために使用するPL/SQLプロシージャです。明細がすでに存在するかどうかに応じて、このプロシージャは既存の明細の更新や新規明細の挿入を行います。

このAPIは複合データ型を使用します。詳細は、「複合データ型を使用するAPI」を参照してください。

ビジネス・ルール

このセクションでは予算タイプのために作成されるバージョンと、このプロシージャを使用するためのルールおよび財務計画タイプのための一般ビジネス・ルールを説明します。

一般ルール

予算タイプ

財務計画タイプ

パラメータ

このプロシージャのすべてのパラメータの説明は、Oracle Integration Repositoryで参照できます。Oracle Integration Repositoryは、このマニュアルの「はじめに」で説明されています。このプロシージャの必須パラメータは次のとおりです。

このプロシージャでバージョンと明細を識別するパラメータは、次のとおりです。

レコード表: P_BUDGET_LINES_IN

次の表に、パラメータ表に示されたパラメータP_BUDGET_LINES_INのデータ構造を説明します。

次の表内でアスタリスク(*)の付いたパラメータ名は、バージョンと明細を識別するものです。

名称 使用 タイプ 必須であるか 説明
PA_TASK_ID* IN NUMBER No Oracle Projects内のタスクの識別子
PM_TASK_REFERENCE* IN VARCHAR2
(30)
No 外部システム内のタスクを一意に識別する参照コード
RESOURCE_ALIAS* IN VARCHAR2
(80)
No 外部システム内のタスクを一意に識別する資源の別名
RESOURCE_LIST
_MEMBER_ID*
IN NUMBER No 資源の識別コード
TXN_CURRENCY_CODE* IN VARCHAR2
(15)
No 財務計画通貨識別子。複数の取引通貨で計画する場合に必須
PERIOD_NAME* IN VARCHAR2
(30)
No GLまたはPA期間名
BUDGET_START_DATE* IN DATE No 予算明細の開始日
BUDGET_END_DATE* IN DATE No 予算明細の終了日
QUANTITY IN NUMBER No 予算数量
RAW_COST IN NUMBER No 予算直接費金額
BURDENED_COST IN NUMBER No 予算総原価金額
REVENUE IN NUMBER No 予算収益額
CHANGE_REASON_CODE IN VARCHAR2
(30)
No 明細の変更事由を識別するコード
DESCRIPTION IN VARCHAR2
(255)
No 明細摘要
PROJFUNC_COST_RATE_TYPE IN VARCHAR2
(30)
No 財務計画タイプのプロジェクト機能通貨原価レート・タイプ
PROJFUNC_COST_RATE_DATE_TYP IN VARCHAR2
(30)
No 財務計画タイプのプロジェクト機能通貨原価レート基準日タイプ
PROJFUNC_COST_RATE_DATE IN DATE No 財務計画タイプのプロジェクト機能通貨原価レート基準日
PROJFUNC_COST_EXCHANGE_RATE IN NUMBER No 財務計画タイプのプロジェクト機能通貨原価換算レート
PROJFUNC_REV_RATE_TYPE IN VARCHAR2
(30)
No 財務計画タイプのプロジェクト機能通貨収益レート・タイプ
PROJFUNC_REV_RATE_DATE_TYP IN VARCHAR
(30)
No 財務計画タイプのプロジェクト機能通貨収益レート基準日タイプ
PROJFUNC_REV_RATE_DATE IN DATE No 財務計画タイプのプロジェクト機能通貨収益レート基準日
PROJFUNC_REV_EXCHANGE_RATE IN NUMBER No 財務計画タイプのプロジェクト機能通貨収益換算レート
PROJECT_COST_RATE_TYPE IN VARCHAR2
(30)
No 財務計画タイプのプロジェクト通貨原価レート・タイプ
PROJECT_COST_RATE_DATE_TYP IN VARCHAR2
(30)
No 財務計画タイプのプロジェクト通貨原価レート基準日タイプ
PROJECT_COST_RATE_DATE IN DATE No 財務計画タイプのプロジェクト通貨原価レート基準日
PROJECT_COST_EXCHANGE_RATE IN NUMBER No 財務計画タイプのプロジェクト通貨原価換算レート
PROJECT_REV_RATE_TYPE IN VARCHAR2
(30)
No 財務計画タイプのプロジェクト通貨収益レート・タイプ
PROJECT_REV_RATE_DATE_TYP IN VARCHAR2
(30)
No 財務計画タイプのプロジェクト通貨収益レート基準日タイプ
PROJECT_REV_RATE_DATE IN DATE No 財務計画タイプのプロジェクト通貨収益レート基準日
PROJECT_REV_EXCHANGE_RATE IN NUMBER No 財務計画タイプのプロジェクト通貨収益換算レート
PM_PRODUCT_CODE IN VARCHAR2
(30)
No 外部システムの仕入先の製品コード
PM_BUDGET_LINE_REFERENCE IN VARCHAR2
(30)
No クライアント側の予算明細を識別する参照コード
ATTRIBUTE_CATEGORY IN VARCHAR2
(30)
No 付加フレックスフィールド用
ATTRIBUTE1〜ATTRIBUTE15 IN VARCHAR2
(150)
No 予算明細付加フレックスフィールド

レコード表: P_BUDGET_LINES_OUT

次の表に、パラメータ表に示されたパラメータP_BUDGET_LINES_OUTのデータ構造を説明します。

名称 使用 タイプ 必須であるか 説明
RETURN_STATUS IN VARCHAR2(1) No 戻りステータス

UPDATE_BUDGET_LINE

UPDATE_BUDGET_LINEは、プロジェクトおよび予算タイプ、またはプロジェクトおよび財務計画タイプのいずれかに対して、Oracle Projectsで草案または作業中バージョンの明細を更新するために使用するPL/SQLプロシージャです。

ビジネス・ルール

このセクションでは予算タイプのために作成されるバージョンと、このプロシージャを使用するためのルールおよび財務計画タイプのための一般ビジネス・ルールを説明します。

一般ルール

予算タイプ

財務計画タイプ

パラメータ

このプロシージャのすべてのパラメータの説明は、Oracle Integration Repositoryで参照できます。Oracle Integration Repositoryは、このマニュアルの「はじめに」で説明されています。このプロシージャの必須パラメータは次のとおりです。

このプロシージャでバージョンと明細を識別するパラメータは、次のとおりです。

CLEAR_BUDGET

CLEAR_BUDGETは、初期化ステップ中に設定されたグローバル・データ構造を消去するために使用するロード-実行-フェッチ・プロシージャです。

CLEAR_CALCULATE_AMOUNTS

CLEAR_CALCULATE_AMOUNTSは、ロード-実行-フェッチ・プロシージャCALCULATE_AMOUNTSで使用されるグローバル・データ構造をリセットするために使用するロード-実行-フェッチ・プロシージャです。プロシージャCALCULATE_AMOUNTSは、CLEAR_CALCULATE_AMOUNTSを呼び出して、計画バージョンの計算済金額をフェッチするために使用されるデータ構造を初期化します。

.

EXECUTE_CALCULATE_AMOUNTS

EXECUTE_CALCULATE_AMOUNTSは、特定のプロジェクトおよび予算タイプ、または財務計画タイプに対して既存の予算明細を使用して直接費、総原価および収益額を計算するために使用するロード-実行-フェッチ・プロシージャです。予算明細ごとに、このAPIはAPI FETCH_CALCULATE_AMOUNTSで読取り可能なグローバルに書き込みます。

ビジネス・ルール

このプロシージャのすべてのパラメータの説明は、Oracle Integration Repositoryで参照できます。Oracle Integration Repositoryは、このマニュアルの「はじめに」で説明されています。EXECUTE_CALCULATE_AMOUNTSの必須パラメータは次のとおりです。

EXECUTE_CREATE_DRAFT_BUDGET

EXECUTE_CREATE_DRAFT_BUDGETは、ロード・プロセス中にグローバル表に格納されたデータを使用して予算とその予算明細を作成するために使用します。

ビジネス・ルール

次のパラメータは、財務計画タイプでの計画に使用します。予算タイプでの計画には使用しません。

このプロシージャのすべてのパラメータの説明は、Oracle Integration Repositoryで参照できます。Oracle Integration Repositoryは、このマニュアルの「はじめに」で説明されています。EXECUTE_CREATE_DRAFT_BUDGETの必須パラメータは次のとおりです。

EXECUTE_CREATE_DRAFT_FINPLAN

EXECUTE_CREATE_DRAFT_FINPLANは、ロード・プロセス中にグローバル表に格納されたデータを使用して予算および予測を作成します。このプロシージャを呼び出す前に、LOAD_RESOURCE_INFOを呼び出して、予算および予測明細の作成に必要な数量および金額とともに資源情報をロードする必要があります。

このプロシージャのすべてのパラメータの説明は、Oracle Integration Repositoryで参照できます。Oracle Integration Repositoryは、このマニュアルの「はじめに」で説明されています。EXECUTE_CREATE_DRAFT_FINPLANの必須パラメータは次のとおりです。

EXECUTE_UPDATE_BUDGET

EXECUTE_UPDATE_BUDGETは、ロード・プロセス中にグローバル表内に格納されたデータを使用して予算とその予算明細を更新するために使用するロード-実行-フェッチ・プロシージャです。

このプロシージャのすべてのパラメータの説明は、Oracle Integration Repositoryで参照できます。Oracle Integration Repositoryは、このマニュアルの「はじめに」で説明されています。EXECUTE_UPDATE_BUDGETの必須パラメータは次のとおりです。

FETCH_BUDGET_LINE

FETCH_BUDGET_LINEは、グローバルPL/SQL表から予算明細の作成中に返された戻りステータスを取得するために使用するロード-実行-フェッチ・プロシージャです。

このプロシージャのすべてのパラメータの説明は、Oracle Integration Repositoryで参照できます。Oracle Integration Repositoryは、このマニュアルの「はじめに」で説明されています。FETCH_BUDGET_LINEの必須パラメータは次のとおりです。

FETCH_CALCULATE_AMOUNTS

FETCH_CALCULATE_AMOUNTSは、API EXECUTE_CALCULATE_AMOUNTSによって更新されたグローバル・レコードから予算明細別に直接費、総原価および収益額を取得するために使用するロード-実行-フェッチ・プロシージャです。

このAPIの呼出しは、API EXECUTE_CALCULATE_AMOUNTSを使用して計算済予算明細ごとにループ内で実行します。API EXECUTE_CALCULATE_AMOUNTSがP_TOT_BUDGET_LINES_CALCULATEDに対して返す値によって、このAPIを呼び出す回数が決まります。

このプロシージャのすべてのパラメータの説明は、Oracle Integration Repositoryで参照できます。Oracle Integration Repositoryは、このマニュアルの「はじめに」で説明されています。FETCH_CALCULATE_AMOUNTSの必須パラメータは次のとおりです。

INIT_BUDGET

INIT_BUDGETは、他のロード-実行-フェッチ・プロシージャによってOracle Projectsで新規予算草案の作成または既存の予算草案の更新を行うために使用されるグローバル・データ構造を設定するために使用するロード-実行-フェッチ・プロシージャです。

INIT_CALCULATE_AMOUNTS

INIT_CALCULATE_AMOUNTSは、ロード-実行-フェッチAPI CALCULATE_AMOUNTSで使用されるグローバル・データ構造を設定するために使用するロード-実行-フェッチ・プロシージャです。

LOAD_BUDGET_LINE

LOAD_BUDGET_LINEは、グローバルPL/SQL表に予算明細をロードするために使用するロード-実行-フェッチ・プロシージャです。

次のパラメータは、財務計画タイプでの計画に使用します。予算タイプでの計画には使用しません。

このプロシージャのすべてのパラメータの説明は、Oracle Integration Repositoryで参照できます。Oracle Integration Repositoryは、このマニュアルの「はじめに」で説明されています。LOAD_BUDGET_LINEの必須パラメータは次のとおりです。

LOAD_RESOURCE_INFO

EXECUTE_CREATE_DRAFT_FINPLANを呼び出して予算または予測の作成に必要な資源情報をロードする前に、LOAD_RESOURCE_INFOを呼び出します。このプロシージャは、EXECUTE_CREATE_DRAFT_FINPLANで使用されるグローバルPL/SQL表に、資源情報を要約金額とともにロードします。

このプロシージャのすべてのパラメータの説明は、Oracle Integration Repositoryで参照できます。Oracle Integration Repositoryは、このマニュアルの「はじめに」で説明されています。LOAD_RESOURCE_INFOに必須パラメータはありません。

予算APIの使用方法

次の例では、Oracle Projectsと外部システム内の予算および予算明細情報との間にインタフェースを作成する方法を説明します。会社のビジネス・ニーズに応じて、予算APIの実装の複雑度は、ここに示す使用例とは若干異なる場合があります。

この例を参照する際には、このマニュアル内の他の情報も必要に応じて参照してください。

ステップ1: Oracleデータベースに接続

Oracle Projectsデータへのアクセス時に正しいセキュリティを確保するには、「セキュリティ要件」のステップに従ってください。

ステップ2: 予算データの取得

Oracle Projectsデータベースに予算明細を送信する前に、予算および予算明細が他のOracle Projectsデータにリンクされる方法に影響する決定をいくつか行う必要があります。この項では、独自のモデリングに使用できるSQL SELECT文のサンプルを示します。以降のページでは、選択値と予算または予算明細情報との間の関係を説明します。この関係を理解すると、予算APIおよび予算明細APIに渡すパラメータ値を決定する際に役立ちます。

予算タイプの選択

有効な予算タイプを選択します。Oracle Projectsでは、次の表に示す予算タイプが事前定義されています。

予算タイプ・コード 予算タイプ
AC 承認済原価予算
AR 承認済収益予算
FC 予測原価予算
FR 予測収益予算

次のSQL文は、予算タイプ情報を取得します。

SELECT code,
       name
FROM   pa_budget_types_v

選択値CODEは、予算パラメータP_BUDGET_TYPE_CODEに関連しています。

原価予算と収益予算には異なる予算金額が含まれている場合があるため、予算タイプの予算金額コードを取得する必要があります。次のSQL文は、適切な予算金額コードを取得します。

SELECT budget_amount_code
FROM pa_budget_types
WHERE budget_type_code = &code

この文は、原価予算を選択している場合はC、収益予算を選択している場合はRを返します。次の表に、各予算タイプで保持可能な金額と、LOAD_BUDGET_LINEのパラメータとの関連を示します。

金額 LOAD_BUDGET_LINEパラメータ
直接費 P_RAW_COST
総原価 P_BURDENED_COST
原価数量 P_QUANTITY
収益 P_REVENUE
収益数量 P_QUANTITY

予算入力方法の選択

Oracle Projectsでは、次の表に示す予算入力方法が事前定義されています。

予算入力方法コード 予算入力方法
PA_LOWEST_TASK_BY_PA_PERIOD 資源別にカテゴリ化された、最下位タスクおよびPA期間ごと
PA_LOWEST_TASK_BY_GL_PERIOD 資源別にカテゴリ化された、最下位タスクおよびGL期間ごと
PA_LOWEST_TASK_BY_DATE_RANGE 資源別にカテゴリ化された、最下位タスクおよび日付範囲ごと

次のSQL文は、予算入力方法を取得します。

SELECT code
, name
, categorization_code
, entry_level_code
, entry_level_name
, time_phased_type_code
, time_phased_type_name
FROM pa_budget_entry_methods_v

選択値CODEは、予算パラメータP_ENTRY_METHOD_CODEに関連しています。

後にその他の選択値を使用して、Oracle Projectsから他の予算関連データを取得できます。他の予算関連フィールドに可能な値は、次のとおりです。

資源リストの選択

資源別にカテゴリ化された予算入力方法を選択した場合は、予算に対して資源リストを選択する必要があります。次のSQL文は資源リスト情報を取得します。

 SELECT resource_list_id
, resource_list_name
, description
FROM pa_qry_resource_lists_v

次の表に、特定の選択値と予算パラメータとの間の関係を示します。2つの値のうち1つのみを渡してください。

選択された値 予算パラメータ
RESOURCE_LIST_ID P_RESOURCE_LIST_ID
RESOURCE_LIST_NAME P_RESOURCE_LIST_NAME

他の予算関連パラメータの選択

パラメータP_DESCRIPTIONは、予算の摘要を保持します。ビューPA_BUDGET_CHANGE_REASON_Vを使用して、予算に対する変更すべての説明を渡してください。次のSQL文は、予算変更の事由を取得します。

SELECT code,
       name
FROM pa_budget_change_reason_v

次の表に、特定の選択値と予算パラメータとの間の関係を示します。

選択された値 予算パラメータ
CODE P_CHANGE_REASON_CODE
DESCRIPTION P_DESCRIPTION

ステップ3: 予算明細データの取得

予算データに対して行った選択は、予算明細データに大きく影響します。これらの影響について、以降のページに説明します。

金額フィールドの選択

前述のように、原価予算には直接費、総原価および原価数量金額を含めることができますが、収益予算には収益および収益数量金額のみを含めることができます。

タスクの選択

予算入力レベルに応じて、予算明細には適切なTASK_IDまたはTASK_REFERENCEを含める必要があります。プロジェクト・レベルの予算編成では、タスク関連パラメータは渡しません。タスク・レベルの予算編成(最上位、最下位、または混合)では、次のSQL文を使用して有効なタスク値を取得できます。

次の表に、特定の選択値と予算明細パラメータとの間の関係を示します。2つの値のうち1つのみを渡してください。

選択された値 予算明細パラメータ
TASK_ID P_PA_TASK_ID
PM_TASK_REFERENCE P_PM_TASK_REFERENCE

資源リスト・メンバー(資源)の選択

予算入力方法が資源別にカテゴリ化されており、資源リストを選択している場合、予算明細には資源リストに関連付けられた個々の資源を含める必要があります。次のSQL文を使用して資源リスト・メンバー情報を取得できます。

 SELECT resource_list_member_id
, alias
, employee_first_name
, employee_last_name
FROM pa_query_res_list_members_v
WHERE resource_list_id = &resource_list_id

次の表に、特定の選択値と予算明細パラメータとの間の関係を示します。2つの値のうち1つのみを渡してください。

選択された値 予算明細パラメータ
RESOURCE_LIST_MEMBER_ID P_RESOURCE_LIST_MEMBER_ID
ALIAS P_RESOURCE_ALIAS

期間の選択

次の表に示すように、予算入力方法をどのように期間分割するかによって、どの予算明細パラメータが渡された値を受け入れるかが決まります。

期間分割単位 値を受け入れるパラメータ(START_DATE、END_DATEおよびPERIOD_NAME)
期間分割なし なし
日付範囲 START_DATEおよびEND_DATE
PAまたはGL期間 START_DATEおよびEND_DATEまたはPERIOD_NAME

期間分割予算編成を使用する場合は、次のSQL文を使用して適切な日付情報を取得できます。

次の表に、特定の選択値と予算明細パラメータとの間の関係を示します。PERIOD_NAME、またはPERIOD_START_DATEとPERIOD_END_DATEの両方の値を渡せます。

選択された値 予算明細パラメータ
PERIOD_NAME P_PERIOD_NAME
PERIOD_START_DATE P_BUDGET_START_DATE
PERIOD_END_DATE P_BUDGET_END_DATE

摘要の選択

予算明細の摘要を渡す必要はありません。

ステップ4: サーバーへの予算情報のインタフェース

外部システムによって複合データ型パラメータがサポートされている場合(Oracle PL/SQLバージョン2.3以上など)、CREATE_DRAFT_BUDGETおよびUPDATE_BUDGET APIを直接呼び出せます。

外部システムによっては、複合データ型を使用するAPIを呼び出せないものもあります。複合データ型をサポートしないシステムは、補足的なロード-実行-フェッチAPIを呼び出す必要があります。ロード-実行-フェッチ・プロシージャには、初期化、ロード、実行、フェッチおよび消去カテゴリが含まれています。詳細は、「APIプロシージャ」を参照してください。

ステップ5: サーバー側プロセスの開始

ロード・プロシージャによって予算および予算明細データがOracle Projectsデータベースに正常に移動されたら、プロシージャAPI EXECUTE_CREATE_DRAFT_BUDGETを呼び出して、グローバルPL/SQL表内の予算および予算明細データを処理します。

ステップ6: エラー・メッセージの取得

各Oracle Projects APIには、次の標準出力パラメータが含まれています。

APIで検出されたエラーが1つの場合、APIによってエラー・メッセージ・テキストが返されます。複数のエラーが検出された場合は、GET_MESSAGESを使用して、エラー・メッセージを取得します。詳細は、「GET_MESSAGES」を参照してください。

エラーが予算明細に関連する場合は、FETCH_BUDGET_LINEを使用してエラーの原因となっている明細を識別します。APIパラメータP_LINE_RETURN_STATUSは、その明細に対してE(ビジネス・ルール違反)またはU(予期せぬエラー)を返すことで明細を識別します。(戻りステータスの詳細は、「標準APIパラメータ」を参照してください。)その他の理由でFETCH_BUDGET_LINEを使用すると、エラーNO_DATA_FOUNDが返されます。

ステップ7: ロード-実行-フェッチ・プロセスの終了

フェッチ・プロシージャを実行してエラー・メッセージを取得した後で、API CLEAR_BUDGETを呼び出してデータベースへの変更を保存するかロールバックすることで、ロード-実行-フェッチ・プロセスを終了します。

ロード-実行-フェッチAPIを使用した予算の作成

次のサンプルPL/SQLコードは、ロード-実行-フェッチAPIを使用して予算を作成するために使用できるスクリプトのサンプルです。

ロード-実行-フェッチAPIでは、標準データ型(VARCHAR2、NUMBERおよびDATE)のパラメータが使用されます。複合データ型は使用されません。複合データ型をサポートするツールまたは製品を使用して予算を作成する場合は、「複合データ型APIを使用した予算の作成」を参照してください。

DECLARE
––variables needed for API standard parameters
l_api_version_number NUMBER :=1.0;
l_commit VARCHAR2(1):= ’F’;
l_return_status VARCHAR2(1);
l_init_msg_list VARCHAR2(1);
l_msg_count NUMBER;
l_msg_data VARCHAR2(2000);
l_data VARCHAR2(2000);
l_msg_entity VARCHAR2(100);
l_msg_entity_index NUMBER;
l_msg_index NUMBER;
l_msg_index_out NUMBER;
l_encoded VARCHAR2(1);
i NUMBER;
a NUMBER;
––variables needed for Oracle Project specific parameters
l_pm_product_code VARCHAR2(10);
l_pa_project_id NUMBER;
l_pm_project_reference VARCHAR2(25);
l_budget_type_code VARCHAR2(30);
l_change_reason_code VARCHAR2(30);
l_description VARCHAR2(255);
l_entry_method_code VARCHAR2(30);
l_resource_list_name VARCHAR2(60);
l_resource_list_id NUMBER;
l_budget_lines_in pa_budget_pub.budget_line_in_tbl_type;
l_budget_lines_in_rec pa_budget_pub.budget_line_in_rec_type;
l_budget_lines_out pa_budget_pub.budget_line_out_tbl_type;
l_line_index NUMBER;
l_line_return_status VARCHAR2(1);
API_ERROR EXCEPTION;
BEGIN
––PRODUCT RELATED DATA
l_pm_product_code :=’SOMETHING’;
––BUDGET DATA
––l_pa_project_id:= 1138;
l_pm_project_reference := ’PROJECT_NAME’;
l_budget_type_code := ’AC’;
l_change_reason_code := ’ESTIMATING ERROR’;
l_description := ’New description –> 2’;
l_entry_method_code := ’PA_LOWEST_TASK_BY_DATE_RANGE’;
l_resource_list_id := 1014;
––BUDGET LINES DATA
a := 5;
FOR i IN 1..a LOOP
if i = 1 THEN
l_budget_lines_in_rec.pa_task_id := 2440;
l_budget_lines_in_rec.resource_list_member_id := 1401;
elsif i = 2 THEN
l_budget_lines_in_rec.resource_list_member_id := 1402;
l_budget_lines_in_rec.pa_task_id := 2443;
elsif i = 3 THEN
l_budget_lines_in_rec.resource_list_member_id := 1404;
l_budget_lines_in_rec.pa_task_id := 2446;
elsif i = 4 THEN
l_budget_lines_in_rec.resource_list_member_id := 1407;
l_budget_lines_in_rec.pa_task_id := 2449;
elsif i = 5 THEN
l_budget_lines_in_rec.resource_list_member_id := 1408;
l_budget_lines_in_rec.pa_task_id := 2452;
end if;
l_budget_lines_in_rec.quantity :=93;
l_budget_lines_in_rec.budget_start_date := ’05–MAY–95’;
l_budget_lines_in_rec.budget_end_date := ’09–MAY–95’;
l_budget_lines_in_rec.raw_cost :=300;
l_budget_lines_in(i) := l_budget_lines_in_rec;
END LOOP;
–––––––––––––––––––––––
––INIT_BUDGET
pa_budget_pub.init_budget;
–––––––––––––––––––––––
––LOAD_BUDGET_LINE
FOR i IN 1..a LOOP
pa_budget_pub.load_budget_line( p_api_version_number => l_api_version_number
,p_return_status => l_return_status
,p_pa_task_id => l_budget_lines_in(i).pa_task_id
,p_pm_task_reference => l_budget_lines_in(i).pm_task_reference
,p_resource_alias => l_budget_lines_in(i).resource_alias
,p_resource_list_member_id => l_budget_lines_in(i).resource_list_member_id
,p_budget_start_date => l_budget_lines_in(i).budget_start_date
,p_budget_end_date => l_budget_lines_in(i).budget_end_date
,p_period_name => l_budget_lines_in(i).period_name
,p_description => l_budget_lines_in(i).description
,p_raw_cost => l_budget_lines_in(i).raw_cost
,p_burdened_cost => l_budget_lines_in(i).burdened_cost
,p_revenue => l_budget_lines_in(i).revenue
,p_quantity => l_budget_lines_in(i).quantity );
END LOOP;
IF l_return_status != ’S’
THEN
RAISE API_ERROR;
END IF;
–––––––––––––––––––––––
––EXECUTE_CREATE_DRAFT_BUDGET
pa_budget_pub.execute_create_draft_budget
( p_api_version_number => l_api_version_number
,p_msg_count => l_msg_count
,p_msg_data => l_msg_data
,p_return_status => l_return_status
,p_pm_product_code => l_pm_product_code
,p_pa_project_id => l_pa_project_id
,p_pm_project_reference => l_pm_project_reference
,p_budget_type_code => l_budget_type_code
,p_change_reason_code => l_change_reason_code
,p_description => l_description
,p_entry_method_code => l_entry_method_code
,p_resource_list_name => l_resource_list_name
,p_resource_list_id => l_resource_list_id );
IF l_return_status != ’S’
THEN
null; ––RAISE API_ERROR;
END IF;
–––––––––––––––––––––––
––FETCH_LINE
FOR l_line_index in
1..PA_BUDGET_PUB.G_budget_lines_tbl_count LOOP
pa_budget_pub.fetch_budget_line( p_api_version_number => l_api_version_number
,p_return_status => l_return_status
,p_line_index => l_line_index
,p_line_return_status => l_line_return_status);
IF l_return_status != ’S’
OR l_line_return_status != ’S’
THEN
RAISE API_ERROR;
END IF;
END LOOP;
–––––––––––––––––––––––
––CLEAR_BUDGET
pa_budget_pub.clear_budget;
IF l_return_status != ’S’
THEN
RAISE API_ERROR;
END IF;
–––––––––––––––––––––––
––HANDLE EXCEPTIONS
EXCEPTION
WHEN API_ERROR THEN
for i in 1..l_msg_count loop
pa_interface_utils_pub.get_messages (p_msg_data => l_msg_data
,p_data => l_data
,p_msg_count => l_msg_count
,p_msg_index_out => l_msg_index_out );
dbms_output.put_line (’error mesg ’||l_data);
dbms_output.put_line (’error mesg ’||l_msg_data);
end loop;
WHEN OTHERS THEN
for i in 1..l_msg_count loop
pa_interface_utils_pub.get_messages (p_msg_data => l_msg_data
,p_data => l_data
,p_msg_count => l_msg_count
,p_msg_index_out => l_msg_index_out );
dbms_output.put_line (’error mesg ’||l_data);
end loop;
END;
/

複合データ型APIを使用した予算の作成

次のサンプルPL/SQLコードは、複合データ型を使用するAPI CREATE_DRAFT_BUDGETを使用して予算を作成するスクリプトです。複合データ型をサポートしないツールまたは製品を使用して予算を作成する場合は、「ロード-実行-フェッチAPIを使用した予算の作成」を参照してください。

 DECLARE
––variables needed for API standard parameters
l_api_version_number NUMBER :=1.0;
l_commit VARCHAR2(1):= ’F’;
l_return_status VARCHAR2(1);
l_init_msg_list VARCHAR2(1);
l_msg_count NUMBER;
l_msg_data VARCHAR2(2000);
l_data VARCHAR2(2000);
l_msg_entity VARCHAR2(100);
l_msg_entity_index NUMBER;
l_msg_index NUMBER;
l_msg_index_out NUMBER;
l_encoded VARCHAR2(1);
i NUMBER;
a NUMBER;
––variables needed for Oracle Projects–specific parameters
l_pm_product_codeVARCHAR2(10);
l_pa_project_id NUMBER;
l_pm_project_reference VARCHAR2(25);
l_budget_type_code VARCHAR2(30);
l_version_name VARCHAR2(30);
l_change_reason_code VARCHAR2(30);
l_description VARCHAR2(255);
l_entry_method_code VARCHAR2(30);
l_resource_list_name VARCHAR2(60);
l_resource_list_id NUMBER;
l_budget_lines_inpa_budget_pub.budget_line_in_tbl_type;
l_budget_lines_in_rec pa_budget_pub.budget_line_in_rec_type;
l_budget_lines_out pa_budget_pub.budget_line_out_tbl_type;
l_line_index NUMBER;
l_line_return_status VARCHAR2(1);
API_ERROR EXCEPTION;
BEGIN
––PRODUCT RELATED DATA
l_pm_product_code :=’SOMETHING’;
––BUDGET DATA
l_pm_project_reference := ’PROJECT_NAME’;
l_budget_type_code := ’AC’; ’––AR’; ––
l_change_reason_code := ’ESTIMATING ERROR’;
l_description := ’New description 2’;
l_version_name := ’New version ’;
l_entry_method_code := ’PA_LOWEST_TASK_BY_DATE_RANGE’;
l_resource_list_id := 1014;
––BUDGET LINES DATA
a := 5;
FOR i IN 1..a LOOP
if i = 1 THEN
l_budget_lines_in_rec.pa_task_id := 2440;
l_budget_lines_in_rec.resource_list_member_id := 1401;
elsif i = 2 THEN
l_budget_lines_in_rec.resource_list_member_id := 1402;
l_budget_lines_in_rec.pa_task_id := 2443;
elsif i = 3 THEN
l_budget_lines_in_rec.resource_list_member_id := 1404;
l_budget_lines_in_rec.pa_task_id := 2446;
elsif i = 4 THEN
l_budget_lines_in_rec.resource_list_member_id := 1407;
l_budget_lines_in_rec.pa_task_id := 2449;
elsif i = 5 THEN
l_budget_lines_in_rec.resource_list_member_id := 1408;
l_budget_lines_in_rec.pa_task_id := 2452;
end if;
l_budget_lines_in_rec.quantity :=93;
l_budget_lines_in_rec.budget_start_date := ’05–MAY–95’;
l_budget_lines_in_rec.budget_end_date := ’09–MAY–95’;
l_budget_lines_in_rec.raw_cost :=300;
l_budget_lines_in(i) := l_budget_lines_in_rec;
END LOOP;
–––––––––––––––––––––––
––INIT_BUDGET
pa_budget_pub.init_budget;
–––––––––––––––––––––––
––CREATE_DRAFT_BUDGET
pa_budget_pub.create_draft_budget
( p_api_version_number => l_api_version_number
,p_msg_count => l_msg_count
,p_msg_data => l_msg_data
,p_return_status => l_return_status
,p_pm_product_code => l_pm_product_code
,p_pa_project_id => l_pa_project_id
,p_pm_project_reference => l_pm_project_reference
,p_budget_type_code => l_budget_type_code
,p_change_reason_code => l_change_reason_code
,p_budget_version_name => l_version_name
,p_description => l_description
,p_entry_method_code => l_entry_method_code
,p_resource_list_name => l_resource_list_name
,p_resource_list_id => l_resource_list_id
,p_budget_lines_in => l_budget_lines_in
,p_budget_lines_out => l_budget_lines_out );
IF l_return_status != ’S’
THEN
RAISE API_ERROR;
END IF;
–––––––––––––––––––––––
––CLEAR_BUDGET
pa_budget_pub.clear_budget;
IF l_return_status != ’S’
THEN
RAISE API_ERROR;
END IF;
–––––––––––––––––––––––
––HANDLE EXCEPTIONS
EXCEPTION
WHEN API_ERROR THEN
for i in 1..l_msg_count loop
pa_interface_utils_pub.get_messages (
p_msg_data => l_msg_data
,p_data => l_data
,p_msg_count => l_msg_count
,p_msg_index_out => l_msg_index_out );
dbms_output.put_line (’error mesg ’||l_data);
end loop;

WHEN OTHERS THEN
for i in 1..l_msg_count loop
pa_interface_utils_pub.get_messages (
p_msg_data => l_msg_data
,p_data => l_data
,p_msg_count => l_msg_count
,p_msg_index_out => l_msg_index_out );
dbms_output.put_line (’error mesg ’||l_data);
end loop;
END;
/

計画金額のリフレッシュAPI

計画金額のリフレッシュAPIを使用すると、予算バージョン全体、または特定の計画資源に対してプロジェクトの換算レートまたは原価レートの一括リフレッシュを実行できます。このAPIの使用例を次に示します。

REFRESH_RATES

レートのリフレッシュ・プロシージャを使用すると、作業計画と財務計画の両方で換算レート、原価レートおよび請求レートをリフレッシュできます。プロシージャの内部名はpa_fp_calc_plan_pub.refresh_ratesです。このプロシージャは、パブリックAPIパッケージPA_FP_CALC_PLAN_PUB内にあります。

ビジネス・ルール

このプロシージャのすべてのパラメータの説明は、Oracle Integration Repositoryで参照できます。Oracle Integration Repositoryは、このマニュアルの「はじめに」で説明されています。このプロシージャの必須パラメータは次のとおりです。

ステータスAPI

外部システムを使用して、出来高および完了率に関してプロジェクトの進捗を計算および監視します。その後、ステータスAPIを使用して、「プロジェクト・ステータス照会」(および必要に応じて請求)をOracle Projectsに報告します。

注意: 「プロジェクト・ステータス照会」では、財務計画タイプを使用して作成した予算は報告されません。したがって、次に示す予算編成および予測に関するステータスAPIおよびビューでは、予算タイプを使用して作成した予算および予測のみが報告および処理されます。

この項で説明するステータス・ビューを使用すると、実績金額および予算金額を様々な書式で表示できます。

ステータスAPIのビューの概要

資源レベルでは、労務として追跡される資源に対して(数量ではなく)作業時間が集計されます。資源によって数量ではなく作業時間が追跡されるかどうかを調べるには、TRACK_AS_LABOR_FLAG列に対してRESOURCE_LIST_MEMBER_IDをPA_RESOURCE_LIST_Vに結合します。TRACK_AS_LABOR_FLAGがYである場合、列では資源の作業時間のみが追跡されます。そうでない場合は数量が集計されます。

より上位レベルのプロジェクトおよびタスク・レベルのビューについても、前述の作業時間と数量の集計ルールが適用されます。たとえば、TRACK_AS_LABOR_FLAGがYであるプロジェクト・レベルの労務資源では、集計済開始来累計原価、収益、予算および作業時間が表示される場合がありますが、数量は表示されません。

この作業時間と数量の追跡方法は、Oracle Projectsで事前定義済資源が集計される方法に基づいています。Oracle Projects内の資源はすべて、1つ以上の事前定義済資源の組合せとして定義できます。事前定義済資源には、次の3つの集計属性があります。

集計属性の値は、実績を資源にマップするために使用されるビュー内でハードコーディングされています。クライアントはビューを変更することで値を変更できます。ビューの論理については、次の2つの表で概説します。次の表に、事前定義済資源タイプに関連したビューの論理を示します。

事前定義済資源タイプ 労務として追跡 単位 実績数量の積上
従業員 Yes 時間 No
役職 Yes 時間 No
組織 Yes 時間 No
支出タイプ 労務として追跡の支出タイプ属性によって異なる 「支出タイプ」に指定された単位 Yes
イベント・タイプ No ブランク No
仕入先 No ブランク No
支出カテゴリ 「支出カテゴリ」に労務支出タイプが含まれるかどうかによって異なる 資源タイプが労務として追跡されるかどうかによって異なる No
収益カテゴリ 「収益カテゴリ」に労務支出タイプが含まれるかどうかによって異なる 資源タイプが労務として追跡されるかどうかによって異なる No

次の表に、事前定義済資源に関連したビューの論理を示します。

事前定義済資源 労務として追跡 単位 実績数量の積上
未カテゴリ Yes 時間 No
未分類 No ブランク No

未カテゴリ資源を労務追跡として定義することで、クライアントは未カテゴリ予算の入力時に作業時間を予算編成できます。

資源に対する条件付き作業時間および数量問合せを容易にするために、TRACK_AS_LABOR_FLAGは資源メンバー・リスト表でも保持されます。TRACK_AS_LABOR_FLAG列の問合せはPA_RESOURCE_LIST_Vビュー経由で行えます。

プロジェクト・レベルの資源ビューでSELECT文を記述するには、次のようなSQL文を記述して、資源別に作業時間または数量を条件付きで返すことができます。

SELECT rl.resource_alias List
, decode(rl.resource_track_as_labor_flag,’Y’,
ara.actuals_labor_hours_itd,
’N’, ara.actuals_quantity_itd, 0) Units
, ara.actuals_labor_hours_itd Hours
, ara.actuals_quantity_itd Qty
FROM pa_resource_list_v rl
, pa_accum_rsrc_act_v ara
WHERE ara.resource_list_member_id =
rl.resource_list_member_id
AND rl.resource_list_id = 1000
AND ara.project_id = 1043
AND ara.task_id = 0

資源リスト識別コード、プロジェクト識別コードおよび取得データはデータベースごとに異なりますが、前述のSELECT文は次の表に示すような値を返します。

リスト 単位 時間 数量
労務 406 406 0
Senior.Consultant 40 40 0
Principal.Consultant 122 122 0
Senior.Engineer 164 164 0
Principal.Engineer 80 80 0
出張 4372 0 4372
航空出張 3762 0 3762
個人自動使用 105 0 105
社内控除 222 0 222
コンピュータ・サービス 62 0 62
自動車レンタル 50 0 50
食事 125 0 125
その他資産 160 0 160
その他費用 225 0 225
宿泊施設 330 0 330
その他費用 225 0 225

ステータスAPIのビュー

次の表に、ステータスAPIのパラメータ・データを提供するビューを示します。ビューの詳細は、OracleMetaLinkで入手可能なOracle eTRMを参照してください。

ビュー 説明
PA_ACCUM_CMT_TXNS_V プロジェクト、タスクおよび資源関連の取引約定を取得します。これらの取引約定には、取引約定番号、日付、支出タイプ、支出組織などの明細属性が含まれます。このビューは3つの主要なプロジェクト関連取引約定のセット、つまり、プロジェクト・レベル取引約定(TASK_IDおよびRESOURCE_LIST_MEMBER_IDはゼロ)、プロジェクト/タスク・レベル取引約定(RESOURCE_LIST_MEMBER_IDはゼロ)およびプロジェクト/タスク/資源レベル取引約定を取得します。
PA_ACCUM_RSRC_ACT_V 現行プロジェクトおよびタスク・レベルの資源実績原価および収益要約金額を、開始来累計、年累計、前期および期間累計の期間別に返します。
PA_ACCUM_RSRC_CMT_V 現行プロジェクトおよびタスク・レベルの資源取引約定要約金額を、開始来累計、年累計、前期および期間累計の期間別に返します。
PA_ACCUM_RSRC_COST_BGT_V プロジェクトおよびタスク・レベルの資源原価予算要約金額を、開始来累計、年累計、前期、期間累計および合計の期間別に返します。
PA_ACCUM_RSRC_REV_BGT_V プロジェクトおよびタスク・レベルの資源収益予算要約金額を、開始来累計、年累計、前期、期間累計および合計の期間別に返します。
PA_ACCUM_WBS_ACT_V 現行プロジェクトおよびタスク・レベルの実績原価および収益要約金額を、開始来累計、年累計、前期および期間累計の期間別に返します。
PA_ACCUM_WBS_CMT_V 現行プロジェクトおよびタスク・レベルの取引約定要約金額を、開始来累計、年累計、前期および期間累計の期間別に返します。
PA_ACCUM_WBS_COST_BGT_V プロジェクトおよびタスク・レベルの原価予算要約金額を、開始来累計、年累計、前期、期間累計および合計の期間別に返します。
PA_ACCUM_WBS_REV_BGT_V プロジェクトおよびタスク・レベルの収益予算要約金額を、開始来累計、年累計、前期、期間累計および合計の期間別に返します。
PA_ACT_BY_GL_PERIOD_V 最下位タスクおよび資源の実績原価および収益合計をGL期間別に返します。
PA_ACT_BY_PA_PERIOD_V 最下位タスクおよび資源の実績原価および収益合計をPA期間別に返します。
PA_BURDEN_COMPONENT_CMT_V 取引約定間接費構成要素を、取引集計レコードごとに資源、PA期間名、支出タイプ、支出組織および間接費セット別に返します。
PA_BURDEN_COMPONENT_COST_V 実績間接費構成要素を、取引集計レコードごとに資源、PA期間名、支出タイプ、支出組織および間接費セット別に返します。このビューは、間接費計算済の資源に対してのみ間接費構成要素を返します。
PA_CMT_BY_GL_PERIOD_V 最下位タスクおよび資源の現行取引約定合計をGL期間別に返します。
PA_CMT_BY_PA_PERIOD_V 最下位タスクおよび資源の現行取引約定合計をPA期間別に返します。
PA_GL_PERIODS_V GL期間およびその開始日と終了日に対するPA_PERIODS表のビュー。
PA_PA_PERIODS_V PA期間およびその開始日と終了日に対するPA_PERIODS表のビュー。
PA_PM_REFERENCE_V プロジェクトおよびタスクに対して外部システムからOracle Projects識別子および参照コードを取得します。
PA_TASK_ASSIGNMENTS_AMG_V ユーザーの職責に関連付けられた組織に対するすべての有効なタスク割当進捗に関する情報を取得します。
PA_TASK_PROGRESS_AMG_V ユーザーの職責に関連付けられた組織のすべての有効なタスク進捗に関する情報を取得します。
PA_TXN_ACCUM_V 様々な取引属性別に詳細情報を表示します。取引属性には、「個人」、「役職」、「組織」、「仕入先」、「支出タイプ」、「イベント・ タイプ」、「非労務資源」、「支出カテゴリ」、「収益カテゴリ」、「非労務資源組織」、「イベント・タイプ分類」、「システム・リンケージ機能」、「週末日」などがあります。

ステータスAPIのプロシージャ

この項で説明するプロシージャを次に示します。これらのプロシージャは、パブリックAPIパッケージPA_STATUS_PUB内にあります。

レコードおよび表のデータ型

以降のページに、APIで使用されるレコードおよび表のデータ型を定義します。

PA_TASK_PROGRESS_LIST_REC_TYPEデータ型

次の表に、PA_TASK_PROGRESS_LIST_REC_TYPEデータ型を示します。

名称 タイプ 必須であるか 説明
TASK_ID NUMBER Yes(PM_TASK_REFERENCEが指定されていない場合) Oracle Projectsでプロジェクト内のタスクを一意に識別する参照コード
TASK_NAME VARCHAR2 (20) No タスク名
TASK_NUMBER VARCHAR2(25) No タスクの要素番号またはタスク番号
PM_TASK_REFERENCE VARCHAR2 (250) Yes(TASK_IDが指定されていない場合) 外部システム内の体系またはタスクを一意に識別する参照コード
PERCENT_COMPLETE NUMBER Yes オブジェクトの完了率
DESCRIPTION VARCHAR2 (250) No 進捗概要または摘要
OBJECT_ID NUMBER Yes 体系、タスクまたは成果物のプロジェクト要素ID、あるいはOracle Projects内の割当の資源リスト・メンバーID
OBJECT_VERSION_ID NUMBER Yes タスクまたは成果物の要素バージョンID
OBJECT_TYPE VARCHAR2 (30) Yes オブジェクト・タイプ: プロジェクト・レベルの進捗ではPA_STRUCTURES、タスク・レベルの進捗ではPA_TASKS、割当レベルの進捗ではPA_ASSIGNMENTS、成果物レベルの進捗ではPA_DELIVERABLES
PROGRESS_STATUS_CODE VARCHAR2 (150) Yes 進捗ステータス・コード
PROGRESS_COMMENT VARCHAR2 (4000) No 進捗コメント
ACTUAL_START_DATE DATE No 実績開始日
ACTUAL_FINISH_DATE DATE No 実績終了日
ESTIMATED_START_DATE DATE No 見積開始日
ESTIMATED_FINISH_DATE DATE No 見積終了日
SCHEDULED_START_DATE DATE No 予定開始日
SCHEDULED_FINISH_DATE DATE No 予定終了日
TASK_STATUS VARCHAR2 (150) Yes タスク・ステータス・コードまたは成果物ステータス・コード
EST_REMAINING_EFFORT NUMBER No 完了見積従事
ACTUAL_WORK_QUANTITY NUMBER No 実績作業数量(最下位レベルのタスクにのみ適用)
LOWEST_LEVEL_TASK VARCHAR2(1)   内部専用
PROGRESS_MODE VARCHAR2 (30)   内部専用
ETC_COST NUMBER No 完了見積原価
PM_DELIVERABLE_REFERENCE VARCHAR2 (150) No 成果物参照
PM_TASK_ASSIGN_REFERENCE VARCHAR2 (150) No タスク割当参照
ACTUAL_COST_TO_DATE NUMBER No 取引通貨での累積実績原価
ACTUAL_EFFORT_TO_DATE NUMBER No 累積実績従事

必須パラメータおよびパラメータ値

次の表に、UPDATE_PROGRESSおよびLOAD_TASK PROGRESS APIを使用してプロジェクト、タスク、割当および成果物の進捗情報を更新する際に必要なパラメータを示します。

プロジェクトに必要なパラメータ

次の表に、UPDATE_PROGRESSおよびLOAD_TASK PROGRESS APIを使用してプロジェクトの進捗情報を更新する際に必要なパラメータを示します。

パラメータ名 コメント
P_PROJECT_ID P_PM_PROJECT_REFERENCEを指定しない場合に必須
P_PM_PROJECT_REFERENCE P_PM_PROJECT_IDを指定しない場合に必須
P_PM_PRODUCT_CODE  
P_PM_STRUCTURE_TYPE  
P_AS_OF_DATE  
P_TASK_ID 値= 0
P_PM_TASK_REFERENCE P_TASK_IDを指定しない場合に必須
P_OBJECT_ID 値= STRUCTURE ID
P_OBJECT_VERSION_ID 値= STRUCTURE VERSION ID
P_OBJECT_TYPE 値= PA_STRUCTURES
P_PROGRESS_STATUS_CODE  
P_TASK_STATUS  

タスクに必要なパラメータ

次の表に、UPDATE_PROGRESSおよびLOAD_TASK PROGRESS APIを使用してタスクの進捗情報を更新する際に必要なパラメータを示します。

パラメータ名 コメント
P_PROJECT_ID P_PM_PROJECT_REFERENCEを指定しない場合に必須
P_PM_PROJECT_REFERENCE P_PM_PROJECT_IDを指定しない場合に必須
P_PM_PRODUCT_CODE  
P_PM_STRUCTURE_TYPE  
P_AS_OF_DATE  
P_TASK_ID P_PM_TASK_REFERENCEを指定しない場合に必須
P_PM_TASK_REFERENCE P_TASK_IDを指定しない場合に必須
P_OBJECT_ID 値= TASK ID
P_OBJECT_VERSION_ID 値= TASK VERSION ID
P_OBJECT_TYPE 値= PA_TASKS
P_PROGRESS_STATUS_CODE  
P_TASK_STATUS  

割当に必要なパラメータ

次の表に、UPDATE_PROGRESSおよびLOAD_TASK PROGRESS APIを使用して割当の進捗情報を更新する際に必要なパラメータを示します。

パラメータ名 コメント
P_PROJECT_ID P_PM_PROJECT_REFERENCEを指定しない場合に必須
P_PM_PROJECT_REFERENCE P_PM_PROJECT_IDを指定しない場合に必須
P_PM_PRODUCT_CODE  
P_PM_STRUCTURE_TYPE  
P_AS_OF_DATE  
P_TASK_ID P_PM_TASK_REFERENCEを指定しない場合に必須
P_PM_TASK_REFERENCE P_TASK_IDを指定しない場合に必須
P_OBJECT_ID 値= RESOURCE LIST MEMBER ID
P_OBJECT_VERSION_ID 値= RESOURCE LIST MEMBER VERSION ID
P_OBJECT_TYPE 値= PA_ASSIGNMENTS
P_PROGRESS_STATUS_CODE  
P_TASK_STATUS  

成果物に必要なパラメータ

次の表に、UPDATE_PROGRESSおよびLOAD_TASK PROGRESS APIを使用して成果物の進捗情報を更新する際に必要なパラメータを示します。

パラメータ名 コメント
P_PROJECT_ID P_PM_PROJECT_REFERENCEを指定しない場合に必須
P_PM_PROJECT_REFERENCE P_PM_PROJECT_IDを指定しない場合に必須
P_PM_PRODUCT_CODE  
P_PM_STRUCTURE_TYPE  
P_AS_OF_DATE  
P_TASK_ID P_PM_TASK_REFERENCEを指定しない場合に必須
P_PM_TASK_REFERENCE P_TASK_IDを指定しない場合に必須
P_OBJECT_ID 値= DELIVERABLE ID
P_OBJECT_VERSION_ID 値= DELIVERABLE VERSION ID
P_OBJECT_TYPE 値= PA_DELIVERABLES
P_PROGRESS_STATUS_CODE  
P_TASK_STATUS  

関連トピック

UPDATE_PROGRESS

LOAD_TASK_PROGRESS

ステータスAPIのプロシージャの定義

この項では、ステータスAPIを説明します。

UPDATE_EARNED_VALUE

UPDATE_EARNED_VALUEは、最下位タスクと資源の組合せに対してPA_EARNED_VALUES表の出来高情報を更新するPL/SQLプロシージャです。このプロシージャを使用すると、プロジェクト/タスク行を更新することもできます。

このプロシージャは、表PA_EARNED_VALUES内に新規の行を作成します。プロジェクト、タスクおよび資源の組合せごとに最後に挿入された行に対して、CURRENT_FLAGは常にYに設定されます。他のすべての行については、CURRENT_FLAGはNに設定されます。

プロジェクト/タスク行を作成するには、RESOURCE_LIST_MEMBER_IDパラメータに対してゼロを渡します。プロジェクト行を作成するには、TASK_IDとRESOURCE_LIST_MEMBER_IDの両方のパラメータに対してゼロを渡します。

注意: このAPIでは、外部システムの仕入先がどのプロジェクトでもすべてのレベルに対して適切な出来高データを保持しているものと想定します。

このプロシージャのすべてのパラメータの説明は、Oracle Integration Repositoryで参照できます。Oracle Integration Repositoryは、このマニュアルの「はじめに」で説明されています。UPDATE_EARNED_VALUEの必須パラメータは次のとおりです。

UPDATE_PROGRESS

UPDATE_PROGRESSは、作業分解構造のすべてのレベルに対して特定の日付の時点でPA_PERCENT_COMPLETES表内の進捗情報を更新するPL/SQLプロシージャです。

特定のプロジェクトについては、タスク識別子がゼロの場合、パラメータはプロジェクト・レベルの行に適用されます。タスク識別子がゼロより大きい場合、パラメータはタスク・レベルの行に適用されます。

プロジェクトの作業分解構造からタスクを追加しても、PA_PERCENT_COMPLETES表内の対応する行には影響しません。プロジェクトとタスクの組合せに対する行がまだ存在しない場合、このAPIを実行するとPA_PERCENT_COMPLETES表内に新規の行が挿入されます。

ビジネス・ルール

このプロシージャは、表PA_PERCENT_COMPLETES内に新規の行を作成します。プロジェクト、タスクおよび資源の組合せごとに最後に挿入された行に対して、CURRENT_FLAGは常にYに設定されます。他のすべての行については、CURRENT_FLAGはNに設定されます。

プロジェクト行を作成するには、TASK_IDでゼロを渡す必要があります。

注意: このAPIでは、外部システムの仕入先がどのプロジェクトでも作業分解構造のレベルごとに適切な進捗データの積上を保持しているものと想定します。ただし、進捗情報の入力はオプションです。

注意: プロジェクト、タスク、割当または成果物の進捗情報を更新する際にパラメータが必要かどうかの詳細は、「ステータスAPIパラメータ」を参照してください。

このプロシージャのすべてのパラメータの説明は、Oracle Integration Repositoryで参照できます。Oracle Integration Repositoryは、このマニュアルの「はじめに」で説明されています。UPDATE_PROGRESSの必須パラメータは次のとおりです。

LOAD_TASK_PROGRESS

LOAD_TASK_PROGRESSは、PL/SQLデータ構造内に進捗情報をロードするために使用するロード-実行-フェッチPL/SQLプロシージャです。

注意: プロジェクト、タスク、割当または成果物の進捗情報を更新する際にパラメータが必要かどうかの詳細は、「ステータスAPIパラメータ」を参照してください。

このプロシージャのすべてのパラメータの説明は、Oracle Integration Repositoryで参照できます。Oracle Integration Repositoryは、このマニュアルの「はじめに」で説明されています。LOAD_TASK_PROGRESSの必須パラメータは次のとおりです。

EXECUTE_UPDATE_TASK_PROGRESS

EXECUTE_UPDATE_TASK_PROGRESSは、Oracle Projectsで進捗情報を更新するために使用するロード-実行-フェッチPL/SQLプロシージャです。

このプロシージャは、表PA_PERCENT_COMPLETES内に新規の行を作成します。プロジェクト、タスクおよび資源の組合せごとに最後に挿入された行に対して、CURRENT_FLAGは常にYに設定されます。他のすべての行については、CURRENT_FLAGはNに設定されます。

プロジェクト行を作成するには、TASK_IDでゼロを渡す必要があります。

注意: このAPIでは、外部システムの仕入先がどのプロジェクトでも作業分解構造のレベルごとに適切な進捗データの積上を保持しているものと想定します。ただし、進捗情報の入力はオプションです。

このプロシージャのすべてのパラメータの説明は、Oracle Integration Repositoryで参照できます。Oracle Integration Repositoryは、このマニュアルの「はじめに」で説明されています。EXECUTE_UPDATE_TASK_PROGRESSの必須パラメータは次のとおりです。

INIT_UPDATE_TASK_PROGRESS

INIT_UPDATE_TASK_PROGRESSは、内部PL/SQL表を初期化するために使用するユーティリティです。EXECUTE_UPDATE_TASK_PROGRESS APIへの各呼出し前にこのAPIを呼び出すことをお薦めします。

このプロシージャのすべてのパラメータの説明は、Oracle Integration Repositoryで参照できます。Oracle Integration Repositoryは、このマニュアルの「はじめに」で説明されています。INIT_UPDATE_TASK_PROGRESSの必須パラメータは次のとおりです。

カスタム集計レポートAPI

カスタム集計レポートAPIを使用すると、カスタム集計レポートをより的確に管理できます。

実績集計API

実績集計APIを使用すると、Oracle ProjectsまたはOracle General Ledger期間の単一期間または一連の期間に対して金額を取得できます。実績原価、収益および取引約定金額を取得できます。

このAPIをレポート作成に使用する方法を理解するには、『Oracle Projects基礎』マニュアルで次のOracle Projectsレポートに関する説明を参照してください。

実績集計APIのパッケージ名はpa_accum_apiです。対応するファイル名は次のとおりです。

実績集計APIには、次のプロシージャが含まれています。

実績集計APIのプロシージャ

次のプロシージャのすべてのパラメータの説明は、Oracle Integration Repositoryで参照できます。Oracle Integration Repositoryは、このマニュアルの「はじめに」で説明されています。

GET_PROJECT_ACCUM_ACTUALS

これは、プロジェクト・レベルで実績原価、収益および取引約定金額を取得するためのプライマリ・プロシージャです。

GET_PROJECT_ACCUM_ACTUALSの必須パラメータは、次のとおりです。

重要: 集計プロジェクトまたはタスク金額の取得中にパラメータx_resource_list_member_idに対してこのプロシージャに値を渡すと、このプロシージャによってGET_PROJ_RES_ACCUMプロシージャが呼び出されます。パラメータx_resource_list_member_idに対して値を渡さない場合は、このプロシージャによってGET_PROJ_TXN_ACCUMプロシージャが呼び出されます。

GET_PROJ_RES_ACCUM

このプロシージャは、プロシージャGET_PROJECT_ACCUM_ACTUALSに対してパラメータx_resource_list_member_idで指定された資源の実績原価、収益および取引約定金額を取得します。

このプロシージャの必須パラメータは次のとおりです。

GET_PROJ_TXN_ACCUM

このプロシージャは、原価、収益、取引約定など、様々な取引タイプの集計金額を取得します。

このプロシージャの必須パラメータは次のとおりです。

予算集計API

予算集計APIはカスタム・レポートに使用できます。このAPIは、任意の予算基本編成用に予算データを取得します。プロジェクト要約の更新プロセスを実行せずに予算データを取得できます。

注意: 予算集計APIでは、財務計画タイプを使用して作成した予算はサポートされません。

このAPIは、次の項目別に予算金額を返します。

予算レベルに対応するTASK_IDを渡すかぎり、予算集計APIでは、プロジェクトおよびタスク作業分解構造の任意のレベルに割り当てられた予算に対して集計金額を返すことができます。たとえば、プロジェクトが最上位タスクで予算編成されている場合に、予算集計APIに最下位タスクを渡すと、APIによってゼロの予算金額が返されます。

集計パッケージの名称はpa_accum_api、予算プロシージャの名称はget_proj_accum_budgetsです。

パラメータ

このプロシージャのすべてのパラメータの説明は、Oracle Integration Repositoryで参照できます。Oracle Integration Repositoryは、このマニュアルの「はじめに」で説明されています。

プロジェクト実績レポートAPI

プロジェクト実績レポートAPIを使用すると、プロジェクトごとに「資源要約」ページまたは「資源分析」ページにナビゲートしなくても、プロジェクト間で資源のベース要約データを集計できます。その後、複数プロジェクトの資源要約金額を分析して、独自のカスタム・レポートを作成できます。データが不要になった場合は、プロジェクト実績レポートAPIを使用して、作成した資源積上要約金額を削除し、システム・パフォーマンスを向上させることをお薦めします。

プロジェクト実績レポートAPIのパッケージ名はpji_perf_rptg_pubです。対応するファイル名は次のとおりです。

プロジェクト実績レポートAPIには、次のプロシージャが含まれています。

このプロシージャのすべてのパラメータの説明は、Oracle Integration Repositoryで参照できます。Oracle Integration Repositoryは、このマニュアルの「はじめに」で説明されています。

CREATE_RESOURCE_ROLLUP

このプロシージャは、PJI_ROLLUP_LEVEL_STATUS表内の指定プロジェクトおよび体系と、PJI_FP_XBS_ACCUM_F表内の対応する積上資源要約金額詳細に対してヘッダー情報を挿入します。

次のCREATE_RESOURCE_ROLLUPパラメータが必須です。

DELETE_RESOURCE_ROLLUP

このプロシージャは、PJI_ROLLUP_LEVEL_STATUS表内の指定プロジェクトおよび体系と、PJI_FP_XBS_ACCUM_F表内の対応する積上資源要約金額詳細に対してヘッダー情報を削除します。

次のDELETE_RESOURCE_ROLLUPパラメータが必須です。