ヘッダーをスキップ

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

Oracle Project Foundation API

この章では、次の情報用のAPIを実装する方法を説明します。

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

プロジェクトの定義API

この章では、外部システムのプロジェクト・データをOracle Projectsと統合するために使用できるAPIについて詳しく説明します。また、次のことをリアルタイムで検証するために使用するPL/SQLプロシージャについても詳しく説明します。

任意の外部システムを使用して詳細なプロジェクト計画を開発します。その後、プロジェクトAPIを使用して計画をOracle Projectsにプッシュし、計画の情報に基づいてプロジェクトを作成します。プロジェクト計画の展開に伴って外部システムでプロジェクト情報を更新してから、2つのシステムを定期的に同期化します。プロジェクトAPIによってOracle Projectsでタスク情報および作業分解構造(WBS)が更新され、外部システムで行った変更が反映されます。

注意: プロジェクト識別子が必要なプロジェクトAPIを呼び出す場合は、P_PA_PROJECT_IDまたはP_PM_PROJECT_REFERENCEパラメータを渡してプロジェクトを識別する必要があります。

プロジェクトの定義APIのビュー

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

ビュー 説明
PA_CUSTOMERS_LOV_V Oracle Projectsで定義または使用される顧客を取得します。
PA_CLASS_CATEGORIES_LOV_V Oracle Projectsで定義された区分コードを取得します。display_nameフィールド(PA_OVERRIDE_FIELDS_Vビューで取得済)の値を使用すると、区分カテゴリに関連付けられた区分コードのみを表示できます。たとえば、「Select code description from pa_class_categories_lov_v where class_category = 'Funding Source'」です。
PA_DISCOUNT_CODES_LOV_V 参照タイプRATE AND DISCOUNT REASONに指定されている割引事由を取得します。パラメータLABOR_DISC_REASON_CODEおよびNON_LABOR_DISC_REASON_CODEの検証に使用されます。
PA_DISTRIBUTION_RULES_LOV_V Oracle Projectsで定義された収益配分ルールを取得します。
PA_EMPLOYEE_SCHEDULES_LOV_V 従業員予定表を取得します。次のような従業員予定表のみが取得されます。
- プロジェクトのMULTI_CURRENCY_BILLING_FLAGがYでない場合、RATE_SCH_CURRENCY_CODEがプロジェクト機能通貨と一致する予定表のみが取得されます。
- SHARE_ACROSS_OU_FLAGがYに設定されているか、営業単位がプロジェクトの営業単位と一致する予定表のみが取得されます。
PA_JOB_SCHEDULES_LOV_V 役職予定表を取得します。次のような役職予定表のみが取得されます。
- プロジェクトのMULTI_CURRENCY_BILLING_FLAGがYでない場合、RATE_SCH_CURRENCY_CODEがプロジェクト機能通貨と一致する予定表のみが取得されます。
- SHARE_ACROSS_OU_FLAGがYに設定されているか、営業単位がプロジェクトの営業単位と一致する予定表のみが取得されます。
- JOB_GROUP_IDがプロジェクトのプロジェクト・タイプに対して定義されている役職グループと一致する予定表のみが取得されます。
PA_INVOICE_SCHEDULES_LOV_V 有効な請求書間接費予定表を取得します。
PA_KEY_MEMBERS_LOV_V Oracle Projectsからチーム・メンバーの名前および従業員識別番号を取得します。注意: pa_employeesは、Oracle Projectsで定義されたすべての従業員を返します。
PA_ORG_NL_SCHDL_LOV_V 非労務予定表を取得します。次のような非労務予定表のみが取得されます。
- プロジェクトのMULTI_CURRENCY_BILLING_FLAGがYでない場合、RATE_SCH_CURRENCY_CODEがプロジェクト機能通貨と一致する予定表のみが取得されます。
- SHARE_ACROSS_OU_FLAGがYに設定されているか、営業単位がプロジェクトの営業単位と一致する予定表のみが取得されます。
PA_ORGANIZATIONS_LOV_V Oracle Projectsで定義された組織の名称を取得します。
PA_OVERRIDE_FIELDS_V プロジェクト・テンプレートに関連付けられたクイック入力フィールドのプロンプトを取得します。このビューの詳細は、「PA_OVERRIDE_FIELDS_Vの詳細」を参照してください。
PA_OVERRIDE_FIELD_VALUES_V プロジェクトの作成時にクイック入力フィールドに渡された値を取得します。
PA_PROJECT_STATUS_LOV_V Oracle Projectsからプロジェクト・ステータスを取得します。
PA_PROJECTS_AMG_V ユーザーの職責に関連付けられた組織のプロジェクト情報を取得します。このビューには、プロジェクトとその関連属性のリストが表示されます。
PA_REVENUE_SCHEDULES_LOV_V 有効な収益間接費予定表を取得します。
PA_SELECT_TEMPLATE_V Oracle Projectsで定義されたプロジェクト・テンプレートおよびプロジェクトを取得します。

PA_OVERRIDE_FIELDS_Vの詳細

次の表に、プロジェクト識別コードが1020で、すべてのクイック入力フィールドが使用可能になっているプロジェクトについて、PA_OVERRIDE_FIELDS_Vビューのいくつかの列の内容を示します。すべての列のIDフィールド値は1020です。

フィールド名 表示名 タイプ 順序 必須であるか ビュー名
NAME プロジェクト 名   20 Y  
DESCRIPTION プロジェクト摘要   30 N  
START_DATE プロジェクト開始日   40 N  
COMPLETION_DATE プロジェクト完了日   50 N  
PROJECT_STATUS
_CODE
プロジェクト・ ステータス   60 N PA_PROJECT
_STATUS_LOV_V
PUBLIC_SECTOR
_FLAG
公共部門   70 N  
DISTRIBUTION_RULE 配分ルール   80 N PA_DISTRIBUTION_RULES
_LOV_V
CARRYING_OUT
_ ORGANIZATION_ID
組織   90 N PA_ORGANIZATIONS_LOV_V
KEY_MEMBER プロジェクト・マネージャ PROJECT MANAGER 100 Y PA_KEY_MEMBERS
_LOV_V
KEY_MEMBER プロジェクト・コーディネータ プロジェクト・コーディネータ 110 N PA_KEY_MEMBERS
_LOV_V
CLASSIFICATION 資金調達ソース 資金調達ソース 120 Y PA_CLASS_CATEGORIES
_LOV_V
CLASSIFICATION マーケット・セクター マーケット・セクター 130 N PA_CLASS_CATEGORIES
_LOV_V
CUSTOMER_NAME 顧客名 PRIMARY 140 N PA_CUSTOMERS_LOV_V

有効な値を選択するために使用するビューのすべてにCODE列とDESCRIPTION列があります。これら2つの列およびLOV_VIEW_NAMEフィールドの値を使用して、クイック入力フィールドの有効な値を取得します。有効な値はCODEフィールドに保存されます。次の表に、クイック入力フィールドの有効な値を示します。

クイック入力フィールド 有効な値
NAME (未検証)
CARRYING_OUT_ ORGANIZATION_ID PA_ORGANIZATIONS_LOV_V
PUBLIC_SECTOR_FLAG YまたはN
PROJECT_STATUS_CODE PA_PROJECT_STATUS_LOV_V
DESCRIPTION (未検証)
START_DATE DD-MON-YY書式(たとえば、10-SEP-68)
COMPLETION_DATE DD-MON-YY書式(たとえば、13-JUL-94)
DISTRIBUTION_RULE PA_DISTRIBUTION_RULES_LOV_V
CUSTOMER_ID PA_CUSTOMERS_LOV_V(現在、デフォルトのCUSTOMER_ RELATIONSHIP_CODEはPRIMARYです。その他の値は使用できません)
KEY_MEMBERS(複数) PA_KEY_MEMBERS_LOV_V
CLASS_CATEGORIES(複数) PA_CLASS_CATEGORIES_LOV_V

プロジェクトの定義APIのプロシージャ

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

プロジェクトの定義APIのプロシージャ定義

この項では、プロジェクトの定義APIについて、ビジネス・ルールおよびパラメータも含めて説明します。

プロジェクトの定義APIの共通パラメータ

次の説明は、プロジェクトの定義APIを通じて使用される列に該当します。

PM_PROJECT_REFERENCE

Oracle Projectsでプロジェクトの作成に使用するシステムによって、各プロジェクトに一意の番号が割り当てられます。プロジェクト番号を自動生成するか、番号の手動入力をサポートするように、Oracle Projectsを設定できます。

Oracle Projectsで自動採番を設定した場合は、次のことが行われます。

Oracle Projectsで手動採番を設定した場合、外部システムによって割り当てられた番号はSEGMENT1とPM_PROJECT_REFERENCEの両方に保存されます。

注意: Oracle Projectsのウィンドウには、プロジェクト番号としてSEGMENT1のみが表示されます。したがって、Oracle Projectsを外部システムと統合する予定がある場合は、手動採番をサポートするようにOracle Projectsを設定してください。

プロジェクトおよびタスクの開始日と終了日

ほとんどの外部システムでは、プロジェクトおよびタスクに対して追加の開始日と終了日が保持されます。クライアント機能拡張を使用して(デフォルトのOracle Projectsのプロジェクト日付ではなく)これらの追加の日付を渡す方法は、「プロジェクトおよびタスク日付機能拡張」を参照してください。

CREATE_PROJECT

CREATE_PROJECTは、テンプレートまたは既存のプロジェクトを使用してOracle Projectsでプロジェクトを作成するPL/SQLプロシージャです。

注意: タスクを持つプロジェクトまたはテンプレートをコピーしようとする場合、CREATE_PROJECTでは、新規作成されたプロジェクトにWBS体系はコピーされません。また、「プロジェクトの作成時に作業計画を自動公開」オプションが選択されたテンプレートをコピーしようとする場合にも、CREATE_PROJECTでは、新規作成されたプロジェクトにWBS体系はコピーされません。

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

注意: Oracle Projects APIを使用して付加フレックスフィールドをロードする際に、DFFがコンテキスト依存ではない場合、パラメータATTRIBUTE_CATEGORYには「グローバル・データ要素」などの値が必要です。それ以外の場合、APIによって行はインポートされません。

ビジネス・ルール

Oracle Projectsは次のビジネス・ルールを課します。

計画検証の実行

P_OP_VALIDATE_FLAGパラメータに「N」を設定した場合、計画データのタイプを指定するための余分な検証を消去します。不要な計画検証はシステム・パフォーマンスを遅くします。

サード・パーティの計画ツールをOracle Projectsと統合するためにこのAPIを使用している場合、P_OP_VALIDATE_FLAGを「N」に設定する必要があります。サード・パーティの計画ツールが次の検証を実行できる場合、このパラメータを「N」に設定してください。

APIを使用して前述の広範囲な検証を実行しないレガシー・システムからデータをアップロードしている場合、P_OP_VALIDATE_FLAGを「Y」に設定する必要があります。Oracle Projectsでのデータ整合性を確実にするために、計画データを検証する必要があります。

CREATE_PROJECTのパラメータ

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

値が必要なCREATE_PROJECTのパラメータは、次のとおりです。

DELETE_PROJECT

DELETE_PROJECTは、Oracle Projectsからプロジェクトとそのタスクを削除するために使用するPL/SQLプロシージャです。

ビジネス・ルール(プロジェクト・レベル)

次の項目のいずれかが存在する場合は、プロジェクトを削除できません。

ビジネス・ルール(タスク・レベル)

プロジェクトのタスクのいずれかが削除できない場合、そのプロジェクトは削除できません。チェック・プロシージャCHECK_DELETE_TASK_OKを使用して、特定のタスクを削除できるかどうかを確認します。次のいずれかが存在する場合、タスクは削除できません。

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

値が必要なDELETE_PROJECTのパラメータは、次のとおりです。

UPDATE_PROJECT

UPDATE_PROJECTは、外部システムで行った変更を反映するために外部システムからOracle Projectsにプロジェクトおよびタスク情報を更新するPL/SQLプロシージャです。

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

Oracle Projectsでは、プロジェクトおよびタスク情報に対して行える変更を制限する、プロジェクト・レベルおよびタスク・レベルのビジネス・ルールが課せられます。外部システムで行ったプロジェクトまたはタスクの変更がすべてOracle Projectsで確実に受け入れられるように、外部システムで変更を行う前に、次のルールを確認してください。チェック・プロシージャを使用して、Oracle Projectsでサポートされる変更のタイプを確認することもできます。

更新モード

「更新モード」パラメータには、2つの値(PA_UPD_WBS_ATTRおよびPA_UPD_TASK_ATTR)が指定できます。

値PA_UPD_WBS_ATTRを指定すると、次の効果があります。

値PA_UPD_TASK_ATTRを指定すると、次の効果があります。

ビジネス・ルール(プロジェクト・レベル)

Oracle Projectsは次のビジネス・ルールを課します。

プロジェクト番号、プロジェクト名、プロジェクト・タイプおよびプロジェクト組織

プロジェクト番号、プロジェクト名、プロジェクト・タイプおよびプロジェクト組織には、次のルールが適用されます。

チーム・メンバーと顧客

次の表に、プロジェクト・チーム・メンバーと顧客に対するルールを示します。

エンティティまたはトピック ルール
プロジェクト・マネージャ プロジェクトには有効なプロジェクト・マネージャを1人のみ指定できます。
新規プロジェクト・マネージャ 既存のプロジェクトに新規プロジェクト・マネージャを割り当てる場合、新規プロジェクト・マネージャのデフォルトの開始日はシステム日付になります。現行プロジェクト・マネージャのデフォルトの終了日は、前日になります。
チーム・メンバー プロジェクトには、プロジェクト・マネージャ以外に任意の人数のチーム・メンバーを指定できます。
チーム・メンバーの開始日 プロジェクト・マネージャ以外のチーム・メンバーの開始日が渡されないか、またはNULLが渡された場合、開始日はプロジェクト開始日から導出されます。project_start_dateがNULLの場合、キー・メンバーのデフォルトの開始日はNULLになります。ただし、UPDATE_PROJECTでは、キー・メンバーに開始日が必須です。既存のキー・メンバーの開始日を直接更新することはできません。既存のキー・メンバーの開始日を指定するには、新規開始日より前の日付を持つキー・メンバーに終了日を設定する必要があります。その後、新規開始日を持つキー・メンバーに新規エントリを作成できます。
異なる期間中のチーム・ロール UPDATE_PROJECTでは、異なる期間中の特定プロジェクトに対して同じロールを実行する個人(プロジェクト・マネージャ以外)がサポートされます。
主顧客 プロジェクトには主顧客を1人のみ指定できます。
請求先所在地ID 顧客は、所在地の有効な値を渡すことで、現行請求先顧客の請求先所在地IDを更新できます。CREATE_PROJECTで、またはUPDATE_PROJECTを使用して新規顧客を作成する際には、請求先所在地の値が渡されない場合、その顧客の主所在地が使用されます。
出荷先所在地ID 顧客は、所在地の有効な値を渡すことで、現行請求先顧客の出荷先所在地IDを更新できます。CREATE_PROJECTで、またはUPDATE_PROJECTを使用して新規顧客を作成する際には、出荷先所在地の値が渡されない場合、その顧客の主所在地が使用されます。
契約プロジェクトの顧客請求分割 顧客分担のそれぞれに、0〜100の範囲内の値を指定する必要があります。すべての顧客分担の合計は100にする必要があります。
プロジェクト関連コード 追加対象の新規顧客については、これは必須フィールドです。CREATE_PROJECTでは、値が渡されない場合、デフォルトの関連は「プライマリ」になります。
新規顧客の顧客請求分割 追加対象の新規顧客については、これは必須フィールドです。CREATE_PROJECTでは、値が渡されない場合、値100が使用されます。収益または請求書がプロジェクトに賦課されている場合、分担は更新できません。
別プロジェクトの請求フラグ 標準請求書が生成されている場合、このフラグは更新できません。
受け側タスク 別プロジェクトの請求フラグが使用可能になっていない場合、このフィールドは更新できません。

プロジェクト開始日および終了日のルール

プロジェクト開始日および終了日のルールは、次のとおりです。

計画検証の実行

P_OP_VALIDATE_FLAGパラメータに「N」を設定した場合、計画データのタイプを指定するための余分な検証を消去します。不要な計画検証はシステム・パフォーマンスを遅くします。

サード・パーティの計画ツールをOracle Projectsと統合するためにこのAPIを使用している場合、P_OP_VALIDATE_FLAGを「N」に設定する必要があります。サード・パーティの計画ツールが次の検証を実行できる場合、このパラメータを「N」に設定してください。

APIを使用して前述の広範囲な検証を実行しないレガシー・システムからデータをアップロードしている場合、P_OP_VALIDATE_FLAGを「Y」に設定する必要があります。Oracle Projectsでのデータ整合性を確実にするために、計画データを検証する必要があります。

プロジェクトの労務および非労務請求予定表および間接費計算予定表の属性を更新するためのルール

労務予定表と非労務予定表の属性を更新するためのルールは、次のとおりです。

ビジネス・ルール(タスク・レベル)

Oracle Projectsは、タスク・レベルで次のビジネス・ルールを課します。

情報の共有順序

外部システムとOracle Projectsとの間でタスク情報が共有される順序には、次のルールが適用されます。

タスク番号、識別コードおよび組織

タスク番号、識別コードおよび組織には、次のルールが適用されます。

タスク開始日および終了日

タスク開始日および終了日には、次のルールが適用されます。

WBSでのタスクの移動

プロジェクトの作業分解構造(WBS)内でタスクを移動する場合には、次のルールが適用されます。

タスク属性

タスク属性には、次のルールが適用されます。

労務および非労務請求予定表および間接費計算予定表の属性の更新

タスクの労務および非労務予定表の属性を更新するためのルールは、プロジェクトで対応するルールと同じです。「プロジェクトの労務および非労務請求予定表および間接費計算予定表の属性を更新するためのルール」を参照してください。

UPDATE_PROJECTのパラメータ

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

値が必要なUPDATE_PROJECTのパラメータは、次のとおりです。

CLEAR_PROJECT

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

EXECUTE_CREATE_PROJECT

EXECUTE_CREATE_PROJECTは、ロード・プロセス中にグローバル表内に格納されたデータを使用してプロジェクトとそのタスクを作成するために使用するロード-実行-フェッチ・プロシージャです。

プロジェクトにユーザー定義属性を移入するために、このプロジェクトによってユーザー定義属性プロシージャが呼び出されます。詳細は、「ユーザー定義属性API」を参照してください。

ビジネス・ルール

Oracle Projectsは次のビジネス・ルールを課します。

計画検証の実行

P_OP_VALIDATE_FLAGパラメータに「N」を設定した場合、計画データのタイプを指定するための余分な検証を消去します。不要な計画検証はシステム・パフォーマンスを遅くします。

サード・パーティの計画ツールをOracle Projectsと統合するためにこのAPIを使用している場合、P_OP_VALIDATE_FLAGを「N」に設定する必要があります。サード・パーティの計画ツールが次の検証を実行できる場合、このパラメータを「N」に設定してください。

APIを使用して前述の広範囲な検証を実行しないレガシー・システムからデータをアップロードしている場合、P_OP_VALIDATE_FLAGを「Y」に設定する必要があります。Oracle Projectsでのデータ整合性を確実にするために、計画データを検証する必要があります。

EXECUTE_CREATE_PROJECTのパラメータ

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

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

EXECUTE_UPDATE_PROJECT

EXECUTE_UPDATE_PROJECTは、プロジェクト・データの変更または追加、新規タスクの追加、既存のタスクの更新など、既存のプロジェクトを更新するために使用するロード-実行-フェッチ・プロシージャです。このAPIではタスクは削除されません。ロード・プロセス中にグローバル表に格納されたデータが使用されます。

プロジェクトのユーザー定義属性を更新するために、このプロジェクトによってユーザー定義属性プロシージャが呼び出されます。詳細は、「ユーザー定義属性API」を参照してください。

ビジネス・ルール

Oracle Projectsは次のビジネス・ルールを課します。

計画検証の実行

P_OP_VALIDATE_FLAGパラメータに「N」を設定した場合、計画データのタイプを指定するための余分な検証を消去します。不要な計画検証はシステム・パフォーマンスを遅くします。

サード・パーティの計画ツールをOracle Projectsと統合するためにこのAPIを使用している場合、P_OP_VALIDATE_FLAGを「N」に設定する必要があります。サード・パーティの計画ツールが次の検証を実行できる場合、このパラメータを「N」に設定してください。

APIを使用して前述の広範囲な検証を実行しないレガシー・システムからデータをアップロードしている場合、P_OP_VALIDATE_FLAGを「Y」に設定する必要があります。Oracle Projectsでのデータ整合性を確実にするために、計画データを検証する必要があります。

EXECUTE_UPDATE_PROJECTのパラメータ

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

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

INIT_PROJECT

INIT_PROJECTは、グローバル・データ構造を設定するために使用するロード-実行-フェッチ・プロシージャです。その他のロード-実行-フェッチ・プロシージャでは、Oracle Projectsで新規プロジェクトを作成するために構造が使用されます。

LOAD_CLASS_CATEGORY

LOAD_CLASS_CATEGORYは、グローバルPL/SQL表に区分カテゴリをロードするために使用するロード-実行-フェッチ・プロシージャです。

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

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

LOAD_KEY_MEMBER

LOAD_KEY_MEMBERは、グローバルPL/SQL表にキー・メンバーをロードするために使用するロード-実行-フェッチ・プロシージャです。

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

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

LOAD_ORG_ROLE

LOAD_ORG_ROLEは、クライアント側からサーバー側のPL/SQL表に組織ロールをロードするために使用するロード-実行-フェッチ・プロシージャです。サーバー側では、これらのロールはロード-実行-フェッチ・サイクルで使用されます。

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

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

LOAD_PROJECT

LOAD_PROJECTは、グローバルPL/SQLレコードにプロジェクトをロードするために使用するロード-実行-フェッチ・プロシージャです。

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

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

プロジェクト・テンプレートの設定に応じて、次のパラメータが必須になることがあります。

チェック・プロシージャ

次のチェック・プロシージャは、次のことをリアルタイムで検証するために使用するPL/SQLプロシージャです。

CHECK_CHANGE_PROJECT_ORG_OK

チェック・プロシージャCHECK_CHANGE_PROJECT_ORG_OKを使用して、特定のプロジェクトまたはタスクでCARRYING_OUT_ORGANIZATION_IDフィールドを変更できるかどうかを確認します。

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

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

CHECK_DELETE_PROJECT_OK

チェック・プロシージャCHECK_DELETE_PROJECT_OKを使用して、プロジェクトを削除できるかどうかを確認します。

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

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

CHECK_UNIQUE_PROJECT_REFERENCE

チェック・プロシージャCHECK_UNIQUE_PROJECT_REFERENCEを使用して、新規または変更済プロジェクト参照(PM_PROJECT_REFERENCE)が一意であるかどうかを確認します。

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

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

プロジェクト定義レコードおよび表のデータ型

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

PROJECT_IN_REC_TYPEデータ型

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

