Oracle Projects API, クライアント拡張およびオープン・インタフェース・リファレンス リリース12 E05609-01 | ![]() 目次 | ![]() 前へ | ![]() 次へ |
この章では、次の情報用のAPIを実装する方法を説明します。
プロジェクトおよびタスク情報
体系情報
資源リストおよび資源リスト・メンバー情報
依存関係情報
タスク割当情報
この章では、次のトピックを説明します。
この章では、外部システムのプロジェクト・データをOracle Projectsと統合するために使用できるAPIについて詳しく説明します。また、次のことをリアルタイムで検証するために使用するPL/SQLプロシージャについても詳しく説明します。
外部システムに入力したプロジェクトがOracle Projects内で一意であるか
特定の機能(プロジェクトの削除など)がOracle Projectsで定義されたビジネス・ルールに従っているか
任意の外部システムを使用して詳細なプロジェクト計画を開発します。その後、プロジェクトAPIを使用して計画をOracle Projectsにプッシュし、計画の情報に基づいてプロジェクトを作成します。プロジェクト計画の展開に伴って外部システムでプロジェクト情報を更新してから、2つのシステムを定期的に同期化します。プロジェクトAPIによってOracle Projectsでタスク情報および作業分解構造(WBS)が更新され、外部システムで行った変更が反映されます。
注意: プロジェクト識別子が必要なプロジェクトAPIを呼び出す場合は、P_PA_PROJECT_IDまたはP_PM_PROJECT_REFERENCEパラメータを渡してプロジェクトを識別する必要があります。
プロジェクトの定義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で定義されたプロジェクト・テンプレートおよびプロジェクトを取得します。 |
次の表に、プロジェクト識別コードが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パッケージPA_PROJECT_PUB内にあります。
プロジェクト・プロシージャ
ロード-実行-フェッチ・プロシージャ
チェック・プロシージャ
この項では、プロジェクトの定義APIについて、ビジネス・ルールおよびパラメータも含めて説明します。
次の説明は、プロジェクトの定義APIを通じて使用される列に該当します。
Oracle Projectsでプロジェクトの作成に使用するシステムによって、各プロジェクトに一意の番号が割り当てられます。プロジェクト番号を自動生成するか、番号の手動入力をサポートするように、Oracle Projectsを設定できます。
Oracle Projectsで自動採番を設定した場合は、次のことが行われます。
Oracle Projectsによって自動生成された番号は、SEGMENT1列に保存されます。
外部システムによって割り当てられた番号は、PM_PROJECT_REFERENCE列に保存されます。
Oracle Projectsで手動採番を設定した場合、外部システムによって割り当てられた番号はSEGMENT1とPM_PROJECT_REFERENCEの両方に保存されます。
注意: Oracle Projectsのウィンドウには、プロジェクト番号としてSEGMENT1のみが表示されます。したがって、Oracle Projectsを外部システムと統合する予定がある場合は、手動採番をサポートするようにOracle Projectsを設定してください。
ほとんどの外部システムでは、プロジェクトおよびタスクに対して追加の開始日と終了日が保持されます。クライアント機能拡張を使用して(デフォルトのOracle Projectsのプロジェクト日付ではなく)これらの追加の日付を渡す方法は、「プロジェクトおよびタスク日付機能拡張」を参照してください。
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のすべてのパラメータの説明は、Oracle Integration Repositoryで参照できます。Oracle Integration Repositoryは、このマニュアルの「はじめに」で説明されています。
値が必要なCREATE_PROJECTのパラメータは、次のとおりです。
P_API_VERSION_NUMBER
P_PM_PRODUCT_CODE
P_PROJECT_IN
DELETE_PROJECTは、Oracle Projectsからプロジェクトとそのタスクを削除するために使用するPL/SQLプロシージャです。
次の項目のいずれかが存在する場合は、プロジェクトを削除できません。
イベント
支出項目
発注配分
発注購買依頼
仕入先請求書
請求書配分
資金
予算
取引約定の取引
報酬ルール・セット
他のプロジェクトからの参照
プロジェクトのタスクのいずれかが削除できない場合、そのプロジェクトは削除できません。チェック・プロシージャCHECK_DELETE_TASK_OKを使用して、特定のタスクを削除できるかどうかを確認します。次のいずれかが存在する場合、タスクは削除できません。
最上位タスクでのイベント
最上位タスクでの資金
最上位タスクでの予算
最下位タスクでの支出項目
最下位タスクでの発注明細
最下位タスクでの購買依頼明細
最下位タスクでの仕入先請求書(Oracle Payables請求書)
最下位タスクでの予算
DELETE_PROJECTのすべてのパラメータの説明は、Oracle Integration Repositoryで参照できます。Oracle Integration Repositoryは、このマニュアルの「はじめに」で説明されています。
値が必要なDELETE_PROJECTのパラメータは、次のとおりです。
P_API_VERSION_NUMBER
P_PM_PRODUCT_CODE
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は次のビジネス・ルールを課します。
プロジェクト番号、プロジェクト名、プロジェクト・タイプおよびプロジェクト組織には、次のルールが適用されます。
プロジェクト番号: 支出項目または請求書がプロジェクトに賦課されている場合、プロジェクト番号は変更できません。
新規プロジェクト番号はOracle Projects内で一意にする必要があります。CHECK_UNIQUE_PROJECT_REFERENCE(チェック・プロシージャ)を使用して、新規プロジェクト番号が一意であることを確認してください。
外部システムを使用して当初プロジェクト計画を作成する場合は、手動プロジェクト採番を選択してください。外部システムで自動生成された番号は、Oracle Projects内で一意ではない可能性があり、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が使用されます。収益または請求書がプロジェクトに賦課されている場合、分担は更新できません。 |
別プロジェクトの請求フラグ | 標準請求書が生成されている場合、このフラグは更新できません。 |
受け側タスク | 別プロジェクトの請求フラグが使用可能になっていない場合、このフィールドは更新できません。 |
プロジェクト開始日および終了日のルールは、次のとおりです。
プロジェクト開始日および完了日には、プロジェクトに含まれているすべてのタスクの最初のタスク開始日と最後のタスク完了日を含める必要があります。
開始日と完了日の両方または完了日のみをブランクにすることができます。ただし、完了日を入力する場合には、開始日を入力する必要があります。
プロジェクト・ステータスを「クローズ済」に変更した場合、デフォルトの完了日はシステム日付になります。以降にプロジェクトを再オープンすると、デフォルトの完了日はNULLになります。
次に示すプロジェクト・フィールドにNULL値を指定した場合は、Oracle Projectsでエラー・メッセージが表示されます。Oracle Projectsでは、これらのフィールドに入力したNULL値は無視され、元の値が保持されます。
PROJECT_STATUS
PUBLIC_SECTOR_FLAG
PROJECT_NUMBER
PROJECT_NAME
CARRYING_OUT_ORGANIZATION_ID
契約プロジェクトのDISTRIBUTION_RULE(このフィールドにNULL値を指定するとエラーになります。)
P_OP_VALIDATE_FLAGパラメータに「N」を設定した場合、計画データのタイプを指定するための余分な検証を消去します。不要な計画検証はシステム・パフォーマンスを遅くします。
サード・パーティの計画ツールをOracle Projectsと統合するためにこのAPIを使用している場合、P_OP_VALIDATE_FLAGを「N」に設定する必要があります。サード・パーティの計画ツールが次の検証を実行できる場合、このパラメータを「N」に設定してください。
タスクおよびアクティビティ間の依存関係
プロジェクト予定日とタスク予定日
APIを使用して前述の広範囲な検証を実行しないレガシー・システムからデータをアップロードしている場合、P_OP_VALIDATE_FLAGを「Y」に設定する必要があります。Oracle Projectsでのデータ整合性を確実にするために、計画データを検証する必要があります。
労務予定表と非労務予定表の属性を更新するためのルールは、次のとおりです。
労務予定表タイプを「請求」から「間接費」または「間接費」から「請求」に変更する場合は、LABOR_SCH_TYPE列が必須で、必須の依存列をすべて移入する必要があります。
労務または非労務予定表タイプを「請求」から「間接費」に変更する場合は、REV_IND_RATE_SCH_IDおよびINV_IND_RATE_SCH_ID列が必須です。
労務予定表タイプを「間接費」から「請求」に変更する場合に、Oracle Project Resource Managementがインストールされていると、JOB_BILL_RATE_SCHEDULE_ID列が必須です。
非労務予定表タイプを「間接費」から「請求」に変更する場合は、NON_LABOR_BILL_RATE_ORG_IDおよびNON_LAB_STD_BILL_RT_SCH_ID列が必須です。
LABOR_SCHEDULE_DISCOUNTが渡される場合は、LABOR_SCHEDULE_DISCOUNT_REASONも必須です。
LABOR_SCHEDULE_DISCOUNTが渡されない場合は、LABOR_SCHEDULE_DISCOUNT_REASONを渡すことができません。
NON_LABOR_SCHEDULE_DISCOUNTが渡される場合は、NON_LABOR_SCHEDULE_DISCOUNT_REASONも必須です。
NON_LABOR_SCHEDULE_DISCOUNTが渡されない場合は、NON_LABOR_SCHEDULE_DISCOUNT_REASONを渡すことができません。
渡される予定表IDまたは組織IDは、有効なIDである必要があります。
Oracle Projectsは、タスク・レベルで次のビジネス・ルールを課します。
外部システムとOracle Projectsとの間でタスク情報が共有される順序には、次のルールが適用されます。
関連した子タスクをインタフェースするには、Oracle Projectsに親タスクをインタフェースしておく必要があります。
タスク番号、識別コードおよび組織には、次のルールが適用されます。
新規タスク番号はプロジェクト内で一意にする必要があります。チェック・プロシージャCHECK_UNIQUE_TASK_NUMBERを使用して、新規タスク番号がOracle Projects内で一意であることを確認してください。
外部システムによってTASK_IDとPM_TASK_REFERENCEの両方がOracle Projectsにプッシュされる場合、Oracle ProjectsではTASK_IDを使用してタスクが識別され、PM_TASK_REFERENCEは入力値(異なる場合)で更新されます。
次の項目のいずれかがタスクに賦課されている場合、タスク番号は変更できません。
支出項目
発注配分
発注購買依頼配分
仕入先請求書
仕入先請求書配分
注意: チェック・プロシージャCHECK_TASK_NUMBER_CHANGE_OKを使用して、Oracle Projectsで特定のタスクの番号が変更可能かどうかを確認してください。
次の項目のいずれかがタスクに賦課されている場合、タスク組織は変更できません。
原価配分明細
収益配分明細
請求書草案
タスク開始日および終了日には、次のルールが適用されます。
タスク開始日は次のように設定する必要があります。
親タスクの開始日より後
すべてのサブタスクの開始日より前
プロジェクトの開始日から完了日までの間
完了日がある各タスクには開始日も必要です。
タスク完了日はプロジェクト完了日より前にする必要があります。
プロジェクトの作業分解構造(WBS)内でタスクを移動する場合には、次のルールが適用されます。
請求、予算編成、および資本資産の作成は最上位タスクから駆動されるため、新規の親タスクが同じ最上位タスクに属する場合のみ、サブタスクを移動できます。
最上位タスクをサブタスクに変更することはできません。
サブタスクを最上位タスクに変更することはできません。
タスク属性には、次のルールが適用されます。
次のタスク属性はいずれもNULLに変更できません。
TASK_NAME
PM_TASK_REFERENCE
TASK_NUMBER
READY_TO_BILL_FLAG
READY_TO_DISTRIBUTE_FLAG
CARRYING_OUT_ORGANIZATION_ID
SERVICE_TYPE_CODE
次のタスク属性は制限なしで変更できます。
タスク・マネージャ
説明
その他のフラグ(前述されていないもの)
労務データと非労務データ
予定表とレート
タスクの労務および非労務予定表の属性を更新するためのルールは、プロジェクトで対応するルールと同じです。「プロジェクトの労務および非労務請求予定表および間接費計算予定表の属性を更新するためのルール」を参照してください。
UPDATE_PROJECTのすべてのパラメータの説明は、Oracle Integration Repositoryで参照できます。Oracle Integration Repositoryは、このマニュアルの「はじめに」で説明されています。
値が必要なUPDATE_PROJECTのパラメータは、次のとおりです。
P_API_VERSION_NUMBER
P_PM_PRODUCT_CODE
P_PROJECT_IN
CLEAR_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のすべてのパラメータの説明は、Oracle Integration Repositoryで参照できます。Oracle Integration Repositoryは、このマニュアルの「はじめに」で説明されています。
EXECUTE_CREATE_PROJECTの必須パラメータは、次のとおりです。
P_API_VERSION_NUMBER
P_PM_PRODUCT_CODE
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のすべてのパラメータの説明は、Oracle Integration Repositoryで参照できます。Oracle Integration Repositoryは、このマニュアルの「はじめに」で説明されています。
EXECUTE_UPDATE_PROJECTの必須パラメータは、次のとおりです。
P_API_VERSION_NUMBER
P_PM_PRODUCT_CODE
INIT_PROJECTは、グローバル・データ構造を設定するために使用するロード-実行-フェッチ・プロシージャです。その他のロード-実行-フェッチ・プロシージャでは、Oracle Projectsで新規プロジェクトを作成するために構造が使用されます。
LOAD_CLASS_CATEGORYは、グローバルPL/SQL表に区分カテゴリをロードするために使用するロード-実行-フェッチ・プロシージャです。
LOAD_CLASS_CATEGORYのすべてのパラメータの説明は、Oracle Integration Repositoryで参照できます。Oracle Integration Repositoryは、このマニュアルの「はじめに」で説明されています。
LOAD_CLASS_CATEGORYの必須パラメータは、次のとおりです。
P_API_VERSION_NUMBER
P_CLASS_CATEGORY(テンプレートの設定によって異なる)
P_CLASS_CODE(P_CLASS_CATEGORYがNULLでない場合)
LOAD_KEY_MEMBERは、グローバルPL/SQL表にキー・メンバーをロードするために使用するロード-実行-フェッチ・プロシージャです。
LOAD_KEY_MEMBERのすべてのパラメータの説明は、Oracle Integration Repositoryで参照できます。Oracle Integration Repositoryは、このマニュアルの「はじめに」で説明されています。
LOAD_KEY_MEMBERの必須パラメータは、次のとおりです。
P_API_VERSION_NUMBER
P_PERSON_ID(テンプレートの設定によって異なる)
P_PROJECT_ROLE_TYPE(P_PERSON_IDがNULLでない場合)
LOAD_ORG_ROLEは、クライアント側からサーバー側のPL/SQL表に組織ロールをロードするために使用するロード-実行-フェッチ・プロシージャです。サーバー側では、これらのロールはロード-実行-フェッチ・サイクルで使用されます。
LOAD_ORG_ROLEのすべてのパラメータの説明は、Oracle Integration Repositoryで参照できます。Oracle Integration Repositoryは、このマニュアルの「はじめに」で説明されています。
LOAD_ORG_ROLEの必須パラメータは、次のとおりです。
P_API_VERSION_NUMBER
P_RESOURCE_SOURCE_ID(テンプレートの設定によって異なる)
P_PROJECT_ROLE_TYPE(P_RESOURCE_SOURCE_IDがNULLでない場合)
LOAD_PROJECTは、グローバルPL/SQLレコードにプロジェクトをロードするために使用するロード-実行-フェッチ・プロシージャです。
LOAD_PROJECTのすべてのパラメータの説明は、Oracle Integration Repositoryで参照できます。Oracle Integration Repositoryは、このマニュアルの「はじめに」で説明されています。
LOAD_PROJECTの必須パラメータは、次のとおりです。
P_API_VERSION_NUMBER
P_PM_PROJECT_REFERENCE
P_PROJECT_NAME
P_CREATED_FROM_PROJECT_ID
プロジェクト・テンプレートの設定に応じて、次のパラメータが必須になることがあります。
P_CARRYING_OUT_ORGANIZATION_ID
P_PUBLIC_SECTOR_FLAG
P_PROJECT_STATUS_CODE
P_DESCRIPTION
P_START_DATE
P_COMPLETION_DATE
P_DISTRIBUTION_RULE
P_CUSTOMER_ID
P_PROJECT_RELATIONSHIP_CODE
次のチェック・プロシージャは、次のことをリアルタイムで検証するために使用するPL/SQLプロシージャです。
外部システムに入力したプロジェクト情報がOracle Projects内で一意であるか
特定の機能(プロジェクトの削除など)がOracle Projectsで定義されたビジネス・ルールに従っているか
チェック・プロシージャ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の必須パラメータは、次のとおりです。
P_API_VERSION_NUMBER
チェック・プロシージャCHECK_DELETE_PROJECT_OKを使用して、プロジェクトを削除できるかどうかを確認します。
CHECK_DELETE_PROJECT_OKのすべてのパラメータの説明は、Oracle Integration Repositoryで参照できます。Oracle Integration Repositoryは、このマニュアルの「はじめに」で説明されています。
CHECK_DELETE_PROJECT_OKの必須パラメータは、次のとおりです。
P_API_VERSION_NUMBER
チェック・プロシージャCHECK_UNIQUE_PROJECT_REFERENCEを使用して、新規または変更済プロジェクト参照(PM_PROJECT_REFERENCE)が一意であるかどうかを確認します。
CHECK_UNIQUE_PROJECT_REFERENCEのすべてのパラメータの説明は、Oracle Integration Repositoryで参照できます。Oracle Integration Repositoryは、このマニュアルの「はじめに」で説明されています。
CHECK_UNIQUE_PROJECT_REFERENCEの必須パラメータは、次のとおりです。
P_API_VERSION_NUMBER
以降のページに、APIで使用されるレコードおよび表のデータ型を定義します。
次の表に、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データ型を示します。
名称 | タイプ | 説明 |
---|---|---|
PA_PROJECT_ID | NUMBER (15) | Oracle Projects内のプロジェクトを一意に識別する参照コード |
PA_PROJECT _NUMBER | VARCHAR2 (25) | Oracle Projects内のプロジェクトを一意に識別する番号 |
RETURN_STATUS | VARCHAR2 (1) | API標準 |
次の表に、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 | 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データ型を示します。
注意: このデータ型を使用して既存のプロジェクトのタスクを更新する場合は、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データ型を示します。
名称 | タイプ | 説明 |
---|---|---|
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データ型を示します。
名称 | タイプ | 必須であるか | 説明 |
---|---|---|---|
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 | タスクの作業完了率 |
このレコード・タイプを使用すると、ユーザーは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_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_ID | NUMBER | Yes | Oracle Projectsにおける成果物の一意の識別子 |
RETURN_STATUS | VARCHAR2 (1) | API標準 |
次の表に、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_ID | NUMBER | Yes | Oracle Projectsにおける成果物処理の一意の識別子 |
RETURN_STATUS | VARCHAR2 (1) | API標準 |
次の例では、Oracle Projectsとシステムに入力されたプロジェクトおよびタスク情報との間のインタフェースを作成する方法を説明します。会社のビジネス・ニーズに応じて、プロジェクトAPIの実装の複雑度は、ここに示す使用例とは若干異なる場合があります。例を参照する際には、このマニュアル内の他の情報も必要に応じて参照してください。
プロジェクトAPIの詳細な説明は、「プロジェクトAPI」を参照してください。
Oracle Projects APIの大部分では、入出力パラメータの標準セットが使用されます。これらのパラメータの説明は、「標準APIパラメータ」を参照してください。
複合データ型を使用せずにプロジェクトを作成するためのPL/SQLコードの例は、「ロード-実行-フェッチAPIを使用したプロジェクトの作成」を参照してください。
Oracle Projectsデータへのアクセス時に正しいセキュリティを確保するには、「セキュリティ要件」のステップに従ってください。
APIを使用してOracle Projectsで新規プロジェクトを作成する場合は、まず新規プロジェクトの作成元とするプロジェクト・テンプレートを選択します。このステップを実行しないと、Oracle Projectsで新規プロジェクトは作成されません。APIビューPA_SELECT_TEMPLATE_Vを使用して、有効なOracle Projectsソース・テンプレートを選択します。
あるいは、ソース・プロジェクトを選択することもできます。テンプレートとプロジェクトとの唯一の違いは、テンプレートのTEMPLATE_FLAGフィールドはYに設定されるという点です。テンプレートに基づいたすべてのプロジェクトおよび元のテンプレートにより、新規プロジェクトでどのクイック入力フィールドが表示されるかが決まります。この項では、ソース・テンプレートに関する説明はすべて、ソース・プロジェクトにも該当します。
ソース・テンプレートを選択したら、PA_SOURCE_TEMPLATE_IDを使用して、テンプレートに関連したクイック入力フィールドを取得します。クイック入力フィールドは、Oracle Projectsでテンプレートを作成する際にテンプレートに割り当てます。クイック入力フィールドの詳細は、Oracle Metalinkで入手可能なOracle eTRMで「PA_PROJECT_COPY_OVERRIDES」を参照してください。
PA_OVERRIDE_FIELDS_Vビューには、特定のテンプレートに関連したクイック入力フィールドがすべて表示されます。設計するユーザー・インタフェースには少なくとも「表示名」、「値」および「必須」フィールドが表示されるようにし、「値」フィールドにのみユーザーが情報を入力できるようにする必要があります。
これらの要件を満たすユーザー・インタフェースの例を次に示します。
「クイック入力(上書き可能フィールド)」ウィンドウの例
値リスト(LOV)では、クイック入力フィールドのほとんどが検証されます。PA_OVERRIDE_FIELDS_Vビューは、有効な行の有効なデータを含むビューの名称を取得し、この名称をLOV_VIEW_NAMEフィールドに返します。プロジェクト管理ツールでこの情報を使用すると、適切なビューに動的にアクセスできます。
たとえば、「資金調達ソース」フィールドにカーソルを置いて「有効な値の取得」を選択すると、プロジェクト管理ツールでは「コード」と「摘要」という2つの列がある画面が表示されます。データベース・ビューPA_CLASS_CATEGORIES_LOV_Vから取得した値は、これら2つの列見出しの下に表示されます。
プロジェクトのクイック入力フィールドの値リストを取得するには、次のビューも使用できます。
PA_PROJECT_STATUS_CODES_LOV_V
PA_DISTRIBUTION_RULES_LOV_V
PA_KEY_MEMBERS_LOV_V
PA_ORGANIZATIONS_LOV_V
PA_CUSTOMERS_LOV_V
ツールによっては、複合データ型を使用する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は追加のパラメータを渡します。新規プロジェクトを作成する場合、このプロシージャは次のパラメータも渡す必要があります。
P_PM_PROJECT_REFERENCEは、外部システム内のプロジェクトを識別する一意の参照コードを渡します。
P_CREATED_FROM_PROJECT_IDは、Oracle Projects内のソース・テンプレートを識別する一意の参照コード(PA_SOURCE_TEMPLATE_ID)を渡します。
プロジェクトに複数のキー・メンバーまたは区分カテゴリがある場合は、プロジェクトに関連付けられたキー・メンバーおよび区分カテゴリごとに、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 |
サーバーにプロジェクト関連データをインタフェースしてから、LOAD_TASKを呼び出して、サーバー側のグローバルPL/SQL表にタスク関連データをインタフェースできます。プロジェクト内のタスクごとにLOAD_TASKを1回呼び出します。
重要: サブタスクをロードするには、その前に親タスクをロードする必要があります。
各タスクには少なくとも次の情報を指定する必要があります。
P_PM_TASK_REFERENCE。外部システム内のタスクを識別する一意の参照コード。
P_PM_PARENT_TASK_REFERENCE。タスクの親タスクを識別する一意の参照コード。最上位タスクについては、このパラメータはブランクになります。
P_TASK_NAME。タスクの名称。
LOAD_TASKが渡せるその他のパラメータの名称と説明は、「LOAD_TASK」を参照してください。
ロード・プロシージャによってプロジェクトおよびタスク・データがOracle ProjectsのグローバルPL/SQL表に正常に移動された後、EXECUTE_CREATE_PROJECTプロシージャを呼び出して、グローバルPL/SQL表にインタフェースしたプロジェクトおよびタスク・データを処理します。標準入出力パラメータに加えて、この実行プロシージャには次のパラメータが必要です。
入力パラメータ: P_PM_PRODUCT_CODE(プロジェクトをエクスポートする製品の識別コード)。製品(外部システム)をソースとして設定する際の詳細は、「Oracle Projectsでの製品の設定」を参照してください。
出力パラメータ:
P_PA_PROJECT_ID(新規プロジェクトに対する一意のOracle Projects識別コード)。
P_PA_PROJECT_NUMBER(新規プロジェクトに対する一意のOracle Projects番号)。手動プロジェクト採番をサポートするようにOracle Projectsを設定している場合、P_PA_PROJECT_NUMBERはP_PM_PROJECT_REFERENCEと同一である必要があります。自動採番を実装している場合、このパラメータは自動生成番号を返します。
ロードおよび実行プロシージャによって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を使用してエラー・テキストを取得します。
Oracle Projects APIのそれぞれに、2つの標準出力パラメータが含まれています。P_RETURN_STATUSは、APIが正常に実行されたかどうかを示します。P_MSG_COUNTは、APIの実行中に検出されたエラー数を示します。
APIで検出されたエラーが1つの場合、APIによってエラー・メッセージ・テキストが返されます。複数のエラーが検出された場合は、GET_MESSAGESを使用して、エラー・メッセージを取得します。詳細は、「GET_MESSAGES」を参照してください。
フェッチ・プロシージャを実行しエラー・メッセージを取得してから、API CLEAR_PROJECTを呼び出すことでロード-実行-フェッチ・プロセスを終了し、データベースへの変更を保存するかロールバックします。
次の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を呼び出す場合は、P_PA_TASK_IDまたはP_PM_TASK_REFERENCEパラメータを渡してタスクを識別する必要があります。
次の表に、体系APIのパラメータ・データを提供するビューを示します。ビューの詳細は、OracleMetaLinkで入手可能なOracle eTRMを参照してください。
この項で説明するプロシージャを次に示します。これらのプロシージャは、パブリックAPIパッケージPA_PROJECT_PUB内にあります。
体系プロシージャおよびタスク・プロシージャ
ロード-実行-フェッチ・プロシージャ
チェック・プロシージャ
この項では、体系APIについて、ビジネス・ルールおよびパラメータも含めて説明します。
ADD_TASKは、Oracle Projectsでプロジェクトのタスクに新規サブタスクを追加するために使用するPL/SQLプロシージャです。レコード・タイプ定義のフィールドごとに、タスク・レコード・タイプは標準データ型(NUMBER、VARCHAR2またはDATE)のパラメータに置き換えられているため、このプロシージャを直接呼び出すことができます。
Oracle Projectsは、タスク・レベルで次のビジネス・ルールを課します。
新規タスクごとに特定プロジェクト内で一意の番号を指定する必要があります。チェック・プロシージャCHECK_UNIQUE_TASK_NUMBERを使用すると、新規タスク番号がプロジェクト内にすでに存在していないことを確認できます。
親タスクに次の属性のいずれかがある場合、プロジェクトにサブタスクを作成することはできません。
取引管理
間接費予定表上書き
予算
パーセント完了値
資産
支出項目
発注配分
発注購買依頼
Oracle Payables請求書
Oracle Payables請求書配分
注意: チェック・プロシージャCHECK_ADD_SUBTASK_OKを使用すると、特定の親タスクにサブタスクを追加できることを確認できます。
契約プロジェクトでは、次の属性のいずれかを持つ親タスクにサブタスクを追加することはできません。
労務費乗数
役職請求レート上書き
従業員請求レート上書き
労務乗数
非労務請求レート上書き
役職請求職位上書き
役職割当上書き
注意: チェック・プロシージャCHECK_ADD_SUBTASK_OKを使用すると、特定の親タスクにサブタスクを追加できることを確認できます。
P_OP_VALIDATE_FLAGパラメータに「N」を設定した場合、計画データのタイプを指定するための余分な検証を消去します。不要な計画検証はシステム・パフォーマンスを遅くします。
サード・パーティの計画ツールをOracle Projectsと統合するためにこのAPIを使用している場合、P_OP_VALIDATE_FLAGを「N」に設定する必要があります。サード・パーティの計画ツールが次の検証を実行できる場合、このパラメータを「N」に設定してください。
タスクおよびアクティビティ間の依存関係
プロジェクト予定日とタスク予定日
APIを使用して前述の広範囲な検証を実行しないレガシー・システムからデータをアップロードしている場合、P_OP_VALIDATE_FLAGを「Y」に設定する必要があります。Oracle Projectsでのデータ整合性を確実にするために、計画データを検証する必要があります。
ADD_TASKのすべてのパラメータの説明は、Oracle Integration Repositoryで参照できます。Oracle Integration Repositoryは、このマニュアルの「はじめに」で説明されています。
ADD_TASKの必須パラメータは、次のとおりです。
P_API_VERSION_NUMBER
P_PM_PRODUCT_CODE
P_PM_PROJECT_REFERENCE
P_STRUCTURE_VERSION_ID
P_PA_PROJECT_ID
P_PM_TASK_REFERENCE
P_PA_TASK_NUMBER
P_TASK_NAME
P_PRED_STRING
P_PRED_DELIMITER
P_BASE_PERCENT_COMP_DERIV_CODE
P_SCH_TOOL_TSK_TYPE_CODE
P_CONSTRAINT_TYPE_CODE
P_CONSTRAINT_DATE
P_FREE_SLACK
P_TOTAL_SLACK
P_EFFORT_DRIVEN_FLAG
P_LEVEL_ASSIGNMENTS_FLAG
P_INVOICE_METHOD
P_CUSTOMER_ID
P_GEN_ETC_SOURCE_CODE
P_MAPPED_TASK_ID
P_MAPPED_TASK_REFERENCE
P_EXT_ACT_DURATION
P_EXT_REMAIN_DURATION
P_EXT_SCH_DURATION
APPLY_LP_PROG_ON_CWVは、現行作業中バージョンの体系に関する最新進捗情報を適用するために使用します。
APPLY_LP_PROG_ON_CWVのすべてのパラメータの説明は、Oracle Integration Repositoryで参照できます。Oracle Integration Repositoryは、このマニュアルの「はじめに」で説明されています。
APPLY_LP_PROG_ON_CWVの必須パラメータは、次のとおりです。
P_API_VERSION_NUMBER
P_PM_WORKING_STR_VERSION_ID
BASELINE_STRUCTUREは、体系バージョンを基本編成するPL/SQLプロシージャです。
BASELINE_STRUCTUREのすべてのパラメータの説明は、Oracle Integration Repositoryで参照できます。Oracle Integration Repositoryは、このマニュアルの「はじめに」で説明されています。
BASELINE_STRUCTUREの必須パラメータは、次のとおりです。
P_API_VERSION_NUMBER
P_STRUCTURE_VERSION_ID
P_PA_PROJECT_ID
CHANGE_CURRENT_WORKING_VERSIONは、現行作業中バージョンの体系を変更するために使用します。
このプロシージャのすべてのパラメータの説明は、Oracle Integration Repositoryで参照できます。Oracle Integration Repositoryは、このマニュアルの「はじめに」で説明されています。
このプロシージャの必須パラメータは次のとおりです。
P_API_VERSION_NUMBER
P_STRUCTURE_VERSION_ID
P_PA_PROJECT_ID
このPL/SQLプロシージャは、体系の公開、発行、再処理、棄却または承認、およびそのステータス・コードの変更を行うために使用します。有効なステータス・コードは次のとおりです。
STRUCTURE_WORKING
STRUCTURE_PUBLISHED
STRUCTURE_SUBMITTED
STRUCTURE_REJECTED
STRUCTURE_APPROVED
このプロシージャのすべてのパラメータの説明は、Oracle Integration Repositoryで参照できます。Oracle Integration Repositoryは、このマニュアルの「はじめに」で説明されています。
このプロシージャの必須パラメータは次のとおりです。
P_API_VERSION_NUMBER
P_STRUCTURE_VERSION_ID
P_PA_PROJECT_ID
P_STATUS_CODE
DELETE_STRUCTURE_VERSIONは、Oracle Projectsから体系バージョンを削除するために使用するPL/SQLプロシージャです。
このプロシージャのすべてのパラメータの説明は、Oracle Integration Repositoryで参照できます。Oracle Integration Repositoryは、このマニュアルの「はじめに」で説明されています。
このプロシージャの必須パラメータは次のとおりです。
P_API_VERSION_NUMBER
P_STRUCTURE_VERSION_ID
DELETE_TASKは、Oracle Projectsでプロジェクトのタスクを削除するために使用するPL/SQLプロシージャです。
Oracle Projectsは次のビジネス・ルールを課します。
次のルールは、カスケード・タスクの削除に適用されます。カスケード・タスクの削除では、タスクが削除されると、そのサブタスクもすべて削除されます。
タスクがルール1〜8を満たす場合のみ、最上位タスクを削除できます。
タスクがルール4〜8を満たす場合、中位または最下位タスクを削除できます(中位タスクの場合、ルールはその中位タスクの下にある最下位タスクに関連します)。
最上位タスク・イベント(収益、請求など)が存在しない
最上位タスク資金が存在しない
最上位タスク予算が存在しない
最下位タスク支出項目が存在しない
最下位タスク発注明細が存在しない
最下位タスク購買依頼明細が存在しない
最下位タスク仕入先請求書が存在しない
最下位タスク予算が存在しない
次のビジネス・ルールは、非カスケード・タスクの削除に適用されます。非カスケード・タスクの削除では、タスクを削除すると該当タスクのみが削除され、その下にあるサブタスクはすべて、プロジェクトの作業分解構造内で1レベル上位に移動します。
中位タスクは常に削除できます。
カスケード・タスクの削除では、ルール1〜3を満たす最上位タスクを削除できます。
カスケード・タスクの削除では、ルール4〜8を満たす最下位タスクを削除できます。
このプロシージャのすべてのパラメータの説明は、Oracle Integration Repositoryで参照できます。Oracle Integration Repositoryは、このマニュアルの「はじめに」で説明されています。
このプロシージャの必須パラメータは次のとおりです。
P_API_VERSION_NUMBER
P_PM_PRODUCT_CODE
GET_TASK_VERSIONは、特定の体系バージョンに対してタスクのタスク・バージョンIDを取得するために使用します。
このプロシージャのすべてのパラメータの説明は、Oracle Integration Repositoryで参照できます。Oracle Integration Repositoryは、このマニュアルの「はじめに」で説明されています。
このプロシージャの必須パラメータは次のとおりです。
P_API_VERSION_NUMBER
P_PA_PROJECT_ID
P_PA_TASK_ID
P_PA_STRUCTURE_VERSION_ID
Oracle Projectsでバージョン使用可作業計画を公開すると、「削除対象」ステータスを持つ作業中バージョンのタスクは削除されるか、「取消済」ステータスに設定されます。GET_DELETED_TASKS_FROM_OPプロシージャは、Oracle Projectsで削除済タスクのリストを取得し、Microsoft Projectなどの統合外部システムでタスクを表示します。
このプロシージャのすべてのパラメータの説明は、Oracle Integration Repositoryで参照できます。Oracle Integration Repositoryは、このマニュアルの「はじめに」で説明されています。
このプロシージャのパラメータはすべてOUTパラメータであるため、必須パラメータはありません。
UPDATE_TASKは、Oracle Projectsでプロジェクトの既存のタスクを更新するために使用するPL/SQLプロシージャです。レコード・タイプ定義のフィールドごとに、タスク・レコード・タイプは標準データ型(VARCHAR2、NUMBERおよびDATE)を使用するパラメータに置き換えられているため、このプロシージャを直接呼び出すことができます。
Oracle Projectsは次のビジネス・ルールを課します。
外部システムとOracle Projectsとの間でタスク情報が共有される順序には、次のルールが適用されます。
関連した子タスクの定義をインタフェースするには、Oracle Projectsに親タスクの定義をインタフェースしておく必要があります。
タスク番号、識別コードおよび組織には、次のルールが適用されます。
新規タスク番号はプロジェクト内で一意にする必要があります。(チェック・プロシージャCHECK_UNIQUE_TASK_NUMBERを使用すると、新規タスク番号がOracle Projects内で一意であるかどうかを確認できます。)
外部システムによってTASK_IDとPM_TASK_REFERENCEの両方がOracle Projectsにプッシュされる場合、Oracle ProjectsではTASK_IDを使用してタスクが識別され、PM_TASK_REFERENCEは入力値(異なる場合)で更新されます。
次の項目のいずれかがタスクに賦課されている場合、タスク番号は変更できません。
支出項目
発注配分
発注購買依頼配分
仕入先請求書
仕入先請求書配分
注意: チェック・プロシージャCHECK_TASK_NUMBER_CHANGE_OKを使用すると、Oracle Projectsで特定のタスクの番号が変更可能かどうかを確認できます。
次の項目のいずれかがタスクに賦課されている場合、タスク組織は変更できません。
原価配分明細
収益配分明細
請求書草案
タスク開始日および完了日には、次のルールが適用されます。
タスク開始日は次のように設定する必要があります。
親タスクの開始日より後
すべてのサブタスクの開始日より前
プロジェクトの開始日から完了日までの間
完了日がある各タスクには開始日も必要です。
タスク完了日はプロジェクト完了日より前にする必要があります。
プロジェクトの作業分解構造(WBS)内でタスクを移動する場合には、次のルールが適用されます。
請求、予算編成および資本資産の作成は最上位タスクから駆動されるため、新規の親タスクが同じ最上位タスクに属するかぎり、サブタスクを移動できます。
最上位タスクをサブタスクに変更することはできません。
サブタスクを最上位タスクに変更することはできません。
タスク・フィールドおよび属性の変更には、次のルールが適用されます。
値がNULLのタスク・フィールドは更新できません。NULLでない有効な値を持つフィールドのみが更新されます。
次のタスク・フィールドはいずれもNULLに変更できません。
TASK_NAME
PM_TASK_REFERENCE
TASK_NUMBER
READY_TO_BILL_FLAG
READY_TO_DISTRIBUTE_FLAG
CARRYING_OUT_ORGANIZATION_ID
SERVICE_TYPE_CODE
次のタスク属性は制限なしで変更できます。
タスク・マネージャ
説明
前述されていないその他のフラグ
労務データと非労務データ
予定表とレート
P_OP_VALIDATE_FLAGパラメータに「N」を設定した場合、計画データのタイプを指定するための余分な検証を消去します。不要な計画検証はシステム・パフォーマンスを遅くします。
サード・パーティの計画ツールをOracle Projectsと統合するためにこのAPIを使用している場合、P_OP_VALIDATE_FLAGを「N」に設定する必要があります。サード・パーティの計画ツールが次の検証を実行できる場合、このパラメータを「N」に設定してください。
タスクおよびアクティビティ間の依存関係
プロジェクト予定日とタスク予定日
APIを使用して前述の広範囲な検証を実行しないレガシー・システムからデータをアップロードしている場合、P_OP_VALIDATE_FLAGを「Y」に設定する必要があります。Oracle Projectsでのデータ整合性を確実にするために、計画データを検証する必要があります。
このプロシージャのすべてのパラメータの説明は、Oracle Integration Repositoryで参照できます。Oracle Integration Repositoryは、このマニュアルの「はじめに」で説明されています。
このプロシージャの必須パラメータは次のとおりです。
P_API_VERSION_NUMBER
P_PM_PRODUCT_CODE
P_PM_PROJECT_REFERENCE
P_PA_PROJECT_ID
P_PM_TASK_REFERENCE
P_PA_TASK_ID
P_TASK_NAME
P_PA_TASK_NUMBER
P_TASK_DESCRIPTION
P_PRED_STRING
P_PRED_DELIMITER
P_BASE_PERCENT_COMP_DERIV_CODE
P_SCH_TOOL_TSK_TYPE_CODE
P_CONSTRAINT_TYPE_CODE
P_CONSTRAINT_DATE
P_FREE_SLACK
P_TOTAL_SLACK
P_EFFORT_DRIVEN_FLAG
P_LEVEL_ASSIGNMENTS_FLAG
P_INVOICE_METHOD
P_CUSTOMER_ID
P_GEN_ETC_SOURCE_CODE
P_FINANCIAL_TASK_FLAG
P_MAPPED_TASK_ID
P_MAPPED_TASK_REFERENCE
P_DELIVERABLE
P_EXT_ACT_DURATION
P_EXT_REMAIN_DURATION
P_EXT_SCH_DURATION
P_ETC_EFFORT
P_PERCENT_COMPLETE
FETCH_STRUCTURE_VERSIONは、作業計画および財務体系の体系バージョンIDを返すロード-実行-フェッチ・プロシージャです。
このプロシージャのすべてのパラメータの説明は、Oracle Integration Repositoryで参照できます。Oracle Integration Repositoryは、このマニュアルの「はじめに」で説明されています。
このプロシージャの必須パラメータは次のとおりです。
P_API_VERSION_NUMBER
FETCH_TASKは、タスクに関連した出力パラメータをフェッチするために使用するロード-実行-フェッチ・プロシージャです。FETCH_TASKは、正常に処理されたタスクをグローバルPL/SQL表にロードするために使用します。
このプロシージャのすべてのパラメータの説明は、Oracle Integration Repositoryで参照できます。Oracle Integration Repositoryは、このマニュアルの「はじめに」で説明されています。
このプロシージャの必須パラメータは次のとおりです。
P_API_VERSION_NUMBER
P_TASK_INDEX
FETCH_TASKSは、FETCH_TASKへの複数の呼出しを処理するFETCH_TASKのラッパーです。
このプロシージャのすべてのパラメータの説明は、Oracle Integration Repositoryで参照できます。Oracle Integration Repositoryは、このマニュアルの「はじめに」で説明されています。
このプロシージャの必須パラメータは次のとおりです。
P_API_VERSION_NUMBER
P_TASK_INDEX
FETCH_TASK_VERSIONは、タスクのバージョン識別子を返すロード-実行-フェッチ・プロシージャです。
このプロシージャのすべてのパラメータの説明は、Oracle Integration Repositoryで参照できます。Oracle Integration Repositoryは、このマニュアルの「はじめに」で説明されています。
このプロシージャの必須パラメータは次のとおりです。
P_API_VERSION_NUMBER
P_TASK_INDEX
LOAD_STRUCTUREは、体系データをロードするために使用するロード-実行-フェッチ・プロシージャです。
このプロシージャのすべてのパラメータの説明は、Oracle Integration Repositoryで参照できます。Oracle Integration Repositoryは、このマニュアルの「はじめに」で説明されています。
このプロシージャの必須パラメータは次のとおりです。
P_API_VERSION_NUMBER
LOAD_TASKは、グローバルPL/SQL表にタスクをロードするために使用するロード-実行-フェッチ・プロシージャです。
Oracle Projectsは次のビジネス・ルールを課します。
親タスクはサブタスクより前にロードする必要があります。
このプロシージャのすべてのパラメータの説明は、Oracle Integration Repositoryで参照できます。Oracle Integration Repositoryは、このマニュアルの「はじめに」で説明されています。
このプロシージャの必須パラメータは次のとおりです。
P_API_VERSION_NUMBER
P_TASK_NAME
P_PA_TASK_NUMBER
P_PRED_STRING
P_PRED_DELIMITER
P_BASE_PERCENT_COMP_DERIV_CODE
P_SCH_TOOL_TSK_TYPE_CODE
P_CONSTRAINT_TYPE_CODE
P_CONSTRAINT_DATE
P_FREE_SLACK
P_TOTAL_SLACK
P_EFFORT_DRIVEN_FLAG
P_LEVEL_ASSIGNMENTS_FLAG
P_INVOICE_METHOD
P_CUSTOMER_ID
P_GEN_ETC_SOURCE_CODE
P_FINANCIAL_TASK_FLAG
P_MAPPED_TASK_ID
P_MAPPED_TASK_REFERENCE
P_EXT_ACT_DURATION
P_EXT_REMAIN_DURATION
P_EXT_SCH_DURATION
P_ETC_EFFORT
P_PERCENT_COMPLETE
LOAD_TASKSは、グローバルPL/SQL表にタスクをロードするために使用するロード-実行-フェッチ・プロシージャです。このプロシージャのパラメータは、LOAD_TASKのパラメータと同じです。
次のチェック・プロシージャは、次のことをリアルタイムで検証するために使用するPL/SQLプロシージャです。
外部システムに入力したタスク情報がOracle Projects内で一意であるか
特定の機能(タスクの削除など)がOracle Projectsで定義されたビジネス・ルールに従っているか
チェック・プロシージャCHECK_ADD_SUBTASK_OKを使用して、サブタスクを親タスクに追加できるかどうかを確認します。
このプロシージャのすべてのパラメータの説明は、Oracle Integration Repositoryで参照できます。Oracle Integration Repositoryは、このマニュアルの「はじめに」で説明されています。
このプロシージャの必須パラメータは次のとおりです。
P_API_VERSION_NUMBER
チェック・プロシージャCHECK_CHANGE_PARENT_OKを使用して、ある親タスクのタスクを別の親タスクに移動できるかどうかを確認します。同じ最上位タスクを維持するかぎり、タスクは移動できます。
このプロシージャのすべてのパラメータの説明は、Oracle Integration Repositoryで参照できます。Oracle Integration Repositoryは、このマニュアルの「はじめに」で説明されています。
このプロシージャの必須パラメータは次のとおりです。
P_API_VERSION_NUMBER
チェック・プロシージャCHECK_DELETE_TASK_OKを使用して、タスクを削除できるかどうかを確認します。
このプロシージャのすべてのパラメータの説明は、Oracle Integration Repositoryで参照できます。Oracle Integration Repositoryは、このマニュアルの「はじめに」で説明されています。
このプロシージャの必須パラメータは次のとおりです。
P_API_VERSION_NUMBER
チェック・プロシージャCHECK_TASK_NUMBER_CHANGE_OKを使用して、タスクの番号を変更できるかどうかを確認します。
このプロシージャのすべてのパラメータの説明は、Oracle Integration Repositoryで参照できます。Oracle Integration Repositoryは、このマニュアルの「はじめに」で説明されています。
このプロシージャの必須パラメータは次のとおりです。
P_API_VERSION_NUMBER
チェック・プロシージャCHECK_TASK_MFDを使用して、Microsoft Projectなどの外部計画システムをOracle Projectsと統合する場合に、外部計画システムで削除されたタスクをOracle Projectsで削除できるかどうかを確認します。公開済バージョンが存在しない場合、Oracle Projectsでタスクは即座に削除されます。Oracle Projectsで作業中の作業計画バージョンが公開されると、タスクは削除対象または取消済としてマークされます。このプロシージャは、取引があるタスクが削除されることを防ぎます。
このプロシージャのすべてのパラメータの説明は、Oracle Integration Repositoryで参照できます。Oracle Integration Repositoryは、このマニュアルの「はじめに」で説明されています。
このプロシージャの必須パラメータは次のとおりです。
P_API_VERSION_NUMBER
チェック・プロシージャCHECK_UNIQUE_TASK_NUMBERを使用して、新規または変更済タスク番号がプロジェクト内で一意であるかどうかを確認します。
このプロシージャのすべてのパラメータの説明は、Oracle Integration Repositoryで参照できます。Oracle Integration Repositoryは、このマニュアルの「はじめに」で説明されています。
このプロシージャの必須パラメータは次のとおりです。
P_API_VERSION_NUMBER
チェック・プロシージャCHECK_UNIQUE_TASK_REFERENCEを使用して、新規または変更済タスク参照(PM_TASK_REFERENCE)が一意であるかどうかを確認します。
このプロシージャのすべてのパラメータの説明は、Oracle Integration Repositoryで参照できます。Oracle Integration Repositoryは、このマニュアルの「はじめに」で説明されています。
このプロシージャの必須パラメータは次のとおりです。
P_API_VERSION_NUMBER
ユーザー定義属性APIを使用すると、外部システムのユーザー定義属性をOracle Projectsと統合できます。
ユーザー定義属性を使用すると、ビジネスのニーズに対応するために、プロジェクトおよびタスクに関して無制限の情報を取得できます。ユーザー定義属性は、実装チームによって定義されます。ユーザー定義属性は、コーディングなしで高度なプロジェクトおよびタスク属性を提供し、複雑な検証付きの構成可能なユーザー・インタフェースを特徴としています。ユーザー定義属性の詳細は、『Oracle Projects基礎』のプロジェクトのユーザー定義属性および『Oracle Projectsインプリメンテーション・ガイド』のユーザー定義属性の設定に関する項を参照してください。
この項で説明するプロシージャを次に示します。これらのプロシージャは、パブリックAPIパッケージPA_PROJECT_PUB内にあります。
LOAD_EXTENSIBLE_ATTRIBUTE
LOAD_EXTENSIBLE_ATTRIBUTES
これらのプロシージャは、次のロード-実行-フェッチ・プロシージャによって呼び出されます。
PA_PROJECT_PUBパッケージには、P_TRANSACTION_TYPEパラメータに使用されるグローバル定数が含まれています。次の表にグローバル定数を示します。
定数 | 説明 |
---|---|
G_CREATE_MODE | 拡張可能属性行を作成します |
G_UPDATE_MODE | 既存の拡張可能属性行を更新します |
G_DELETE_MODE | 拡張可能属性行を削除します |
G_SYNC_MODE | 拡張可能属性行を必要に応じて作成、更新または削除します |
この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に値を指定する必要があります。
これは、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(「パラメータ要件」を参照) |
ユーザー定義属性の特徴として、単一行属性と複数行属性がサポートされています。これは、外部システムからユーザー定義属性を統合する際に考慮する必要がある重要な概念です。
この例では、プロジェクトに対して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を使用してユーザー定義属性グループに対して単一属性と値のペアを統合する方法を示します。
/*
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を使用して、文字列属性と数値属性の両方を含む、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を使用して、資源リストとそれに含まれる資源をOracle Projectsにエクスポートできます。それに応じて、Oracle Projectsで資源情報が更新されます。資源および資源リストの変更に伴って、システム内の情報を更新し、2つのシステムを定期的に同期化してください。
注意: 資源リスト識別子を必要とする資源APIを呼び出す場合は、P_RESOURCE_LIST_NAMEまたはP_RESOURCE_LIST_IDパラメータを渡して資源リストを識別します。資源識別子を必要とする資源APIを呼び出す場合は、P_RESOURCE_ALIASまたはP_RESOURCE_LIST_MEMBER_IDパラメータを渡して資源を識別します。
次の表に、資源APIのパラメータ・データを提供するビューを示します。ビューの詳細は、OracleMetaLinkで入手可能なOracle eTRMを参照してください。
この項で説明するプロシージャを次に示します。これらのプロシージャは、パブリックAPIパッケージPA_RESOURCE_PUB内にあります。
資源リストおよび資源リスト・メンバー・プロシージャ
FETCH_PLAN_FORMAT
LOAD_RESOURCE_FORMAT
LOAD_PLANNING_RESOURCE
この項では、資源APIについて、ビジネス・ルールおよびパラメータも含めて説明します。
ADD_RESOURCE_LIST_MEMBERは、資源メンバーを既存の資源リストに追加するPL/SQLプロシージャです。
呼出し元モジュールは、RESOURCE_LIST_NAMEまたはRESOURCE_LIST_IDを渡せます。
呼出し元モジュールがRESOURCE_LIST_NAMEとRESOURCE_LIST_IDの両方を渡す場合、APIはRESOURCE_LIST_IDを使用します。
資源リストがグループ化されている場合、有効な資源グループ別名を渡す必要があります。
P_RESOURCE_ATTR_VALUEの値は、P_RESOURCE_TYPEの値に対応する必要があります。たとえば、P_RESOURCE_TYPEがEMPLOYEEである場合、P_RESOURCE_ATTR_VALUEの個人識別コードが有効である必要があります。
注意: Oracle Projectsにおける資源タイプの詳細は、『Oracle Projects基礎』の資源タイプに関する項を参照してください。
呼出し元モジュールがRESOURCE_GROUPおよびRESOURCE_MEMBERパラメータに対してこのAPIに情報を渡す場合、APIはまず資源グループの存在を確認します。資源グループが存在しない場合、APIは資源グループを作成してから、資源を作成します。
指定した資源メンバーがすでに存在する場合、このAPIはエラーを返しません。かわりに、成功の戻りステータスと、既存の資源メンバーのRESOURCE_LIST_MEMBER_IDを返します。
注意: 特定の資源に対して1つの取引属性のみを格納できるため、このAPIは単一のRESOURCE_ATTR_VALUE(PERSON_ID、JOB_IDなどを保持する可能性がある)のみを受け入れます。
このプロシージャのすべてのパラメータの説明は、Oracle Integration Repositoryで参照できます。Oracle Integration Repositoryは、このマニュアルの「はじめに」で説明されています。
このプロシージャの必須パラメータは次のとおりです。
P_API_VERS ION_NUMBER
P_RESOURCE_ TYPE_CODE
P_RESOURCE_ ATTR_VALUE
P_RESOURCE_ ALIAS
CREATE_RESOURCE_LISTは、資源リストを作成し、オプションで資源リスト・メンバーを作成するPL/SQLプロシージャです。
このAPIは複合データ型を使用します。詳細は、「複合データ型を使用するAPI」を参照してください。
P_GROUP_RESOURCE_TYPEの有効な値は、EXPENDITURE_CATEGORY、REVENUE_CATEGORY、ORGANIZATIONおよびNONEです。
資源リスト名は一意にする必要があります。
呼出し元プログラムがP_MEMBER_TBL(オプション)を渡す場合、このAPIは関連資源リスト・メンバー・レコードを作成します。
資源リストがグループ化されている場合、有効な資源グループ別名を渡す必要があります。
P_RESOURCE_ATTR_VALUEの値は、P_RESOURCE_TYPEの値に対応する必要があります。たとえば、P_RESOURCE_TYPEがEMPLOYEEである場合、P_RESOURCE_ATTR_VALUEの個人識別コードが有効である必要があります。
GROUP_RESOURCE_TYPEの値がNONEの場合、このAPIは資源グループINパラメータを無視します。
資源グループ別名を指定しない場合、グループ資源タイプはNONEにする必要があります。
このプロシージャのすべてのパラメータの説明は、Oracle Integration Repositoryで参照できます。Oracle Integration Repositoryは、このマニュアルの「はじめに」で説明されています。
このプロシージャの必須パラメータは次のとおりです。
P_API_VERS ION_NUMBER
RESOURCE_L IST_NAME
GROUP_ RESOURCE_TYPE
RESOURCE_TYPE_CODE
RESOURCE_ ATTR_VALUE
RESOURCE_ALIAS
UPDATE_RESOURCE_LISTは、既存の資源リストを更新するPL/SQLプロシージャです。既存の資源リスト・メンバーの更新、新規の資源リスト・メンバーの追加も行います。
このAPIは複合データ型を使用します。詳細は、「複合データ型を使用するAPI」を参照してください。
呼出し元モジュールは、RESOURCE_LIST_NAMEまたはRESOURCE_LIST_IDを渡せます。
呼出し元モジュールがRESOURCE_LIST_NAMEとRESOURCE_LIST_IDの両方を渡す場合、このAPIはRESOURCE_LIST_IDを使用します。
資源リストに有効なメンバーがすでに含まれている場合、GROUPED_BY_TYPEを変更することはできません。
次のフィールドはいつでも変更できます。
RESOURCE LIST NAME
DESCRIPTION
START DATE
END DATE
一意の新規資源リスト名を入力する必要があります。
MEMBER_TBLにメンバー・レコードを含めることで、既存の資源リスト・メンバーの更新や、新規の資源リスト・メンバーの追加を行えます。資源リスト・メンバーがすでに存在する場合は、次のフィールドを更新できます。
ALIAS。P_NEW_ALIASを指定します。
SORT_ORDER。P_SORT_ORDERを指定します。
注意: 別名は資源グループ内で一意にする必要があります。
このプロシージャのすべてのパラメータの説明は、Oracle Integration Repositoryで参照できます。Oracle Integration Repositoryは、このマニュアルの「はじめに」で説明されています。
このプロシージャの必須パラメータは次のとおりです。
P_API_VERSION_NUMBER
RESOURCE_TYPE_CODE
RESOURCE_ ATTR_VALUE
RESOURCE_ALIAS
DELETE_RESOURCE_LISTは、指定した資源リストを削除するPL/SQLプロシージャです。
呼出し元モジュールは、P_RESOURCE_LIST_NAMEまたはP_RESOURCE_LIST_IDを渡せます。
呼出し元モジュールがP_RESOURCE_LIST_NAMEとP_RESOURCE_LIST_IDの両方を渡す場合、このAPIはP_RESOURCE_LIST_IDを使用します。
その資源リスト別にプロジェクト実績を集計する。
予算によってその資源リストが使用される。
リストに資源リスト・メンバーが含まれる。
このプロシージャのすべてのパラメータの説明は、Oracle Integration Repositoryで参照できます。Oracle Integration Repositoryは、このマニュアルの「はじめに」で説明されています。
このプロシージャの必須パラメータは次のとおりです。
P_API_VERSION_NUMBER
DELETE_RESOURCE_LIST_MEMBERは、指定した資源リスト・メンバーを削除するPL/SQLプロシージャです。
呼出し元モジュールは、P_RESOURCE_LIST_NAMEまたはP_RESOURCE_LIST_IDを渡せます。呼出し元モジュールは、P_ALIASまたはP_ALIAS_MEMBER_IDも渡せます。
呼出し元モジュールがP_RESOURCE_LIST_NAMEとP_RESOURCE_LIST_IDの両方を渡す場合、このAPIはP_RESOURCE_LIST_IDを使用します。
その資源リスト・メンバー別にプロジェクト実績を集計する。
予算によってその資源リスト・メンバーが使用される。
このプロシージャのすべてのパラメータの説明は、Oracle Integration Repositoryで参照できます。Oracle Integration Repositoryは、このマニュアルの「はじめに」で説明されています。
このプロシージャの必須パラメータは次のとおりです。
P_API_VERSION_NUMBER
SORT_RESOURCE_LIST_MEMBERSは、指定した資源リスト内で資源メンバーのソート順を更新するPL/SQLプロシージャです。
呼出し元モジュールは、P_RESOURCE_LIST_NAMEまたはP_RESOURCE_LIST_IDを渡せます。
呼出し元モジュールがP_RESOURCE_LIST_NAMEとP_RESOURCE_LIST_IDの両方を渡す場合、このAPIはP_RESOURCE_LIST_IDを使用します。
資源グループ別名を指定する場合、このAPIはその資源グループの下にある資源のみをソートします。それ以外の場合、このAPIは資源リスト内のすべての資源をソートします。
資源は別名または資源名別にソートできます。P_SORT_BY PARAMETERの有効な値は、ALIASおよびRESOURCE_NAMEです。
このプロシージャのすべてのパラメータの説明は、Oracle Integration Repositoryで参照できます。Oracle Integration Repositoryは、このマニュアルの「はじめに」で説明されています。
このプロシージャの必須パラメータは次のとおりです。
P_API_VERSION_NUMBER
P_SORT_BY
UPDATE_RESOURCE_LIST_MEMBERは、別名を更新し、資源リスト・メンバーを使用可能または使用不可にするPL/SQLプロシージャです。
呼出し元モジュールは、P_RESOURCE_LIST_NAMEまたはP_RESOURCE_LIST_IDを渡せます。
呼出し元モジュールがP_RESOURCE_LIST_NAMEとP_RESOURCE_LIST_IDの両方を渡す場合、このAPIはP_RESOURCE_LIST_IDを使用します。
P_ENABLED_FLAGを使用して、資源メンバーを使用可能または使用不可にできます。パラメータ値がNULLまたはY以外の値として渡される場合、列の値は変わりません。
注意: 別名は資源グループ内で一意にする必要があります。
このプロシージャのすべてのパラメータの説明は、Oracle Integration Repositoryで参照できます。Oracle Integration Repositoryは、このマニュアルの「はじめに」で説明されています。
このプロシージャの必須パラメータは次のとおりです。
P_API_VERSION_NUMBER
CLEAR_CREATE_RESOURCE_LISTは、初期化ステップ中に設定されたグローバル・データ構造を消去するために使用するロード-実行-フェッチ・プロシージャです。このAPIプロシージャにはパラメータがありません。
CLEAR_UPDATE_MEMBERSは、ロード-実行-フェッチ更新APIの初期化ステップ中に設定されたグローバル・データ構造を消去するために使用するロード-実行-フェッチ・プロシージャです。
EXEC_CREATE_RESOURCE_LISTは、複合API CREATE_RESOURCE_LISTを実行するために使用するロード-実行-フェッチ・プロシージャです。
このプロシージャのすべてのパラメータの説明は、Oracle Integration Repositoryで参照できます。Oracle Integration Repositoryは、このマニュアルの「はじめに」で説明されています。
このプロシージャの必須パラメータは次のとおりです。
P_API_VERSION_NUMBER
P_RETURN_STATUS
EXEC_UPDATE_RESOURCE_LISTは、複合API UPDATE_RESOURCE_LISTを実行するために使用するロード-実行-フェッチ・プロシージャです。
このプロシージャのすべてのパラメータの説明は、Oracle Integration Repositoryで参照できます。Oracle Integration Repositoryは、このマニュアルの「はじめに」で説明されています。
このプロシージャの必須パラメータは次のとおりです。
P_API_VERSION_NUMBER
FETCH_MEMBERSは、資源リスト・メンバーに対してグローバル出力構造から資源メンバーをフェッチするために使用するロード-実行-フェッチ・プロシージャです。
このプロシージャのすべてのパラメータの説明は、Oracle Integration Repositoryで参照できます。Oracle Integration Repositoryは、このマニュアルの「はじめに」で説明されています。
このプロシージャの必須パラメータは次のとおりです。
P_API_VERSION_NUMBER
FETCH_RESOURCE_LISTは、資源リストに対してグローバル出力構造から資源リスト識別子を1度に1つずつフェッチするために使用するロード-実行-フェッチ・プロシージャです。
このプロシージャのすべてのパラメータの説明は、Oracle Integration Repositoryで参照できます。Oracle Integration Repositoryは、このマニュアルの「はじめに」で説明されています。
このプロシージャの必須パラメータは次のとおりです。
P_API_VERSION_NUMBER
INIT_CREATE_RESOURCE_LISTは、他のロード-実行-フェッチ・プロシージャで使用されるグローバル・データ構造を設定するために使用するロード-実行-フェッチ・プロシージャです。
INIT_UPDATE_MEMBERSは、他のロード-実行-フェッチ・プロシージャで使用されるグローバル・データ構造を設定するために使用するロード-実行-フェッチ・プロシージャです。
LOAD_MEMBERSは、資源リスト・メンバーのグローバル入力構造をロードするために使用するロード-実行-フェッチ・プロシージャです。
呼出し元モジュールは、P_RESOURCE_LIST_NAMEまたはP_RESOURCE_LIST_IDを渡せます。
呼出し元モジュールがP_RESOURCE_LIST_NAMEとP_RESOURCE_LIST_IDの両方を渡す場合、APIはP_RESOURCE_LIST_IDを使用します。
資源リストがグループ化されている場合、有効な資源グループ別名を渡す必要があります。
P_RESOURCE_ATTR_VALUEの値は、P_RESOURCE_TYPEの値に対応する必要があります。たとえば、P_RESOURCE_TYPEがEMPLOYEEである場合、P_RESOURCE_ATTR_VALUEの個人識別コードが有効である必要があります。
注意: Oracle Projectsにおける資源タイプの詳細は、『Oracle Projects基礎』の資源タイプに関する項を参照してください。
呼出し元モジュールが資源グループと資源メンバーの両方のパラメータに対してこのAPIに情報を渡す場合、APIはまず資源グループの存在を確認します。資源グループが存在しない場合、APIは資源グループを作成してから、資源を作成します。
指定した資源メンバーがすでに存在する場合、このAPIはエラーを返しません。かわりに、成功の戻りステータスと、既存の資源メンバーの資源リスト・メンバー識別コードを返します。
注意: 特定の資源に対して1つの取引属性のみを格納できるため、このAPIは単一のRESOURCE_ATTR_VALUE(PERSON_ID、JOB_IDなどを保持する可能性がある)のみを受け入れます。
P_ENABLED_FLAGを使用して、資源メンバーを使用可能または使用不可にできます。パラメータ値がNULLまたはY以外の値として渡される場合、列の値は変わりません。
注意: 別名は資源グループ内で一意にする必要があります。
このプロシージャのすべてのパラメータの説明は、Oracle Integration Repositoryで参照できます。Oracle Integration Repositoryは、このマニュアルの「はじめに」で説明されています。
このプロシージャの必須パラメータは次のとおりです。
P_API_VERSION_NUMBER
LOAD_RESOURCE_LISTは、資源リストのグローバル入力構造をロードするために使用するロード-実行-フェッチ・プロシージャです。
P_GROUP_RESOURCE_TYPEの有効な値は、EXPENDITURE_CATEGORY、REVENUE_CATEGORY、ORGANIZATIONおよびNONEです。
呼出し元プログラムがP_MEMBER_TBL(オプション)を渡す場合、このAPIは関連資源リスト・メンバー・レコードを作成します。
資源リストがグループ化されている場合、有効な資源グループ別名を渡す必要があります。
P_RESOURCE_ATTR_VALUEの値は、P_RESOURCE_TYPEの値に対応する必要があります。たとえば、P_RESOURCE_TYPEがEMPLOYEEである場合、P_RESOURCE_ATTR_VALUEの個人識別コードが有効である必要があります。
GROUP_RESOURCE_TYPEの値がNONEの場合、このAPIは資源グループINパラメータを無視します。
資源グループ別名を指定しない場合、グループ資源タイプはNONEにする必要があります。
呼出し元モジュールは、P_RESOURCE_LIST_NAMEまたはP_RESOURCE_LIST_IDを渡せます。
呼出し元モジュールがP_RESOURCE_LIST_NAMEとP_RESOURCE_LIST_IDの両方を渡す場合、このAPIはP_RESOURCE_LIST_IDのみを使用します。
資源リストに有効なメンバーがすでに含まれている場合、GROUPED_BY_TYPEを変更することはできません。
次のフィールドはいつでも変更できます。
RESOURCE_LIST_NAME
DESCRIPTION
START DATE
END DATE
既存の資源リスト・メンバーの更新や、新規の資源リスト・メンバーの追加を行うには、MEMBER_TBLにメンバー・レコードを含めます。資源リスト・メンバーがすでに存在する場合は、次のフィールドを更新できます。
ALIAS。P_NEW_ALIASを指定します。
SORT_ORDER。P_SORT_ORDERを指定します。
P_ALIASの値は、メンバー・レコードをフェッチするキーとして使用できます。
注意: 別名は資源グループ内で一意にする必要があります。
このプロシージャのすべてのパラメータの説明は、Oracle Integration Repositoryで参照できます。Oracle Integration Repositoryは、このマニュアルの「はじめに」で説明されています。
このプロシージャの必須パラメータは次のとおりです。
P_API_VERSION_NUMBER
この項では、計画資源リストとともに使用する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パッケージPA_PLAN_RES_LIST_PUB内にあります。
計画資源リストおよび計画資源リスト・メンバー・プロシージャ
ロード-実行-フェッチ・プロシージャ
以降のページに、計画資源リストAPIで使用されるレコードおよび表のデータ型を定義します。
これは、計画資源リスト・レコード構造です。計画資源リストを作成するたびに、または既存の計画資源リストを更新するときに、計画資源リスト・レコードを渡す必要があります。デフォルト属性は、変更する必要がある場合のみ渡す必要があります。
名称 | タイプ | 説明 |
---|---|---|
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 | 資源リストのレコード・バージョン番号 |
これは計画資源リスト・レコード構造で、新規作成された計画資源リストの資源リスト識別子をOUTパラメータとして格納します。資源書式および資源リスト・メンバーを作成する際、システムによってこの資源リスト識別子の値が渡されます。
名称 | タイプ | 説明 |
---|---|---|
X_RESOURCE_LIST_ID | NUMBER | 任意の新規計画資源リストの資源リスト識別子 |
レコード・タイプPlan_RL_Format_In_Tblは、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_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_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_Recの表です。次の表に、Planning_Resource_Out_Recの属性を説明します。
これは計画資源リスト・メンバー・レコード構造で、新規資源リスト・メンバーの資源リスト・メンバー識別子をOUTパラメータとして格納します。
名称 | タイプ | 説明 |
---|---|---|
X_RESOURCE_LIST_MEMBER_ID | NUMBER | 新規資源リスト・メンバーの識別子 |
X_RECORD_VERSION_NUMBER | NUMBER | 資源リスト・メンバーのレコード・バージョン番号 |
この項では、計画資源リストAPIについて、ビジネス・ルールおよびパラメータも含めて説明します。
CREATE_RESOURCE_LISTは、資源リスト、対応する資源書式、および資源リスト・メンバーを作成できるPL/SQLプロシージャです。
このAPIは複合データ型を使用します。詳細は、「複合データ型を使用するAPI」を参照してください。
CREATE_RESOURCE_LISTは、資源リスト・パラメータを検証し、資源リストを作成します。
システムによって資源リストが正常に作成されると、資源書式が作成され、CREATE_RESOURCE_LISTにパラメータとして渡されます。
システムで資源リストに資源書式を追加できない場合、APIは失敗します。
システムによって資源書式が正常に追加されると、計画資源が処理されます。計画資源の作成に失敗すると、APIは失敗します。
このプロシージャのすべてのパラメータの説明は、Oracle Integration Repositoryで表示できます。Oracle Integration Repositoryは、このマニュアルの「はじめに」で説明されています。このプロシージャの必須パラメータは次のとおりです。
P_API_VERSION_NUMBER
P_PLAN_RES_LIST_REC
P_PLAN_RL_FORMAT_TBL
P_PLANNING_RESOURCE_IN_TBL
UPDATE_RESOURCE_LISTは、資源リスト、対応する資源書式、および計画資源を更新できるPL/SQLプロシージャです。資源書式は更新できないため、資源書式が作成されます。このプロシージャを使用すると、既存の計画資源の更新や、計画資源が存在しない場合には新規計画資源の作成も行えます。
このAPIは複合データ型を使用します。詳細は、「複合データ型を使用するAPI」を参照してください。
呼出し元モジュールは、RESOURCE_LIST_NAMEまたはRESOURCE_LIST_IDを渡せます。
呼出し元モジュールがRESOURCE_LIST_NAMEとRESOURCE_LIST_IDの両方を渡す場合、このAPIはRESOURCE_LIST_IDを使用します。
次のフィールドはいつでも変更できます。
RESOURCE LIST NAME
DESCRIPTION
START DATE
END DATE
一意の新規資源リスト名を入力する必要があります。
書式P_PLAN_RL_FORMAT_TBLを渡すことで、新規資源書式を計画資源リストに追加できます。
P_PLANNING_RESOURCE_IN_RECで計画資源を渡すことで、既存の計画資源の更新や、新規計画資源の追加を行えます。
このプロシージャのすべてのパラメータの説明は、Oracle Integration Repositoryで参照できます。Oracle Integration Repositoryは、このマニュアルの「はじめに」で説明されています。
このプロシージャの必須パラメータは次のとおりです。
P_API_VERSION_NUMBER
P_PLAN_RES_LIST_REC
X_PLAN_RES_LIST_REC
P_PLAN_RL_FORMAT_TBL
X_PLAN_RL_FORMAT_TBL
P_PLANNING_RESOURCE_IN_TBL
X_PLANNING_RESOURCE_OUT_TBL
X_MSG_COUNT
X_MSG_DATA
X_RETURN_STATUS
DELETE_RESOURCE_LISTは、資源リストと、その資源リストに属する、対応する計画資源および資源書式を削除できるPL/SQLプロシージャです。
呼出し元モジュールは、P_RESOURCE_LIST_NAMEまたはP_RESOURCE_LIST_IDを渡せます。
計画資源リストが削除されると、その資源に属する資源書式および計画資源もすべて削除されます。
呼出し元モジュールがP_RESOURCE_LIST_NAMEとP_RESOURCE_LIST_IDの両方を渡す場合、このAPIはP_RESOURCE_LIST_IDを使用します。
財務計画または作業計画で参照されている計画資源リストは削除できません。
このプロシージャのすべてのパラメータの説明は、Oracle Integration Repositoryで参照できます。Oracle Integration Repositoryは、このマニュアルの「はじめに」で説明されています。
このプロシージャの必須パラメータは次のとおりです。
P_API_VERSION_NUMBER
P_RES_LIST_ID
X_MSG_COUNT
X_MSG_DATA
X_RETURN_STATUS
DELETE_PLANNING_RESOURCEは、使用中でない計画資源を削除したり、使用中の計画資源を使用不可にできるPL/SQLプロシージャです。
呼出し元モジュールは、有効な資源リスト・メンバーIDを含む表を渡します。このプロシージャは、使用中でない各リスト・メンバーを削除したり、使用中の各リスト・メンバーを使用不可にします。リスト・メンバーIDが存在しない場合、プロシージャはエラー・メッセージを生成せず、「成功」の結果を返します。
このプロシージャのすべてのパラメータの説明は、Oracle Integration Repositoryで参照できます。Oracle Integration Repositoryは、このマニュアルの「はじめに」で説明されています。
このプロシージャの必須パラメータは次のとおりです。
P_RESOURCE_LIST_MEMBER_ID
X_RETURN_STATUS
X_MSG_COUNT
X_ERROR_MSG_DATA
このプロシージャは、資源リストから1つ以上の資源書式を削除します。
呼出し元モジュールは、有効な資源書式IDの表と、それらが属する資源リストのIDを渡す必要があります。その書式の計画資源がリストに存在しない場合、APIは資源リストから各書式を削除します。計画資源が存在する場合、資源書式をリストから削除することはできません。
このプロシージャのすべてのパラメータの説明は、Oracle Integration Repositoryで参照できます。Oracle Integration Repositoryは、このマニュアルの「はじめに」で説明されています。
このプロシージャの必須パラメータは次のとおりです。
P_RES_LIST_ID
P_PLAN_RL_FORMAT_TB
X_RETURN_STATUS
X_MSG_COUNT
X_ERROR_MSG_DATA
EXEC_CREATE_RESOURCE_LISTは、複合API CREATE_RESOURCE_LISTを実行するために使用するロード-実行-フェッチ・プロシージャです。
このプロシージャのすべてのパラメータの説明は、Oracle Integration Repositoryで参照できます。Oracle Integration Repositoryは、このマニュアルの「はじめに」で説明されています。
このプロシージャの必須パラメータは次のとおりです。
P_API_VERSION_NUMBER
X_RETURN_STATUS
X_MSG_COUNT
X_MSG_DATA
EXEC_UPDATE_RESOURCE_LISTは、複合API UPDATE_RESOURCE_LISTを実行するために使用するロード-実行-フェッチ・プロシージャです。
このプロシージャのすべてのパラメータの説明は、Oracle Integration Repositoryで参照できます。Oracle Integration Repositoryは、このマニュアルの「はじめに」で説明されています。
このプロシージャの必須パラメータは次のとおりです。
P_API_VERSION_NUMBER
X_RETURN_STATUS
X_MSG_COUNT
X_MSG_DATA
FETCH_RESOURCE_LISTは、資源リストに対してグローバル出力構造から資源リスト識別子を1度に1つずつフェッチするために使用するロード-実行-フェッチ・プロシージャです。これはステータスおよび新規のRESOURCE_LIST_ID(存在する場合)を返します。
このプロシージャのすべてのパラメータの説明は、Oracle Integration Repositoryで参照できます。Oracle Integration Repositoryは、このマニュアルの「はじめに」で説明されています。
このプロシージャの必須パラメータは次のとおりです。
P_API_VERSION_NUMBER
X_RETURN_STATUS
X_RESOURCE_LIST_ID
X_LIST_RETURN_STATUS
FETCH_PLAN_FORMATは、計画資源書式のステータスおよび新規のPLAN_RL_FORMAT_IDを返すロード-実行-フェッチ・プロシージャです。
このプロシージャのすべてのパラメータの説明は、Oracle Integration Repositoryで参照できます。Oracle Integration Repositoryは、このマニュアルの「はじめに」で説明されています。
このプロシージャの必須パラメータは次のとおりです。
P_API_VERSION_NUMBER
X_RETURN_STATUS
X_PLAN_RL_FORMAT_ID
X_FORMAT_RETURN_STATUS
FETCH_RESOURCE_LIST_MEMBERは、資源リスト・メンバーのステータスおよび新規のRESOURCE_LIST_MEMBER_ID(存在する場合)を返すロード-実行-フェッチ・プロシージャです。
このプロシージャのすべてのパラメータの説明は、Oracle Integration Repositoryで参照できます。Oracle Integration Repositoryは、このマニュアルの「はじめに」で説明されています。
このプロシージャの必須パラメータは次のとおりです。
P_API_VERSION_NUMBER
X_RETURN_STATUS
X_RESOURCE_LIST_MEMBER_ID
X_MEMBER_RETURN_STATUS
INIT_CREATE_RESOURCE_LISTは、資源書式および資源リスト・メンバーに対してグローバル一時表を設定するために使用するロード-実行-フェッチ・プロシージャです。また、資源リストのレコード構造を初期化します。このプロシージャにパラメータはありません。
INIT_UPDATE_RESOURCE_LISTは、資源書式および資源リスト・メンバーに対してグローバル一時表を初期化するために使用するロード-実行-フェッチ・プロシージャです。これは資源リストのレコード構造も初期化します。このプロシージャにパラメータはありません。
LOAD_RESOURCE_LISTは、資源リストのグローバル・レコードに値をロードできるロード-実行-フェッチ・プロシージャです。
新規の計画資源リストを作成する場合、次のパラメータを渡す必要があります。
P_RESOURCE_LIST_NAME
P_START DATE
新規の計画資源リストを作成する場合、次のパラメータはオプションです。
P_DESCRIPTION
P_END_DATE
P_JOB_GROUP_ID
P_JOB_GROUP_NAME
P_USE_FOR_WP_FLAG
P_CONTROL_FLAG
計画資源リストを更新する場合、次のパラメータを更新できます。
P_RESOURCE_LIST_NAME
P_START_DATE
P_DESCRIPTION
P_END_DATE
P_JOB_GROUP_ID
P_JOB_GROUP_NAME
P_USE_FOR_WP_FLAG
P_CONTROL_FLAG
更新する必要がある資源を識別するには、P_RESOURCE_LIST_ID識別子を渡します。この識別子はPA_RESOURCE_LISTS_Vビューから取得できます。
このプロシージャのすべてのパラメータの説明は、Oracle Integration Repositoryで参照できます。Oracle Integration Repositoryは、このマニュアルの「はじめに」で説明されています。
このプロシージャの必須パラメータは次のとおりです。
P_API_VERSION_NUMBER
P_RESOURCE_LIST_NAME
P_DESCRIPTION
P_JOB_GROUP_ID
X_RETURN_STATUS
資源書式のグローバル表に値をロードできます。このプロシージャは表を移入し、件数を増分します。
このプロシージャのすべてのパラメータの説明は、Oracle Integration Repositoryで参照できます。Oracle Integration Repositoryは、このマニュアルの「はじめに」で説明されています。
このプロシージャの必須パラメータは次のとおりです。
P_API_VERSION_NUMBER
X_RETURN_STATUS
計画資源のグローバル表をロードできます。このプロシージャは表を移入し、件数を増分します。
このプロシージャのすべてのパラメータの説明は、Oracle Integration Repositoryで参照できます。Oracle Integration Repositoryは、このマニュアルの「はじめに」で説明されています。
このプロシージャの必須パラメータは次のとおりです。
P_API_VERSION_NUMBER
P_RES_FORMAT_ID
P_RECORD_VERSION_NUMBER
P_PROJECT_ID
この項では、資源分解構造とともに使用する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パッケージPA_RBS_PUB内にあります。
資源分解構造プロシージャ
以降のページに、資源分解構造APIで使用されるレコードおよび表のデータ型を定義します。
これは資源分解構造のヘッダー・レコード構造です。資源分解構造ヘッダーを作成または更新する場合、資源分解構造を渡す必要があります。デフォルト属性は、変更する必要がある場合のみ渡します。
名称 | タイプ | 説明 |
---|---|---|
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ビューから取得)。 |
これは資源分解構造のバージョン・レコード構造です。資源分解構造を作成する際は、特定のバージョン属性が必要な場合のみ、バージョン・レコードを渡します。デフォルトでは、資源分解構造ヘッダーを作成するたびに、システムによって作業中バージョンが作成されます。資源分解構造を更新する際は、バージョン名や役職グループなどのバージョン属性を更新する場合のみ、バージョン・レコードを渡します。現行作業中バージョンのみ更新できます。バージョン属性は、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_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として-1が渡されます。要素がインスタンスの場合、システムによって資源識別コードが渡されます。
次に、識別コードを持つ資源タイプを示します。
BOM_LABOR: PA_BOM_LABOR_RES_VビューからBOM労務IDを取得します。
BOM_EQUIPMENT: PA_BOM_EQUIPMENT_RES_VビューからBOM機材IDを取得します。
NAMED_PERSON: PA_EMPLOYEES_RES_Vビューから個人IDを取得します。
EVENT_TYPE: PA_EVENT_TYPES_RES_VビューからイベントIDを取得します。
EXPENDITURE_CATEGORY: PA_EXPEND_CATEGORIES_RES_Vビューから支出カテゴリIDを取得します。
EXPENDITURE_TYPE: PA_EXPENDITURE_TYPES_RES_Vビューから支出タイプIDを取得します。
ITEM_CATEGORY: PA_ITEM_CATEGORY_RES_Vビューから品目カテゴリIDを取得します。
INVENTORY_ITEM: PA_ITEMS_RES_Vビューから品目IDを取得します。
JOB: PA_JOBS_RES_Vビューから役職IDを取得します。
ORGANIZATION: PA_ORGANIZATIONS_RES_Vビューから組織IDを取得します。
NON_LABOR_RESOURCE: PA_NON_LABOR_RESOURCES_RES_Vビューから非労務資源IDを取得します。
RESOURCE_CLASS: PA_RESOURCE_CLASS_RES_Vから資源区分IDを取得します。
ROLE: PA_PROJECT_ROLES_RES_Vビューからプロジェクト・ロールIDを取得します。
SUPPLIER: PA_VENDORS_RES_Vビューから仕入先IDを取得します。
レコード・タイプRbs_Elements_Tbl_Out_Typは、Rbs_Elements_Rec_Out_Typの表です。
これは、新規の資源分解構造要素の出力値を格納する資源分解構造の要素レコード構造です。次の表に、Rbs_Elements_Rec_Out_Typの属性を説明します。
名称 | タイプ | 説明 |
---|---|---|
RBS_ELEMENT_ID | NUMBER | 資源分解構造の新規要素の要素識別子 |
この項では、資源分解構造APIについて、ビジネス・ルールおよびパラメータも含めて説明します。
CREATE_RBSプロシージャを使用すると、RBSヘッダー、RBSバージョンおよびRBSの階層の要素で構成される資源分解構造(RBS)を作成できます。
CREATE_RBSは資源分解構造を作成します。最低でも、CREATE_RBSは資源分解構造のヘッダーおよび作業中バージョンを作成します。
バージョン・レコードが移入されない場合、CREATE_RBSはP_HEADER_RECパラメータに格納されたデータを使用してバージョン・レコードを作成します。
バージョン情報が渡される場合、バージョン開始日は、ヘッダー・レコードの「有効日:自」以降にする必要があります。
階層の要素が渡される場合、CREATE_RBSは資源分解構造階層全体を作成することもできます。
資源分解構造バージョンの階層のルート要素は、バージョン自体です。バージョンは更新可能要素ではありません。ユーザーが代替要素を指定しても、システムではすべて無視されます。
資源分解構造階層の要素ごとに、次の情報を渡す必要があります。
RBS_LEVEL
PROCESS_TYPE
PARENT_RES_ELEMENT_ID
RESOURCE_TYPE_ID
RESOURCE_SOURCE_IDまたはRESOURCE_SOURCE_CODE
このプロシージャのすべてのパラメータの説明は、Oracle Integration Repositoryで参照できます。Oracle Integration Repositoryは、このマニュアルの「はじめに」で説明されています。
このプロシージャの必須パラメータは次のとおりです。
P_API_VERSION_NUMBER
P_HEADER_REC
X_RBS_HEADER_ID
X_RBS_VERSION_ID
X_ELEMENTS_TBL
X_RETURN_STATUS
X_MSG_COUNT
X_ERROR_MSG_DATA
このプロシージャを使用すると、既存の確定済バージョンから資源分解構造の作業中バージョンを作成できます。
呼出し元モジュールは、次のいずれかを渡す必要があります。
資源分解構造ヘッダー(名称またはID)および確定済資源分解構造バージョンのバージョン番号
確定済資源分解構造バージョンのバージョンID
この情報によって現行作業中バージョンとしてコピーされるバージョンが指定されます。既存の作業中バージョンは、指定された確定済バージョンのコピーで上書きされます。
現行作業中バージョンのレコード・バージョン番号は、ロック目的でも必要になります。
このプロシージャのすべてのパラメータの説明は、Oracle Integration Repositoryで参照できます。Oracle Integration Repositoryは、このマニュアルの「はじめに」で説明されています。
このプロシージャの必須パラメータは次のとおりです。
P_API_VERSION_NUMBER
P_REC_VERSION_NUMBER
X_RETURN_STATUS
X_MSG_COUNT
X_ERROR_MSG_DATA
UPDATE_RBSプロシージャを使用すると、資源分解構造ヘッダーおよびバージョンの更新や、要素レコードの削除、更新または追加を行えます。
UPDATE_RBSを使用すると、資源分解構造バージョン、ヘッダーまたは要素を個別に、またはそれぞれを組み合せて更新できます。
P_HEADER_REC、P_VERSION_RECおよびP_ELEMENTS_TBLがNULLの場合は、何も更新されません。
存在しない資源分解構造に対してUPDATE_RBSが呼び出された場合は、「**** データが見つかりません ****」というエラー・メッセージを返して停止します。
P_ELEMENTS_TBLが移入された場合、データはPROCESS_TYPE 'D'、'U'、'A'の順に処理されます。
UPDATE_RBSのルート・ノードまたは要素レコードは、システム生成のため削除できません。
このプロシージャのすべてのパラメータの説明は、Oracle Integration Repositoryで参照できます。Oracle Integration Repositoryは、このマニュアルの「はじめに」で説明されています。
このプロシージャの必須パラメータは次のとおりです。
P_API_VERSION_NUMBER
P_HEADER_REC
P_VERSION_REC
P_ELEMENTS_TBL
X_ELEMENTS_TBL
X_RETURN_STATUS
X_MSG_COUNT
X_ERROR_MSG_DATA
INIT_RBS_PROCESSINGは、資源分解構造を作成および更新するためのグローバル一時表を初期化するロード-実行-フェッチ・プロシージャです。
LOAD_RBS_HEADERは、資源分解構造のグローバルPL/SQLレコードにヘッダー・レコード情報をロードするロード-実行-フェッチ・プロシージャです。
このプロシージャのすべてのパラメータの説明は、Oracle Integration Repositoryで参照できます。Oracle Integration Repositoryは、このマニュアルの「はじめに」で説明されています。
このプロシージャの必須パラメータは次のとおりです。
P_API_VERSION_NUMBER
P_NAME
P_EFFECTIVE_START_DATE
X_RETURN_STATUS
LOAD_RBS_VERSIONは、グローバルPL/SQLレコードにバージョン・レコード情報をロードするロード-実行-フェッチ・プロシージャです。
このプロシージャのすべてのパラメータの説明は、Oracle Integration Repositoryで参照できます。Oracle Integration Repositoryは、このマニュアルの「はじめに」で説明されています。
このプロシージャの必須パラメータは次のとおりです。
P_API_VERSION_NUMBER
P_NAME
P_VERSION_START_DATE
X_RETURN_STATUS
LOAD_RBS_ELEMENTSは、グローバルPL/SQL表に要素レコード情報をロードするロード-実行-フェッチ・プロシージャです。
このプロシージャのすべてのパラメータの説明は、Oracle Integration Repositoryで参照できます。Oracle Integration Repositoryは、このマニュアルの「はじめに」で説明されています。
このプロシージャの必須パラメータは次のとおりです。
P_API_VERSION_NUMBER
P_PARENT_ELEMENT_ID
P_RESOURCE_TYPE_ID
P_PROCESS_TYPE
X_RETURN_STATUS
FETCH_RBS_HEADERは、RBS_HEADER_IDを取得し、ヘッダーの成功またはエラー・ステータスを呼出し元プロシージャに返すロード-実行-フェッチ・プロシージャです。
このプロシージャのすべてのパラメータの説明は、Oracle Integration Repositoryで参照できます。Oracle Integration Repositoryは、このマニュアルの「はじめに」で説明されています。
このプロシージャの必須パラメータは次のとおりです。
P_API_VERSION_NUMBER
X_RBS_HEADER_ID
X_RETURN_STATUS
FETCH_RBS_VERSIONは、RBS_VERSION_IDおよびバージョン成功ステータスを取得するロード-実行-フェッチ・プロシージャです。
このプロシージャのすべてのパラメータの説明は、Oracle Integration Repositoryで参照できます。Oracle Integration Repositoryは、このマニュアルの「はじめに」で説明されています。
このプロシージャの必須パラメータは次のとおりです。
P_API_VERSION_NUMBER
X_RBS_VERSION_ID
X_RBS_VER_RETURN_STATUS
X_RETURN_STATUS
FETCH_RBS_ELEMENTは、RBS_ELEMENT_IDおよび入力した指数値の成功値を取得するロード-実行-フェッチ・プロシージャです。
このプロシージャのすべてのパラメータの説明は、Oracle Integration Repositoryで参照できます。Oracle Integration Repositoryは、このマニュアルの「はじめに」で説明されています。
このプロシージャの必須パラメータは次のとおりです。
P_API_VERSION_NUMBER
P_RBS_ELEMENT_INDEX
X_RBS_ELEMENT_ID
X_RETURN_STATUS
EXEC_CREATE_RBSは、資源分解構造作成プロセスを実行するロード-実行-フェッチ・プロシージャです。
このプロシージャのすべてのパラメータの説明は、Oracle Integration Repositoryで参照できます。Oracle Integration Repositoryは、このマニュアルの「はじめに」で説明されています。
このプロシージャの必須パラメータは次のとおりです。
P_API_VERSION_NUMBER
X_RETURN_STATUS
X_MSG_COUNT
X_ERROR_MSG_DATA
EXEC_UPDATE_RBSは、資源分解構造更新プロセスを実行するロード-実行-フェッチ・プロシージャです。
このプロシージャのすべてのパラメータの説明は、Oracle Integration Repositoryで参照できます。Oracle Integration Repositoryは、このマニュアルの「はじめに」で説明されています。
このプロシージャの必須パラメータは次のとおりです。
P_API_VERSION_NUMBER
X_RETURN_STATUS
X_MSG_COUNT
X_ERROR_MSG_DATA
FREEZE_RBS_VERSIONは、現行作業中資源分解構造バージョンを確定し、新規作業中バージョンを作成できるプロセスです。
作業中資源分解構造バージョンを確定するには、次のパラメータのうち1つ以上を渡す必要があります。
RBS_VERSION_ID
RBS_HEADER_ID
RBS_HEADER_NAME
このプロシージャのすべてのパラメータの説明は、Oracle Integration Repositoryで参照できます。Oracle Integration Repositoryは、このマニュアルの「はじめに」で説明されています。
このプロシージャの必須パラメータは次のとおりです。
P_API_VERSION_NUMBER
P_RBS_VERSION_ID
P_RBS_VERSION_RECORD_VER_NUM
X_RETURN_STATUS
X_MSG_COUNT
X_ERROR_MSG_DATA
ASSIGN_RBS_TO_PROJECTは、資源分解構造をプロジェクトに割り当てるプロセスです。資源分解構造のヘッダーIDとプロジェクトIDを指定する必要があります。
資源分解構造および資源分解構造の割当先プロジェクトを指定する必要があります。
プロジェクト情報を渡すには、次のいずれかを渡します。
P_PROJECT_IDフィールドのプロジェクト識別子
P_PROJECT_REFERENCEフィールドのプロジェクト参照
資源分解構造情報を渡すには、次のいずれかを渡します。
P_RBS_HEADER_IDフィールドの資源分解構造ヘッダー識別子
P_RBS_HEADER_NAMEフィールドの資源分解構造ヘッダー名
資源分解構造は、プロジェクト・レポートまたはプログラム・レポート(あるいはその両方)の目的で割り当てることができます。
資源分解構造をプロジェクトの主報告資源分解構造にするかどうかを指定することもできます。
このプロシージャのすべてのパラメータの説明は、Oracle Integration Repositoryで参照できます。Oracle Integration Repositoryは、このマニュアルの「はじめに」で説明されています。
このプロシージャの必須パラメータは次のとおりです。
P_API_VERSION_NUMBER
P_PROJECT_ID
P_RBS_HEADER_ID
X_RETURN_STATUS
X_MSG_COUNT
X_ERROR_MSG_DATA
依存関係APIのパラメータ・データを提供するビューを次に示します。ビューの詳細は、OracleMetaLinkで入手可能なOracle eTRMを参照してください。
変数 | 説明 |
---|---|
PA_STRUCT_TASKS_AMG_V | 体系バージョンのリストを表示します。 |
PA_TASKS_AMG_V | タスクのリストを表示します。 |
この項で説明するプロシージャを次に示します。これらのプロシージャは、パブリックAPIパッケージPA_PROJECT_PUB内にあります。
この項では、依存関係APIを説明します。
CREATE_DEPENDENCYは、プロジェクト内の依存関係を作成するPL/SQLプロシージャです。
このプロシージャのすべてのパラメータの説明は、Oracle Integration Repositoryで参照できます。Oracle Integration Repositoryは、このマニュアルの「はじめに」で説明されています。
このプロシージャの必須パラメータは次のとおりです。
P_MSG_COUNT
P_MSG_DATA
P_RETURN_STATUS
P_PM_PRODUCT_CODE
P_PM_PROJECT_REFERENCE
P_PA_PROJECT_ID
P_STRUCTURE_VERSION_ID
P_PM_TASK_REFERENCE
P_PA_TASK_ID
P_PM_PRED_REFERENCE
P_PA_PRED_ID
UPDATE_DEPENDENCYは、既存のプロジェクト内の依存関係を更新するPL/SQLプロシージャです。
このプロシージャのすべてのパラメータの説明は、Oracle Integration Repositoryで参照できます。Oracle Integration Repositoryは、このマニュアルの「はじめに」で説明されています。
このプロシージャの必須パラメータは次のとおりです。
P_MSG_COUNT
P_MSG_DATA
P_RETURN_STATUS
P_PM_PRODUCT_CODE
P_PM_PROJECT_REFERENCE
P_PA_PROJECT_ID
P_STRUCTURE_VERSION_ID
P_PA_TASK_ID
P_PA_PRED_ID
P_PM_TASK_REFERENCE
P_PM_PRED_REFERENCE
P_PA_TASK_ID
P_PA_PRED_ID
DELETE_DEPENDENCYは、既存のプロジェクト内の依存関係を削除するPL/SQLプロシージャです。
このプロシージャのすべてのパラメータの説明は、Oracle Integration Repositoryで参照できます。Oracle Integration Repositoryは、このマニュアルの「はじめに」で説明されています。
このプロシージャの必須パラメータは次のとおりです。
P_MSG_COUNT
P_MSG_DATA
P_RETURN_STATUS
P_PM_PRODUCT_CODE
P_PM_PROJECT_REFERENCE
P_PA_PROJECT_ID
P_STRUCTURE_VERSION_ID
P_PM_TASK_REFERENCE
P_PA_TASK_ID
P_PM_PRED_REFERENCE
P_PA_PRED_ID
タスク割当APIは、タスク割当および定期データを挿入、更新および削除するための外部システム用インタフェースを提供します。
タスク割当APIのパラメータ・データを提供するビューを次に示します。ビューの詳細は、OracleMetaLinkで入手可能なOracle eTRMを参照してください。
変数 | 説明 |
---|---|
PA_TASK_ASSIGNMENTS_AMG_V | このビューを使用すると、Oracle Projectsから有効なタスク割当を取得して、外部システムで表示できます。 |
この項で説明するプロシージャを次に示します。これらのプロシージャは、パブリックAPIパッケージPA_TASK_ASSIGNMENTS_PUB内にあります。
以降のページに、タスク割当APIで使用されるレコードおよび表のデータ型を定義します。
次の表に、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データ型を示します。
名称 | タイプ | 必須であるか | 説明 |
---|---|---|---|
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データ型を示します。
名称 | タイプ | 必須であるか | 説明 |
---|---|---|---|
PA_TASK_ELEM_VERSION_ID | NUMBER | No | タスク・バージョンの識別子 |
PA_TASK_ASSIGNMENT_ID | NUMBER | No | タスク割当の識別子 |
DEL_TA_FLAG | VARCHAR2(1) | No | 割当を削除するかどうかを示すフラグ |
次の表に、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 | 割当を削除するかどうかを示すフラグ |
次の表に、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について、ビジネス・ルールおよびパラメータも含めて説明します。
LOAD_TASK_ASSIGNMENTSは、クライアント側からサーバー側のPLSQL表にタスク割当を移動するPL/SQLプロシージャです。このプロシージャは、LOAD/EXECUTE/FETCHサイクルで使用されます。
このプロシージャのすべてのパラメータの説明は、Oracle Integration Repositoryで参照できます。Oracle Integration Repositoryは、このマニュアルの「はじめに」で説明されています。
このプロシージャの必須パラメータは次のとおりです。
X_RETURN_STATUS
X_MSG_COUNT
X_MSG_DATA
LOAD_TASK_ASSIGNMENT_PERIODSは、クライアント側からサーバー側のPLSQL表にタスク割当の定期データを移動するPL/SQLプロシージャです。
このプロシージャのすべてのパラメータの説明は、Oracle Integration Repositoryで参照できます。Oracle Integration Repositoryは、このマニュアルの「はじめに」で説明されています。
このプロシージャの必須パラメータは次のとおりです。
X_RETURN_STATUS
X_MSG_COUNT
X_MSG_DATA
EXECUTE_CREATE_TASK_ASGMTSは、PLSQL表のデータを使用してタスク割当を作成するPL/SQLプロシージャです。
このプロシージャのすべてのパラメータの説明は、Oracle Integration Repositoryで参照できます。Oracle Integration Repositoryは、このマニュアルの「はじめに」で説明されています。
このプロシージャの必須パラメータは次のとおりです。
X_RETURN_STATUS
X_MSG_COUNT
X_MSG_DATA
EXECUTE_UPDATE_TASK_ASGMTSは、タスク割当を更新するPL/SQLプロシージャです。
このプロシージャのすべてのパラメータの説明は、Oracle Integration Repositoryで参照できます。Oracle Integration Repositoryは、このマニュアルの「はじめに」で説明されています。
このプロシージャの必須パラメータは次のとおりです。
X_RETURN_STATUS
X_MSG_COUNT
X_MSG_DATA
CREATE_TASK_ASSIGNMENTSは、割当レコードの表を受け入れることでタスク割当を作成するPL/SQLプロシージャです。
このプロシージャのすべてのパラメータの説明は、Oracle Integration Repositoryで参照できます。Oracle Integration Repositoryは、このマニュアルの「はじめに」で説明されています。
このプロシージャの必須パラメータは次のとおりです。
P_TASK_ASSIGNMENTS_IN
P_TASK_ASSIGNMENTS_OUT
X_RETURN_STATUS
X_MSG_COUNT
X_MSG_DATA
CREATE_TASK_ASSIGNMENT_PERIODSは、割当レコードの表と定期データの表を受け入れることでタスク割当と定期データを作成するPL/SQLプロシージャです。
このプロシージャのすべてのパラメータの説明は、Oracle Integration Repositoryで参照できます。Oracle Integration Repositoryは、このマニュアルの「はじめに」で説明されています。
このプロシージャの必須パラメータは次のとおりです。
P_TASK_ASSIGNMENTS_IN
P_TASK_ASSIGNMENTS_OUT
P_TASK_ASSIGNMENT_PERIODS_IN
P_TASK_ASSIGNMENT_PERIODS_OUT
X_RETURN_STATUS
X_MSG_COUNT
X_MSG_DATA
UPDATE_TASK_ASSIGNMENTSは、タスク割当を更新するPL/SQLプロシージャです。このAPIを使用すると、ユーザーは作業計画バージョンをロックせずにタスクの資源割当を更新できます。また、複数のユーザーがタスクの資源割当を更新できます。
このプロシージャのすべてのパラメータの説明は、Oracle Integration Repositoryで参照できます。Oracle Integration Repositoryは、このマニュアルの「はじめに」で説明されています。
このプロシージャの必須パラメータは次のとおりです。
P_TASK_ASSIGNMENTS_IN
P_TASK_ASSIGNMENTS_OUT
X_RETURN_STATUS
X_MSG_COUNT
X_MSG_DATA
UPDATE_TASK_ASSIGNMENT_PERIODSは、タスク割当および定期データを更新するPL/SQLプロシージャです。
このプロシージャのすべてのパラメータの説明は、Oracle Integration Repositoryで参照できます。Oracle Integration Repositoryは、このマニュアルの「はじめに」で説明されています。
このプロシージャの必須パラメータは次のとおりです。
P_TASK_ASSIGNMENTS_IN
P_TASK_ASSIGNMENTS_OUT
P_TASK_ASSIGNMENT_PERIODS_IN
P_TASK_ASSIGNMENT_PERIODS_OU
X_RETURN_STATUS
X_MSG_COUNT
X_MSG_DATA
DELETES_TASK_ASSIGNMENTSは、タスク割当を削除するPL/SQLプロシージャです。
このプロシージャのすべてのパラメータの説明は、Oracle Integration Repositoryで参照できます。Oracle Integration Repositoryは、このマニュアルの「はじめに」で説明されています。
このプロシージャの必須パラメータは次のとおりです。
P_TASK_ASSIGNMENTS_IN
X_RETURN_STATUS
X_MSG_COUNT
X_MSG_DATA
FETCH_TASK_ASSIGNMENTSは、サーバー側のPLSQL表からタスク割当を取得するPL/SQLプロシージャです。
このプロシージャのすべてのパラメータの説明は、Oracle Integration Repositoryで参照できます。Oracle Integration Repositoryは、このマニュアルの「はじめに」で説明されています。
このプロシージャの必須パラメータは次のとおりです。
P_PM_TASK_ASGMT_REFERENCE
P_PA_TASK_ASSIGNMENT_ID
P_PM_TASK_REFERENCE
P_PA_TASK_ID
P_RESOURCE_ALIAS
P_RESOURCE_LIST_MEMBER_ID
X_RETURN_STATUS
CONVERT_PM_TAREF_TO_IDは、指定したタスク割当参照をタスク割当IDに変換するPL/SQLプロシージャです。
このプロシージャのすべてのパラメータの説明は、Oracle Integration Repositoryで参照できます。Oracle Integration Repositoryは、このマニュアルの「はじめに」で説明されています。
このプロシージャの必須パラメータは次のとおりです。
P_PM_PRODUCT_CODE
P_PA_PROJECT_ID
P_PA_STRUCTURE_VERSION_ID
P_PA_TASK_ID
P_PA_TASK_ELEM_VER_ID
X_PA_TASK_ASSIGNMENT_ID
X_RETURN_STATUS
INIT_TASK_ASSIGNMENTSは、ロード-実行サイクル前にタスク割当グローバル表を初期化します。
INIT_TASK_ASSIGNMENTSにパラメータはありません。