名称 タイプ 必須であるか 説明
PM_PROJECT_REFERENCE VARCHAR2
(25)
Yes 外部システム内のプロジェクトのコード。
「例と備考」を参照してください。
PA_PROJECT_ID NUMBER
(15)
更新用 Oracle Projects内のプロジェクトを一意に識別する参照コード
PA_PROJECT_NUMBER VARCHAR2
(25)
No Oracle Projects内のプロジェクトを一意に識別するプロジェクト番号
PROJECT_NAME VARCHAR2
(30)
Yes Oracle Projects内のプロジェクトを一意に識別するプロジェクトの一意の名称
LONG_NAME VARCHAR2
(240)
No プロジェクト詳細名称
CREATED_FROM
_PROJECT_ID
NUMBER
(15)
Yes このプロジェクトの作成元テンプレートを一意に識別する番号
CARRYING_OUT
_ORGANIZATION_ID
NUMBER
(15)
テンプレート設定に基づく プロジェクト作業を担当する組織の識別コード
PUBLIC_SECTOR_FLAG VARCHAR2
(1)
テンプレート設定に基づく このプロジェクトが公共部門と民間部門のどちらであるかを示すフラグ
PROJECT_STATUS_CODE VARCHAR2
(30)
テンプレート設定に基づく プロジェクトのステータス。CLOSED以外のステータスはすべて有効とみなされます。
DESCRIPTION VARCHAR2
(250)
テンプレート設定に基づく プロジェクトの摘要
START_DATE DATE テンプレート設定に基づく プロジェクトの開始日
COMPLETION_DATE DATE テンプレート設定に基づく プロジェクトの完了日
DISTRIBUTION_RULE VARCHAR2
(30)
テンプレート設定に基づく 契約プロジェクトの収益計上および請求方法を指定する配分ルール
CUSTOMER_ID NUMBER
(15)
テンプレート設定に基づく プロジェクトの顧客の識別コード
PROJECT_RELATIONSHIP
_CODE
VARCHAR2
(30)
Yes 顧客がプロジェクトに対して持つ顧客関連のタイプ
ACTUAL_START_DATE DATE No 外部システムにおける実績プロジェクト開始日
ACTUAL_FINISH_DATE DATE No 外部システムにおける実績プロジェクト終了日
EARLY_START_DATE DATE No 外部システムにおける早期プロジェクト開始日
EARLY_FINISH_DATE DATE No 外部システムにおける早期プロジェクト終了日
LATE_START_DATE DATE No 外部システムにおける遅延プロジェクト開始日
LATE_FINISH_DATE DATE No 外部システムにおける遅延プロジェクト終了日
SCHEDULED_START_DATE DATE No 外部システムにおける予定プロジェクト開始日
SCHEDULED_FINISH_DATE DATE No 外部システムにおける予定プロジェクト終了日
ATTRIBUTE_CATEGORY VARCHAR2
(30)
No 付加フレックスフィールド用
ATTRIBUTE1〜ATTRIBUTE10 VARCHAR2
(150)
No 付加フレックスフィールド
OUTPUT_TAX_CODE VARCHAR2
(30)
No プロジェクトに定義された税率が顧客請求書に使用されるかどうかを示します。
RETENTION_TAX_CODE VARCHAR2
(30)
No 保留に定義された税率が顧客請求書に使用されるかどうかを示します。
PROJECT_CURRENCY
_CODE
VARCHAR2
(15)
No プロジェクト通貨コード。デフォルト値は、元帳の通貨コードです。
ALLOW_CROSS_CHARGE
_FLAG
VARCHAR2
(1)
No 相互賦課が可能かどうか。値は必須で、デフォルト値はNです。この値は任意のタスク・レベルで上書きできます。
PROJECT_RATE_DATE DATE No デフォルトのプロジェクト通貨レート基準日(特定のレート・タイプに対する会計通貨レートの日付)
PROJECT_RATE_TYPE VARCHAR2
(30)
No デフォルトのプロジェクト通貨レート・タイプ(直物、企業など)
CC_PROCESS_LABOR
_FLAG
VARCHAR2
(1)
No プロジェクトに賦課された労務取引に対して相互賦課処理を実行することを示すフラグ。プロジェクト・テンプレートのデフォルト値はNです。これはプロジェクト・テンプレートのプロジェクトにデフォルト設定されます。
LABOR_TP_SCHEDULE_ID NUMBER No 相互賦課労務取引用の振替価格予定表の識別子。これはプロジェクト・テンプレートのプロジェクトにデフォルト設定されます。cc_process_labor_flagがYに設定されている場合、このフィールドは必須です。
LABOR_TP_FIXED_DATE DATE No 労務取引用の振替価格を決定する際に請求レートまたは間接費予定表の有効レートを検出するための確定日。これはプロジェクト・テンプレートのプロジェクトにデフォルト設定されます。このプロジェクトの値はタスク確定日のデフォルトです。cc_process_labor_flagがYに設定されている場合、このフィールドは必須です。
CC_PROCESS_NL_FLAG VARCHAR2
(1)
No プロジェクトに賦課された非労務取引に対して相互賦課処理を実行することを示すフラグ。プロジェクト・テンプレートのデフォルト値はNです。これはプロジェクト・テンプレートのプロジェクトにデフォルト設定されます。
NL_TP_SCHEDULE_ID NUMBER No 相互賦課非労務取引用の振替価格予定表の識別子。これはプロジェクト・テンプレートのプロジェクトにデフォルト設定されます。cc_process_nl_labor_flagがYに設定されている場合、このフィールドは必須です。
NL_TP_FIXED_DATE DATE No 非労務取引用の振替価格を決定する際に請求レートまたは間接費予定表の有効レートを検出するための確定日。これはプロジェクト・テンプレートのプロジェクトにデフォルト設定されます。cc_process_nl_flagがYに設定されている場合、このフィールドは必須です。
CC_TAX_TASK_ID NUMBER No 会社間AP請求書の会社間税項目が賦課されるタスクの識別子
ROLE_LIST_ID NUMBER
(15)
No ロール・リスト(チーム・メンバーの割当時に表示される許容ロールのリスト)の識別子
WORK_TYPE_ID NUMBER
(15)
No 作業タイプ識別子。作業タイプは、事前定義された作業のタイプで、「休暇」、「研修」、「管理」などがあります。
CALENDAR_ID NUMBER
(15)
No カレンダ識別子。カレンダは、公休日などの例外を指定します。
LOCATION_ID NUMBER
(15)
No プロジェクト作業サイト事業所の識別子
PROBABILITY_MEMBER_ID NUMBER
(15)
No 見込メンバーの識別子。プロジェクト見込(プロジェクトが承認される可能性)は、レポートで加重平均として使用されます。
PROJECT_VALUE NUMBER No プロジェクト機能通貨に換算された商談値
EXPECTED_APPROVAL
_DATE
DATE No プロジェクト承認の予測日(情報提供専用)
COST_JOB_GROUP_ID NUMBER No 原価計算機能用の役職グループの識別子
BILL_JOB_GROUP_ID NUMBER No 請求機能用の役職グループの識別子
TEAM_TEMPLATE_ID NUMBER
(15)
No 新規プロジェクトに追加するチーム・テンプレート
COUNTRY_CODE VARCHAR2
(250)
No 国名コード
REGION VARCHAR2
(250)
No リージョン
CITY VARCHAR2
(250)
No 郡市区
EMP_BILL_RATE
_SCHEDULE_ID
NUMBER No プロジェクトの従業員ベースの請求レート予定表の識別子
JOB_BILL_RATE
_SCHEDULE_ID
NUMBER No プロジェクトの役職ベースの請求レート予定表の識別子
INVPROC_CURRENCY_TYPE VARCHAR2
(30)
No 請求書処理通貨コード
REVPROC_CURRENCY
_CODE
VARCHAR2
(15)
No プロジェクト機能通貨での収益処理通貨コード
PROJECT_BIL_RATE
_DATE_CODE
VARCHAR2
(30)
No 請求取引通貨または資金通貨からプロジェクト通貨に顧客請求額を換算するための換算レート基準日タイプ
PROJECT_BIL_RATE
_TYPE
VARCHAR2
(30)
No 請求取引通貨または資金通貨からプロジェクト通貨に顧客請求額を換算するための換算レート・タイプ
PROJECT_BIL_RATE
_DATE
DATE No レート基準日タイプが「固定」の場合、請求取引通貨または資金通貨からプロジェクト通貨に顧客請求額を換算するための換算レート基準日
PROJECT_BIL
_EXCHANGE_RATE
NUMBER No レート・タイプが「ユーザー」の場合、請求取引通貨または資金通貨からプロジェクト通貨に換算するための換算レート
PROJFUNC_CURRENCY
_CODE
VARCHAR2
(15)
No プロジェクト機能通貨。デフォルト値は、関連付けられた元帳に入力した値です。
PROJFUNC_BIL_RATE
_DATE_CODE
VARCHAR2
(30)
No 請求取引通貨または資金通貨からプロジェクト機能通貨に顧客請求額を換算するための換算レート基準日タイプ
PROJFUNC_BIL_RATE_TYPE VARCHAR2
(30)
No 請求取引通貨または資金通貨からプロジェクト機能通貨に顧客請求額を換算するための換算レート・タイプ
PROJFUNC_BIL_RATE_DATE DATE No レート基準日タイプが「固定」の場合、請求取引通貨または資金通貨からプロジェクト機能通貨に顧客請求額を換算するための換算レート基準日
PROJFUNC_BIL
_EXCHANGE_RATE
NUMBER No レート・タイプが「ユーザー」の場合、請求取引通貨または資金通貨からプロジェクト機能通貨に換算するための換算レート
FUNDING_RATE_DATE
_CODE
VARCHAR2
(30)
No 請求取引通貨から資金通貨に顧客請求額を換算するための換算レート基準日タイプ
FUNDING_RATE_TYPE VARCHAR2
(30)
No 請求取引通貨から資金通貨に顧客請求額を換算するための換算レート・タイプ
FUNDING_RATE_DATE DATE No レート基準日タイプが「固定」の場合、請求取引通貨から資金通貨に顧客請求額を換算するための換算レート基準日
FUNDING_EXCHANGE_RATE NUMBER No レート・タイプが「ユーザー」の場合、請求取引通貨からプロジェクトまたは機能通貨に換算するための換算レート
BASELINE_FUNDING_FLAG VARCHAR2
(1)
No 収益予算なしで資金の基本編成が可能であるかどうかを示すフラグ
MULTI_CURRENCY
_BILLING_FLAG
VARCHAR2
(1)
No プロジェクトで複数通貨請求が許可されているかどうかを示すフラグ
COMPETENCE_MATCH
_WT
NUMBER No スコアの計算に使用するコンピテンス照合の加重値
AVAILABILITY_MATCH
_WT
NUMBER No スコアの計算に使用する可用性照合の加重値
JOB_LEVEL_MATCH
_WT
NUMBER No スコアの計算に使用する役職レベル照合の加重値
ENABLE_AUTOMATED
_SEARCH
VARCHAR2
(1)
No プロジェクトの要件に自動候補推薦を使用するかどうかを示すフラグ
SEARCH_MIN_AVAILABILITY NUMBER No 検索結果で資源が返されるために最低限必要な可用性
SEARCH_ORG_HIER_ID NUMBER
(15)
No 検索対象の組織階層
SEARCH_STARTING_ORG_ID NUMBER
(15)
No 検索対象の開始組織
SEARCH_COUNTRY_ID VARCHAR2
(2)
No 検索対象の国
MIN_CAND_SCORE_REQD
_FOR_NOM
NUMBER No 要件で資源が候補として推薦されるために最低限必要なスコア
MAX_NUM_OF_SYS_NOM
_CAND
NUMBER No 推薦可能な最大候補数
NON_LAB_STD_BILL_RT
_SCH_ID
NUMBER
(15)
No 非労務標準請求レート予定表の識別子
SEARCH_COUNTRY_CODE VARCHAR2
(2)
No 検索対象の国
INV_BY_BILL_TRANS
_CURR_FLAG
VARCHAR2
(1)
No プロジェクトで請求を請求取引通貨で行うかどうかを示すフラグ
PROJFUNC_COST_RATE
_TYPE
VARCHAR2
(30)
No プロジェクト機能原価レートのデフォルト値
PROJFUNC_COST_RATE
_DATE
DATE No プロジェクト機能原価レート基準日のデフォルト値
ASSIGN_PRECEDES_TASK VARCHAR2
(1)
No 割当レベル属性がタスク・レベル属性を上書きするかどうかを示すフラグ
SPLIT_COST_FROM
_WORKPLAN_FLAG
VARCHAR2
(1)
No 作業計画からの原価の分割が許可されているかどうかを示すフラグ
SPLIT_COST_FROM_BILL
_FLAG
VARCHAR2
(1)
No 請求からの原価の分割が許可されているかどうかを示すフラグ
ADV_ACTION_SET_ID NUMBER
(15)
No プロジェクトまたはプロジェクト・テンプレートのデフォルトの広告宣伝処理セットを示すフラグ
START_ADV_ACTION_SET
_FLAG
VARCHAR2
(1)
No 要件の作成直後に広告宣伝処理セットが開始するかどうかを示すフラグ
PRIORITY_CODE VARCHAR2
(30)
No プロジェクトの優先度を識別するコード
RETN_BILLING_INV
_FORMAT_ID
NUMBER
(15)
No 保留請求書フォーマットの識別子
RETN_ACCOUNTING_FLAG VARCHAR2
(1)
No プロジェクトで保留会計処理が使用可能かどうかを示すフラグ
OPP_VALUE_CURRENCY
_CODE
VARCHAR2
(15)
No プロジェクト商談値の通貨コード
REVALUATE_FUNDING_FLAG VARCHAR2
(1)
No 資金を再評価する必要があるかどうかを示すフラグ
INCLUDE_GAINS_LOSSES
_FLAG
VARCHAR2
(1)
No プロジェクト収益に為替差損益を含めるかどうかを示すフラグ
SECURITY_LEVEL NUMBER No プロジェクトが公共と民間のどちらであるかを示すインディケータ。値が101(保護)の場合、プロジェクトは民間です。値が1(企業)の場合、プロジェクトは公共です。
LABOR_DISC_REASON
_CODE
VARCHAR2
(30)
No 労務割引の事由コード
NON_LABOR_DISC
_REASON_CODE
VARCHAR2
(30)
No 非労務割引の事由コード
LABOR_SCHEDULE
_FIXED_DATE
DATE 更新用 労務請求レート予定表の使用時に有効な請求レートを決定するために使用する日付
LABOR_SCHEDULE
_DISCOUNT
DATE 更新用 労務請求レート予定表の割引
NON_LABOR_BILL_RATE
_ORG_ID
NUMBER 更新用 非労務請求レート予定表に添付された組織の識別子
NON_LABOR_SCHEDULE
_FIXED_DATE
DATE 更新用 予定が有効になる日付
NON_LABOR_SCHEDULE
_DISCOUNT
DATE 更新用 非労務請求レート予定表の割引
REV_IND_RATE_SCH_ID NUMBER 更新用 収益予定表の識別子
INV_IND_RATE_SCH_ID NUMBER 更新用 請求書予定表の識別子
REV_IND_SCH_FIXED_DATE DATE 更新用 「確定」タイプの間接費予定表に対する収益予定表の開始日
INV_IND_SCH_FIXED_DATE DATE 更新用 「確定」タイプの間接費予定表に対する請求書予定表の開始日
LABOR_SCH_TYPE VARCHAR
(1)
更新用 労務支出項目の予定表タイプ(「間接費」または「請求」)
NON_LABOR_SCH_TYPE VARCHAR
(1)
更新用 非労務支出項目の予定表タイプ(「間接費」または「請求」)
ASSET_ALLOCATION
_METHOD
VARCHAR2
(30)
No グループ・レベルに割り当てられた資産に間接費および共通原価を配賦するために使用する方法
CAPITAL_EVENT
_PROCESSING
VARCHAR2
(30)
No 資産計上または除・売却調整処理のために原価と資産をグループ化するタイミングを決定するために使用する資産イベント処理方法
CINT_RATE_SCH_ID NUMBER
(15)
No 資産計上利息レート予定表の識別子
CINT_ELIGIBLE_FLAG VARCHAR2
(1)
No プロジェクトが資産計上利息に適格かどうかを示すフラグ
CINT_STOP_DATE DATE No 資産計上利息計算の停止日
BILL_TO_CUSTOMER_ID NUMBER No 請求先顧客名の識別子
SHIP_TO_CUSTOMER_ID NUMBER No 出荷先顧客名の識別子
PROCESS_MODE VARCHAR2
(30)
No 処理モード。タスク処理をオンラインで行うかコンカレント要求を使用して行うかを示します。
SYS_PROGRAM_FLAG VARCHAR2
(1)
No プロジェクトをプログラムとして処理可能かどうかを示すフラグ
ENABLE_TOP_TASK
_CUSTOMER_FLAG
VARCHAR2
(1)
No プロジェクトで最上位タスクの顧客が使用可能かどうかを示すフラグ
ENABLE_TOP_TASK_INV
_MTH_FLAG
VARCHAR2
(1)
No プロジェクトで最上位タスクの請求方法が使用可能かどうかを示すフラグ
PROJFUNC_ATTR_FOR
_AR_FLAG
VARCHAR2
(1)
No  
BILL_TO_ADDRESS_ID NUMBER
(15)
No 請求先顧客所在地の識別子
SHIP_TO_ADDRESS_ID NUMBER
(15)
No 出荷先顧客所在地の識別子

PROJECT_OUT_REC_TYPEデータ型

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

名称 タイプ 説明
PA_PROJECT_ID NUMBER
(15)
Oracle Projects内のプロジェクトを一意に識別する参照コード
PA_PROJECT
_NUMBER
VARCHAR2
(25)
Oracle Projects内のプロジェクトを一意に識別する番号
RETURN_STATUS VARCHAR2
(1)
API標準

PROJECT_ROLE_TBL_TYPEデータ型

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

名称 タイプ 必須であるか 説明
PERSON_ID NUMBER
(9)
テンプレート設定に基づく 個人の識別子
PROJECT_ROLE
_TYPE
VARCHAR2
(20)
PERSON_IDがNULLでない場合、Yes 個人がプロジェクトに対して持つロールのタイプ
START_DATE DATE No 個人のロールが開始する日付。デフォルト値はプロジェクト開始日です。
END_DATE DATE No 個人のロールが終了する日付

CLASS_CATEGORY_TBL_TYPEデータ型

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

名称 タイプ 必須であるか 説明
CLASS_CATEGORY VARCHAR2
(30)
テンプレート設定に基づく プロジェクトの区分カテゴリ
CLASS_CODE VARCHAR2
(30)
CLASS_CATEGORYがNULLでない場合、Yes プロジェクトの区分コード
CODE_PERCENTAGE NUMBER No 区分カテゴリ・パーセント
NEW_CLASS_CODE VARCHAR2
(30)
No 既存のCLASS_CODEを置換する新規区分コード。プロジェクトがCLASS_CODEに未割当の場合、このパラメータは無視されます。

TASK_IN_TBL_TYPEデータ型

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

注意: このデータ型を使用して既存のプロジェクトのタスクを更新する場合は、WBS体系全体を正しい階層に含める必要があります。

名称 タイプ 必須 説明
PM_TASK_REFERENCE VARCHAR2
(25)
Yes、またはPA_TASK_IDを使用 外部システムにおけるタスクの識別子
PA_TASK_ID NUMBER
(15)
更新用 Oracle Projectsでプロジェクト内のタスクを一意に識別する参照コード
TASK_NAME VARCHAR2
(20)
Yes プロジェクト内のタスクを一意に識別する名称
PA_TASK_NUMBER VARCHAR2
(25)
Yes Oracle Projectsのタスクを識別する番号。一意のタスク参照に加えてタスク番号を保守するシステム用です。
TASK_DESCRIPTION VARCHAR2
(250)
No タスクの摘要
TASK_START_DATE DATE No タスクの開始日
TASK_COMPLETION
_DATE
DATE No タスクの完了日
PM_PARENT_TASK
_REFERENCE
VARCHAR2
(25)
No 外部システムでタスクの親タスクを識別する参照コード
PA_PARENT_TASK_ID NUMBER 更新用 Oracle Projectsにおけるタスクの親タスクの識別コード
ADDRESS_ID NUMBER No このタスクに論理的にリンクされている顧客の1人の所在地
CARRYING_OUT
_ORGANIZATION_ID
NUMBER
(15)
No タスク作業を担当する組織の識別コード。タスク組織は、タスクの作成時にプロジェクト組織にデフォルト設定されます。
SERVICE_TYPE_CODE VARCHAR2
(30)
No タスクで実行される作業のタイプ
TASK_MANAGER
_PERSON_ID
NUMBER
(9)
No タスクを管理する従業員の識別コード。注意: Oracle Projectsでタスク・マネージャが定義済であることを確認するには、値のリスト(pa_task_managers_lov_v)を使用して、タスク・マネージャの個人識別コードを選択します。
BILLABLE_FLAG VARCHAR2
(1)
No 項目が収益見越可能かどうか(YまたはN)を示すタスクに賦課される項目のデフォルト・フラグ
CHARGEABLE_FLAG VARCHAR2
(1)
No 支出項目をタスクに賦課可能かどうかを示すフラグ。最下位タスクのみが賦課可能です。
READY_TO_BILL_FLAG VARCHAR2
(1)
No タスクの請求が承認されているかどうかを示すフラグ
READY_TO
_DISTRIBUTE_FLAG
VARCHAR2
(1)
No タスクの収益見越が承認されているかどうかを示すフラグ
LIMIT_TO_TXN
_CONTROLS_FLAG
VARCHAR2
(1)
No タスクの取引管理にリストされた支出のみをユーザーがタスクに賦課できることを示すフラグ
LABOR_BILL_RATE
_ORG_ID
NUMBER
(15)
No 労務標準請求レート予定表を所有する組織の識別コード
LABOR_STD_BILL
_RATE_SCHDL
VARCHAR2
(20)
No タスクに賦課された労務支出項目の収益を計算するために使用する労務標準請求レート予定表
LABOR_SCHEDULE
_FIXED_DATE
DATE No タスク標準労務請求レート予定表の有効な請求レートを決定するために使用する日付
LABOR_SCHEDULE
_DISCOUNT
NUMBER
(7,4)
No タスク標準労務請求レート予定表からの割引率
NON_LABOR_BILL
_RATE_ORG_ID
NUMBER
(15)
No 非労務標準請求レート予定表を所有する組織の識別コード
NON_LABOR_STD
_BILL_RATE_SCHDL
VARCHAR2
(30)
No タスクに賦課された非労務支出項目の収益を計算するために使用する非労務標準請求レート予定表
NON_LABOR
_SCHEDULE_FIXED
_DATE
DATE No 標準非労務請求レート予定表の有効な請求レートを決定するために使用する確定日
NON_LABOR
_SCHEDULE_DISCOUNT
NUMBER
(7,4)
No タスク標準非労務請求レート予定表からの割引率
LABOR_COST
_MULTIPLIER_NAME
VARCHAR2
(20)
No 割増プロジェクトのタスクに定義された労務費乗数。労務費乗数は、タスクに賦課されたすべての超過勤務支出項目に対して移入されます。
COST_IND_RATE
_SCH_ID
NUMBER
(15)
No デフォルトの原価計算間接費予定表の識別コード
REV_IND_RATE_SCH_ID NUMBER
(15)
No デフォルトの収益間接費予定表の識別コード
INV_IND_RATE_SCH_ID NUMBER
(15)
No デフォルトの請求書間接費予定表の識別コード
COST_IND_SCH
_FIXED_DATE
DATE No 確定原価計算間接費予定表の予定確定日
REV_IND_SCH_FIXED
_DATE
DATE No 確定収益間接費予定表の予定確定日
INV_IND_SCH_FIXED
_DATE
DATE No 確定請求書間接費予定表の予定確定日
LABOR_SCH_TYPE VARCHAR2
(1)
No 労務支出項目の予定タイプ
NON_LABOR_SCH
_TYPE
VARCHAR2
(1)
No 非労務支出項目の予定タイプ
ACTUAL_START_DATE DATE No 外部システムにおけるプロジェクトの実績開始日
ACTUAL_FINISH_DATE DATE No 外部システムにおけるプロジェクトの実績終了日
EARLY_START_DATE DATE No 外部システムにおけるプロジェクトの早期開始日
EARLY_FINISH_DATE DATE No 外部システムにおけるプロジェクトの早期終了日
LATE_START_DATE DATE No 外部システムにおけるプロジェクトの遅延開始日
LATE_FINISH_DATE DATE No 外部システムにおけるプロジェクトの遅延終了日
SCHEDULED_START
_DATE
DATE No 外部システムにおけるプロジェクトの予定開始日
SCHEDULED_FINISH
_DATE
DATE No 外部システムにおけるプロジェクトの予定終了日
ALLOW_CROSS
_CHARGE_FLAG
VARCHAR2
(1)
No 相互賦課が可能かどうか。値は必須で、デフォルト値はNです。この値は任意のタスク・レベルで上書きできます。
PROJECT_RATE
_DATE
DATE No デフォルトのプロジェクト通貨レート基準日(特定のレート・タイプに対する会計通貨レートの日付)
PROJECT_RATE
_TYPE
VARCHAR2
(30)
No デフォルトのプロジェクト通貨レート・タイプ(直物、企業など)
CC_PROCESS
_LABOR_FLAG
VARCHAR2
(1)
No プロジェクトに賦課された労務取引に対して相互賦課処理を実行することを示すフラグ。プロジェクト・テンプレートのデフォルト値はNです。これはプロジェクト・テンプレートのプロジェクトにデフォルト設定されます。
LABOR_TP
_SCHEDULE_ID
NUMBER No 相互賦課労務取引用の振替価格予定表の識別子。これはプロジェクト・テンプレートのプロジェクトにデフォルト設定されます。cc_process_labor_flagがYに設定されている場合、このフィールドは必須です。
LABOR_TP_FIXED_DATE DATE No 労務取引用の振替価格を決定する際に請求レートまたは間接費予定表の有効レートを検出するための確定日。これはプロジェクト・テンプレートのプロジェクトにデフォルト設定されます。このプロジェクトの値はタスク確定日のデフォルトです。CC_PROCESS_NL_FLAGがYに設定されている場合、このフィールドは必須です。
CC_PROCESS_NL
_FLAG
VARCHAR2
(1)
No プロジェクトに賦課された非労務取引に対して相互賦課処理を実行することを示すフラグ。プロジェクト・テンプレートのデフォルト値はNです。これはプロジェクト・テンプレートのプロジェクトにデフォルト設定されます。
NL_TP_SCHEDULE
_ID
NUMBER No 相互賦課非労務取引用の振替価格予定表の識別子。これはプロジェクト・テンプレートのプロジェクトにデフォルト設定されます。CC_PROCESS_NL_FLAGがYに設定されている場合、このフィールドは必須です。
NL_TP_FIXED_DAT DATE No 非労務取引用の振替価格を決定する際に請求レートまたは間接費予定表の有効レートを検出するための確定日。これはプロジェクト・テンプレートのプロジェクトにデフォルト設定されます。CC_PROCESS_NL_FLAGがYに設定されている場合、このフィールドは必須です。
RECEIVE_PROJECT
_INVOICE_FLAG
VARCHAR2
(1)
No プロジェクト間請求経由でタスクが内部仕入先から賦課を受けることが可能であることを示すフラグ
ATTRIBUTE_CATEGORY VARCHAR2
(30)
No 付加フレックスフィールド用
ATTRIBUTE1〜ATTRIBUTE10 VARCHAR2
(150)
No 付加フレックスフィールド
P_JOB_BILL_RATE
_SCHEDULE_ID
NUMBER No プロジェクトの役職ベースの請求レート予定表の識別子
P_EMP_BILL_RATE
_SCHEDULE_ID
NUMBER No プロジェクトの従業員ベースの請求レート予定表の識別子
P_TASKFUNC_COST
_RATE_TYPE
VARCHAR2
(30)
No プロジェクト機能原価レート・タイプのタスク・レベルのデフォルト値
P_TASKFUNC_COST
_RATE_DATE
DATE No プロジェクト機能原価レート基準日のタスク・レベルのデフォルト値
P_NON_LAB_STD
_BILL_RT_SCH_ID
NUMBER
(15)
No 非労務標準請求レート予定表の識別子
P_LABOR_DISC
_REASON_CODE
VARCHAR2
(30)
No 労務割引の事由コード
P_NON_LABOR_DISC
_REASON_CODE
VARCHAR2
(30)
No 非労務割引の事由コード
P_LONG_TASK_NAME VARCHAR2
(240)
No タスク詳細名称
P_RETIREMENT_COST
_FLAG
VARCHAR2
(1)
No 除・売却原価収集のタスクを識別するフラグ
P_CINT_ELIGIBLE_FLAG VARCHAR2
(1)
No プロジェクトが資産計上利息に適格かどうかを示すフラグ
P_CINT_STOP_DATE DATE No 資産計上利息計算の停止日
P_REVENUE_ACCRUAL
_METHOD
VARCHAR2
(30)
No タスクの収益見越計上方法
P_INVOICE_METHOD VARCHAR2
(30)
No タスクの請求方法
P_OBLIGATION_START
_DATE
DATE No 作業計画バージョンの債務開始日
P_OBLIGATION_FINISH
_DATE
DATE No 作業計画バージョンの債務終了日
P_ACTUAL_START
_DATE
DATE No 作業計画バージョンの実績開始日
P_ACTUAL_FINISH_DATE DATE No 作業計画バージョンの実績終了日
P_ESTIMATED_START
_DATE
DATE No 作業計画バージョンの見積開始日
P_ESTIMATED_FINISH
_DATE
DATE No 作業計画バージョンの見積終了日
P_EARLY_START_DATE DATE No 作業計画バージョンの早期開始日
P_EARLY_FINISH_DATE DATE No 作業計画バージョンの早期終了日
P_LATE_START_DATE DATE No 作業計画バージョンの遅延開始日
P_LATE_FINISH_DATE DATE No 作業計画バージョンの遅延終了日
P_MILESTONE_FLAG VARCHAR2
(1)
No タスク・バージョンがマイルストンであるかどうかを示すフラグ。これはタスク固有の属性です。
P_CRITICAL_FLAG VARCHAR2
(1)
No タスク・バージョンがクリティカル・パスに含まれるかどうかを示すフラグ。これはタスク固有の属性です。
P_WQ_PLANNED
_QUANTITY
NUMBER
(17)
No タスクの計画作業数量
P_PLANNED_EFFORT NUMBER
(17)
No タスクの計画従事

TASK_OUT_TBL_TYPEデータ型

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

名称 タイプ 説明
PA_TASK_ID NUMBER
(15)
Oracle Projectsでプロジェクト内のタスクを一意に識別するコード
PM_TASK_REFERENCE VARCHAR2
(25)
外部システムでプロジェクトのタスクを識別する参照コード
RETURN_STATUS VARCHAR2
(1)
API標準
TASK_VERSION_ID NUMBER タスク・バージョンID

TASK_IN_REC_TYPEデータ型

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

名称 タイプ 必須であるか 説明
RETIREMENT_COST
_FLAG
VARCHAR2
(1)
No 除・売却原価収集のタスクを識別するフラグ
CINT_ELIGIBLE_FLAG VARCHAR2
(1)
No プロジェクトが資産計上利息に適格かどうかを示すフラグ
CINT_STOP_DATE DATE No 資産計上利息計算の停止日
PRED_STRING VARCHAR2
(4000)
Yes 先行情報を含む文字列
PRED_DELIMITER VARCHAR2
(1)
Yes 先行文字列で先行を区切るデリミタ
BASE_PERCENT
_COMP_DERIV_CODE
VARCHAR2
(30)
Yes タスクのベース完了率導出コード
SCH_TOOL_TSK
_TYPE_CODE
VARCHAR2
(30)
Yes タスク・バージョンのデフォルトの計画ツール・タスク・タイプ
CONSTRAINT_TYPE
_CODE
VARCHAR2
(30)
Yes タスク・バージョンの制約タイプ
CONSTRAINT_DATE DATE Yes タスク・バージョンの制約日
FREE_SLACK NUMBER Yes タスク・バージョンのフリー・スラック
TOTAL_SLACK NUMBER Yes タスク・バージョンの合計スラック
EFFORT_DRIVEN_FLAG VARCHAR2
(1)
Yes タスクが従事ドリブンであるかどうかを示すフラグ
LEVEL_ASSIGNMENTS
_FLAG
VARCHAR2
(1)
Yes このタスクの割当を均一レベルにするかどうかを示すフラグ
INVOICE_METHOD VARCHAR2
(30)
Yes タスクの請求方法。「請求方法」が使用可能になっている最上位タスクにのみ有効です。
CUSTOMER_ID NUMBER Yes タスクの顧客。「顧客」が使用可能になっている最上位タスクにのみ有効です。
GEN_ETC_SOURCE
_CODE
VARCHAR2
(30)
Yes 完了見積ソース
FINANCIAL_TASK_FLAG VARCHAR2
(1)
Yes タスクが財務タスクであるかどうかを示すフラグ。このフラグは、部分共有構造にのみ有効です。このレベルの上位タスクは、財務管理に使用されます。
MAPPED_TASK_ID NUMBER Yes マップ済タスクID
MAPPED_TASK
_REFERENCE
VARCHAR2
(150)
Yes マップ済タスク参照
DELIVERABLE VARCHAR2
(4000)
No タスクに関連付ける成果物参照
DELIVERABLE_ID NUMBER   タスクに関連付けられた成果物の識別コード
EXT_ACT_DURATION NUMBER Yes 外部アプリケーションからの実績時間
EXT_REMAIN
_DURATION
NUMBER Yes 外部アプリケーションからの残存期間
EXT_SCH_DURATION NUMBER Yes 外部アプリケーションからの予定期間
ETC_EFFORT NUMBER Yes タスクの残りの従事の見積
PERCENT_COMPLETE NUMBER Yes タスクの作業完了率

CUSTOMER_TBL_TYPEデータ型

このレコード・タイプを使用すると、ユーザーはUPDATE_PROJECT APIに複数の顧客を渡せます。次の表に、CUSTOMER_TBL_TYPEデータ型を示します。

名称 タイプ 必須であるか 説明
CUSTOMER_ID NUMBER
(15)
テンプレート設定に基づく プロジェクト顧客の識別子
PROJECT_
RELATIONSHIP_CODE
VARCHAR2
(30)
Yes 顧客がプロジェクトに対して持つ顧客関連タイプの識別子
BILL_TO_CUSTOMER_ID NUMBER
(15)
No 請求書送付先顧客の識別子
SHIP_TO_CUSTOMER_ID NUMBER
(15)
No プロジェクトに対するプロジェクト顧客のデフォルト作業サイトである顧客の識別子
BILL_TO_ADDRESS_ID NUMBER
(15)
No 請求書送付先顧客所在地の識別子
SHIP_TO_ADDRESS_ID NUMBER
(15)
No プロジェクトに対するプロジェクト顧客のデフォルト作業サイトである顧客所在地の識別子
CONTACT_ID NUMBER
(15)
No プロジェクトの顧客を表す担当者の識別子
PROJECT_CONTACT
_TYPE_CODE
VARCHAR2
(30)
No 担当者を分類する担当者タイプ
CUSTOMER_BILL_SPLIT NUMBER
(8)
Yes 顧客が賦課される合計プロジェクト収益および請求書のパーセント
ALLOW_INV_USER
_RATE_TYPE_FLAG
VARCHAR2
(1)
No プロジェクトの顧客に対して「ユーザー」換算レート・タイプが許可されているかどうかを示すフラグ
INV_RATE_DATE DATE No このプロジェクト顧客に生成された請求書草案に対するデフォルトの請求書通貨換算レート基準日
INV_RATE_TYPE VARCHAR2
(30)
No このプロジェクト顧客に生成された請求書草案に対するデフォルトの請求書通貨換算レート・タイプ
INV_CURRENCY_CODE VARCHAR2
(15)
Yes このプロジェクト顧客に生成された請求書草案に対するデフォルトの請求書通貨コード
INV_EXCHANGE_RATE NUMBER No このプロジェクト顧客に生成された請求書草案に対するデフォルトの請求書通貨換算レート
BILL_ANOTHER
_PROJECT_FLAG
VARCHAR2
(1)
No プロジェクト顧客が内部かどうかを示すフラグ
RECEIVER_TASK_ID NUMBER No 内部プロジェクト顧客にリンクされている受け側タスクのタスク識別子

DELIVERABLE_IN_REC_TYPE

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

名称 タイプ 必須であるか 説明
DELIVERABLE_SHORT_NAME VARCHAR2
(100)
Yes 成果物の短縮名
DELIVERABLE_NAME VARCHAR2
(240)
Yes 成果物の詳細名称
DESCRIPTION VARCHAR2
(2000)
No 成果物の摘要
DELIVERABLE_OWNER_ID NUMBER No 成果物所有者のID
STATUS_CODE VARCHAR2
(30)
No 成果物のステータス
DELIVERABLE_TYPE_ID NUMBER No 成果物タイプのID
PROGRESS_WEIGHT NUMBER No 成果物の進捗加重
DUE_DATE DATE No 成果物期限
COMPLETION_DATE DATE No 成果物完了日
PM_SOURCE_CODE VARCHAR2
(30)
No 外部システムの識別子
PM_DELIVERABLE_REFERENCE VARCHAR2
(25)
Yes 外部システムにおける成果物の一意の識別子
DELIVERABLE_ID NUMBER Yes Oracle Projectsにおける成果物の一意の識別子
TASK_ID NUMBER No 成果物が作成されたタスクのタスクID
TASK_SOURCE_REFERENCE VARCHAR2
(25)
No 成果物が作成されたタスクのタスク参照
ITEM_ID NUMBER No 品目のID。このITEM_IDは品目成果物にのみ適用されます。
INVENTORY_ORG_ID NUMBER No 品目の在庫組織ID。INVENTORY_ORG_IDは品目成果物にのみ適用されます。
QUANTITY NUMBER No 品目の数量。QUANTITYは品目成果物にのみ適用されます。
UOM_CODE VARCHAR2
(30)
No 成果物の単位コード。UOM_CODEは品目成果物にのみ適用されます。
UNIT_PRICE NUMBER No 成果物の単価。UNIT_PRICEは品目成果物にのみ適用されます。
UNIT_NUMBER VARCHAR2
(30)
No 成果物の単位番号。UNIT_NUMBERは、品目成果物の単位番号が使用可能になっている場合に必要です。
CURRENCY_CODE VARCHAR2
(15)
No 成果物の通貨コード。CURRENCY_CODEは品目成果物にのみ適用されます。

DELIVERABLE_OUT_REC_TYPE

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

名称 タイプ 必須であるか 説明
DELIVERABLE_ID NUMBER Yes Oracle Projectsにおける成果物の一意の識別子
RETURN_STATUS VARCHAR2
(1)
  API標準

ACTION_IN_REC_TYPE

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

名称 タイプ 必須であるか 説明
ACTION_NAME VARCHAR2
(100)
Yes 成果物処理の名称
ACTION_OWNER_ID NUMBER No 成果物処理所有者のID
ACTION_ID NUMBER No Oracle Projectsにおける成果物処理の一意の識別子
FUNCTION_CODE VARCHAR2
(30)
No 成果物処理の機能コード
DUE_DATE DATE No 成果物処理の期限
COMPLETION_DATE DATE No 成果物処理の完了日
DESCRIPTION VARCHAR2
(2000)
No 成果物処理の摘要
PM_SOURCE_CODE VARCHAR2
(30)
No 外部システムの識別子
PM_ACTION_REFERENCE VARCHAR2
(25)
Yes 外部システムにおける成果物処理の一意の識別子
PM_DELIVERABLE
_REFERENCE
VARCHAR2
(25)
Yes 外部システムにおける成果物の一意の識別子
DELIVERABLE_ID NUMBER Yes Oracle Projectsにおける成果物の一意の識別子
FINANCIAL_TASK_ID NUMBER No 財務タスクID
FINANCIAL_TASK
_REFERENCE
VARCHAR2
(25)
No 外部システムにおける財務タスクの一意の識別子
DESTINATION_TYPE
_CODE
VARCHAR2
(30)
No 成果物処理の搬送先タイプ・コード
RECEIVING_ORG_ID NUMBER No 品目を受け入れる在庫組織の在庫組織ID
RECEIVING_LOCATION_ID NUMBER No 品目を受け入れる事業所(所在地)。RECEIVING_LOCATION_IDはRECEIVING_ORG_IDに関連付ける必要があります。
PO_NEED_BY_DATE DATE No 発注が必要な期限日
VENDOR_ID NUMBER No オブジェクトを供給する仕入先のID
VENDOR_SITE_CODE VARCHAR2
(15)
No オブジェクトを供給する仕入先の事業所(所在地)コード
QUANTITY NUMBER No 調達成果物処理の数量
UOM_CODE VARCHAR2
(30)
No 調達成果物処理の単位コード
UNIT_PRICE NUMBER No オブジェクトの単価。単価は、非品目成果物調達処理にのみ必要です。
EXCHANGE_RATE_TYPE VARCHAR2
(30)
No 調達成果物処理の換算レート・タイプ
EXCHANGE_RATE_DATE DATE No 調達成果物処理の換算レート基準日
EXCHANGE_RATE NUMBER No 調達成果物処理の換算レート
EXPENDITURE_TYPE VARCHAR2
(30)
No 支出タイプは、非品目成果物調達処理にのみ必要です。
EXPENDITURE_ORG_ID NUMBER No 調達成果物処理の支出組織
EXPENDITURE_ITEM_DATE DATE No 調達成果物処理の支出項目日
REQUISITION_LINE_TYPE
_ID
NUMBER No 購買依頼明細タイプには「AMOUNT」タイプのみを指定できます。購買依頼明細タイプは、非品目成果物調達処理にのみ必要です。
CATEGORY_ID NUMBER No 品目カテゴリIDは、非品目成果物調達処理にのみ必要です。
READY_TO_PROCURE
_FLAG
VARCHAR2
(1)
No 品目が調達可能かどうかを示すフラグ
INITIATE_PROCURE_FLAG VARCHAR2
(1)
No 調達処理を開始するかどうかを示すフラグ
SHIP_FROM
_ORGANIZATION_ID
NUMBER No 品目の出荷元在庫組織の在庫組織ID
SHIP_FROM
_LOCATION_ID
NUMBER No 品目の出荷元事業所(所在地)。SHIP_FROM_LOCATION_IDはSHIP_FROM_ORG_IDに関連付ける必要があります。
SHIP_TO_ORGANIZATION
_ID
NUMBER No 品目の出荷先顧客アカウントID
SHIP_TO_LOCATION_ID NUMBER No 品目の出荷先顧客事業所(所在地)。SHIP_TO_LOCATION_IDはSHIP_TO_ORG_IDに関連付ける必要があります。
DEMAND_SCHEDULE VARCHAR2
(10)
No 需要予定
EXPECTED_SHIPMENT_DATE DATE No 予想出荷日
PROMISED_SHIPMENT
_DATE
DATE No 確約出荷日
VOLUME NUMBER No 各出荷対象オブジェクトの容積。容積は非品目出荷にのみ必要です。
VOLUME_UOM VARCHAR2
(10)
No 各出荷対象オブジェクトの容積単位。容積単位は非品目出荷にのみ必要です。
WEIGHT NUMBER No 各出荷対象オブジェクトの加重。加重は非品目出荷にのみ必要です。
WEIGHT_UOM VARCHAR2
(10)
No 各出荷対象オブジェクトの加重単位。加重単位は非品目出荷にのみ必要です。
READY_TO_SHIP_FLAG VARCHAR2
(1)
No 品目が出荷可能かどうかを示すフラグ
INITIATE_PLANNING_FLAG VARCHAR2(1) No 計画を開始するかどうかを示すフラグ
INITIATE_SHIPING_FLAG VARCHAR2
(1)
No 出荷を開始するかどうかを示すフラグ
EVENT_TYPE VARCHAR2
(30)
No 請求イベント・タイプ
CURRENCY VARCHAR2
(30)
No 請求イベントの通貨コード
INVOICE_AMOUNT NUMBER No 請求イベントの請求額
REVENUE_AMOUNT NUMBER No 請求イベントの収益額
EVENT_DATE DATE No 請求イベントのイベント日付
EVENT_NUMBER NUMBER No 請求イベントのイベント番号
ORGANIZATION_ID NUMBER No 請求イベントに関連付けられた組織の組織ID
BILL_HOLD_FLAG VARCHAR2
(1)
No 請求イベントが保留中かどうかを示すフラグ
PROJECT_FUNCTIONAL
_RATE_TYPE
VARCHAR2
(30)
No 請求イベントのプロジェクト機能通貨のレート・タイプ
PROJECT_FUNCTIONAL
_RATE_DATE
DATE No 請求イベントのプロジェクト機能通貨のレート基準日
PROJECT_FUNCTIONAL
_RATE
NUMBER No 請求イベントのプロジェクト機能通貨のレート
PROJECT_RATE_TYPE VARCHAR2
(30)
No 請求イベントのプロジェクト通貨のレート・タイプ
PROJECT_RATE_DATE DATE No 請求イベントのプロジェクト通貨のレート基準日
PROJECT_RATE NUMBER No 請求イベントのプロジェクト通貨のレート
FUNDING_RATE_TYPE VARCHAR2
(30)
No 請求イベントの資金通貨のレート・タイプ
FUNDING_RATE_DATE DATE No 請求イベントの資金通貨のレート基準日
FUNDING_RATE NUMBER No 請求イベントの資金通貨のレート
PM_EVENT_REFERENCE VARCHAR2
(25)
No 外部システムにおける請求イベントの一意の識別子

ACTION_OUT_REC_TYPE

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

名称 タイプ 必須であるか 説明
ACTION_ID NUMBER Yes Oracle Projectsにおける成果物処理の一意の識別子
RETURN_STATUS VARCHAR2
(1)
  API標準

プロジェクトの定義APIの使用方法

次の例では、Oracle Projectsとシステムに入力されたプロジェクトおよびタスク情報との間のインタフェースを作成する方法を説明します。会社のビジネス・ニーズに応じて、プロジェクトAPIの実装の複雑度は、ここに示す使用例とは若干異なる場合があります。例を参照する際には、このマニュアル内の他の情報も必要に応じて参照してください。

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

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

ステップ2: ソース・テンプレートまたはプロジェクトの選択

APIを使用してOracle Projectsで新規プロジェクトを作成する場合は、まず新規プロジェクトの作成元とするプロジェクト・テンプレートを選択します。このステップを実行しないと、Oracle Projectsで新規プロジェクトは作成されません。APIビューPA_SELECT_TEMPLATE_Vを使用して、有効なOracle Projectsソース・テンプレートを選択します。

あるいは、ソース・プロジェクトを選択することもできます。テンプレートとプロジェクトとの唯一の違いは、テンプレートのTEMPLATE_FLAGフィールドはYに設定されるという点です。テンプレートに基づいたすべてのプロジェクトおよび元のテンプレートにより、新規プロジェクトでどのクイック入力フィールドが表示されるかが決まります。この項では、ソース・テンプレートに関する説明はすべて、ソース・プロジェクトにも該当します。

ステップ3: ソース・テンプレートのクイック入力フィールドの取得

ソース・テンプレートを選択したら、PA_SOURCE_TEMPLATE_IDを使用して、テンプレートに関連したクイック入力フィールドを取得します。クイック入力フィールドは、Oracle Projectsでテンプレートを作成する際にテンプレートに割り当てます。クイック入力フィールドの詳細は、Oracle Metalinkで入手可能なOracle eTRMで「PA_PROJECT_COPY_OVERRIDES」を参照してください。

PA_OVERRIDE_FIELDS_Vビューには、特定のテンプレートに関連したクイック入力フィールドがすべて表示されます。設計するユーザー・インタフェースには少なくとも「表示名」、「値」および「必須」フィールドが表示されるようにし、「値」フィールドにのみユーザーが情報を入力できるようにする必要があります。

これらの要件を満たすユーザー・インタフェースの例を次に示します。

「クイック入力(上書き可能フィールド)」ウィンドウの例

本文の説明内容に関するイメージ

ステップ4: クイック入力フィールドに有効なデータを入力

値リスト(LOV)では、クイック入力フィールドのほとんどが検証されます。PA_OVERRIDE_FIELDS_Vビューは、有効な行の有効なデータを含むビューの名称を取得し、この名称をLOV_VIEW_NAMEフィールドに返します。プロジェクト管理ツールでこの情報を使用すると、適切なビューに動的にアクセスできます。

たとえば、「資金調達ソース」フィールドにカーソルを置いて「有効な値の取得」を選択すると、プロジェクト管理ツールでは「コード」と「摘要」という2つの列がある画面が表示されます。データベース・ビューPA_CLASS_CATEGORIES_LOV_Vから取得した値は、これら2つの列見出しの下に表示されます。

プロジェクトのクイック入力フィールドの値リストを取得するには、次のビューも使用できます。

ステップ5: サーバーへのプロジェクト情報のインタフェース

ツールによっては、複合データ型を使用するAPIを呼び出せないものもあります。複合データ型をサポートしないツールは、補足的なロード-実行-フェッチAPIを呼び出す必要があります。ロード-実行-フェッチAPIには、データの初期化、ロード、実行、フェッチおよび消去を行うプロシージャが含まれています。

これらのAPIは、複合データ型パラメータをサポートしないツールを使用する場合のみ使用してください。ツール(たとえば、Oracle PL/SQLバージョン2.3以上)で複合データ型パラメータがサポートされる場合は、CREATE_PROJECTおよびUPDATE_PROJECT APIを直接呼び出せます。

次の表に、ユーザー・インタフェースの情報とLOAD_PROJECTとの間の関係を示します。

クイック入力フィールドの値 LOAD_PROJECTのパラメータ
NAME P_PROJECT_NAME
DESCRIPTION P_DESCRIPTION
START_DATE P_START_DATE
COMPLETION_DATE P_COMPLETION_DATE
PROJECT_STATUS_CODE P_PROJECT_STATUS_CODE
PUBLIC_SECTOR_FLAG P_PUBLIC_SECTOR_FLAG
DISTRIBUTION_RULE P_DISTRIBUTION_RULE
CARRYING_OUT_ORGANIZATION_ID P_CARRYING_OUT_ORGANIZATION_ID
CUSTOMER_NAME P_CUSTOMER_ID

LOAD_PROJECTは、クイック入力値フィールドに入力された値を、対応するパラメータに渡します。既存のプロジェクトを更新するか新規プロジェクトを作成するかに応じて、LOAD_PROJECTは追加のパラメータを渡します。新規プロジェクトを作成する場合、このプロシージャは次のパラメータも渡す必要があります。

プロジェクトに複数のキー・メンバーまたは区分カテゴリがある場合は、プロジェクトに関連付けられたキー・メンバーおよび区分カテゴリごとに、LOAD_KEY_MEMBERおよびLOAD_CLASS_CATEGORYのAPIを呼び出す必要があります。

プロジェクトの作成時、「キー・メンバー」および「区分カテゴリ」クイック入力フィールドは、次の2つの表に示す入力パラメータに関連付けられます。

次の表に、「キー・メンバー」クイック入力フィールドの入力パラメータを示します。

「キー・メンバー」クイック入力フィールド LOAD_KEY_MEMBERSの入力パラメータ
KEY_MEMBER (value) P_PERSON_ID
KEY_MEMBER (display_name) P_PROJECT_ROLE_TYPE

次の表に、「区分カテゴリ」クイック入力フィールドの入力パラメータを示します。

「区分カテゴリ」クイック入力フィールド LOAD_CLASS_CATEGORYの入力パラメータ
CLASS_CATEGORY (value) P_CLASS_CODE
CLASS_CATEGORY (display_name) P_CLASS_CATEGORY

ステップ6: サーバーへのタスク情報のインタフェース

サーバーにプロジェクト関連データをインタフェースしてから、LOAD_TASKを呼び出して、サーバー側のグローバルPL/SQL表にタスク関連データをインタフェースできます。プロジェクト内のタスクごとにLOAD_TASKを1回呼び出します。

重要: サブタスクをロードするには、その前に親タスクをロードする必要があります。

各タスクには少なくとも次の情報を指定する必要があります。

LOAD_TASKが渡せるその他のパラメータの名称と説明は、「LOAD_TASK」を参照してください。

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

ロード・プロシージャによってプロジェクトおよびタスク・データがOracle ProjectsのグローバルPL/SQL表に正常に移動された後、EXECUTE_CREATE_PROJECTプロシージャを呼び出して、グローバルPL/SQL表にインタフェースしたプロジェクトおよびタスク・データを処理します。標準入出力パラメータに加えて、この実行プロシージャには次のパラメータが必要です。

ステップ8: タスクの戻り値の取得

ロードおよび実行プロシージャによってOracle Projects内にプロジェクトとタスクが作成された後、FETCH_TASKを使用してOracle Projectsから一意のタスク識別コードのそれぞれを返します。このプロシージャのキー・パラメータは、入力パラメータP_TASK_INDEX(単一タスクを指す)と出力パラメータP_PA_TASK_IDおよびP_PM_TASK_REFERENCEです。

タスクごとにプロシージャを呼び出すには、P_TASK_INDEXをステップ変数(1からタスクの合計数まで)として持つループ内でFETCH_TASKを呼び出す単純なプログラムを記述できます。出力パラメータP_TASK_RETURN_STATUSは、APIが特定のタスクを正常に処理したか(「S」)どうかを示します。このパラメータが「E」または「U」を返す場合は、タスクによってエラーが発生しており、フェッチ・プロシージャを停止して関連エラー・メッセージを取得する必要があります。フェッチAPIはエラー・メッセージ・データを返しません。かわりに、次のステップで説明するように、GET_MESSAGESを使用してエラー・テキストを取得します。

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

Oracle Projects APIのそれぞれに、2つの標準出力パラメータが含まれています。P_RETURN_STATUSは、APIが正常に実行されたかどうかを示します。P_MSG_COUNTは、APIの実行中に検出されたエラー数を示します。

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

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

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

ロード-実行-フェッチAPIを使用したプロジェクトの作成

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

ロード-実行-フェッチAPIでは、標準データ型(VARCHAR2、NUMBERおよびDATE)のパラメータが使用されます。複合データ型は使用されません。

DECLARE
--variables needed to create task hierarchy
level1 NUMBER;
level2 NUMBER;
level3 NUMBER;
a NUMBER := 0;
m NUMBER := 0;
parent_level1 VARCHAR2(30);
parent_level2 VARCHAR2(30);
parent_level3 VARCHAR2(30);
number_of_tasks1 NUMBER; ––number of tasks/level
number_of_tasks2 NUMBER;
number_of_tasks3 NUMBER;
number_of_tasks4 NUMBER;
--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);
--variables needed for Oracle Project specific parameters
l_created_from_project_id NUMBER;
l_pm_product_code VARCHAR2(10);
l_number_of_task_levels NUMBER;
l_project_name VARCHAR2(30);
l_pm_project_reference VARCHAR2(25);
l_project_status_code VARCHAR2(30);
l_distribution_rule VARCHAR2(30);
l_public_sector_flag VARCHAR2(1);
l_carrying_out_organization_id NUMBER;
l_start_date DATE;
l_completion_date DATE;
l_actual_start_date DATE;
l_actual_finish_date DATE;
l_early_start_date DATE;
l_early_finish_date DATE;
l_late_start_date DATE;
l_late_finish_date DATE;
l_person_id NUMBER;
l_project_role_type VARCHAR2(20);
l_class_category VARCHAR2(30);
l_class_code VARCHAR2(30);
l_project_id NUMBER(15);
l_pa_project_number VARCHAR2(25);
l_project_description VARCHAR2(250);
l_customer_id NUMBER;
l_project_relationship_code VARCHAR2(30);
l_task_id NUMBER(15);
l_pm_task_reference VARCHAR2(25);
l_task_index NUMBER;
l_tasks_in pa_project_pub.task_in_tbl_type;
l_task_rec pa_project_pub.task_in_rec_type;
l_key_member_rec pa_project_pub.project_role_rec_type;
l_key_member_tbl pa_project_pub.project_role_tbl_type;
l_task_return_status VARCHAR2(1);
API_ERROR EXCEPTION;
BEGIN
--PRODUCT RELATED DATA
l_pm_product_code :=’SOMETHING’;
--PROJECT DATA
l_created_from_project_id := 1040;
l_project_name := ’PROJECT_NAME’;
l_pm_project_reference := ’PROJECT_NAME’;
l_project_description := ’PROJECT_DESCRIPTION’;
l_project_status_code := ’’;
--l_distribution_rule := ’COST/COST’;
l_carrying_out_organization_id :=2;
l_start_date :=’01-jan-94’;
l_completion_date :=’31-mar-99’;
l_actual_start_date :=’01-jan-93’;
l_actual_finish_date :=’01-apr-99’;
l_early_start_date :=’01-jan-94’;
l_early_finish_date :=’31-mar-99’;
l_late_start_date :=’01-jan-94’;
l_late_finish_date :=’31-mar-99’;
--KEY MEMBERS DATA
m:= 1;
l_person_id :=’29’;
l_project_role_type :=’PROJECT MANAGER’;
l_key_member_rec.person_id :=29;
l_key_member_rec.project_role_type :=’PROJECT MANAGER’;
l_key_member_tbl(m) := l_key_member_rec;
m:=2;
l_key_member_rec.person_id :=30;
l_key_member_rec.project_role_type :=’Project Coordinator’;
l_key_member_tbl(m) := l_key_member_rec;
m:=3;
l_key_member_rec.person_id :=7;
l_key_member_rec.project_role_type :=’Project Coordinator’;
l_key_member_tbl(m) := l_key_member_rec;
--CLASS CATEGORIES DATA
l_class_category :=’Funding Source’;
l_class_code :=’Federal’;
--TASKS DATA
--Set the number of tasks for every level (there are 4 levels)
number_of_tasks1 := 10;
number_of_tasks2 := 1;
number_of_tasks3 := 1;
number_of_tasks4 := 0;
for level1 in 1..number_of_tasks1 loop
a:= a + 1;
l_task_rec.pm_task_reference :=a;
l_task_rec.task_name :=’TOP LEVEL ’||a;
l_task_rec.pm_parent_task_reference :=’’;
l_task_rec.task_start_date := ’09-MAR-95’;
l_task_rec.task_completion_date := ’05-JUL-95’;
l_task_rec.actual_start_date := ’10-MAR-95’;
l_task_rec.actual_finish_date := ’06-JUL-95’;
l_task_rec.early_start_date := ’09-MAR-95’;
l_task_rec.early_finish_date := ’05-JUL-95’;
l_task_rec.late_start_date := ’09-MAR-95’;
l_task_rec.late_finish_date := ’05-JUL-95’;
--l_task_rec.address_id := 1012;
l_tasks_in(a):= l_task_rec;
parent_level1:= a;
FOR level2 IN 1..number_of_tasks2 LOOP
a:= a + 1;
l_task_rec.pm_task_reference :=a;
l_task_rec.task_name :=’2 LEVEL ’||a;
l_task_rec.pm_parent_task_reference := parent_level1;
l_tasks_in(a) := l_task_rec;
parent_level2 := a;
for level3 IN 1..number_of_tasks3 loop
a := a + 1;
l_task_rec.pm_task_reference := a;
l_task_rec.task_name :=’3 LEVEL ’||a;
l_task_rec.pm_parent_task_reference :=
parent_level2;
l_tasks_in(a) := l_task_rec;
parent_level3 := a;
for level4 IN 1..number_of_tasks4 loop
a := a + 1;
l_task_rec.pm_task_reference := a;
l_task_rec.task_name :=’Fourth LEVEL
’||a;
l_task_rec.pm_parent_task_reference :=
parent_level3;
l_tasks_in(a) := l_task_rec;
end loop;
end loop;
END LOOP;
end loop;
-----------------------
--INIT_CREATE_PROJECT
pa_project_pub.init_project;
-----------------------
––LOAD_PROJECT
pa_project_pub.load_project( p_api_version_number =>
l_api_version_number
,p_return_status => l_return_status
,p_created_from_project_id =>
l_created_from_project_id
,p_project_name => l_project_name
,p_description =>
l_project_description
,p_pm_project_reference =>
l_pm_project_reference
,p_pa_project_number =>
’rk–test–number’
,p_carrying_out_organization_id =>
l_carrying_out_organization_id
,p_public_sector_flag =>
l_public_sector_flag
,p_customer_id => l_customer_id
,p_project_status_code =>
l_project_status_code
,p_start_date => l_start_date
,p_completion_date =>
l_completion_date
,p_actual_start_date =>
l_actual_start_date
,p_actual_finish_date =>
l_actual_finish_date
,p_early_start_date =>
l_early_start_date
,p_early_finish_date =>
l_early_finish_date
,p_late_start_date =>
l_late_start_date
,p_late_finish_date =>
l_late_finish_date
,p_distribution_rule =>
l_distribution_rule);
IF l_return_status != ’S’
THEN
RAISE API_ERROR;
END IF;
-----------------------
--LOAD_KEY_MEMBER (loop for multiple key members)
FOR i in 1..1 LOOP
pa_project_pub.load_key_member( p_api_version_number =>
l_api_version_number
,p_return_status => l_return_status
,p_person_id =>
l_key_member_tbl(i).person_id
,p_project_role_type =>
l_key_member_tbl(i).project_role_type );
IF l_return_status != ’S’
THEN
RAISE API_ERROR;
END IF;
END LOOP;
-----------------------
--LOAD_CLASS_CATEGORY (loop for mulitple class categories
--This example has
-- only one )
FOR i IN 1..1 LOOP
pa_project_pub.load_class_category(
p_api_version_number =>
l_api_version_number
,p_return_status => l_return_status
,p_class_category => l_class_category
,p_class_code => l_class_code );
IF l_return_status != ’S’
THEN
RAISE API_ERROR;
END IF;
END LOOP;
-----------------------
--LOAD_TASK (loop for multiple tasks)
FOR i IN 1..a LOOP
pa_project_pub.load_task( p_api_version_number =>
l_api_version_number
,p_return_status => l_return_status
,p_pm_task_reference =>
l_tasks_in(i).pm_task_reference
,p_task_name => l_tasks_in(i).task_name
,p_pm_parent_task_reference =>
l_tasks_in(i).pm_parent_task_reference
,p_task_start_date =>
l_tasks_in(i).task_start_date
,p_task_completion_date =>
l_tasks_in(i).task_completion_date
,p_actual_start_date =>
l_tasks_in(i).actual_start_date
,p_actual_finish_date =>
l_tasks_in(i).actual_finish_date
,p_early_start_date =>
l_tasks_in(i).early_start_date
,p_early_finish_date =>
l_tasks_in(i).early_finish_date
,p_late_start_date =>
l_tasks_in(i).late_start_date
,p_late_finish_date =>
l_tasks_in(i).late_finish_date
,p_address_id =>
l_tasks_in(i).address_id);
IF l_return_status != ’S’
THEN
RAISE API_ERROR;
END IF;
END LOOP;
-----------------------
--EXECUTE_CREATE_PROJECT
pa_project_pub.execute_create_project(p_api_version_number =>
l_api_version_number
,p_commit => l_commit
,p_init_msg_list => ’F’
,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_project_id
,p_pa_project_number =>
l_pa_project_number);
IF l_return_status != ’S’
THEN
RAISE API_ERROR;
END IF;
-----------------------
--FETCH_TASK
FOR l_task_index in 1..a LOOP
pa_project_pub.fetch_task( p_api_version_number =>
l_api_version_number
,p_return_status => l_return_status
,p_task_index => l_task_index
,p_pa_task_id => l_task_id
,p_pm_task_reference =>
l_pm_task_reference
,p_task_return_status =>
l_task_return_status);
IF l_return_status != ’S’
OR l_task_return_status != ’S’
THEN
RAISE API_ERROR;
END IF;
END LOOP;
-----------------------
--CLEAR_CREATE_PROJECT
pa_project_pub.clear_project;
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_count => l_msg_count
,p_msg_data => l_msg_data
,p_data => l_data
,p_msg_index_out => l_msg_index_out);
dbms_output.put_line (’error mesg ’||l_data);
end loop;
END ;
/

体系API

体系APIを利用すると、外部システムを使用して体系バージョンを作成および変更できます。また、タスクの追加、更新および削除も行えます。

注意: タスク識別子が必要な体系APIを呼び出す場合は、P_PA_TASK_IDまたはP_PM_TASK_REFERENCEパラメータを渡してタスクを識別する必要があります。

体系APIのビュー

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

ビュー 説明
PA_PROJECT_STATUS_LOV_V Oracle Projectsからプロジェクト・ステータスを取得します。
PA_SERVICE_TYPE_LOV_V パラメータservice_type_codeに有効なサービス・タイプ・コードを選択する必要があるため、このビューを使用してOracle Projectsからservice_type_codeの有効なコードを取得し、外部システムで表示できます。
PA_TASK_MANAGERS_LOV_V パラメータTASK_MANAGER_PERSON_IDに有効な従業員を選択する必要があるため、このビューを使用してOracle Projectsから有効な従業員を取得し、外部システムで表示できます。
PA_TASKS_AMG_V ユーザーの職責に関連付けられた組織のすべての有効なタスクに関する情報を取得します。このビューには、財務タスクとその関連属性のリストが表示されます。
PA_TASKS_LOWEST_V フォームのコーディングを単純化するために使用する補足ビュー。
PA_TASK_PROGRESS_AMG_V ユーザーの職責に関連付けられた組織のすべての有効なタスク進捗に関する情報を取得します。
PA_STRUCT_TASKS_AMG_V このビューを使用すると、Oracle Projectsから有効な体系を取得して、外部システムで表示できます。このリストには、タスクとその関連属性が表示されます。
PA_STRUCT_VERSIONS_LOV_AMG_V このビューを使用すると、Oracle Projectsから有効な体系バージョンを取得して、外部システムで表示できます。このビューには体系バージョンのリストが表示されます。
PA_TASK_INV_METHODS_LOV_V このビューは、タスクの請求方法を取得します。
PA_TOP_TASK_CUSTOMERS_LOV_V このビューは、プロジェクトの顧客をすべて取得します。

体系APIのプロシージャ

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

体系APIのプロシージャ定義

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

ADD_TASK

ADD_TASKは、Oracle Projectsでプロジェクトのタスクに新規サブタスクを追加するために使用するPL/SQLプロシージャです。レコード・タイプ定義のフィールドごとに、タスク・レコード・タイプは標準データ型(NUMBER、VARCHAR2またはDATE)のパラメータに置き換えられているため、このプロシージャを直接呼び出すことができます。

ビジネス・ルール(タスク・レベル)

Oracle Projectsは、タスク・レベルで次のビジネス・ルールを課します。

計画検証の実行

P_OP_VALIDATE_FLAGパラメータに「N」を設定した場合、計画データのタイプを指定するための余分な検証を消去します。不要な計画検証はシステム・パフォーマンスを遅くします。

サード・パーティの計画ツールをOracle Projectsと統合するためにこのAPIを使用している場合、P_OP_VALIDATE_FLAGを「N」に設定する必要があります。サード・パーティの計画ツールが次の検証を実行できる場合、このパラメータを「N」に設定してください。

APIを使用して前述の広範囲な検証を実行しないレガシー・システムからデータをアップロードしている場合、P_OP_VALIDATE_FLAGを「Y」に設定する必要があります。Oracle Projectsでのデータ整合性を確実にするために、計画データを検証する必要があります。

ADD_TASKのパラメータ

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

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

APPLY_LP_PROG_ON_CWV

APPLY_LP_PROG_ON_CWVは、現行作業中バージョンの体系に関する最新進捗情報を適用するために使用します。

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

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

BASELINE_STRUCTURE

BASELINE_STRUCTUREは、体系バージョンを基本編成するPL/SQLプロシージャです。

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

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

CHANGE_CURRENT_WORKING_VERSION

CHANGE_CURRENT_WORKING_VERSIONは、現行作業中バージョンの体系を変更するために使用します。

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

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

CHANGE_STRUCTURE_STATUS

このPL/SQLプロシージャは、体系の公開、発行、再処理、棄却または承認、およびそのステータス・コードの変更を行うために使用します。有効なステータス・コードは次のとおりです。

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

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

DELETE_STRUCTURE_VERSION

DELETE_STRUCTURE_VERSIONは、Oracle Projectsから体系バージョンを削除するために使用するPL/SQLプロシージャです。

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

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

DELETE_TASK

DELETE_TASKは、Oracle Projectsでプロジェクトのタスクを削除するために使用するPL/SQLプロシージャです。

ビジネス・ルール(タスク・レベル)

Oracle Projectsは次のビジネス・ルールを課します。

カスケード・タスクの削除

次のルールは、カスケード・タスクの削除に適用されます。カスケード・タスクの削除では、タスクが削除されると、そのサブタスクもすべて削除されます。

タスクがルール1〜8を満たす場合のみ、最上位タスクを削除できます。

タスクがルール4〜8を満たす場合、中位または最下位タスクを削除できます(中位タスクの場合、ルールはその中位タスクの下にある最下位タスクに関連します)。

  1. 最上位タスク・イベント(収益、請求など)が存在しない

  2. 最上位タスク資金が存在しない

  3. 最上位タスク予算が存在しない

  4. 最下位タスク支出項目が存在しない

  5. 最下位タスク発注明細が存在しない

  6. 最下位タスク購買依頼明細が存在しない

  7. 最下位タスク仕入先請求書が存在しない

  8. 最下位タスク予算が存在しない

非カスケード・タスクの削除

次のビジネス・ルールは、非カスケード・タスクの削除に適用されます。非カスケード・タスクの削除では、タスクを削除すると該当タスクのみが削除され、その下にあるサブタスクはすべて、プロジェクトの作業分解構造内で1レベル上位に移動します。

パラメータ

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

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

GET_TASK_VERSION

GET_TASK_VERSIONは、特定の体系バージョンに対してタスクのタスク・バージョンIDを取得するために使用します。

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

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

GET_DELETED_TASKS_FROM_OP

Oracle Projectsでバージョン使用可作業計画を公開すると、「削除対象」ステータスを持つ作業中バージョンのタスクは削除されるか、「取消済」ステータスに設定されます。GET_DELETED_TASKS_FROM_OPプロシージャは、Oracle Projectsで削除済タスクのリストを取得し、Microsoft Projectなどの統合外部システムでタスクを表示します。

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

このプロシージャのパラメータはすべてOUTパラメータであるため、必須パラメータはありません。

UPDATE_TASK

UPDATE_TASKは、Oracle Projectsでプロジェクトの既存のタスクを更新するために使用するPL/SQLプロシージャです。レコード・タイプ定義のフィールドごとに、タスク・レコード・タイプは標準データ型(VARCHAR2、NUMBERおよびDATE)を使用するパラメータに置き換えられているため、このプロシージャを直接呼び出すことができます。

ビジネス・ルール(タスク・レベル)

Oracle Projectsは次のビジネス・ルールを課します。

外部システムとOracle Projectsとの間でタスク情報が共有される順序には、次のルールが適用されます。

タスク番号、識別コードおよび組織には、次のルールが適用されます。

プロジェクトの作業分解構造(WBS)内でタスクを移動する場合には、次のルールが適用されます。

タスク・フィールドおよび属性の変更には、次のルールが適用されます。

計画検証の実行

P_OP_VALIDATE_FLAGパラメータに「N」を設定した場合、計画データのタイプを指定するための余分な検証を消去します。不要な計画検証はシステム・パフォーマンスを遅くします。

サード・パーティの計画ツールをOracle Projectsと統合するためにこのAPIを使用している場合、P_OP_VALIDATE_FLAGを「N」に設定する必要があります。サード・パーティの計画ツールが次の検証を実行できる場合、このパラメータを「N」に設定してください。

APIを使用して前述の広範囲な検証を実行しないレガシー・システムからデータをアップロードしている場合、P_OP_VALIDATE_FLAGを「Y」に設定する必要があります。Oracle Projectsでのデータ整合性を確実にするために、計画データを検証する必要があります。

UPDATE_TASKのパラメータ

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

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

FETCH_STRUCTURE_VERSION

FETCH_STRUCTURE_VERSIONは、作業計画および財務体系の体系バージョンIDを返すロード-実行-フェッチ・プロシージャです。

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

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

FETCH_TASK

FETCH_TASKは、タスクに関連した出力パラメータをフェッチするために使用するロード-実行-フェッチ・プロシージャです。FETCH_TASKは、正常に処理されたタスクをグローバルPL/SQL表にロードするために使用します。

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

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

FETCH_TASKS

FETCH_TASKSは、FETCH_TASKへの複数の呼出しを処理するFETCH_TASKのラッパーです。

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

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

FETCH_TASK_VERSION

FETCH_TASK_VERSIONは、タスクのバージョン識別子を返すロード-実行-フェッチ・プロシージャです。

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

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

LOAD_STRUCTURE

LOAD_STRUCTUREは、体系データをロードするために使用するロード-実行-フェッチ・プロシージャです。

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

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

LOAD_TASK

LOAD_TASKは、グローバルPL/SQL表にタスクをロードするために使用するロード-実行-フェッチ・プロシージャです。

ビジネス・ルール(タスク・レベル)

Oracle Projectsは次のビジネス・ルールを課します。

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

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

LOAD_TASKS

LOAD_TASKSは、グローバルPL/SQL表にタスクをロードするために使用するロード-実行-フェッチ・プロシージャです。このプロシージャのパラメータは、LOAD_TASKのパラメータと同じです。

チェック・プロシージャ

次のチェック・プロシージャは、次のことをリアルタイムで検証するために使用するPL/SQLプロシージャです。

CHECK_ADD_SUBTASK_OK

チェック・プロシージャCHECK_ADD_SUBTASK_OKを使用して、サブタスクを親タスクに追加できるかどうかを確認します。

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

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

CHECK_CHANGE_PARENT_OK

チェック・プロシージャCHECK_CHANGE_PARENT_OKを使用して、ある親タスクのタスクを別の親タスクに移動できるかどうかを確認します。同じ最上位タスクを維持するかぎり、タスクは移動できます。

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

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

CHECK_DELETE_TASK_OK

チェック・プロシージャCHECK_DELETE_TASK_OKを使用して、タスクを削除できるかどうかを確認します。

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

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

CHECK_TASK_NUMBER_CHANGE_OK

チェック・プロシージャCHECK_TASK_NUMBER_CHANGE_OKを使用して、タスクの番号を変更できるかどうかを確認します。

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

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

CHECK_TASK_MFD

チェック・プロシージャCHECK_TASK_MFDを使用して、Microsoft Projectなどの外部計画システムをOracle Projectsと統合する場合に、外部計画システムで削除されたタスクをOracle Projectsで削除できるかどうかを確認します。公開済バージョンが存在しない場合、Oracle Projectsでタスクは即座に削除されます。Oracle Projectsで作業中の作業計画バージョンが公開されると、タスクは削除対象または取消済としてマークされます。このプロシージャは、取引があるタスクが削除されることを防ぎます。

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

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

CHECK_UNIQUE_TASK_NUMBER

チェック・プロシージャCHECK_UNIQUE_TASK_NUMBERを使用して、新規または変更済タスク番号がプロジェクト内で一意であるかどうかを確認します。

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

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

CHECK_UNIQUE_TASK_REFERENCE

チェック・プロシージャCHECK_UNIQUE_TASK_REFERENCEを使用して、新規または変更済タスク参照(PM_TASK_REFERENCE)が一意であるかどうかを確認します。

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

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

ユーザー定義属性API

ユーザー定義属性APIを使用すると、外部システムのユーザー定義属性をOracle Projectsと統合できます。

ユーザー定義属性を使用すると、ビジネスのニーズに対応するために、プロジェクトおよびタスクに関して無制限の情報を取得できます。ユーザー定義属性は、実装チームによって定義されます。ユーザー定義属性は、コーディングなしで高度なプロジェクトおよびタスク属性を提供し、複雑な検証付きの構成可能なユーザー・インタフェースを特徴としています。ユーザー定義属性の詳細は、『Oracle Projects基礎』のプロジェクトのユーザー定義属性および『Oracle Projectsインプリメンテーション・ガイド』のユーザー定義属性の設定に関する項を参照してください。

ユーザー定義属性プロシージャ

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

これらのプロシージャは、次のロード-実行-フェッチ・プロシージャによって呼び出されます。

グローバル定数

PA_PROJECT_PUBパッケージには、P_TRANSACTION_TYPEパラメータに使用されるグローバル定数が含まれています。次の表にグローバル定数を示します。

定数 説明
G_CREATE_MODE 拡張可能属性行を作成します
G_UPDATE_MODE 既存の拡張可能属性行を更新します
G_DELETE_MODE 拡張可能属性行を削除します
G_SYNC_MODE 拡張可能属性行を必要に応じて作成、更新または削除します

LOAD_EXTENSIBLE_ATTRIBUTE

このAPIは、指定されたプロジェクトおよびタスクに対して特定の属性グループの単一属性値をロードします。

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

次の表に、このプロシージャの必須パラメータを示します。

名称 必須
P_API_VERSION_NUMBER Yes
P_TASK_ID 1(「パラメータ要件」を参照)
P_TASK_REFERENCE 1(「パラメータ要件」を参照)
P_ATTR_GRP_INTERNAL_NAME 2(「パラメータ要件」を参照)
P_ATTR_GRP_ID 2(「パラメータ要件」を参照)
P_ATTR_GRP_ROW_INDEX Yes
P_ATTR_VALUE_STR 3(「パラメータ要件」を参照)
P_ATTR_VALUE_NUM 3(「パラメータ要件」を参照)
P_ATTR_VALUE_DATE 3(「パラメータ要件」を参照)

パラメータ要件

前の表で「必須」列に番号が含まれる場合、値が必須であるかどうかは次の論理によって決まります。

「必須」列に同じ番号があるパラメータのうち、いずれか1つにのみ値を指定する必要があります。たとえば、P_TASK_IDとP_TASK_REFERENCEは両方とも「必須」列に番号1があるため、P_TASK_IDまたはP_TASK_REFERENCEに値を指定する必要があります。

LOAD_EXTENSIBLE_ATTRIBUTES

これは、API呼出しごとに1000属性のバッチで属性値をロードするバルク・ロードAPIです。このプロシージャは、LOAD_EXTENSIBLE_ATTRIBUTE APIを呼び出します。

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

次の表に、このプロシージャの必須パラメータを示します。

名称 必須
P_TASK_ID 1(「パラメータ要件」を参照)
P_TASK_REFERENCE 1(「パラメータ要件」を参照)
P_ATTR_GRP_INTERNAL_NAME 2(「パラメータ要件」を参照)
P_ATTR_GRP_ID 2(「パラメータ要件」を参照)
P_ATTR_GRP_ROW_INDEX Yes
P_ATTR_VALUE_STR 3(「パラメータ要件」を参照)
P_ATTR_VALUE_NUM 3(「パラメータ要件」を参照)
P_ATTR_VALUE_DATE 3(「パラメータ要件」を参照)

ユーザー定義属性APIの使用方法

ユーザー定義属性の特徴として、単一行属性と複数行属性がサポートされています。これは、外部システムからユーザー定義属性を統合する際に考慮する必要がある重要な概念です。

単一および複数行属性グループ

この例では、プロジェクトに対して2つの属性グループ、プロジェクト複雑度とアプリケーション加重が定義されています。

プロジェクト複雑度は単一行属性グループで、多数の情報レコードを表示します。各レコードは表内で1行に表示され、ページ内に複数の列があります。

次の図に、これらのグループが入力画面でどのように表示されるかを示します。

入力画面における属性グループの例

本文の説明内容に関するイメージ

単一行属性グループの統合

次の表に、単一行属性グループであるプロジェクト複雑度のデータを示します。

属性
AIMプロジェクト・タイプ AIM
プロセス変更必須
システム・サイズ/複雑度 標準
カスタマイズ必須 標準
複雑度スコア [ブランク]

API LOAD_EXTENSIBLE_ATTRIBUTESによるバルク・アプローチを使用してこの情報をロードするには、PL/SQLレコードを使用して表内の各セルをロードします。単一行のセルはすべて、共通の属性行識別子を使用して識別されます。

注意: 属性と値のペアは、LOAD_EXTENSIBLE_ATTRIBUTE APIを使用して1つずつロードすることもできます。

次の表に、属性行識別子によって属性を単一行に挿入する方法を示します。

PL/SQLレコード番号 属性行識別子 内部属性グループ名 内部属性名 属性値(文字列) 属性値(番号) 属性値(日付)
1 1 プロジェクト複雑度 AIMプロジェクト・タイプ AIM [ブランク] [ブランク]
2 1 プロジェクト複雑度 プロセス変更必須 [ブランク] [ブランク]
3 1 プロジェクト複雑度 システム・サイズ/複雑度 標準 [ブランク] [ブランク]
4 1 プロジェクト複雑度 カスタマイズ必須 標準 [ブランク] [ブランク]
5 1 プロジェクト複雑度 実装タイプ 分割 [ブランク] [ブランク]
6 1 プロジェクト複雑度 複雑度スコア [ブランク] [ブランク] [ブランク]

複数行属性グループの統合

次の表に、複数行属性グループであるアプリケーション加重のデータを示します。

製品ファミリ アプリケーション・モジュール デフォルト加重
Financials Assets 0.4
Financials General Ledger 0.6

ここに示された情報をロードするには、PL/SQLレコードを使用して前述の表内の各セルをロードします。単一行のセルはすべて、共通の属性行識別子を使用して識別できます。

次の表に、LOAD_EXTENSIBLE_ATTRIBUTESバルク・ロードAPIを使用してこの情報をロードするための論理アプローチを示します。

この例では、属性行識別子を使用して属性を単一行にグループ化する方法を示します。バルク・ロード・アプローチを使用すると、複数の属性グループ(単一行と複数行の両方)をAPIへの1回の呼出しでロードできます。

PL/SQLレコード番号 属性行識別子 内部属性グループ名 内部属性名 属性値(文字列) 属性値(番号) 属性値(日付)
1 1 アプリケーション加重 製品ファミリ Financials [ブランク] [ブランク]
2 1 アプリケーション加重 アプリケーション・モジュール Assets [ブランク] [ブランク]
3 1 アプリケーション加重 デフォルト加重 [ブランク] 0.4 [ブランク]
4 1 アプリケーション加重 製品ファミリ Financials [ブランク] [ブランク]
5 1 アプリケーション加重 アプリケーション・モジュール General Ledger [ブランク] [ブランク]
6 1 アプリケーション加重 デフォルト加重 [ブランク] 0.6 [ブランク]

LOAD_EXTENSIBLE_ATTRIBUTE APIの使用例

次のサンプル・スクリプトでは、LOAD_EXTENSIBLE_ATTRIBUTE APIを使用してユーザー定義属性グループに対して単一属性と値のペアを統合する方法を示します。

/*
Name: EATESTPACKAGE.SQL
Purpose: Package for the project amg api procedures’ wrappers.
*/
create or replace package pa_EA_test as
procedure create_project_EA(
created_from_project_id number
,project_name varchar2
);
end pa_EA_test;
/
CREATE OR REPLACE PACKAGE BODY PA_EA_TEST as
procedure create_project_EA(
created_from_project_id number
,project_name varchar2
) as
--This package is an example of how the LOAD_EXTENSIBLE_ATTRIBUTE API can be used
--to integrate a single attribute/value pair for a user-defined attribute group.

--variables needed to create task hierarchy
level1 number;
level2 number;
level3 number;
a number := 0;
m number := 0;
parent_level1 varchar2(30);
parent_level2 varchar2(30);
parent_level3 varchar2(30);
parent_level4 varchar2(30);
parent_level5 varchar2(30);
number_of_tasks1 number;
number_of_tasks2 number;
number_of_tasks3 number;
number_of_tasks4 number;
number_of_tasks5 number;
number_of_tasks6 number;
temp_msg_data varchar2(2000);

--variables needed for api standard parameters
l_api_version_number number := 1.0;
l_commit varchar2(1) := ’T’;
l_return_status varchar2(1);
l_init_msg_list varchar2(1) := ’T’;
l_msg_data varchar2(2000);
l_msg_entity varchar2(100);
l_msg_entity_index number;
l_msg_index number;
l_encoded varchar2(1);
l_work_flow_started varchar2(1);
t1 varchar2(10);
t2 varchar2(100);
l_data varchar2(200);
t3 varchar2(2000);
l_msg_count number;
l_msg_index_out number;

--variables needed for oracle project specific parameters
l_created_from_project_id number;
l_pm_product_code varchar2(10);
l_number_of_task_levels number;
l_project_name varchar2(30);
l_project_number varchar2(80);
l_pm_project_reference varchar2(25);
l_project_status_code varchar2(30);
l_distribution_rule varchar2(30);
l_public_sector_flag varchar2(1);
l_carrying_out_organization_id number;
l_start_date date;
l_completion_date date;
l_actual_start_date date;
l_actual_finish_date date;
l_early_start_date date;
l_early_finish_date date;
l_late_start_date date;
l_late_finish_date date;
l_person_id number;
l_project_role_type varchar2(20);
l_class_category varchar2(30);
l_class_code varchar2(30);
l_project_id number(15);
l_pa_project_number varchar2(25);
l_project_description varchar2(250);
l_customer_id number;
l_project_relationship_code varchar2(30);
l_task_id number(15);
l_pm_task_reference varchar2(25);
l_task_index number;
project_loop number;
l_tasks_in pa_project_pub.task_in_tbl_type;
l_task_rec pa_project_pub.task_in_rec_type;
l_key_member_rec pa_project_pub.project_role_rec_type;
l_key_member_tbl pa_project_pub.project_role_tbl_type;
l_task_return_status varchar2(1);
l_short_name varchar2(10);
l_role_list_id number;
l_work_type_id number;
l_calendar_id number;
l_location_id number;
l_probability_member_id number;
l_project_value number;
l_opp_value_currency_code varchar2(15) := ’USD’;
l_expected_approval_date date;
api_error exception;
l_org_member_rec pa_project_pub.project_role_rec_type;
l_org_member_tbl pa_project_pub.project_role_tbl_type;
l_task_version_id number;
l_encoded_msg varchar2(4000);
l_decoded_msg varchar2(4000);
l_final_msg varchar2(4000);
l_structure_type varchar2(25);
l_structure_version_name varchar2(25);
l_structure_version_id varchar2(25);
l_structure_description varchar2(150);
l_long_name varchar2(80);
v_time_before number;
l_ATTR_GRP_ROW_INDEX number;
l_ATTR_GRP_INTERNAL_NAME varchar2(15);
l_ATTR_INTERNAL_NAME varchar2(15);
l_ATTR_DISP_VALUE varchar2(15);

BEGIN
v_time_before := DBMS_UTILITY.get_time;
--PRODUCT RELATED DATA
l_pm_product_code := ’MSPROJECT’;
--PROJECT DATA
l_created_from_project_id := created_from_project_id;
l_project_name := project_name;
l_project_number := project_name;
l_pm_project_reference := project_name;
l_project_description := project_name;
l_long_name := project_name;
l_project_status_code := ’’;
l_carrying_out_organization_id := 244;
l_start_date := ’01-jan-00’;
l_completion_date := ’31-mar-05’;
l_actual_start_date := ’01-jan-01’;
l_actual_finish_date := ’01-apr-05’;
l_early_start_date := ’01-jan-01’;
l_early_finish_date := ’01-apr-05’;
l_late_start_date := ’01-jan-01’;
l_late_finish_date := ’01-APR-05’;
l_role_list_id := 1000 ;
l_work_type_id := 10020;
l_calendar_id := 550;
l_location_id := 1;
l_probability_member_id := 1005;
l_project_value := 1000;
l_expected_approval_date := ’31-mar-99’;

--KEY MEMBERS DATA
l_key_member_rec.person_id := 53;
l_key_member_rec.project_role_type := ’PROJECT MANAGER’;
l_key_member_tbl(1) := l_key_member_rec;
--CLASS CATEGORIES DATA
l_class_category := ’Product’;
l_class_code := ’Non-classified’;

-- EXTENSIBLE ATTRIBUTES DATA
l_ATTR_GRP_ROW_INDEX := 1;
l_ATTR_GRP_INTERNAL_NAME:= ’Project Complexity’;
l_ATTR_INTERNAL_NAME := ’AIM Project Type’;
l_ATTR_DISP_VALUE := ’AIM’;
--TASKS DATA
-- Set the number of tasks for every level (there are 6 levels)
number_of_tasks1 := 5;
number_of_tasks2 := 2;
number_of_tasks3 := 0;
number_of_tasks4 := 0;
number_of_tasks5 := 0;
number_of_tasks6 := 0;
a := 0;
for level1 in 1..number_of_tasks1 loop
a:= a + 1;
l_task_rec.pm_task_reference := a;
l_task_rec.task_name := ’TOP LEVEL ’|| a;
l_task_rec.pm_parent_task_reference := ’’;
l_task_rec.task_start_date := ’01-jan-00’;
l_task_rec.task_completion_date := ’31-mar-05’;
l_task_rec.actual_start_date := ’01-JAN-01’;
l_task_rec.actual_finish_date := ’01-APR-05’;
l_task_rec.early_start_date := ’01-JAN-01’;
l_task_rec.early_finish_date := ’01-APR-05’;
l_task_rec.late_start_date := ’01-JAN-01’;
l_task_rec.late_finish_date := ’01-APR-05’;
l_tasks_in(a) := l_task_rec;
parent_level1 := a;
FOR level2 IN 1..number_of_tasks2 LOOP
a := a + 1;
l_task_rec.pm_task_reference := a;
l_task_rec.task_name := ’2 LEVEL ’|| a;
l_task_rec.pm_parent_task_reference := parent_level1;
l_tasks_in(a) := l_task_rec;
parent_level2 := a;
for level3 IN 1..number_of_tasks3 loop
a := a + 1;
l_task_rec.pm_task_reference := a;
l_task_rec.task_name :=’3 LEVEL ’|| a;
l_task_rec.pm_parent_task_reference := parent_level2;
l_tasks_in(a) := l_task_rec;
parent_level3 := a;
for level4 IN 1..number_of_tasks4 loop
a := a + 1;
l_task_rec.pm_task_reference := a;
l_task_rec.task_name := ’4 LEVEL ’|| a;
l_task_rec.pm_parent_task_reference := parent_level3;
l_tasks_in(a) := l_task_rec;
for level5 IN 1..number_of_tasks5 loop
a := a + 1;
l_task_rec.pm_task_reference := a;
l_task_rec.task_name := ’5 LEVEL ’|| a;
l_task_rec.pm_parent_task_reference := parent_level4;
l_tasks_in(a) := l_task_rec;
for level6 IN 1..number_of_tasks6 loop
a := a + 1;
l_task_rec.pm_task_reference := a;
l_task_rec.task_name := ’6 LEVEL ’|| a;
l_task_rec.pm_parent_task_reference := parent_level5;
l_tasks_in(a) := l_task_rec;
end loop;––6th level
end loop;––5th level
end loop;––4th level
end loop;––3rd level
end loop;––2nd level
end loop;––1st level
-----------------------
dbms_output.put_line(’Total tasks processed. ’||l_tasks_in.count);
-----------------------

--INIT_CREATE_PROJECT
pa_project_pub.init_project;
-----------------------
--dbms_output.put_line(’Before load_project’);

--LOAD_PROJECT
pa_project_pub.load_project( p_api_version_number => l_api_version_number
,p_return_status => l_return_status
,p_created_from_project_id => l_created_from_project_id
,p_project_name => l_project_name
,p_long_name => l_long_name
,p_description => l_project_description
,p_pm_project_reference => l_pm_project_reference
,p_pa_project_number => l_project_number
,p_carrying_out_organization_id => l_carrying_out_organization_id
,p_public_sector_flag => l_public_sector_flag
,p_customer_id => l_customer_id
,p_project_status_code => l_project_status_code
,p_start_date => l_start_date
,p_completion_date => l_completion_date
,p_actual_start_date => l_actual_start_date
,p_actual_finish_date => l_actual_finish_date
,p_early_start_date => l_early_start_date
,p_early_finish_date => l_early_finish_date
,p_late_start_date => l_late_start_date
,p_late_finish_date => l_late_finish_date
,p_role_list_id => l_role_list_id
,p_work_type_id => l_work_type_id
,p_calendar_id => l_calendar_id
,p_location_id => l_location_id
,p_probability_member_id => l_probability_member_id
,p_project_value => l_project_value
,p_opp_value_currency_code => l_opp_value_currency_code
,p_expected_approval_date => l_expected_approval_date
,p_distribution_rule => l_distribution_rule);
if l_return_status != ’S’ then
raise api_error;
end if;
-----------------------
dbms_output.put_line(’Before Loading Extensible Attributes’);
pa_project_pub.load_extensible_attribute(
p_api_version_number => l_api_version_number,
x_return_status => l_return_status,
P_ATTR_GRP_ROW_INDEX => l_ATTR_GRP_ROW_INDEX,
P_ATTR_GRP_INTERNAL_NAME => l_ATTR_GRP_INTERNAL_NAME,
P_ATTR_INTERNAL_NAME => l_ATTR_INTERNAL_NAME,
P_ATTR_DISP_VALUE => l_ATTR_DISP_VALUE );
IF l_return_status != ’S’
THEN
RAISE API_ERROR;
END IF;
-----------------------
--dbms_output.put_line(’Before load_structure’);
--LOAD_PROJECT
l_structure_type := ’FINANCIAL’;
pa_project_pub.load_structure(
p_api_version_number => l_api_version_number
,p_return_status => l_return_status
,p_structure_type => l_structure_type
);
if l_return_status != ’S’ then
raise api_error;
end if;
-----------------------

--LOAD_KEY_MEMBER (loop for multiple key members)
pa_project_pub.load_key_member(
p_api_version_number => l_api_version_number
,p_return_status => l_return_status
,p_person_id => l_key_member_tbl(1).person_id
,p_project_role_type => l_key_member_tbl(1).project_role_type
);
IF l_return_status != ’S’ THEN
RAISE API_ERROR;
END IF;
-----------------------
--dbms_output.put_line(’bef load task’);
-----------------------

--LOAD_TASK (loop for multiple tasks)
FOR i IN 1..a LOOP
pa_project_pub.load_task(
p_api_version_number => l_api_version_number
,p_return_status => l_return_status
,p_pm_task_reference => l_tasks_in(i).pm_task_reference
,p_task_name => l_tasks_in(i).task_name
,p_pm_parent_task_reference => l_tasks_in(i).pm_parent_task_reference
,p_task_start_date => l_tasks_in(i).task_start_date
,p_task_completion_date => l_tasks_in(i).task_completion_date
,p_actual_start_date => l_tasks_in(i).actual_start_date
,p_actual_finish_date => l_tasks_in(i).actual_finish_date
,p_early_start_date => l_tasks_in(i).early_start_date
,p_early_finish_date => l_tasks_in(i).early_finish_date
,p_late_start_date => l_tasks_in(i).late_start_date
,p_late_finish_date => l_tasks_in(i).late_finish_date
,p_address_id => l_tasks_in(i).address_id
);
IF l_return_status != ’S’ THEN
RAISE API_ERROR;
END IF;
END LOOP;
--dbms_output.put_line(’bef execute create project’);
-----------------------

--EXECUTE_CREATE_PROJECT
pa_project_pub.execute_create_project(
p_api_version_number => l_api_version_number
,p_commit => l_commit
,p_init_msg_list => ’T’
,p_msg_count => l_msg_count
,p_msg_data => l_msg_data
,p_return_status => l_return_status
,p_workflow_started => l_work_flow_started
,p_pm_product_code => l_pm_product_code
,p_pa_project_id => l_project_id
,p_pa_project_number => l_pa_project_number
);
--dbms_output.put_line (’status ’||l_return_status || ’ msg count
’||l_msg_count);
IF l_return_status in( ’E’, ’U’ ) THEN
dbms_output.put_line( ’l_msg_data ’||l_msg_data );
dbms_output.put_line( ’Error count ’||l_msg_count );
l_msg_count := fnd_msg_pub.count_msg;
FOR l_counter IN REVERSE 1..l_msg_count LOOP
PA_UTILS.Get_Encoded_Msg(
p_index => l_counter
,p_msg_out => l_encoded_msg);
fnd_message.set_encoded(l_encoded_msg);
l_decoded_msg := fnd_message.get;
l_final_msg := l_final_msg || nvl(l_decoded_msg, l_encoded_msg);
dbms_output.put_line( ’ERROR MESSAGE CODE: ’|| l_counter|| ’ :
’||l_encoded_msg );
dbms_output.put_line( ’ERROR MESSAGE TEXT: ’|| l_counter|| ’ : ’||
l_final_msg );
END LOOP;
ELSE
dbms_output.put_line( ’l_return_status ’|| l_return_status|| ’ ’||l_msg_data
);
END IF;
IF l_return_status != ’S’ THEN
RAISE API_ERROR;
END IF;
dbms_output.put_line (’Project Id ’||l_project_id);
--dbms_output.put_line(’bef execute fetch task’);
-----------------------

--FETCH_TASK
FOR l_task_index in 1..a LOOP
pa_project_pub.fetch_task(
p_api_version_number => l_api_version_number
,p_return_status => l_return_status
,p_task_index => l_task_index
,p_pa_task_id => l_task_id
,p_pm_task_reference => l_pm_task_reference
,p_task_return_status => l_task_return_status
);
IF l_return_status != ’S’ OR l_task_return_status != ’S’ THEN
dbms_output.put_line (’error text ’|| SUBSTR (SQLERRM , 1 , 240));
RAISE API_ERROR;
END IF;
END LOOP;
--dbms_output.put_line(’bef execute fetch str workplan’);
-----------------------
--FETCH_TASK
pa_project_pub.fetch_structure_version(
p_api_version_number => l_api_version_number
,p_return_status => l_return_status
,p_structure_type => ’WORKPLAN’
,p_pa_structure_version_id => l_task_version_id
,p_struc_return_status => l_task_return_status
);
IF l_return_status != ’S’ THEN
dbms_output.put_line (’error text ’|| SUBSTR (SQLERRM , 1 , 240));
RAISE API_ERROR;
ELSE
dbms_output.put_line (’ Workplan Str ver id ’||l_task_version_id );
END IF;
--dbms_output.put_line(’bef execute fetch str financial’);
pa_project_pub.fetch_structure_version(
p_api_version_number => l_api_version_number
,p_return_status => l_return_status
,p_structure_type => ’FINANCIAL’
,p_pa_structure_version_id => l_task_version_id
,p_struc_return_status => l_task_return_status);
IF l_return_status != ’S’ THEN
dbms_output.put_line (’error text ’|| SUBSTR (SQLERRM , 1 , 240));
RAISE API_ERROR;
ELSE
dbms_output.put_line (’ Financial Str ver id ’||l_task_version_id );
END IF;
-----------------------

--CLEAR_CREATE_PROJECT
pa_project_pub.clear_project;
IF l_return_status != ’S’ THEN
RAISE API_ERROR;
END IF;
-----------------------
--HANDLE EXCEPTIONS
--COMMIT;
DBMS_OUTPUT.put_line(’Time elapsed in secs :’ || (DBMS_UTILITY.get_time –
v_time_before)/(100));
EXCEPTION
WHEN API_ERROR THEN
dbms_output.put_line( ’In Exception’ );
for i in 1..l_msg_count loop
pa_interface_utils_pub.get_messages(
p_data => l_data
,p_msg_index => i
,p_msg_count => l_msg_count
,p_msg_data => l_msg_data
,p_msg_index_out => l_msg_index_out
);
dbms_output.put_line (’error mesg ’||l_data);
end loop;
end create_project_EA;
end pa_ea_test;
/

LOAD_EXTENSIBLE_ATTRIBUTES APIの使用例

次のサンプル・スクリプトでは、LOAD_EXTENSIBLE_ATTRIBUTES APIを使用して、文字列属性と数値属性の両方を含む、3つの属性を持つ複数行属性グループをロードする方法を示します。

REM Using the LOAD_EXTENSIBLE_ATTRIBUTES bulk call
REM Instructions to run this file to create a prjoject and add tasks to
FINANCIAL str.
REM Change the following parameters
REM l_created_from_project_id
REM l_project_name
REM l_project_number
REM l_pm_project_reference
REM l_project_description
REM l_long_name
REM
REM --Set the number of tasks for every level (there are 6 levels)
REM number_of_tasks1 := 2;
REM number_of_tasks2 := 3;
REM number_of_tasks3 := 0;
REM number_of_tasks4 := 0;
REM number_of_tasks5 := 0;
REM number_of_tasks6 := 0;
set serveroutput on;
execute dbms_application_info.set_client_info(458);
execute fnd_global.apps_initialize(1179, 20432, 275);
execute dbms_application_info.set_client_info(458);
-- PL/SQL example on how to create a project using the LOAD/EXECUTE/FETCH
-- mechanism
DECLARE
--variables needed to create task hierarchy
level1 NUMBER;
level2 NUMBER;
level3 NUMBER;
a NUMBER := 0;
m NUMBER := 0;
parent_level1 VARCHAR2(30);
parent_level2 VARCHAR2(30);
parent_level3 VARCHAR2(30);
parent_level4 VARCHAR2(30);
parent_level5 VARCHAR2(30);
number_of_tasks1 NUMBER; -- number of tasks/level
number_of_tasks2 NUMBER;
number_of_tasks3 NUMBER;
number_of_tasks4 NUMBER;
number_of_tasks5 NUMBER;
number_of_tasks6 NUMBER;
temp_msg_data VARCHAR2(2000);
--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_data VARCHAR2(2000);
l_msg_entity VARCHAR2(100);
l_msg_entity_index NUMBER;
l_msg_index NUMBER;
l_encoded VARCHAR2(1);
l_work_flow_started VARCHAR2(1);
t1 varchar2(10);
t2 varchar2(100);
l_data varchar2(200);
t3 VARCHAR2(2000);
l_msg_count NUMBER;
l_msg_index_out NUMBER;

--variables needed for Oracle Project specific parameters
l_created_from_project_id NUMBER;
l_pm_product_code VARCHAR2(10);
l_number_of_task_levels NUMBER;
l_project_name VARCHAR2(30);
l_project_number VARCHAR2(80);
l_pm_project_reference VARCHAR2(25);
l_project_status_code VARCHAR2(30);
l_distribution_rule VARCHAR2(30);
l_public_sector_flag VARCHAR2(1);
l_carrying_out_organization_id NUMBER;
l_start_date DATE;
l_completion_date DATE;
l_actual_start_date DATE;
l_actual_finish_date DATE;
l_early_start_date DATE;
l_early_finish_date DATE;
l_late_start_date DATE;
l_late_finish_date DATE;
l_person_id NUMBER;
l_project_role_type VARCHAR2(20);
l_class_category VARCHAR2(30);
l_class_code VARCHAR2(30);
l_project_id NUMBER(15);
l_pa_project_number VARCHAR2(25);
l_project_description VARCHAR2(250);
l_customer_id NUMBER;
l_project_relationship_code VARCHAR2(30);
l_task_id NUMBER(15);
l_pm_task_reference VARCHAR2(25);
l_task_index NUMBER;
project_loop NUMBER;
l_tasks_in pa_project_pub.task_in_tbl_type;
l_task_rec pa_project_pub.task_in_rec_type;
l_ea_rec
pa_project_pub.PA_EXT_ATTR_ROW_TYPE;
l_key_member_rec
pa_project_pub.project_role_rec_type;
l_key_member_tbl
pa_project_pub.project_role_tbl_type;
l_task_return_status VARCHAR2(1);
l_short_name VARCHAR2(10);
l_role_list_id NUMBER;
l_work_type_id NUMBER;
l_calendar_id NUMBER;
l_location_id NUMBER;
l_probability_member_id NUMBER;
l_project_value NUMBER;
l_opp_value_currency_code VARCHAR2(15) := ’USD’;
l_expected_approval_date DATE;
API_ERROR EXCEPTION;
l_org_member_rec
pa_project_pub.project_role_rec_type;
l_org_member_tbl
pa_project_pub.project_role_tbl_type;
l_task_version_id NUMBER;
l_encoded_msg VARCHAR2(4000);
l_decoded_msg VARCHAR2(4000);
l_final_msg VARCHAR2(4000);
l_structure_type VARCHAR2(25);
l_structure_version_name VARCHAR2(25);
l_structure_version_id VARCHAR2(25);
l_structure_description VARCHAR2(150);
l_long_name VARCHAR2(80);
v_time_before NUMBER;

-- Extensible Attr variables;
l_row_identifier_arr pa_num_1000_num:= pa_num_1000_num();
l_attr_group_int_name pa_vc_1000_30 := pa_vc_1000_30();
l_attr_int_name pa_vc_1000_30 := pa_vc_1000_30();
l_attr_value_str pa_vc_1000_150 := pa_vc_1000_150();
l_attr_value_num pa_num_1000_num:= pa_num_1000_num();
l_attr_value_date pa_date_1000_date:= pa_date_1000_date();
BEGIN
v_time_before := DBMS_UTILITY.get_time;
PA_INTERFACE_UTILS_PUB.Set_Global_Info(
p_api_version_number => l_api_version_number
,p_responsibility_id => 20432
,p_user_id => 1179
,p_advanced_proj_sec_flag => ’Y’
,p_msg_count => l_msg_count
,p_msg_data => l_msg_data
,p_return_status => l_return_status
);
dbms_application_info.set_client_info(458);
for project_loop in 1..1 loop

--PRODUCT RELATED DATA
l_pm_product_code :=’MSPROJECT’;

--PROJECT DATA
l_created_from_project_id := 13086;
l_project_name := ’zk0425_11’;
l_project_number := l_project_name;
l_pm_project_reference := l_project_name;
l_project_description := l_project_name;
l_long_name := ’Long name AMG project’ ||
l_project_name;
l_project_status_code := ’’;
l_carrying_out_organization_id :=244;
l_start_date :=’01-jan-94’;
l_completion_date :=’31-mar-15’;
l_actual_start_date :=’01-jan-94’;
l_actual_finish_date :=’01-apr-15’;
l_early_start_date :=’01-jan-94’;
l_early_finish_date :=’31-mar-15’;
l_late_start_date :=’01-jan-94’;
l_late_finish_date :=’31-mar-16’;
l_role_list_id :=1000 ;
l_work_type_id :=10020;
l_calendar_id :=550;
l_location_id :=1;
l_probability_member_id :=1005;
l_project_value :=1000;
l_expected_approval_date := ’31-mar-99’;

--KEY MEMBERS DATA
m:= 1;
l_person_id :=’56’;
l_project_role_type :=’PROJECT MANAGER’;
--CLASS CATEGORIES DATA
l_class_category :=’Product’;
l_class_code :=’Non-classified’;

--TASKS DATA
--Set the number of tasks for every level (there are 6 levels)
number_of_tasks1 := 2;
number_of_tasks2 := 1;
number_of_tasks3 := 0;
number_of_tasks4 := 0;
number_of_tasks5 := 0;
number_of_tasks6 := 0;
a := 0;
for level1 in 1..number_of_tasks1 loop
a:= a + 1;
l_task_rec.pm_task_reference :=a;
l_task_rec.task_name :=’TOP LEVEL ’||a;
l_task_rec.pm_parent_task_reference :=’’;
l_task_rec.actual_start_date := ’10-MAR-95’;
l_task_rec.actual_finish_date := ’06-JUL-10’;
l_task_rec.early_start_date := ’09-MAR-95’;
l_task_rec.early_finish_date := ’05-JUL-10’;
l_task_rec.late_start_date := ’09-MAR-95’;
l_task_rec.late_finish_date := ’05-JUL-10’;
l_task_rec.scheduled_start_date := ’01-jan-01’;
l_task_rec.scheduled_finish_date := ’31-dec-05’;
l_tasks_in(a):= l_task_rec;
parent_level1:= a;
FOR level2 IN 1..number_of_tasks2 LOOP
a:= a + 1;
l_task_rec.pm_task_reference :=a;
l_task_rec.task_name :=’2 LEVEL ’||a;
l_task_rec.scheduled_start_date := ’01-jan-02’;
l_task_rec.scheduled_finish_date := ’31-dec-07’;
l_task_rec.pm_parent_task_reference := parent_level1;
l_tasks_in(a) := l_task_rec;
parent_level2 := a;
for level3 IN 1..number_of_tasks3 loop
a := a + 1;
l_task_rec.pm_task_reference := a;
l_task_rec.task_name :=’3 LEVEL ’||a;
l_task_rec.pm_parent_task_reference := parent_level2;
l_tasks_in(a) := l_task_rec;
parent_level3 := a;
for level4 IN 1..number_of_tasks4 loop
a := a + 1;
l_task_rec.pm_task_reference := a;
l_task_rec.task_name
:=’Fourth LEVEL ’||a;
l_task_rec.pm_parent_task_reference
:= parent_level3;
l_tasks_in(a) := l_task_rec;
for level5 IN 1..number_of_tasks5 loop
a := a + 1;
l_task_rec.pm_task_reference
:= a;
l_task_rec.task_name := ’Fifth LEVEL ’||a;
l_task_rec.pm_parent_task_reference :=
parent_level4;
l_tasks_in(a) := l_task_rec;
for level6 IN 1..number_of_tasks6 loop
a := a + 1;
l_task_rec.pm_task_reference
:= a;
l_task_rec.task_name := ’Sixth LEVEL
’||a;
l_task_rec.pm_parent_task_reference :=
parent_level5;
l_tasks_in(a) := l_task_rec;
end loop; --6th level
end loop; --5th level
end loop; --4th level
end loop; --3rd level
END LOOP; --2nd level
end loop; --1st level
-----------------------
dbms_output.put_line(’Total tasks processed. ’||l_tasks_in.count);
--can be used to exit this script and see how many tasks should have been
--created
-----------------------

--INIT_CREATE_PROJECT
pa_project_pub.init_project;
-----------------------
--dbms_output.put_line(’Before load_project’);

--LOAD_PROJECT
pa_project_pub.load_project( p_api_version_number => l_api_version_number
,p_return_status => l_return_status
,p_created_from_project_id =>
l_created_from_project_id
,p_project_name => l_project_name
,p_long_name => l_long_name
,p_description => l_project_description
,p_pm_project_reference => l_pm_project_reference
,p_pa_project_number => l_project_number
,p_carrying_out_organization_id =>
l_carrying_out_organization_id
,p_public_sector_flag => l_public_sector_flag
,p_customer_id => l_customer_id
,p_project_status_code => l_project_status_code
,p_start_date => l_start_date
,p_completion_date => l_completion_date
,p_actual_start_date => l_actual_start_date
,p_actual_finish_date => l_actual_finish_date
,p_early_start_date => l_early_start_date
,p_early_finish_date => l_early_finish_date
,p_late_start_date => l_late_start_date
,p_late_finish_date => l_late_finish_date
,p_role_list_id => l_role_list_id
,p_work_type_id => l_work_type_id
,p_calendar_id => l_calendar_id
,p_location_id => l_location_id
,p_probability_member_id=>l_probability_member_id
,p_project_value => l_project_value
,p_opp_value_currency_code =>
l_opp_value_currency_code
,p_expected_approval_date=>l_expected_approval_date
,p_distribution_rule => l_distribution_rule);
IF l_return_status != ’S’
THEN
RAISE API_ERROR;
END IF;
-----------------------
--dbms_output.put_line(’Before load_structure’);
--LOAD_PROJECT
l_structure_type := ’FINANCIAL’;
pa_project_pub.load_structure( p_api_version_number => l_api_version_number
,p_return_status => l_return_status
,p_structure_type => l_structure_type
);
IF l_return_status != ’S’
THEN
RAISE API_ERROR;
END IF;
-----------------------

--LOAD_CLASS_CATEGORY (loop for mulitple class categories–This example has
-- only one )
FOR i IN 1..1 LOOP
pa_project_pub.load_class_category(
p_api_version_number => l_api_version_number
,p_return_status => l_return_status
,p_class_category => l_class_category
,p_class_code => l_class_code );
IF l_return_status != ’S’
THEN
RAISE API_ERROR;
END IF;
END LOOP;
dbms_output.put_line(’bef load task’);
-----------------------

--LOAD_TASK (loop for multiple tasks)
FOR i IN 1..a LOOP
pa_project_pub.load_task( p_api_version_number => l_api_version_number
,p_return_status => l_return_status
,p_pm_task_reference =>
l_tasks_in(i).pm_task_reference
,p_task_name =>
l_tasks_in(i).task_name
,p_pm_parent_task_reference =>
l_tasks_in(i).pm_parent_task_reference
,p_task_start_date =>
l_tasks_in(i).task_start_date
,p_task_completion_date =>
l_tasks_in(i).task_completion_date
,p_actual_start_date =>
l_tasks_in(i).actual_start_date
,p_actual_finish_date =>
l_tasks_in(i).actual_finish_date
,p_early_start_date =>
l_tasks_in(i).early_start_date
,p_early_finish_date =>
l_tasks_in(i).early_finish_date
,p_late_start_date => l_tasks_in(i).late_start_date
,p_late_finish_date => l_tasks_in(i).late_finish_date
,p_scheduled_start_date => l_tasks_in(i).scheduled_start_date
,p_scheduled_finish_date => l_tasks_in(i).scheduled_finish_date
,p_address_id =>
l_tasks_in(i).address_id);
IF l_return_status != ’S’
THEN
RAISE API_ERROR;
END IF;
END LOOP;
-----------------------
dbms_output.put_line(’bef load ext attr’);

--LOAD_EXTENSIBLE_ATTRIBUTE
l_row_identifier_arr.extend;
l_attr_group_int_name.extend;
l_attr_int_name.extend;
l_attr_value_str.extend;
l_attr_value_num.extend;
l_attr_value_date.extend;
l_row_identifier_arr(1) := 1;
l_attr_group_int_name(1) := ’Application Weightings’;
l_attr_int_name(1) := ’Product Family’;
l_attr_value_str(1) := ’Financials’;
l_row_identifier_arr.extend;
l_attr_group_int_name.extend;
l_attr_int_name.extend;
l_attr_value_str.extend;
l_attr_value_num.extend;
l_attr_value_date.extend;
l_row_identifier_arr(2) := 1;
l_attr_group_int_name(2) := ’Application Weightings’;
l_attr_int_name(2) := ’Application Module’;
l_attr_value_str(2) := ’Assets’;
l_row_identifier_arr.extend;
l_attr_group_int_name.extend;
l_attr_int_name.extend;
l_attr_value_str.extend;
l_attr_value_num.extend;
l_attr_value_date.extend;
l_row_identifier_arr(3) := 1;
l_attr_group_int_name(3) := ’Application Weightings’;
l_attr_int_name(3) := ’Default Weighting’;
l_attr_value_num(3) := 0.6;
l_row_identifier_arr.extend;
l_attr_group_int_name.extend;
l_attr_int_name.extend;
l_attr_value_str.extend;
l_attr_value_num.extend;
l_attr_value_date.extend;
l_row_identifier_arr(4) := 2;
l_attr_group_int_name(4) := ’Application Weightings’;
l_attr_int_name(4) := ’Product Family’;
l_attr_value_str(4) := ’Financials’;
l_row_identifier_arr.extend;
l_attr_group_int_name.extend;
l_attr_int_name.extend;
l_attr_value_str.extend;
l_attr_value_num.extend;
l_attr_value_date.extend;
l_row_identifier_arr(5) := 2;
l_attr_group_int_name(5) := ’Application Weightings’;
l_attr_int_name(5) := ’Application Module’;
l_attr_value_str(5) := ’General Ledger’;
l_row_identifier_arr.extend;
l_attr_group_int_name.extend;
l_attr_int_name.extend;
l_attr_value_str.extend;
l_attr_value_num.extend;
l_attr_value_date.extend;
l_row_identifier_arr(6) := 2;
l_attr_group_int_name(6) := ’Application Weightings’;
l_attr_int_name(6) := ’Default Weighting’;
l_attr_value_num(6) := 0.4;
dbms_output.put_line(’bef load ext attr API CALL’);
pa_project_pub.load_extensible_attributes(
p_api_version_number => l_api_version_number
,x_return_status => l_return_status
,P_ATTR_GRP_ROW_INDEX => l_row_identifier_arr
,P_ATTR_GRP_INTERNAL_NAME=> l_attr_group_int_name
,P_ATTR_INTERNAL_NAME => l_attr_int_name
,P_ATTR_VALUE_STR => l_attr_value_str
,P_ATTR_VALUE_NUM => l_attr_value_num
,P_ATTR_VALUE_DATE => l_attr_value_date
);
dbms_output.put_line(’After load ext attr’);
IF l_return_status != ’S’
THEN
RAISE API_ERROR;
END IF;
--dbms_output.put_line(after load ext attr’);
-----------------------
--dbms_output.put_line(’bef execute create project’);
-----------------------

--EXECUTE_CREATE_PROJECT
pa_project_pub.execute_create_project(p_api_version_number =>
l_api_version_number
,p_commit => l_commit
,p_init_msg_list => ’F’
,p_msg_count => l_msg_count
,p_msg_data => l_msg_data
,p_return_status => l_return_status
,p_workflow_started => l_work_flow_started
,p_pm_product_code => l_pm_product_code
,p_pa_project_id => l_project_id
,p_pa_project_number =>
l_pa_project_number
);
--dbms_output.put_line (’status ’||l_return_status || ’ msg count
’||l_msg_count);
IF l_return_status in( ’E’, ’U’ )
THEN
dbms_output.put_line( ’l_msg_data ’||l_msg_data );
dbms_output.put_line( ’Error count ’||l_msg_count );
l_msg_count := fnd_msg_pub.count_msg;
FOR l_counter IN REVERSE 1..l_msg_count LOOP
PA_UTILS.Get_Encoded_Msg(p_index => l_counter,
p_msg_out => l_encoded_msg);
fnd_message.set_encoded(l_encoded_msg);
l_decoded_msg := fnd_message.get;
l_final_msg := l_final_msg || nvl(l_decoded_msg, l_encoded_msg);
dbms_output.put_line( ’ERROR MESSAGE CODE: ’|| l_counter|| ’ :
’||l_encoded_msg );
dbms_output.put_line( ’ERROR MESSAGE TEXT: ’|| l_counter|| ’ : ’||
l_final_msg );
END LOOP;
ELSE
dbms_output.put_line( ’l_return_status ’|| l_return_status|| ’
’||l_msg_data );
END IF;
IF l_return_status != ’S’
THEN
RAISE API_ERROR;
END IF;
dbms_output.put_line (’Project Id ’||l_project_id);
--dbms_output.put_line(’bef execute fetch task’);
-----------------------

--FETCH_TASK
FOR l_task_index in 1..a LOOP
pa_project_pub.fetch_task( p_api_version_number => l_api_version_number
,p_return_status => l_return_status
,p_task_index => l_task_index
,p_pa_task_id => l_task_id
,p_pm_task_reference => l_pm_task_reference
,p_task_return_status => l_task_return_status);
IF l_return_status != ’S’
OR l_task_return_status != ’S’
THEN
dbms_output.put_line (’error text ’|| SUBSTR (SQLERRM , 1 , 240));
RAISE API_ERROR;
END IF;
END LOOP;
--dbms_output.put_line(’bef execute fetch str workplan’);
-----------------------

--FETCH_TASK
pa_project_pub.fetch_structure_version(
p_api_version_number => l_api_version_number
,p_return_status => l_return_status
,p_structure_type => ’WORKPLAN’
,p_pa_structure_version_id => l_task_version_id
,p_struc_return_status =>
l_task_return_status);
IF l_return_status != ’S’
THEN
dbms_output.put_line (’error text ’|| SUBSTR (SQLERRM , 1 , 240));
RAISE API_ERROR;
ELSE
dbms_output.put_line (’ Workplan Str ver id ’||l_task_version_id );
END IF;
--dbms_output.put_line(’bef execute fetch str financial’);
pa_project_pub.fetch_structure_version(
p_api_version_number => l_api_version_number
,p_return_status => l_return_status
,p_structure_type => ’FINANCIAL’
,p_pa_structure_version_id => l_task_version_id
,p_struc_return_status =>
l_task_return_status);
IF l_return_status != ’S’
THEN
dbms_output.put_line (’error text ’|| SUBSTR (SQLERRM , 1 , 240));
RAISE API_ERROR;
ELSE
dbms_output.put_line (’ Financial Str ver id ’||l_task_version_id );
END IF;
-----------------------

--CLEAR_CREATE_PROJECT
pa_project_pub.clear_project;
IF l_return_status != ’S’
THEN
RAISE API_ERROR;
END IF;
-----------------------

--HANDLE EXCEPTIONS
end loop;
DBMS_OUTPUT.put_line (
’Time elapsed in secs :’ ||
(DBMS_UTILITY.get_time – v_time_before) / (100)
);
EXCEPTION
WHEN API_ERROR THEN
dbms_output.put_line( ’In Exception’||sqlerrm );
for i in 1..l_msg_count loop
pa_interface_utils_pub.get_messages (
p_encoded => FND_API.G_TRUE,
p_data => l_data
,p_msg_index => i
,p_msg_count => l_msg_count
,p_msg_data => l_msg_data
,p_msg_index_out => l_msg_index_out );
dbms_output.put_line (’error mesg :’||l_data);
end loop;
END ;
/

資源API

任意のシステムを使用して、労務資源と非労務資源の両方を追跡および編成できます。その後、資源APIを使用して、資源リストとそれに含まれる資源をOracle Projectsにエクスポートできます。それに応じて、Oracle Projectsで資源情報が更新されます。資源および資源リストの変更に伴って、システム内の情報を更新し、2つのシステムを定期的に同期化してください。

注意: 資源リスト識別子を必要とする資源APIを呼び出す場合は、P_RESOURCE_LIST_NAMEまたはP_RESOURCE_LIST_IDパラメータを渡して資源リストを識別します。資源識別子を必要とする資源APIを呼び出す場合は、P_RESOURCE_ALIASまたはP_RESOURCE_LIST_MEMBER_IDパラメータを渡して資源を識別します。

資源APIのビュー

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

ビュー 説明
PA_AMG_RESOURCE_INFO_V このビューは、資源リスト・メンバーに関する情報を取得するためにカスタマイズします。
PA_EMPLOYEES_RES_V 人事管理アプリケーションで定義されたすべての従業員に関する情報を表示します。このビューで返される従業員は、Oracle Projectsで資源として定義できます。
PA_EVENT_TYPES_RES_V Oracle Projectsで定義されたイベント・タイプを表示します。このビューで返されるイベント・タイプは、Oracle Projectsで資源として定義できます。
PA_EXPEND_CATEGORIES_RES_V Oracle Projectsで定義された支出カテゴリを表示します。このビューで返される支出カテゴリは、Oracle Projectsで資源として定義できます。
PA_EXPENDITURE_TYPES_RES_V Oracle Projectsで定義された支出タイプを表示します。このビューで返される支出タイプは、Oracle Projectsで資源として定義できます。
PA_JOBS_RES_V 人事管理アプリケーションで定義されたすべての役職に関する情報を表示します。このビューで返される役職は、Oracle Projectsで資源として定義できます。
PA_LOWEST_LEVEL_RESOURCES_V 資源リストおよび最下位レベル資源リスト・メンバーに対してOracle Projects識別コードおよび識別名を取得します。
PA_ORGANIZATIONS_RES_V 人事管理アプリケーションで定義された組織に関する情報を表示します。このビューで返される組織は、Oracle Projectsで資源として定義できます。
PA_PROJ_ORG_STRUCTURES_V 組織階層を取得します。
PA_QRY_RESOURCE_LISTS_V Oracle Projectsで定義された資源リストを取得します。
PA_QUERY_RES_LIST_MEMBERS_V Oracle Projectsで定義された資源リストのメンバーを取得します。
PA_RESOURCE_LIST_GROUPS_V Oracle Projectsで定義された資源リストの資源グループを取得します。
PA_RESOURCE_LIST_V Oracle Projectsで定義された資源リストを取得します。
PA_RESOURCE_TYPES_ACTIVE_V Oracle Projectsで定義された有効な資源タイプを取得します。
PA_REVENUE_CATEGORIES_RES_V Oracle Projectsで定義された収益カテゴリを表示します。このビューで返される収益カテゴリは、Oracle Projectsで資源として定義できます。
PA_VENDORS_RES_V Oracle Purchasingで定義された仕入先に関する情報を表示します。このビューで返される仕入先は、Oracle Projectsで資源として定義できます。

資源APIのプロシージャ

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

資源APIのプロシージャの定義

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

ADD_RESOURCE_LIST_MEMBER

ADD_RESOURCE_LIST_MEMBERは、資源メンバーを既存の資源リストに追加するPL/SQLプロシージャです。

ビジネス・ルール

  1. 呼出し元モジュールは、RESOURCE_LIST_NAMEまたはRESOURCE_LIST_IDを渡せます。

  2. 呼出し元モジュールがRESOURCE_LIST_NAMEとRESOURCE_LIST_IDの両方を渡す場合、APIはRESOURCE_LIST_IDを使用します。

  3. 資源リストがグループ化されている場合、有効な資源グループ別名を渡す必要があります。

  4. P_RESOURCE_ATTR_VALUEの値は、P_RESOURCE_TYPEの値に対応する必要があります。たとえば、P_RESOURCE_TYPEがEMPLOYEEである場合、P_RESOURCE_ATTR_VALUEの個人識別コードが有効である必要があります。

    注意: Oracle Projectsにおける資源タイプの詳細は、『Oracle Projects基礎』の資源タイプに関する項を参照してください。

  5. 呼出し元モジュールがRESOURCE_GROUPおよびRESOURCE_MEMBERパラメータに対してこのAPIに情報を渡す場合、APIはまず資源グループの存在を確認します。資源グループが存在しない場合、APIは資源グループを作成してから、資源を作成します。

  6. 指定した資源メンバーがすでに存在する場合、このAPIはエラーを返しません。かわりに、成功の戻りステータスと、既存の資源メンバーのRESOURCE_LIST_MEMBER_IDを返します。

注意: 特定の資源に対して1つの取引属性のみを格納できるため、このAPIは単一のRESOURCE_ATTR_VALUE(PERSON_ID、JOB_IDなどを保持する可能性がある)のみを受け入れます。

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

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

CREATE_RESOURCE_LIST

CREATE_RESOURCE_LISTは、資源リストを作成し、オプションで資源リスト・メンバーを作成するPL/SQLプロシージャです。

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

ビジネス・ルール

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

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

UPDATE_RESOURCE_LIST

UPDATE_RESOURCE_LISTは、既存の資源リストを更新するPL/SQLプロシージャです。既存の資源リスト・メンバーの更新、新規の資源リスト・メンバーの追加も行います。

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

ビジネス・ルール

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

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

DELETE_RESOURCE_LIST

DELETE_RESOURCE_LISTは、指定した資源リストを削除するPL/SQLプロシージャです。

ビジネス・ルール

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

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

DELETE_RESOURCE_LIST_MEMBER

DELETE_RESOURCE_LIST_MEMBERは、指定した資源リスト・メンバーを削除するPL/SQLプロシージャです。

ビジネス・ルール

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

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

SORT_RESOURCE_LIST_MEMBERS

SORT_RESOURCE_LIST_MEMBERSは、指定した資源リスト内で資源メンバーのソート順を更新するPL/SQLプロシージャです。

ビジネス・ルール

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

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

UPDATE_RESOURCE_LIST_MEMBER

UPDATE_RESOURCE_LIST_MEMBERは、別名を更新し、資源リスト・メンバーを使用可能または使用不可にするPL/SQLプロシージャです。

ビジネス・ルール

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

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

CLEAR_CREATE_RESOURCE_LIST

CLEAR_CREATE_RESOURCE_LISTは、初期化ステップ中に設定されたグローバル・データ構造を消去するために使用するロード-実行-フェッチ・プロシージャです。このAPIプロシージャにはパラメータがありません。

CLEAR_UPDATE_MEMBERS

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

EXEC_CREATE_RESOURCE_LIST

EXEC_CREATE_RESOURCE_LISTは、複合API CREATE_RESOURCE_LISTを実行するために使用するロード-実行-フェッチ・プロシージャです。

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

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

EXEC_UPDATE_RESOURCE_LIST

EXEC_UPDATE_RESOURCE_LISTは、複合API UPDATE_RESOURCE_LISTを実行するために使用するロード-実行-フェッチ・プロシージャです。

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

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

FETCH_MEMBERS

FETCH_MEMBERSは、資源リスト・メンバーに対してグローバル出力構造から資源メンバーをフェッチするために使用するロード-実行-フェッチ・プロシージャです。

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

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

FETCH_RESOURCE_LIST

FETCH_RESOURCE_LISTは、資源リストに対してグローバル出力構造から資源リスト識別子を1度に1つずつフェッチするために使用するロード-実行-フェッチ・プロシージャです。

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

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

INIT_CREATE_RESOURCE_LIST

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

INIT_UPDATE_MEMBERS

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

LOAD_MEMBERS

LOAD_MEMBERSは、資源リスト・メンバーのグローバル入力構造をロードするために使用するロード-実行-フェッチ・プロシージャです。

ビジネス・ルール

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

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

LOAD_RESOURCE_LIST

LOAD_RESOURCE_LISTは、資源リストのグローバル入力構造をロードするために使用するロード-実行-フェッチ・プロシージャです。

ビジネス・ルール

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

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

計画資源リストAPI

この項では、計画資源リストとともに使用するAPIを説明します。

計画資源リストAPIのビュー

次の表に、計画資源リストAPIのパラメータ・データを提供するビューを示します。これらのビューで返される情報は、Oracle Projectsで計画資源に含めることができます。

ビューの詳細は、Oracle Metalinkで入手可能なOracle eTRMを参照してください。

ビュー 説明
PA_EMPLOYEES_RES_V 人事管理システムにおける従業員に関する情報。
PA_EVENT_TYPES_RES_V Oracle Projectsで定義されたイベント・タイプに関する情報を表示します。
PA_EXPEND_CATEGORIES_RES_V Oracle Projectsで定義された支出カテゴリに関する情報を表示します。
PA_EXPENDITURE_TYPES_RES_V Oracle Projectsで定義された支出タイプに関する情報を表示します。
PA_JOBS_RES_V 人事管理システムで定義された役職に関する情報を表示します。
PA_ORGANIZATIONS_RES_V 人事管理システムで定義された組織に関する情報を表示します。
PA_BOM_LABOR_RES_V 製造システムで定義されたBOM労務資源に関する情報を表示します。
PA_BOM_EQUIPMENT_RES_V 製造システムで定義されたBOM機材資源に関する情報を表示します。
PA_ITEM_CATEGORY_RES_V 製造システムで定義された品目カテゴリに関する情報を表示します。
PA_ITEMS_RES_V 製造システムで定義された品目に関する情報を表示します。
PA_NON_LABOR_RESOURCES_RES_V Oracle Projectsで定義された非労務資源に関する情報を表示します。
PA_RESOURCE_CLASS_RES_V Oracle Projectsで定義された資源区分に関する情報を表示します。
PA_PROJECT_ROLES_RES_V Oracle Projectsで定義されたプロジェクト・ロールに関する情報を表示します。
PA_VENDORS_RES_V 購買システムで定義された仕入先に関する情報を表示します。
PA_PERSON_TYPE_RES_V 人事管理システムにおける個人タイプに関する情報を表示します。
PA_REVENUE_CATEGORIES_RES_V Oracle Projectsで定義された収益カテゴリに関する情報を表示します。

計画資源リストAPIのプロシージャ

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

計画資源リストAPIのレコードおよび表のデータ型

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

Plan_Res_List_IN_Recデータ型パラメータ

これは、計画資源リスト・レコード構造です。計画資源リストを作成するたびに、または既存の計画資源リストを更新するときに、計画資源リスト・レコードを渡す必要があります。デフォルト属性は、変更する必要がある場合のみ渡す必要があります。

名称 タイプ 説明
P_RESOURCE_LIST_ID NUMBER 資源リスト識別子。
資源リストを更新する場合のみ値が渡されます。
値はPA_RESOURCE_LISTS_Vから取得されます。
P_RESOURCE_LIST_NAME VARCHAR2
(80)
資源リスト名
P_DESCRIPTION VARCHAR2
(255)
資源リスト摘要
P_START_DATE DATE 資源リストの作成時に渡される、資源リストの開始日
P_END_DATE DATE 資源リストの終了日
P_JOB_GROUP_ID NUMBER 資源リストに関連付けられた役職の役職グループID。この値はPA_JOBS_VIEWビューから取得されます。
P_JOB_GROUP_NAME VARCHAR2
(30)
資源リストに関連付けられた役職の役職グループ名。名称またはP_JOB_GROUP_ID値を渡せます。
P_USE_FOR_WP_FLAG VARCHAR2
(1)
資源リストを作業計画に関連付けることができるかどうかを示すフラグ。Yの場合、資源リストは作業計画で使用されます。Nの場合、資源リストは作業計画で使用されません。
P_CONTROL_FLAG VARCHAR2
(1)
資源リストが集中管理されるかプロジェクト固有であるかを示すフラグ。Yの場合、資源リストは集中管理されます。Nの場合、資源リストはプロジェクト固有です。
P_RECORD_VERSION
_NUMBER
NUMBER 資源リストのレコード・バージョン番号

Plan_Res_List_OUT_Recデータ型パラメータ

これは計画資源リスト・レコード構造で、新規作成された計画資源リストの資源リスト識別子をOUTパラメータとして格納します。資源書式および資源リスト・メンバーを作成する際、システムによってこの資源リスト識別子の値が渡されます。

名称 タイプ 説明
X_RESOURCE_LIST_ID NUMBER 任意の新規計画資源リストの資源リスト識別子

Plan_RL_Format_In_Tblデータ型パラメータ

レコード・タイプPlan_RL_Format_In_Tblは、Plan_RL_Format_In_Recの表です。

Plan_RL_Format_In_Recデータ型パラメータ

これは計画資源リスト書式構造です。資源書式を作成する際に、計画資源リスト書式レコードを渡す必要があります。資源書式は更新中に追加または削除できます。次の表に、Plan_RL_Format_In_Recの属性を示します。

名称 タイプ 説明
P_RES_FORMAT_ID NUMBER 資源書式識別子。資源書式を資源リストに追加する際に渡されます。
値はPA_RES_FORMATS_AMG_Vから取得できます。

Plan_RL_Format_Out_Tblデータ型パラメータ

レコード・タイプPlan_RL_Format_Out_Tblは、Plan_RL_Format_Out_Recの表です。次の表に、Plan_RL_Format_Out_Recの属性を説明します。

Plan_RL_Format_Out_Recデータ型パラメータ

これは計画資源書式レコード構造で、新規資源リスト書式の資源リスト書式識別子をOUTパラメータとして格納します。

名称 タイプ 説明
X_PLAN_RL_FORMAT_ID NUMBER 新規計画資源書式の識別子
X_RECORD_VERSION_NUMBER NUMBER 資源書式のレコード・バージョン番号

Planning_Resource_In_Tblデータ型パラメータ

レコード・タイプPlanning_Resource_In_Tblは、Planning_Resource_In_Recの表です。次の表に、Planning_Resource_In_Recの属性を説明します。

Planning_Resource_In_Recデータ型パラメータ

これは計画資源リスト・メンバー・レコード構造です。計画資源リストを作成または更新するたびに、資源リスト・メンバー・レコードを渡す必要があります。デフォルト属性は、変更または更新する必要がある場合のみ渡す必要があります。

名称 タイプ 説明
P_RESOURCE_LIST
_MEMBER_ID
NUMBER オプションの資源リスト・メンバー識別子。
資源リスト・メンバーの更新時に値が渡されます。
P_RESOURCE_ALIAS VARCHAR2
(80)
資源の別名。
P_PERSON_ID NUMBER このパラメータは、資源がNAMED_PERSONタイプの場合に値を含みます。選択した資源識別子を含みます。
P_PERSON_NAME VARCHAR2
(240)
このパラメータは、資源がNAMED_PERSONタイプの場合に値を含みます。個人名を含みます。
P_JOB_ID NUMBER このパラメータは、資源がJOBタイプの場合に値を含みます。役職識別子を含みます。
P_JOB_NAME VARCHAR2
(240)
このパラメータは、資源がJOBタイプの場合に値を含みます。選択した資源の名称を保持します。
P_ORGANIZATION_ID NUMBER このパラメータは、資源がORGANIZATIONタイプの場合に値を含みます。選択した資源識別子を保持します。これはPA_RESOURCE_LIST_MEMBERS表のORGANIZATION_IDの値を設定します。
P_ORGANIZATION
_NAME
VARCHAR2
(30)
このパラメータは、資源がORGANIZATIONタイプの場合に値を含みます。選択した資源の名称を保持します。
P_VENDOR_ID NUMBER 仕入先識別子。これはPA_RESOURCE_LIST_MEMBERS表のVENDOR_IDの値を設定します。
P_VENDOR_NAME VARCHAR2
(240)
これは仕入先名を保持します。
P_FIN_CATEGORY
_NAME
VARCHAR2
(30)
これは財務カテゴリ名を保持します。
P_NON_LABOR
_RESOURCE
VARCHAR2
(30)
このパラメータは、資源がNON_LABOR_RESOURCEタイプの場合に値を含みます。非労務資源名を保持します。
P_PROJECT_ROLE
_ID
NUMBER このパラメータは、資源がROLEタイプの場合に値を含みます。選択した資源識別子を保持します。
P_PROJECT_ROLE
_NAME
VARCHAR2
(80)
このパラメータは、資源がROLEタイプの場合に値を含みます。選択した資源の名称を保持します。
P_RESOURCE
_CLASS_ID
NUMBER このパラメータは、資源が属する資源区分の識別子を含みます。1、2、3または4の値を取ることができます。
P_RESOURCE
_CLASS_CODE
VARCHAR2
(30)
このパラメータは、資源が属する資源区分のコードを含みます。EQUIPMENT、FINANCIAL ELEMENTS、MATERIAL ITEMS PEOPLEの値を取ることができます。
P_RES_FORMAT_ID NUMBER これは計画資源リスト・メンバーの作成中に渡す必要があります。資源が属する計画資源書式IDを保持します。
P_SPREAD_CURVE
_ID
NUMBER オプション。財務計画に対して全期間に原価金額または収益額を配分する方法を定義します。これは使用可能な分割曲線の識別子を保持し、PA_RESOURCE_LIST_MEMBERS表のSPREAD_CURVE_IDの値を設定します。
P_SPREAD_CURVE_IDがNULLの場合、SPREAD_CURVE_IDは渡された資源区分によって決定されたデフォルト値に設定されます。
P_SPREAD_CURVE_IDがNULLでない場合、SPREAD_CURVE_IDは渡された任意の値に設定されます。
P_ETC_METHOD
_CODE
VARCHAR2
(30)
オプション。ユーザーは資源別に完了見積(ETC)方法を設定できます。この計画属性は対応するETCコードを保持します。P_ETC_METHOD_CODEは、PA_RESOURCE_LIST_MEMBERS表のETC_METHOD_CODEの値を設定します。P_ETC_METHOD_CODEがNULLの場合、ETC_METHOD_CODEは、渡された資源区分によって決定されたデフォルト値に設定されます。P_ETC_METHOD_CODEがNULLでない場合、ETC_METHOD_CODEは渡された任意の値に設定されます。
P_MFC_COST
_TYPE_ID
NUMBER オプション。製造原価タイプ識別子を保持します。これはP_MFC_COST_TYPE_IDで渡された任意の値を使用して、PA_RESOURCE_LIST_MEMBERS表のMFC_COST_TYPE_IDの値を設定します。
P_MFC_COST_TYPE_IDがNULLであり、資源タイプがBOM EQUIPMENT、BOM_LABORまたはINVENTORY_ITEMの場合、MFC_COST_TYPE_IDは資源区分によって決定されたデフォルト値に設定されます。それ以外の場合、MFC_COST_TYPE_IDはNULLに設定されます。
P_COPY_FROM
_RL_FLAG
VARCHAR2  
P_RESOURCE
_CLASS_FLAG
VARCHAR2  
P_FC_RES_TYPE
_CODE
VARCHAR2
(30)
PA_RESURCE_LIST_MEMBERS表のWP_ELIGIBLE_FLAGの値を決定します。このコードに基づいて、WP_ELIGIBLE_FLAGは「Y」または「N」に設定されます。P_FC_RES_TYPE_CODEが「REVENUE_CATEGORY」または「EVENT_TYPE」の場合、WP_ELIGIBLE_FLAGは「N」を保持します。それ以外の場合、「Y」を保持します。
P_INVENTORY_ITEM
_ID
NUMBER このパラメータは、資源がITEMタイプの場合に値を含みます。資源識別子を含みます。
P_INVENTORY_ITEM
_NAME
VARCHAR2
(80)
このパラメータは、資源がITEMタイプの場合に値を含みます。選択した資源名を保持します。
P_ITEM_CATEGORY
_ID
NUMBER このパラメータは、資源がITEM CATEGORYタイプの場合に値を含みます。選択した資源識別子を保持します。
P_ITEM_CATEGORY
_NAME
VARCHAR2
(150)
このパラメータは、資源がITEM CATEGORYタイプの場合に値を含みます。選択した資源名を保持します。
P_MIGRATION_CODE VARCHAR2  
P_ATTRIBUTE
_CATEGORY
VARCHAR2
(150)
属性カテゴリ名
P_ATTRIBUTE1〜P_ATTRIBUTE30 VARCHAR2
(150)
付加フレックスフィールドを使用すると、ユーザーは計画資源ごとに追加情報を定義できます。
P_PERSON_TYPE
_CODE
VARCHAR2
(30)
このパラメータは、資源がPERSON_TYPEタイプの場合に値を含みます。これは個人タイプ・コードまたは個人タイプ名です。
P_BOM_RESOURCE
_ID
NUMBER このパラメータは、資源がBOM_LABORまたはBOM_EQUIPMENTタイプの場合に値を含みます。選択した資源識別子を保持します。
P_BOM_RESOURCE
_NAME
VARCHAR2
(30)
このパラメータは、資源がBOM_LABORまたはBOM_EQUIPMENTタイプの場合に値を含みます。選択した資源名を保持します。
P_TEAM_ROLE VARCHAR2
(80)
このパラメータは、資源がNAMED_ROLEタイプの場合に値を含みます。チーム・ロール名またはチーム・ロール・コードを保持します。
P_INCUR_BY_RES
_CODE
VARCHAR2
(30)
このパラメータは、計画資源要素として「発生元資源」を持つ書式に資源が属する場合に値を含みます。選択した資源コードを保持します。
P_INCUR_BY_RES
_TYPE
VARCHAR2
(30)
このパラメータは、計画資源要素として「発生元資源」を持つ書式に資源が属する場合に値を含みます。
P_RECORD
_VERSION_NUMBER
NUMBER この必須属性は、資源リスト・メンバーのレコード・バージョン番号です。これは資源リスト・メンバーの更新時に重要です。
P_PROJECT_ID NUMBER 必須。プロジェクト固有の資源のプロジェクトIDを保持します。これはPA_RESOURCE_LIST_MEMBERS表のOBJECT_TYPEおよびOBJECT_IDの値を決定します。PROJECT_IDがNULLでない場合、OBJECT_TYPEおよびOBJECT_IDは値PROJECTおよびPROJECT_IDを取ります。PROJECT_IDがNULLの場合、OBJECT_TYPEおよびOBJECT_IDとしてRESOURCE_LISTおよびP_RESOURCE_LIST_IDを取ります。
P_ENABLED_FLAG VARCHAR2
(1)
このオプションの属性は、資源メンバーが使用可能かどうかを示します。更新時に値を変更しないかぎり、この値を渡す必要はありません。資源リスト・メンバーの作成中、ENABLED_FLAGは常にYになります。Y = 資源リスト・メンバーは使用可能です。N = 資源リスト・メンバーは使用不可です。

Planning_Resource_Out_Tblデータ型パラメータ

レコード・タイプPlanning_Resource_Out_Tblは、Planning_Resource_Out_Recの表です。次の表に、Planning_Resource_Out_Recの属性を説明します。

Planning_Resource_Out_Recデータ型パラメータ

これは計画資源リスト・メンバー・レコード構造で、新規資源リスト・メンバーの資源リスト・メンバー識別子をOUTパラメータとして格納します。

名称 タイプ 説明
X_RESOURCE_LIST_MEMBER_ID NUMBER 新規資源リスト・メンバーの識別子
X_RECORD_VERSION_NUMBER NUMBER 資源リスト・メンバーのレコード・バージョン番号

計画資源リストAPIの定義

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

CREATE_RESOURCE_LIST

CREATE_RESOURCE_LISTは、資源リスト、対応する資源書式、および資源リスト・メンバーを作成できるPL/SQLプロシージャです。

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

ビジネス・ルール

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

UPDATE_RESOURCE_LIST

UPDATE_RESOURCE_LISTは、資源リスト、対応する資源書式、および計画資源を更新できるPL/SQLプロシージャです。資源書式は更新できないため、資源書式が作成されます。このプロシージャを使用すると、既存の計画資源の更新や、計画資源が存在しない場合には新規計画資源の作成も行えます。

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

ビジネス・ルール

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

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

DELETE_RESOURCE_LIST

DELETE_RESOURCE_LISTは、資源リストと、その資源リストに属する、対応する計画資源および資源書式を削除できるPL/SQLプロシージャです。

ビジネス・ルール

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

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

DELETE_PLANNING RESOURCE

DELETE_PLANNING_RESOURCEは、使用中でない計画資源を削除したり、使用中の計画資源を使用不可にできるPL/SQLプロシージャです。

ビジネス・ルール

呼出し元モジュールは、有効な資源リスト・メンバーIDを含む表を渡します。このプロシージャは、使用中でない各リスト・メンバーを削除したり、使用中の各リスト・メンバーを使用不可にします。リスト・メンバーIDが存在しない場合、プロシージャはエラー・メッセージを生成せず、「成功」の結果を返します。

パラメータ

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

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

DELETE_PLAN_RL_FORMAT

このプロシージャは、資源リストから1つ以上の資源書式を削除します。

ビジネス・ルール

呼出し元モジュールは、有効な資源書式IDの表と、それらが属する資源リストのIDを渡す必要があります。その書式の計画資源がリストに存在しない場合、APIは資源リストから各書式を削除します。計画資源が存在する場合、資源書式をリストから削除することはできません。

パラメータ

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

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

EXEC_CREATE_RESOURCE_LIST

EXEC_CREATE_RESOURCE_LISTは、複合API CREATE_RESOURCE_LISTを実行するために使用するロード-実行-フェッチ・プロシージャです。

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

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

EXEC_UPDATE_RESOURCE_LIST

EXEC_UPDATE_RESOURCE_LISTは、複合API UPDATE_RESOURCE_LISTを実行するために使用するロード-実行-フェッチ・プロシージャです。

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

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

FETCH_RESOURCE_LIST

FETCH_RESOURCE_LISTは、資源リストに対してグローバル出力構造から資源リスト識別子を1度に1つずつフェッチするために使用するロード-実行-フェッチ・プロシージャです。これはステータスおよび新規のRESOURCE_LIST_ID(存在する場合)を返します。

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

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

FETCH_PLAN_FORMAT

FETCH_PLAN_FORMATは、計画資源書式のステータスおよび新規のPLAN_RL_FORMAT_IDを返すロード-実行-フェッチ・プロシージャです。

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

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

FETCH_RESOURCE_LIST_MEMBER

FETCH_RESOURCE_LIST_MEMBERは、資源リスト・メンバーのステータスおよび新規のRESOURCE_LIST_MEMBER_ID(存在する場合)を返すロード-実行-フェッチ・プロシージャです。

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

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

INIT_CREATE_RESOURCE_LIST

INIT_CREATE_RESOURCE_LISTは、資源書式および資源リスト・メンバーに対してグローバル一時表を設定するために使用するロード-実行-フェッチ・プロシージャです。また、資源リストのレコード構造を初期化します。このプロシージャにパラメータはありません。

INIT_UPDATE_RESOURCE_LIST

INIT_UPDATE_RESOURCE_LISTは、資源書式および資源リスト・メンバーに対してグローバル一時表を初期化するために使用するロード-実行-フェッチ・プロシージャです。これは資源リストのレコード構造も初期化します。このプロシージャにパラメータはありません。

LOAD_RESOURCE_LIST

LOAD_RESOURCE_LISTは、資源リストのグローバル・レコードに値をロードできるロード-実行-フェッチ・プロシージャです。

ビジネス・ルール

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

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

LOAD_RESOURCE_FORMAT

資源書式のグローバル表に値をロードできます。このプロシージャは表を移入し、件数を増分します。

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

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

LOAD_PLANNING_RESOURCE

計画資源のグローバル表をロードできます。このプロシージャは表を移入し、件数を増分します。

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

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

資源分解構造API

この項では、資源分解構造とともに使用するAPIを説明します。このAPIを使用すると、資源分解構造の作成、プロジェクトへの割当および更新を行えます。

資源分解構造APIのビュー

次の表に、資源分解構造APIのパラメータ・データを提供するビューを示します。これらのビューで返される情報は、Oracle Projectsで資源分解構造に含めることができます。

ビューの詳細は、OracleMetaLinkで入手可能なOracle eTRMを参照してください。

ビュー 説明
PA_EMPLOYEES_RES_V 人事管理システムにおける従業員に関する情報を表示します。
PA_EVENT_TYPES_RES_V Oracle Projectsで定義されたイベント・タイプに関する情報を表示します。
PA_EXPEND_CATEGORIES_RES_V Oracle Projectsで定義された支出カテゴリに関する情報を表示します。
PA_EXPENDITURE_TYPES_RES_V Oracle Projectsで定義された支出タイプに関する情報を表示します。
PA_JOBS_RES_V 人事管理システムで定義された役職に関する情報を表示します。
PA_ORGANIZATIONS_RES_V 人事管理システムで定義された組織に関する情報を表示します。
PA_BOM_LABOR_RES_V 製造システムで定義されたBOM労務資源に関する情報を表示します。
PA_BOM_EQUIPMENT_RES_V 製造システムで定義されたBOM機材資源に関する情報を表示します。
PA_ITEM_CATEGORY_RES_V 製造システムで定義された品目カテゴリに関する情報を表示します。
PA_ITEMS_RES_V 製造システムで定義された品目に関する情報を表示します。
PA_NON_LABOR_RESOURCES
_RES_V
Oracle Projectsで定義された非労務資源に関する情報を表示します。
PA_RESOURCE_CLASS_RES_V Oracle Projectsで定義された資源区分に関する情報を表示します。
PA_PROJECT_ROLES_RES_V Oracle Projectsで定義されたプロジェクト・ロールに関する情報を表示します。
PA_VENDORS_RES_V 購買システムで定義された仕入先に関する情報を表示します。
PA_PERSON_TYPE_RES_V 人事管理システムにおける個人タイプに関する情報を表示します。
PA_REVENUE_CATEGORIES
_RES_V
Oracle Projectsで定義された収益カテゴリに関する情報を表示します。
PA_RBS_HEADERS_AMG_V RBSヘッダー情報を返します。
PA_RBS_VERSIONS_AMG_V RBSバージョン情報を返すビュー。
PA_RES_TYPES_AMG_V システムで定義された資源タイプを返すビュー。資源分解構造で要素を定義する間に資源タイプを渡す必要があります。
PA_RBS_ELEMENTS_AMG_V 資源分解構造の要素をすべて返すビュー。

資源分解構造APIのプロシージャ

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

資源分解構造APIのレコードおよび表のデータ型

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

Rbs_Header_Rec_Typデータ型パラメータ

これは資源分解構造のヘッダー・レコード構造です。資源分解構造ヘッダーを作成または更新する場合、資源分解構造を渡す必要があります。デフォルト属性は、変更する必要がある場合のみ渡します。

名称 タイプ 説明
RBS_HEADER_ID NUMBER 資源分解構造のヘッダー識別子。
値はヘッダーの更新時に渡されます。
NAME VARCHAR2
(240)
資源分解構造名。
DESCRIPTION VARCHAR2
(2000)
資源分解構造摘要。
EFFECTIVE_FROM_DATE DATE 資源分解構造の使用を開始できる日付。現在の日付より前の「有効日:自」を持つ資源分解構造をプロジェクトに割り当てることができます。EFFECTIVE_FROM_DATEをNULLにすることはできません。
EFFECTIVE_TO_DATE DATE 資源分解構造を使用できる期限日。現在の日付以降の「有効日:至」を持つ資源分解構造をプロジェクトに割り当てることができます。
EFFECTIVE_TO_DATE NUMBER 資源分解構造ヘッダー・レコードのレコード・バージョン番号(PA_RBS_HEADERS_AMG_Vビューから取得)。

Rbs_Version_Rec_Typデータ型パラメータ

これは資源分解構造のバージョン・レコード構造です。資源分解構造を作成する際は、特定のバージョン属性が必要な場合のみ、バージョン・レコードを渡します。デフォルトでは、資源分解構造ヘッダーを作成するたびに、システムによって作業中バージョンが作成されます。資源分解構造を更新する際は、バージョン名や役職グループなどのバージョン属性を更新する場合のみ、バージョン・レコードを渡します。現行作業中バージョンのみ更新できます。バージョン属性は、PA_RBS_VERSIONS_AMG_Vビューから読み取ることができます。

名称 タイプ 説明
RBS_VERSION_ID NUMBER 資源分解構造(RBS)のバージョン識別子。
NAME VARCHAR2
(240)
資源分解構造バージョン名。
DESCRIPTION VARCHAR2
(2000)
資源分解構造バージョン摘要。
VERSION_START
_DATE
DATE 資源分解構造の有効開始日。システムではこの日付を使用して、すべてのプロジェクト取引をバージョンにマップするかどうかを決定します。この日付がシステム日付より前の場合、システムによって取引がこのバージョンにマップされます。
JOB_GROUP_ID NUMBER 資源分解構造バージョンの役職グループの役職グループ識別子。この役職グループの役職は、資源分解構造階層の要素として適格です。役職グループはPA_JOB_GROUPS_VIEWビューから選択できます。
RECORD
_VERSION_NUMBER
NUMBER PA_RBS_VERSIONS_AMG_VビューからのRBSバージョン・レコードのレコード・バージョン番号。

Rbs_Elements_Tbl_Typデータ型パラメータ

レコード・タイプRbs_Elements_Tbl_Typは、Rbs_Elements_Rec_Typの表です。次の表に、Rbs_Elements_Rec_Typの属性を説明します。

Rbs_Elements_Rec_Typデータ型パラメータ

これは資源分解構造の要素レコード構造です。資源分解構造要素を作成または更新するたびに、要素レコード構造を渡します。デフォルト属性は、変更または更新する必要がある場合のみ渡します。

名称 タイプ 説明
RBS_VERSION_ID NUMBER 資源分解構造のバージョン識別子。
RBS_ELEMENT_ID NUMBER 資源分解構造の要素識別子。これは更新モードで必須フィールドです。
PARENT_ELEMENT_ID NUMBER 現行要素の親の要素識別子。
RESOURCE_TYPE_ID NUMBER 要素の資源タイプ識別子。PA_RES_TYPES_AMG_Vビューから値を取得できます。
RESOURCE_SOURCE_ID NUMBER 資源分解構造要素を構成する資源識別子。
RESOURCE_SOURCE
_CODE
VARCHAR2
(240)
資源分解構造要素のソース・コード。要素の資源タイプがREVENUE_CATEGORYまたはUSER_DEFINEDの資源タイプ・コードに関連付けられている場合、これは値を含みます。
ORDER_NUMBER NUMBER プロジェクト・レポートで資源分解構造の指定レベルに要素が表示される順序。
PROCESS_TYPE VARCHAR2
(1)
資源分解構造要素に必要な処理のタイプ。有効な値:
A 要素の追加
U 要素の更新
D 要素とその子の削除(要素が存在する場合)
RBS_LEVEL NUMBER 資源分解構造内で要素が配置されるレベル。この値は要素の作成時に渡されます。レベルには1〜10の値を指定できます。1はルート要素用に予約済で、処理中には無視されます。
RECORD_VERSION
_NUMBER
NUMBER 資源分解構造要素のレコード・バージョン番号。これは要素の更新または削除時に渡されます。値はPA_RBS_ELEMENTS_AMG_Vビューから取得できます。
RBS_REF_ELEMENT_ID NUMBER 各RBSレベルで処理される各要素を区別するために使用する識別子。これは要素の作成時に渡されます。要素ごとにRBS_REF_ELEMENT_IDが必要です。
PARENT_REF_ELEMENT
_ID
NUMBER 要素の親を示します。RBS_LEVELが1または2の場合、移入する必要はありません。RBS_LEVEL 1要素に親は必要ありません。RBS_LEVEL 2要素の親は、ルート要素のIDからシステムによって更新されます。

RESOURCE_SOURCE_ID

RESOURCE_SOURCE_IDパラメータには、資源分解構造要素を構成する資源識別子が移入されます。要素がルールの場合、システムによってRESOURCE_SOURCE_IDとして-1が渡されます。要素がインスタンスの場合、システムによって資源識別コードが渡されます。

次に、識別コードを持つ資源タイプを示します。

Rbs_Elements_Tbl_Out_Typデータ型パラメータ

レコード・タイプRbs_Elements_Tbl_Out_Typは、Rbs_Elements_Rec_Out_Typの表です。

Rbs_Elements_Rec_Out_Typデータ型パラメータ

これは、新規の資源分解構造要素の出力値を格納する資源分解構造の要素レコード構造です。次の表に、Rbs_Elements_Rec_Out_Typの属性を説明します。

名称 タイプ 説明
RBS_ELEMENT_ID NUMBER 資源分解構造の新規要素の要素識別子

資源分解構造APIのプロシージャの定義

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

CREATE_RBS

CREATE_RBSプロシージャを使用すると、RBSヘッダー、RBSバージョンおよびRBSの階層の要素で構成される資源分解構造(RBS)を作成できます。

ビジネス・ルール

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

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

COPY_RBS_WORKING_VERSION

このプロシージャを使用すると、既存の確定済バージョンから資源分解構造の作業中バージョンを作成できます。

ビジネス・ルール

  1. 呼出し元モジュールは、次のいずれかを渡す必要があります。

    この情報によって現行作業中バージョンとしてコピーされるバージョンが指定されます。既存の作業中バージョンは、指定された確定済バージョンのコピーで上書きされます。

  2. 現行作業中バージョンのレコード・バージョン番号は、ロック目的でも必要になります。

パラメータ

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

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

UPDATE_RBS

UPDATE_RBSプロシージャを使用すると、資源分解構造ヘッダーおよびバージョンの更新や、要素レコードの削除、更新または追加を行えます。

ビジネス・ルール

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

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

INIT_RBS_PROCESSING

INIT_RBS_PROCESSINGは、資源分解構造を作成および更新するためのグローバル一時表を初期化するロード-実行-フェッチ・プロシージャです。

LOAD_RBS_HEADER

LOAD_RBS_HEADERは、資源分解構造のグローバルPL/SQLレコードにヘッダー・レコード情報をロードするロード-実行-フェッチ・プロシージャです。

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

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

LOAD_RBS_VERSION

LOAD_RBS_VERSIONは、グローバルPL/SQLレコードにバージョン・レコード情報をロードするロード-実行-フェッチ・プロシージャです。

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

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

LOAD_RBS_ELEMENTS

LOAD_RBS_ELEMENTSは、グローバルPL/SQL表に要素レコード情報をロードするロード-実行-フェッチ・プロシージャです。

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

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

FETCH_RBS_HEADER

FETCH_RBS_HEADERは、RBS_HEADER_IDを取得し、ヘッダーの成功またはエラー・ステータスを呼出し元プロシージャに返すロード-実行-フェッチ・プロシージャです。

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

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

FETCH_RBS_VERSION

FETCH_RBS_VERSIONは、RBS_VERSION_IDおよびバージョン成功ステータスを取得するロード-実行-フェッチ・プロシージャです。

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

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

FETCH_RBS_ELEMENT

FETCH_RBS_ELEMENTは、RBS_ELEMENT_IDおよび入力した指数値の成功値を取得するロード-実行-フェッチ・プロシージャです。

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

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

EXEC_CREATE_RBS

EXEC_CREATE_RBSは、資源分解構造作成プロセスを実行するロード-実行-フェッチ・プロシージャです。

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

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

EXEC_UPDATE_RBS

EXEC_UPDATE_RBSは、資源分解構造更新プロセスを実行するロード-実行-フェッチ・プロシージャです。

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

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

FREEZE_RBS_VERSION

FREEZE_RBS_VERSIONは、現行作業中資源分解構造バージョンを確定し、新規作業中バージョンを作成できるプロセスです。

ビジネス・ルール

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

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

ASSIGN_RBS_TO_PROJECT

ASSIGN_RBS_TO_PROJECTは、資源分解構造をプロジェクトに割り当てるプロセスです。資源分解構造のヘッダーIDとプロジェクトIDを指定する必要があります。

ビジネス・ルール

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

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

依存関係API

依存関係APIのビュー

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

変数 説明
PA_STRUCT_TASKS_AMG_V 体系バージョンのリストを表示します。
PA_TASKS_AMG_V タスクのリストを表示します。

依存関係APIのプロシージャ

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

依存関係APIのプロシージャの定義

この項では、依存関係APIを説明します。

CREATE_DEPENDENCY

CREATE_DEPENDENCYは、プロジェクト内の依存関係を作成するPL/SQLプロシージャです。

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

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

UPDATE_DEPENDENCY

UPDATE_DEPENDENCYは、既存のプロジェクト内の依存関係を更新するPL/SQLプロシージャです。

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

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

DELETE_DEPENDENCY

DELETE_DEPENDENCYは、既存のプロジェクト内の依存関係を削除するPL/SQLプロシージャです。

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

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

タスク割当API

タスク割当APIは、タスク割当および定期データを挿入、更新および削除するための外部システム用インタフェースを提供します。

タスク割当ビュー

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

変数 説明
PA_TASK_ASSIGNMENTS_AMG_V このビューを使用すると、Oracle Projectsから有効なタスク割当を取得して、外部システムで表示できます。

タスク割当APIのプロシージャ

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

タスク割当APIのレコードおよび表のデータ型

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

ASSIGNMENT_IN_REC_TYPE

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

名称 タイプ 必須であるか 説明
PM_PROJECT_REFERENCE VARCHAR2(25) No 外部プロジェクト参照
PA_PROJECT_ID NUMBER No プロジェクトの識別子
PA_STRUCTURE_VERSION_ID NUMBER No 体系バージョンの識別子
PM_TASK_REFERENCE VARCHAR2(25) No 外部タスク参照
PA_TASK_ID NUMBER No タスクの識別子
PA_TASK_ELEMENT_VERSION_ID NUMBER No タスク・バージョンの識別子
PM_TASK_ASGMT_REFERENCE VARCHAR2(30) No 外部タスク割当参照
PA_TASK_ASSIGNMENT_ID NUMBER No タスク割当の識別子
RESOURCE_ALIAS VARCHAR2(80) No 計画資源の別名
RESOURCE_LIST_MEMBER_ID NUMBER No 計画資源の識別子
START_DATE DATE No タスク割当の開始日
END_DATE DATE No タスク割当の終了日
PLANNED_QUANTITY NUMBER No 計画従事または計画数量
PLANNED_TOTAL_RAW_COST NUMBER No 計画直接費
PLANNED_TOTAL_BUR_COST NUMBER No 計画総原価
CURRENCY_CODE VARCHAR2(30) No 通貨コード
ATTRIBUTE_CATEGORY VARCHAR2(30) No 付加フレックスフィールドの属性
ATTRIBUTE1〜ATTRIBUTE30 VARCHAR2(150) No 付加フレックスフィールドの属性
DESCRIPTION VARCHAR2(240) No 割当の摘要。このパラメータは更新時のみ使用できます。
USE_TASK_SCHEDULE_FLAG VARCHAR2(1) No 割当日がタスク予定日と同じであるかどうかを示すフラグ。このパラメータは更新時のみ使用できます。
RAW_COST_RATE_OVERRIDE NUMBER No 直接費レートの上書き。このパラメータは更新時のみ使用できます。
BURD_COST_RATE_OVERRIDE NUMBER No 総原価レートの上書き。このパラメータは更新時のみ使用できます。
BILLABLE_WORK_PERCENT NUMBER No 請求可能率。このパラメータは更新時のみ使用できます。
MFG_COST_TYPE VARCHAR2(10) No 製造原価タイプ。このパラメータは更新時のみ使用できます。
MFG_COST_TYPE_ID NUMBER No 製造原価タイプの識別子。このパラメータは更新時のみ使用できます。
P_CONTEXT_FLAG VARCHAR2(1) No タスクで渡されていないタスク割当を削除するかどうかを示すフラグ
SCHEDULED_DELAY NUMBER No 割当予定遅延

ASSIGNMENT_OUT_REC_TYPE

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

名称 タイプ 必須であるか 説明
PA_TASK_ID NUMBER Yes タスクの識別子
PA_TASK_ASSIGNMENT_ID NUMBER Yes タスク割当の識別子
RESOURCE_ALIAS VARCHAR2(80) Yes 計画資源の別名
RESOURCE_LIST_MEMBER_ID NUMBER Yes 計画資源の識別子
RETURN_STATUS VARCHAR2(1) Yes 返されたステータス

TASK_DEL_REC_TYPE

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

名称 タイプ 必須であるか 説明
PA_TASK_ELEM_VERSION_ID NUMBER No タスク・バージョンの識別子
PA_TASK_ASSIGNMENT_ID NUMBER No タスク割当の識別子
DEL_TA_FLAG VARCHAR2(1) No 割当を削除するかどうかを示すフラグ

TASK_ASGMT_DEL_TYPE

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

名称 タイプ 必須であるか 説明
PA_TASK_ID NUMBER No タスクの識別子
START_DEL_INDEX NUMBER No 開始指数
END_DEL_INDEX NUMBER No 終了指数
DEL_TA_FLAG VARCHAR2(1) No 割当を削除するかどうかを示すフラグ

ASSIGNMENT_PERIODS_TYPE

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

名称 タイプ 必須であるか 説明
PM_PRODUCT_CODE VARCHAR2(30) No 製品コード
PM_PROJECT_REFERENCE VARCHAR2(25) No 外部プロジェクト参照
PA_PROJECT_ID NUMBER No プロジェクトの識別子
PA_STRUCTURE_VERSION_ID NUMBER No 体系バージョンの識別子
PM_TASK_REFERENCE VARCHAR2(25) No 外部タスク参照
PA_TASK_ID NUMBER No プロジェクト・タスクの識別子
PA_TASK_ELEMENT_VERSION_ID NUMBER No タスク・バージョンの識別子
PM_TASK_ASGMT_REFERENCE VARCHAR2(25) No 外部タスク割当参照
PA_TASK_ASSIGNMENT_ID NUMBER No タスク割当の識別子
RESOURCE_ALIAS VARCHAR2(80) No 計画資源の別名
RESOURCE_LIST_MEMBER_ID NUMBER No 計画資源の識別子
PERIOD_NAME VARCHAR2(30) No 期間の名称
START_DATE DATE No 期間の開始日
END_DATE DATE No 期間の終了日
QUANTITY NUMBER No 期間の計画従事または計画数量
TXN_RAW_COST NUMBER No 期間の計画直接費
TXN_BURDENED_COST NUMBER No 期間の計画総原価
TXN_CURRENCY_CODE VARCHAR2(30) No 通貨コード

タスク割当APIのプロシージャの定義

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

LOAD_TASK_ASSIGNMENTS

LOAD_TASK_ASSIGNMENTSは、クライアント側からサーバー側のPLSQL表にタスク割当を移動するPL/SQLプロシージャです。このプロシージャは、LOAD/EXECUTE/FETCHサイクルで使用されます。

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

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

LOAD_TASK_ASSIGNMENT_PERIODS

LOAD_TASK_ASSIGNMENT_PERIODSは、クライアント側からサーバー側のPLSQL表にタスク割当の定期データを移動するPL/SQLプロシージャです。

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

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

EXECUTE_CREATE_TASK_ASGMTS

EXECUTE_CREATE_TASK_ASGMTSは、PLSQL表のデータを使用してタスク割当を作成するPL/SQLプロシージャです。

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

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

EXECUTE_UPDATE_TASK_ASGMTS

EXECUTE_UPDATE_TASK_ASGMTSは、タスク割当を更新するPL/SQLプロシージャです。

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

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

CREATE_TASK_ASSIGNMENTS

CREATE_TASK_ASSIGNMENTSは、割当レコードの表を受け入れることでタスク割当を作成するPL/SQLプロシージャです。

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

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

CREATE_TASK_ASSIGNMENT_PERIODS

CREATE_TASK_ASSIGNMENT_PERIODSは、割当レコードの表と定期データの表を受け入れることでタスク割当と定期データを作成するPL/SQLプロシージャです。

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

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

UPDATE_TASK_ASSIGNMENTS

UPDATE_TASK_ASSIGNMENTSは、タスク割当を更新するPL/SQLプロシージャです。このAPIを使用すると、ユーザーは作業計画バージョンをロックせずにタスクの資源割当を更新できます。また、複数のユーザーがタスクの資源割当を更新できます。

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

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

UPDATE_TASK_ASSIGNMENT_PERIODS

UPDATE_TASK_ASSIGNMENT_PERIODSは、タスク割当および定期データを更新するPL/SQLプロシージャです。

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

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

DELETE_TASK_ASSIGNMENTS

DELETES_TASK_ASSIGNMENTSは、タスク割当を削除するPL/SQLプロシージャです。

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

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

FETCH_TASK_ASSIGNMENTS

FETCH_TASK_ASSIGNMENTSは、サーバー側のPLSQL表からタスク割当を取得するPL/SQLプロシージャです。

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

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

CONVERT_PM_TAREF_TO_ID

CONVERT_PM_TAREF_TO_IDは、指定したタスク割当参照をタスク割当IDに変換するPL/SQLプロシージャです。

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

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

INIT_TASK_ASSIGNMENTS

INIT_TASK_ASSIGNMENTSは、ロード-実行サイクル前にタスク割当グローバル表を初期化します。

INIT_TASK_ASSIGNMENTSにパラメータはありません。