Oracle Projects API, クライアント拡張およびオープン・インタフェース・リファレンス リリース12 E05609-01 | ![]() 目次 | ![]() 前へ | ![]() 次へ |
この章では、Oracle Project Costingアプリケーションのクライアント機能拡張を説明します。
この章では、次のトピックを説明します。
取引管理機能拡張を使用すると、会社固有の支出入力ポリシーを実装する独自ルールを定義できます。ルールの定義例を次に示します。
先日付の作業時間の賦課は不可。
作業が完了したプロジェクトへの新規取引の賦課は不可。作業が完了したプロジェクトには、項目の転送のみ可能。
割り当てられた組織が管理するタスクにのみ賦課可能。
接待費はすべて請求不可。
取引管理機能拡張を使用して、Oracle Projectsで入力するデータのタイプに応じた検証ルールを追加できます。たとえば、支出入力中に、特定プロジェクトのプロジェクト・ステータスを検証できます。
Oracle Projectsに入力された取引はすべて検証できます。検証対象には、他のOracle Applicationsや外部システムの取引も含まれます。たとえば、Oracle Payablesに入力されたプロジェクト関連の仕入先請求書を検証できます。また、プロジェクト間で転送した項目も検証できます。
取引管理機能拡張では、支出項目が1つずつ検証され、各支出項目に対してすべての検証が実施されます。データの入力時に各支出項目が検証され、取引の検証が完了してから、データベースに取引をコミットします。
Oracle Projectsでは、取引管理機能拡張の処理は、支出の入力時に実行される標準の検証と、プロジェクト・レベルまたはタスク・レベルで入力された取引管理の検証が完了してから実行されます。
標準の検証
取引がプロジェクト/タスクの開始日と完了日の範囲に行われていること
プロジェクト・ステータスが「クローズ済」ではないこと
タスクが賦課可能であること
プロジェクト/タスク・レベルの取引管理
取引管理機能拡張の検証
クライアント機能拡張は、必要なロジックおよび付加的なデータ要素を決定してから、記述する必要があります。取引管理機能拡張を設計する際に、次の考慮点について検討してください。
ビジネス・ルールは何か。
どのような検証が必要なのか、また検証を適用するときの条件は何か。
検証に例外はないか。例外をどのように処理するか。
ルールが複数ある場合に、どのような順序で取引管理を実行するか。
取引管理機能拡張で許可されていない取引が入力された場合に、ユーザーにどのようなエラー・メッセージを表示するか。
デフォルトで取引のステータスを請求可能または資産計上可能に設定するルールが存在するか。
機能拡張は、次の項目で識別されます。
項目 | 名称 |
---|---|
本体テンプレート | PAXTTCXB.pls |
仕様テンプレート | PAXTTCXS.pls |
パッケージ | Patcx |
プロシージャ | tc_extension |
重要: 機能拡張プロシージャまたはパラメータの名称を変更しないでください。また、プロシージャのパラメータ・タイプまたはパラメータの順序を変更しないでください。プロシージャの記述後に、それをコンパイルし、データベースに格納します。詳細は、「PL/SQLプロシージャの記述」を参照してください。
取引管理で違反が検出された場合に、フォームに表示するエラー・メッセージを記述します。プロシージャの検証内容に基づき、このメッセージを使用して、特定の取引が入力できない原因をユーザーに通知します。このメッセージは、「取引インポート」例外レポートにも表示され、「取引インポート」で取引が棄却される可能性がある理由を通知します。
メッセージは、必ずOracle Projectsアプリケーション環境で定義してください。
警告: ソフトウェアをアップグレードすると、メッセージは消去されます。Oracle Projectsを新しいリリースにアップグレードする前に、メッセージをカスタム・アプリケーションに移動し、「顧客追加行の削除」パラメータを「No」に設定します。アップグレード後に、カスタム・アプリケーションからOracle Projectsにメッセージを移動します。
メッセージは、FND_NEW_MESSAGES表に保存されます。
『Oracle Application Object Library Reference Manual』のメッセージの定義に関する項を参照してください。
取引管理機能拡張のプロシージャ名は、tc_extensionです。
このプロシージャのパラメータ値は、検証対象の支出項目から渡されます。このプロシージャのパラメータの説明は、Oracle Integration Repositoryで表示できます。Oracle Integration Repositoryは、このマニュアルの「はじめに」で説明されています。
ここでは、このプロシージャのパラメータを説明します。
変数 | 説明 |
---|---|
属性 | X_attributeパラメータには、支出項目の付加フレックスフィールドの属性をすべて使用できます。Oracle Projectsの外部のモジュールでは、このパラメータは使用できません。 |
数量 | Oracle ProjectsやOracle Payablesの機能を使用する検証には、数量パラメータを使用できますが、Oracle Purchasingの場合は、このパラメータに値が渡されません。 |
発生元個人 | Oracle Projectsは取引の発生元の担当者を渡します。この値は、労務費と経費のレポート項目に常に設定されています。発生元が従業員でなく組織の取引については使用ログを入力できるため、使用項目では、この値はオプションです。 請求書の仕入先が従業員の場合には、Oracle Payablesは、仕入先請求書取引にパラメータ値を渡します。仕入先が従業員ではない場合には、仕入先請求書取引のパラメータ値は空白になります。 Oracle Purchasingは、購買依頼と発注の取引については、このパラメータに値を渡しません。 |
請求可能/資産計上可能フラグ | Oracle Projectsは、請求可能な値(契約プロジェクト)または資産計上可能な値(資産プロジェクト)を渡します。このパラメータに渡される値は、プロジェクトおよびタスクの取引管理と、タスク請求可能ステータスに基づいて決定されます。プロシージャにロジックを記述して、この値を上書きすることもできます。YまたはNの値をOracle Projectsに渡すことで、取引のデフォルトの請求可能ステータスまたは資産計上可能ステータスを指定できます。値をOracle Projectsに渡さない場合、または無効な値を渡した場合には、取引管理機能拡張のプロシージャを呼び出す前に決定された元の値が使用されます。 |
結果パラメータ | X_outcomeパラメータを使用して、プロシージャの結果を元のプロシージャに渡します。定義した取引管理機能拡張ルールのうち、適用されるどのルールにも取引が違反していない場合は、X_outcomeパラメータをNULL値のままにします。これにより、この取引がすべての取引管理検証をパスしたことがOracle Projectsに通知されます。 定義したルールに取引が違反する場合は、X_outcomeの値に、ユーザーに表示する適切なエラー・メッセージ名を設定します。 |
呼出し元モジュール・パラメータは、取引管理機能拡張の呼出し元プログラムを示します。呼出し元モジュールに応じて機能拡張のロジックを変えることができます。たとえば、「取引インポート」が呼出し元モジュール(PAXTRTRX)の場合に、特定タイプの取引にのみ、特定プロジェクトに対する賦課を許可できます。
次の表では、X_CALLING_MODULEパラメータで使用できる値について説明しています。これらの値は大文字と小文字が区別され、見た目と同じ文字がそのまま渡されます。
取引管理がOracle PurchasingやOracle Payablesから呼び出される場合には、購買依頼、発注および仕入先請求書にプロジェクト関連の情報を入力するときに、検証が実行されます。また、配分明細にプロジェクト関連情報を入力または更新するときにも検証が実行されます。
次の表に、X_CALLING_MODULEで使用できる値と、その値の意味を示します。
変数 | 説明 |
---|---|
apiindib.pls | 買掛管理請求書配分。 |
apiimptb.pls | 買掛管理請求書インポート。 |
APXINENT | Oracle Payablesの請求書ワークベンチ。仕入先請求書で入力されたプロジェクト関連情報を検証するために、「取引管理」が呼び出されるときに、この値が渡されます。 |
CreateRelated Item | CreateRelatedItemプロシージャは、労務取引機能拡張のプロシージャから呼び出されます。労務取引機能拡張のプロシージャで関連取引を検証するために、CreateRelatedItemが「取引管理」を呼び出すときに、この値が渡されます。 |
PAVVIT | 買掛管理からの仕入先請求書のインタフェース。Oracle PayablesからOracle Projectsへのインタフェースとなる、プロジェクト関連の仕入先請求書配分明細を元に作成される支出項目を検証するために、「取引管理」が呼び出されるときに、この値が渡されます。 |
PAXTREPE | 事前承認済支出。「事前承認済経費精算書の入力」フォームで入力または更新された未承認の支出項目を検証するために、「取引管理」が呼び出されるときに、この値が渡されます。 |
PAXTRTRX | 取引インポート。Oracle Projectsにロードされる前の取引を検証するために、取引インポート・プログラムから「取引管理」が呼び出されるときに、この値が渡されます。 |
PAXEXCOP/PAXTEXCB | 事前承認済タイムカードのコピー/支出のコピー。「事前承認済タイムカードのコピー」機能を使用して作成された新規の支出項目を検証するために、「取引管理」が呼び出されるときに、この値が渡されます。 |
PAXPRRPE | プロジェクト支出の修正。「プロジェクト支出の修正」フォームで支出項目の転送を実行した結果、作成された新規の支出項目を検証するために、「取引管理」が呼び出されたときに、この値が渡されます。 |
PAXVOTCB | Oracle Time and Labor。 |
PAXVSSTS | Oracle Internet Time。 |
POWEBREQ | iProcurement。 |
POXPOEPO | Oracle Purchasingにおける発注。発注で入力されたプロジェクト関連情報を検証するために、「取引管理」が呼び出されるときに、この値が渡されます。 |
POXRQERQ | Oracle Purchasingにおける購買依頼。購買依頼で入力されたプロジェクト関連情報を検証するために、「取引管理」が呼び出されるときに、この値が渡されます。 |
POXPOERL | Oracle Purchasingにおけるリリース。発注に対するリリースの入力時にプロジェクト関連情報を検証するために、「取引管理」が呼び出されるときに、この値が渡されます。 |
POXPOPRE | Oracle Purchasingの作業環境。 |
Project Deliverables | 成果物の調達処理の支出情報を検証するために、「取引管理」が呼び出されるときに、この値が渡されます。 |
REQIMPORT | 購買依頼インポート。 |
SelfService | 経費精算書。 |
取引管理機能拡張について、よくある質問を次の表に示します。
変数 | 説明 |
---|---|
機能拡張から他のプロシージャを呼び出すことはできますか。 | 他のプロシージャを呼び出せます。特定ルールに基づいて入力を決定し、検証を実行できる場合には、機能拡張から自由に他のプロシージャを呼び出せます。 |
ルールに例外を許可できますか。 | 許可できます。たとえば、プロシージャのロジックで、あるプロジェクト・タイプに対するルールを特定のプロジェクトに制限することで、プロジェクト・タイプに適用するルールに例外を許可できます。 |
支出項目のグループを機能拡張で検証できますか。 | 現在、支出項目のグループを検証することはできません。 |
プロシージャから返すことができるエラー・メッセージの数はいくつですか。 | プロシージャから返すことができるエラー・メッセージは1つです。これはOracle Projectsがプロシージャで最初に検出するエラー・メッセージです。 |
関連トピック
このケース・スタディでは、クライアント機能拡張を使用して、完了したプロジェクトに新規賦課を禁止する方法を説明します。
このケース・スタディでは、作業が完了したプロジェクトには新規の取引を賦課できないようにします。ただし、実行したプロジェクト作業を適正に計上するために、プロジェクト間の転送により発生した新規の取引には賦課を許可します。
ビジネス・ルールの処理内容は次のとおりです。
プロジェクト・ステータスが「処理のみ」のプロジェクトへの新規の支出項目の賦課を禁止します。
プロジェクト・ステータスが「処理のみ」のプロジェクトへの支出項目の転送を許可します。
プロジェクト・ステータスが「処理のみ」のプロジェクトに賦課される新規の支出項目をユーザーが入力しようとしたときに、エラー・メッセージを表示します。
このビジネス・ルールへの例外は許可しません。
転送のみの場合の新規賦課については、例外をこのルールに容易に実装できます。このルールに例外を実装すると、仕入先請求書取引にも賦課が許可されます。この取引は通常、プロジェクトの完了後に受け取ります。
作業が完了したプロジェクトへの新規賦課を管理するビジネス・ルールの実装には、取引管理機能拡張を使用します。
ヒント: PAXTTCXB.plsファイル内の、このケース・スタディの実装に相当するサンプルPL/SQLコードを確認してください。
「処理のみ」という新しいプロジェクト・ステータスを定義する必要があります。
設計上の考慮点を次に示します。
変数 | 説明 |
---|---|
転送された項目の識別 | 検証する項目が、他のプロジェクトまたはタスクから転送されたものかどうかを確認するには、機能拡張に渡されたx_transferred_from_idパラメータの値を調べます。 |
プロジェクト・ステータスの決定 | 取引管理機能拡張には、プロジェクト・ステータスがパラメータとして渡されません。したがって、プロジェクトIDからこの値を導出する必要があります。 |
エラー・メッセージの定義 | プロジェクト・タイプのステータスが「処理のみ」のプロジェクトに、ユーザーが新規項目を賦課しようとした場合、エラー・メッセージを表示します。これにより、ユーザーは、新規の支出項目のプロジェクト割当を他のプロジェクトに変更するようになります。 たとえば、「プロジェクト・ステータスが「処理のみ」の場合は、新規項目は作成できません」というエラー・メッセージを定義します。 |
このケース・スタディでは、クライアント機能拡張を使用して、組織別に取引管理を設定する方法を説明します。
このケース・スタディでは、すべての管理ワークを、その従業員の所属組織が管理するタスクに賦課します。従業員が指定されていない場合、支出組織に管理ワークを賦課します。
ビジネス・ルールの処理内容は次のとおりです。
タスクのサービス・タイプが「管理」の場合は、タスク所有組織と同じ組織に割り当てられている従業員にのみ賦課を許可します。
特定の従業員に関連付けられていない使用費については、タスク組織と同じ支出組織が支出項目を賦課している必要があります。
このルールに違反した支出項目をユーザーが入力しようとしたときに、エラー・メッセージを表示します。
このビジネス・ルールへの例外は許可しません。
執行部が管理するプロジェクトをこのルールの適用対象から除外する例外を、このルールに容易に実装できます。執行部は、重要な管理ワークの実施に会社全体の資源を使用するため、この例外が必要になることがあります。プロジェクト作業に携わる可能性がある組織ごとに、タスクを1つずつプロジェクトに設定する方法を、執行部は望みません。
組織基準取引管理のビジネス・ルールを実装するには、取引管理機能拡張を使用します。
ヒント: PAXTTCXB.plsファイル内の、このケース・スタディの実装に相当するサンプルPL/SQLコードを確認してください。
「管理」という新しいタスク・サービス・タイプを定義する必要があります。
設計上の考慮点を次に示します。
変数 | 説明 |
---|---|
発生元組織の特定 | 評価対象の取引ごとに発生元組織が取引管理機能拡張のプロシージャに渡されるため、組織を導出する必要はありません。 |
タスク組織の特定 | 取引管理機能拡張には、タスク組織がパラメータとして渡されません。したがって、この値を導出する必要があります。 |
タスク・サービス・タイプの特定 | 取引管理機能拡張には、タスク・サービス・タイプがパラメータとして渡されません。したがって、この値を導出する必要があります。 |
エラー・メッセージの定義 | このルールに違反するタスクにユーザーが項目を賦課しようとした場合、エラー・メッセージを表示します。これにより、ユーザーはタスク割当を別の値に変更するようになります。 たとえば、「このタスクに対する賦課は、タスク所有組織に制限されています」というエラー・メッセージを定義します。 |
このケース・スタディでは、クライアント機能拡張を使用して、支出タイプに応じてデフォルト請求ステータスを指定する方法を説明します。
このケース・スタディでは、プロジェクトに対する接待費の請求を禁止するビジネス・ルールを実装します。
ビジネス・ルールの処理内容は次のとおりです。
支出タイプが「接待費」の取引については、タスクの請求可能ステータスに関係なく、どのプロジェクトでも請求できないようにします。
クライアント機能拡張には、このルールの例外はありませんが、「プロジェクト支出の修正」フォームを使用して「接待費」を請求可能に設定することが認可された場合は、例外の適用から除外します。
支出タイプが「接待費」の場合は、ユーザーにはエラー・メッセージを表示せずに、単に影響を受ける取引の請求可能ステータスを請求不可にします。
支出タイプ別デフォルト請求可能ステータスを判定するビジネス・ルールを実装するには、取引管理機能拡張を使用します。
ヒント: PAXTTCXB.plsファイル内の、このケース・スタディの実装に相当するサンプルPL/SQLコードを確認してください。
「接待費」という新しい支出タイプを定義する必要があります。
設計上の考慮点を次に示します。
変数 | 説明 |
---|---|
その他の情報の導出 | 評価対象の取引ごとに支出タイプが取引管理機能拡張のプロシージャに渡されるために、このビジネス・ルールの実装データを導出する必要はありません。 |
請求可能ステータスの判定 | プロシージャには、単にexpenditure_typeパラメータを参照するコードを記述します。支出タイプが「接待費」の場合には、x_billable_flagパラメータをNに設定して、このビジネス・ルールを実装します。 |
自動承認機能拡張には、経費精算書とタイムカードを自動的に承認する条件を定義するプロシージャが含まれています。各プロシージャにはサンプルが収録されており、そのサンプルをコピーしたり変更することができます。
これらのプロシージャのすべてのパラメータの説明は、Oracle Integration Repositoryで表示できます。Oracle Integration Repositoryは、このマニュアルの「はじめに」で説明されています。
重要: 機能拡張プロシージャまたはパラメータの名称を変更しないでください。また、プロシージャのパラメータ・タイプまたはパラメータの順序を変更しないでください。プロシージャの記述後に、それをコンパイルし、データベースに格納します。詳細は、「PL/SQLプロシージャの記述」を参照してください。
自動承認機能拡張には、次の機能拡張が含まれています。
このプロシージャは、支出におけるすべての支出項目に対してカスタム検証を実行します。機能拡張は、次の項目で識別されます。
項目 | 名称 |
---|---|
本体テンプレート | PAXPTEEB.pls |
仕様テンプレート | PAXPTEES.pls |
パッケージ | pa_client_extn_pte |
プロシージャ | get_exp_autoapproval |
この機能拡張のデフォルトのロジックでは、自動承認プロファイル・オプションの値が読み込まれます。機能拡張は、次の項目で識別されます。
項目 | 名称 |
---|---|
本体テンプレート | PAXTGTCB.pls |
仕様テンプレート | PAXTGTCS.pls |
パッケージ | pagtcx |
プロシージャ | summary_validation_extension |
このプロシージャを使用して、タイムカードの承認ロジックを追加します。機能拡張は、次の項目で識別されます。
項目 | 名称 |
---|---|
本体テンプレート | PAXTRT1B.pls |
仕様テンプレート | PAXTRT1S.pls |
パッケージ | pa_client_extn_rte |
プロシージャ | check_approval |
このプロシージャを使用して、タイムカードと経費清算書の承認用のルーティング・ルールを定義します。機能拡張は、次の項目で識別されます。
項目 | 名称 |
---|---|
本体テンプレート | PAXTRTEB.pls |
仕様テンプレート | PAXTRTES.pls |
パッケージ | paroutingx |
プロシージャ | route_to_extension |
このプロシージャを使用して、Oracle Time and Laborでタイムカードの入力と承認を行うときの検証を定義します。このクライアント機能拡張の詳細は、『Oracle Time and Labor Implementation and User Guide』を参照してください。
機能拡張は、次の項目で識別されます。
項目 | 名称 |
---|---|
本体テンプレート | PAPSSTCB.pls |
仕様テンプレート | PAPSSTCS.pls |
パッケージ | pa_time_client_extn |
プロシージャ | display_business_message |
労務費機能拡張を使用すると、労務取引ごとの直接費金額を導出できます。労務費機能拡張の定義例を次に示します。
ジョブ単位の標準原価レート
上限付き労務費レート
従業員当たりの複数原価レート
標準の計算方法では、時間数に従業員の時間当たり原価レートを掛けて直接費を計算しますが、労務費機能拡張を使用すると、これとは異なる独自の計算方法を実装できます。たとえば、上限付き労務費レートを使用して、特定の従業員の直接費を計算します。
Oracle Projectsでは労務費の配分時に、労務費機能拡張が処理されてから、標準の直接費金額が計算されます。労務費機能拡張が労務取引の直接費金額を導出する場合には、その取引の標準の直接費計算部分がスキップされます。
労務費機能拡張を設計する上で次の点を考慮してください。
Oracle Projectsの標準の直接費計算方法を使用できない条件と環境とは何か。
前述のケースに該当する場合、直接費金額はどのように計算するか。
前述の条件を満たす労務取引をどのように識別するか。
独自の計算方法に必要なレートなどの追加情報の保存方法と保守方法をどうするか。
労務費機能拡張の例外条件は何か。レートが存在しない場合の例外処理はどうするか。
機能拡張は、次の項目で識別されます。
項目 | 名称 |
---|---|
本体テンプレート | PAXCCECB.pls |
仕様テンプレート | PAXCCECS.pls |
パッケージ | PA_Client_Extn_Costing |
プロシージャ | Calc_Raw_Cost |
重要: 機能拡張プロシージャまたはパラメータの名称を変更しないでください。また、プロシージャのパラメータ・タイプまたはパラメータの順序を変更しないでください。プロシージャの記述後に、それをコンパイルし、データベースに格納します。詳細は、「PL/SQLプロシージャの記述」を参照してください。
このプロシージャの名称は、PA_Client_Extn_Costing.Calc_Raw_Costです。
このプロシージャのすべてのパラメータの説明は、Oracle Integration Repositoryで表示できます。Oracle Integration Repositoryは、このマニュアルの「はじめに」で説明されています。
プロシージャで計算する直接費金額は、x_raw_costパラメータに割り当てます。従業員の時間当たり原価レートを使用して、標準の原価計算方法で計算する場合には、この値は空白のままにします。
x_raw_costパラメータに値を渡した場合は、このパラメータの値が時間数で除算され、取引の直接費レートが計算されます。
プロシージャのエラー条件を処理するには、x_statusパラメータを使用します。このパラメータは、次のように機能拡張の処理ステータスを示します。
変数 | 説明 |
---|---|
x_status = 0 | 機能拡張は正常に実行されました。 |
x_status < 0 | Oracleエラーが発生し、プロセスが正常に完了しませんでした。プロセス・ログ・ファイルにエラー・メッセージが記録されます。 |
x_status > 0 | アプリケーション・エラーが発生しました。取引の原価計算は中断され、PA_EXPENDITURE_ITEMS.COST_ DIST_REJECTION_CODEに棄却事由が書き込まれます。労務費配分の例外レポートで、棄却事由を確認できます。 |
労務取引機能拡張を使用すると、プロジェクトに賦課される労務項目ごとに追加取引を作成できます。たとえば、特定プロジェクトに賦課される労務取引ごとに、危険作業に対する追加取引を作成する場合があります。次に、その他の労務取引機能拡張の実装例を示します。
会社の超過勤務ポリシーに基づく超過勤務時間に応じた超過勤務割増賃金取引の作成
ソース労務の賦課対象と同じプロジェクトに賦課される付加給与取引の作成
正規時間労務取引および超過勤務労務取引に対する追加取引を作成できます。また、タイムカードに入力したソース労務取引に基づいて、追加の労務取引も作成できます。
関連取引として参照される労務取引に追加取引が作成されます。関連取引はすべてソース取引に関連付けられ、ソース取引の支出項目IDが割り当てられます。ソース取引の支出項目IDを参照することで、関連取引を識別し処理できます。
ソース取引の直接費金額とは別に、直接費金額を処理する関連取引を作成します。関連取引では、ソース取引とは別に、総原価計算、請求および計上を行うことができます。
Oracle Projectsでは労務費の配分時に、労務取引機能拡張が実行されます。労務費を配分すると、ソース取引の直接費の計算が終了してから労務取引機能拡張が実行されるため、ソース取引の原価から関連取引の原価を導出できます。
ソース取引が再原価計算された場合は、労務取引機能拡張を実行して、関連取引の原価金額を再計算できます。
超過勤務割増賃金取引の作成に労務取引機能拡張を使用している場合は、Oracle Projectsの超過勤務計算プログラムを使用する必要はありません。ただし、労務取引機能拡張と「超過勤務計算」プログラムを両方とも使用する必要がある場合は、会社ポリシーに従って各取引がこれらのプロセスのいずれか1つで処理されるように、条件を定義しておく必要があります。
労務取引機能拡張を設計する上で次の点を考慮してください。
会社にとって関連項目を作成する必要がある条件とは何か。追加原価を計上する間接費計算のような別の計算方法を使用せずに関連項目を作成する目的は何か。
前述の条件を満たす労務取引をどのように識別するか。
前述のケースに該当する場合に、作成する必要がある関連取引は何か。
関連取引の賦課対象になるプロジェクトとタスクは何か。
関連取引に適用する支出タイプは何か。
関連取引の直接費はどのように計算するか。ソース取引の直接費に基づいて計算するのか、または別の計算方法に基づいて計算するのか。
関連取引は間接費計算するのか。間接費計算する場合、取引が間接費計算されるように原価加算の実装を設定する必要があります。
関連取引の原価をどのように計上するか。関連取引の直接費計上は、ソース取引の計上方法と異なるか。合計総原価の計上は、ソース取引の計上方法と異なるか(合計総原価の計上を使用している場合)。労務費が正しく計算されるように自動会計ルールを適切に定義する必要があります。
各関連取引を請求可能ステータスに設定する条件は何か。関連取引の請求可能ステータスを適切に指定するための取引管理機能拡張ルールを作成する必要はあるのか。
関連取引は請求対象になるのか。請求対象になる場合、その条件は何か。請求方法が違う場合には、請求金額の計算方法はどうするのか。関連取引の請求に、労務費請求機能拡張を使用する必要はあるか。
関連取引の収益は、ソース取引とは別に計上するのか。別に計上する場合は、どのように計上するのか。労務収益が適正に計算されるように自動会計ルールを定義する必要があります。
労務取引機能拡張の例外条件は何か、たとえば、関連取引の直接費の根拠がソース取引の直接費ではなく、関連取引のレートが存在しない場合の例外処理はどうするか。
機能拡張は、次の項目で識別されます。
項目 | 名称 |
---|---|
本体テンプレート | PAXCCETB.pls |
仕様テンプレート | PAXCCETS.pls |
パッケージ | PA_Client_Extn_Txn |
プロシージャ | Add_Transactions |
Add_Transactionsプロシージャでは、次の用途で2つの公開プロシージャを使用できます。
関連取引の作成
関連取引の更新
重要: 機能拡張プロシージャまたはパラメータの名称を変更しないでください。また、プロシージャのパラメータ・タイプまたはパラメータの順序を変更しないでください。プロシージャの記述後に、それをコンパイルし、データベースに格納します。詳細は、「PL/SQLプロシージャの記述」を参照してください。
ソース取引の関連取引を追加するには、add_transactionsプロシージャを使用します。このプロシージャには、新規の関連取引を作成するロジックと、関連取引の原価再計算が必要になったときに関連取引の直接費を更新するロジックを記述します。関連取引の直接費は、このプロシージャ内でのみ計算できます。Oracle Projectsでは、他の方法では関連取引の直接費を計算できません。このプロシージャで関連取引を処理するときは、このセクションで後述する2つのプロシージャを使用します。
このプロシージャのすべてのパラメータの説明は、Oracle Integration Repositoryで表示できます。Oracle Integration Repositoryは、このマニュアルの「はじめに」で説明されています。
関連取引を作成するには、取引の追加のプロシージャのロジックの中でpa_transactions.CreateRelatedItemプロシージャを使用します。このプロシージャは、pa_transactionsパッケージの中に収録されています。このプロシージャは変更できません。
関連取引は、ソース取引と同じ従業員のタイムカードに関連付けられます。この取引は、関連取引が存在しても従業員のタイムカードの時間数が正しくなるように、作成される取引の数量は0になります。
CreateRelatedItemプロシージャの処理内容は次のとおりです。
入力パラメータ値がすべて有効な値かどうかを検証します。
支出タイプが、「正規時間」または「超過勤務」の支出タイプ区分に分類されているかどうかを検証します。
取引管理機能拡張のロジックを含む、どの取引管理検証ルールにも取引が違反していないかどうかを検証します。
Oracle Projectsのすべての取引に使用されている判定方法に従って、関連取引が請求可能ステータスになっているかどうかを判定します。
取引が有効な場合には、次の処理を行う労務支出関連項目を作成します。
ソース取引の支出に支出項目を関連付けます。
数量を0にします(従業員のタイムカードに関連項目が存在している場合でも、そのタイムカードの時間数を正しくカウントするため)。
プロジェクトとタスクの入力値が指定されていない場合に、ソース取引のプロジェクトとタスクの値を使用します。
ソース取引の支出項目日と請求保留の値を使用します。
上書き組織の指定がない場合は、ソース取引の組織を使用します。
直接費を小数第2位で切り捨て、渡された直接費レートを使用します。
このプロシージャのすべてのパラメータの説明は、Oracle Integration Repositoryで表示できます。Oracle Integration Repositoryは、このマニュアルの「はじめに」で説明されています。
関連取引の原価再計算が必要になったときに、既存の関連取引の直接費金額を更新するには、労務取引機能拡張のロジックの中でpa_transactions.UpdateRelatedItemプロシージャを使用します。このプロシージャは、pa_transactionsパッケージに収録されています。このプロシージャは変更できません。
このプロシージャのすべてのパラメータの説明は、Oracle Integration Repositoryで表示できます。Oracle Integration Repositoryは、このマニュアルの「はじめに」で説明されています。
一部のパラメータの詳細を次に示します。
変数 | 説明 | ||||||||
---|---|---|---|---|---|---|---|---|---|
CreateRelatedItemプロシージャでプロジェクトおよびタスクを使用する場合 | プロジェクトとタスクのパラメータ値を、任意でCreateRelatedItemプロシージャに渡すことができます。 プロジェクトとタスクの情報を渡さない場合、Oracle Projectsではソース取引の賦課対象と同じプロジェクトとタスクに関連取引が賦課されます。 プロジェクトとタスクの情報を渡す場合は、プロジェクトとタスクの取引管理検証に基づいて、取引が賦課可能であることを確認するためにその値が使用されます。関連取引がどの取引管理ルールにも違反していない場合には、そのプロジェクトとタスクを含む関連取引が作成されます。ソース取引のプロジェクトとタスクを上書きする場合は、プロジェクトとタスクの両方の値を渡す必要があります。 | ||||||||
CreateRelatedItemプロシージャでユーザーIDを使用する場合 | CreateRelatedItemプロシージャに渡す、X_useridパラメータの入力値を指定する必要があります。この値は、関連取引の作成前に呼び出される取引管理プロシージャに渡されます。取引管理機能拡張に、ユーザーIDの値を使用するロジックを定義する場合もあります。CreateRelatedItemプロシージャには、通常、ソース取引の作成者を渡しますが、任意のユーザーIDを渡すこともできます。 | ||||||||
CreateRelatedItemプロシージャで上書き組織を使用する場合 | ソース取引の支出組織よりも、関連取引のプロジェクト組織などの、別の組織を優先する場合には、x_override_to_org_idを使用します。 関連取引の作成プロシージャが呼び出されるときに、このパラメータに値を指定した場合、値が有効な組織であれば、支出項目の上書き組織としてこの値が格納されます。これは、他にも原価配分上書きがプロジェクトに定義されている場合でも同じです。 この組織は、関連取引の総原価金額の計算時に使用されます。また、支出組織パラメータを使用する自動会計ルールの入力値としても使用されます。 ただし、ソース取引の支出組織は、関連取引の作成プロシージャから取引管理プロシージャに渡されて検証されます。この検証の目的は、支出入力フォームから常に送信される発生元組織(支出組織)の値との整合性を維持することです。取引管理機能拡張では、支出組織パラメータが、支出入力を制御するクライアントによって、プロジェクトに賦課する対象組織ごとに使用されます。 したがって、上書き組織の値は、間接費計算と自動会計にのみ使用されます。 | ||||||||
CreateRelatedItemプロシージャで結果を使用する場合 | Oracle ProjectsではX_outcomeパラメータを使用して、CreateRelatedItemプロシージャのアプリケーション・ロジックで棄却された理由を渡します。たとえば、CreateRelatedItemプロシージャから呼び出された取引管理検証によって関連取引が棄却された場合には、その理由がX_outcomeパラメータに割り当てられます。 | ||||||||
両方のプロシージャでステータスを使用する場合 | プロシージャのエラー条件を処理するには、x_statusパラメータを使用します。このパラメータは、次のように機能拡張の処理ステータスを示します。
両方の関連取引プロシージャから、労務取引プロシージャに処理結果が渡されます。このとき、労務費配分プロセスに労務取引機能拡張のプロシージャの結果を渡すときと同じ方法で、結果が渡されます。 |
項目の取消が必要になったソース取引で、修正(「事前承認済支出」フォームでの転送、分割、手動戻し処理)を実行すると、ソース取引の関連取引に戻し処理が作成されます。
関連取引はソース取引と別に処理することはできませんが、関連取引とソース取引を同時に処理する修正操作はあります。
労務取引機能拡張について、よくある質問を次の表に示します。
変数 | 説明 |
---|---|
ソース取引が原価計算されなかった場合はどうなりますか。 | 原価の配分時に棄却されたため、ソース取引が原価計算されなかった場合、その取引では労務取引機能拡張は呼び出されません。したがって、ソース取引が棄却された場合には、関連取引は作成されることも、原価計算されることもありません。 |
1つの項目に複数の関連取引を作成できますか。 | 作成できます。労務取引機能拡張のロジックに基づいて、特定のソース取引に複数の関連取引を作成できます。 |
関連取引はどのようして識別しますか。 | 関連取引を識別するには、ソース取引の支出項目IDを参照します。 Oracle Projectsの「支出照会」フォームおよびレポートで、関連取引に使用している実装データ(特に支出タイプ)を参照することで関連取引を識別できます。Oracle Projectsでは、ソース取引の直後に関連取引がすべて表示されます。 |
一部のパラメータがCreateRelatedItemに渡されなかった場合はどうなりますか。 | 関連取引のプロシージャに渡されないパラメータは、数量、請求可能ステータスおよび支出タイプを除き、ソース取引から読み込まれます。関連取引の数量は0に設定され、請求可能ステータスは、定義した取引管理と取引管理機能拡張から導出されます。支出タイプは、指定が必須のパラメータです。 |
関連取引が検証をパスしなかった場合はどうなりますか。 | CreateRelatedItemプロシージャで関連取引が検証をパスしなかった場合、関連項目は作成されません。また、労務取引機能拡張のプロシージャでエラーが発生したことを指定する原価配分棄却事由をソース取引にマークします。ソース項目は原価配分されていないものとして扱われ、労務費の配分プロセスの例外出力レポートに表示されます。 |
どのような方法で関連取引を請求可能ステータスまたは資産計上可能ステータスにできますか。 | 関連取引の請求可能ステータスまたは資産計上可能ステータスは、その他の取引と同様に、取引管理とタスク請求可能またはタスク資産計上可能ステータスにより導出されます。これとは別に、関連取引の請求可能ステータスまたは資産計上可能ステータスを導出する場合は、特定の基準に従って関連取引を検索するロジックを取引管理機能拡張のプロシージャに指定してから、請求可能または資産計上可能のフラグを設定します。請求可能ステータスまたは資産計上可能ステータスを設定する取引管理パッケージは、CreateRelatedItemプロシージャから呼び出されます。 |
取引管理プロシージャは、どのようにして関連取引を識別しますか。 | 請求可能ステータスまたは資産計上可能ステータスを設定し、取引を検証する取引管理プロシージャは、CreateRelatedItemプロシージャから呼び出されます。 取引管理機能拡張は、CreateRelatedItemプロシージャのx_moduleにより、関連取引を識別します。呼出し元プロシージャ(CreateRelatedItem)が取引管理を呼び出すと、x_moduleはCreateRelatedItemに設定されます。 |
間接費計算を使用して、関連取引の直接費金額を計算できますか。 | 原価加算APIを使用することで、間接費計算設定に基づいて、関連取引の直接費金額を計算できます。 |
関連トピック
『Oracle Project Costing User Guide』の労務費の配分に関する項
『Oracle Project Costing User Guide』の超過勤務の作成に関する項
『Oracle Project Costing User Guide』の関連取引の修正に関する項
原価加算アプリケーション・プログラミング・インタフェース(API)
『Oracle Project Billing User Guide』の関連取引の修正に関する項
超過勤務計算機能拡張を使用すると、会社固有の超過勤務計算ポリシーを実装する独自のルールを定義できます。この機能拡張では、超過勤務原価を計算し、労務が賦課されていない間接プロジェクトにその原価を賦課します。
注意: 労務が賦課されているプロジェクトに超過勤務を賦課する場合は、労務取引機能拡張を使用して項目を作成することも検討してください。「労務取引機能拡張」を参照してください。
超過勤務計算の背景情報と設定の詳細は、『Oracle Projectsインプリメンテーション・ガイド』の間接プロジェクトへの超過勤務賦課の実装に関する項目を参照してください。
Oracle Projectsでは労務費の配分プロセスの実行時に、超過勤務計算機能拡張が呼び出されます。
Oracle Projectsには超過勤務計算機能拡張のテンプレートが付属しています。このテンプレートを使用して、機能拡張を理解してから、ビジネス・ニーズに合わせてテンプレートを変更することもできます。機能拡張を変更する前に、次の記述および『Oracle Project Costing User Guide』の超過勤務の追跡の概要に関する項の、超過勤務の実装に関する関連ケース・スタディを読んでください。
超過勤務計算を自動化する場合は、超過勤務計算機能拡張のテンプレートを基本にして、会社の超過勤務ポリシーを実装できます。
技術スタッフは、ビジネスで使用されている超過勤務ルールに適合するように、超過勤務計算機能拡張をカスタマイズできます。
会社の超過勤務計算機能拡張を実装するには、次の手順に従ってください。
超過勤務ポリシーを定義し、文書化します。
文書化した超過勤務ポリシーをもとに、超過勤務計算の自動化に必要な実装データの種類を決定します。この実装データには、労務費計算ルール、支出タイプ、労務費乗数、超過勤務プロジェクトおよびタスクなどがあります。
超過勤務計算の自動化に必要な実装データを定義します。
技術スタッフが超過勤務ポリシーを超過勤務計算機能拡張に記述します。
実装データと超過勤務計算機能拡張をテストし、会社の超過勤務ポリシーが適切に実装できたかどうかを確認します。
超過勤務計算機能拡張を実装する上での注意点を次に示します。
すべての超過勤務支出タイプに終了日を定義して、タイムカード担当者が「事前承認済支出」ウィンドウで超過勤務を入力できないようにします。
超過勤務の自動計算は、週次の超過勤務ルールに基づきます。Oracle Projectsでは週次でタイムカードが処理されるため、タイムカードの支出項目日はすべて、タイムカードの支出週末日までの範囲に入っている必要があります。したがって、超過勤務の自動計算は、週次の超過勤務ルールに合わせて実行する方法が最も容易です。
超過勤務計算機能拡張のテンプレートは次の順序で超過勤務を処理します。
新規超過勤務の処理の適用対象になる可能性がある従業員と、対応する週を特定します。「労務費の配分」の実行時に、呼出し先の超過勤務計算機能拡張が処理するタイムカードの所有者のみを対象として、超過勤務が計算され作成されます。対象となる従業員と週は、超過勤務計算機能拡張が呼び出される前に原価計算された正規時間支出項目のrequest_idによって識別されます。
対象の従業員と週の超過勤務を計算する上で必要な時間数を合計します。標準の超過勤務計算機能拡張では、タイムカード入力検証ルールに従って、労務支出項目日がすべて、タイムカードの支出週末日までの範囲に入っているどうか検証されてから、週の合計時間と1日単位の合計時間が合計されます。
作業時間数、従業員の労務費計算ルールなどの、指定された基準に従って超過勤務時間数を計算します。標準の超過勤務計算機能拡張では、従業員の労務費計算ルール(ケース・スタディに記載)に従って、従業員と週の超過勤務時間数が計算されます。『Oracle Projectsインプリメンテーション・ガイド』の間接プロジェクトへの超過勤務賦課の実装に関する項目を参照してください。
対象従業員のそれぞれの超過勤務タイプに応じて、超過勤務の支出項目を作成します。超過勤務項目は、従業員の労務費計算ルールに定義されている超過勤務支出タイプを使用して、超過勤務プロジェクトと、超過勤務計算機能拡張で指定された超過勤務タスクに賦課されます。支出項目日は週末日に設定されます。また、賦課対象の超過勤務タスクに関連付けられた労務費乗数が、支出項目に割り当てられます。
この機能拡張は、新規の超過勤務項目が発生した個人と週ごとに、新規の支出を作成します。新規の支出は、超過勤務計算機能拡張に作成した支出バッチに割り当てられます。支出バッチ名は、「PREMIUM」という文字の後に「要求ID」番号が付いた文字になります。たとえば、支出バッチの実行時の「要求ID」番号が1205であれば、支出バッチ名は「PREMIUM - 1205」になります。
超過勤務計算レポートに、新規の超過勤務項目が発生した従業員を表示します。
超過勤務計算機能拡張の処理が完了すると、労務費の配分プロセスが新規の超過勤務項目を原価計算します。
機能拡張は、次の項目で識別されます。
項目 | 名称 |
---|---|
本体テンプレート | PAXDLCOB.pls |
仕様テンプレート | PAXDLCOS.pls |
パッケージ | pa_calc_overtime |
超過勤務計算レポートは、労務費の配分プロセスによって生成される出力レポートで、超過勤務計算機能拡張のプロシージャを使用しています。このレポートは、超過勤務計算機能拡張を実装している場合にのみ生成されます。
テンプレート・レポートの名称はPAXDLIOT.rdfです。このファイルはOracle Projectsのレポート・ディレクトリにあります。このレポートを変更する必要はありません。超過勤務計算機能拡張のテンプレート・パッケージに収録されているPL/SQLプロシージャのみを変更する必要があります。「場所およびパッケージ名」を参照してください。
次の図に、超過勤務計算レポートの構造を示します。図の中では、会社の超過勤務ルールを実装するために変更する可能性が高いプロシージャに、アスタリスク(*)の印が付いています。
レポートは、最初にCheck_Overtime_Tasks_Existプロシージャを呼び出します。このプロシージャは、超過勤務のプロジェクトとタスクを検索し、関連するタスク名を最大5つまで返します。レポートの列のタイトルは、このタスクによって決まります。
次に、レポートは労務費の配分プロセスによって処理されたすべてのレコードをデータベースに問い合せてから、Process_Overtimeプロシージャを呼び出します。このプロシージャは、従業員および期間ごとの超過勤務の時間数とタイプを判定し、この値に応じた新しい支出項目を作成し、呼出し元のレポートに値を返します。
Calc_OvertimeプロシージャおよびCalc_Daily_Overtimeプロシージャは、Process_Overtimeプロシージャが使用するプロシージャです。カスタマイズする機能拡張では、これらのプロシージャを使用するかどうかを選択できます。
当初取引に変更があれば、機能拡張を使用して、その変更に関連する超過勤務を修正する必要があります。この場合には、Process_Overtimeプロシージャを使用して、新規の超過勤務レコードを作成する方法が最適です。このプロシージャは、Oracle Projects表の挿入や更新をすべて処理できるためです。
最後に、レポートは、Create_Status_Recordプロシージャを呼び出します。このプロシージャは、PAXDLCOT.rdfというレポートから呼び出されて、超過勤務計算プログラム用のステータス・レコードを作成します。原価計算プログラムは、このレコードの情報をもとに、超過勤務計算プログラムが完了したかどうかを識別します。
関連トピック
『Oracle Project Costing User Guide』の超過勤務の追跡の概要に関する項
間接費原価計算クライアント機能拡張を使用して、間接費予定表IDを上書きします。
間接費原価計算機能拡張は、原価配分の処理時にOracle Projectsから呼び出されます。間接費予定表割当のビジネス・ルールに合わせて、この機能拡張を変更できます。
機能拡張は、次の項目で識別されます。
項目 | 名称 |
---|---|
仕様テンプレート | PAXCCEBS.pls |
本体テンプレート | PAXCCEBB.pls |
パッケージ | pa_client_extn_burden |
プロシージャ | override_rate_rev_id |
重要: 機能拡張プロシージャまたはパラメータの名称を変更しないでください。また、プロシージャのパラメータ・タイプまたはパラメータの順序を変更しないでください。プロシージャの記述後に、それをコンパイルし、データベースに格納します。詳細は、「PL/SQLプロシージャの記述」を参照してください。
間接費予定表IDの上書きのプロシージャ(override_rate_rev_id)は、間接費予定表を取引に割り当てます。
このプロシージャのすべてのパラメータの説明は、Oracle Integration Repositoryで表示できます。Oracle Integration Repositoryは、このマニュアルの「はじめに」で説明されています。
関連トピック
『Oracle Projects基礎』のプロジェクトおよびタスク・オプションの入力に関する項
『Oracle Projectsインプリメンテーション・ガイド』のレート予定表に関する項
間接費資源機能拡張を使用すると、資源分解構造内の同じ計画資源の配下に、要約間接費取引およびそのソース直接費取引が出力されるように、間接費取引のレポート作成を制御できます。
この機能拡張には、次の項目が含まれています。
項目 | 名称 |
---|---|
本体テンプレート | PAXBRGCB.pls |
仕様テンプレート | PAXBRGCS.pls |
パッケージ | PA_CLIENT_EXTN_BURDEN_RESOURCE |
ファンクション | CLIENT_GROUPING |
プロシージャ | CLIENT_COLUMN_VALUES |
CLIENT_GOUPINGファンクションは、パラメータ値の文字列を連結したVARCHAR2値を返します。各取引のグループ化に使用する属性を元に返す文字列を作成するように、このファンクションをカスタマイズできます。この文字列は、追加のグループ化基準として使用できます。
CLIENT_COLUMN_VALUESプロシージャは、CLIENT_GROUPINGファンクションと連携して動作します。このプロシージャは、CLIENT_GROUPINGファンクションでは追加グループ化基準として使用されないパラメータには、NULLを返します。
このプロシージャのパラメータの説明は、Oracle Integration Repositoryで表示できます。Oracle Integration Repositoryは、このマニュアルの「はじめに」で説明されています。
配賦機能拡張を使用すると、配賦に関する機能を拡張できます。
それぞれの配賦機能拡張にはサンプルが収録されており、そのサンプルをコピーしたり変更することができます。
配賦機能拡張には次の種類があります。
この機能拡張は、ソース・プロジェクトとソース・タスクを定義します。「ソース」ウィンドウの「クライアント機能拡張ソースを使用」が選択されている場合に、このプロシージャが呼び出されます。
ソース・プールの作成時に、プロジェクトまたはタスクを一時的に処理対象に設定したり、処理対象から除外する場合に、配賦ソース機能拡張を使用します。また、ソース・プロジェクトのリストは量が多いため、機能拡張ファイルでこのリストを管理する方が、「ソース」ウィンドウで管理するよりも便利です。
配賦のrule_idごとに、クライアントは、データ型表alloc_source_tabtypeのグローバル・セッション変数x_source_proj_tasks_tblを移入します。配賦実行プロセスは、この表を読み込み、ルールを使用する配賦実行のソースとしてプロジェクトとタスクを使用します。このプロジェクトとタスクは、ソース明細に指定されているプロジェクトとタスクに追加されます。
機能拡張には、次の項目が含まれています。
項目 | 名称 |
---|---|
本体テンプレート | PAPALCCB.pls |
仕様テンプレート | PAPALCCS.pls |
パッケージ | pa_client_extn_alloc |
プロシージャ | source_extn |
重要: 機能拡張プロシージャまたはパラメータの名称を変更しないでください。また、プロシージャのパラメータ・タイプまたはパラメータの順序を変更しないでください。プロシージャの記述後に、それをコンパイルし、データベースに格納します。詳細は、「PL/SQLプロシージャの記述」を参照してください。
次のビジネス・ルールがこの機能拡張に適用されます。
ソース・プロジェクトと配賦ルールは、同じ営業単位に基づいていること。
ソース・タスクは最上位または最下位のタスクであること。
このプロシージャのパラメータは、Oracle Integration Repositoryで表示できます。Oracle Integration Repositoryは、このマニュアルの「はじめに」で説明されています。
データ型alloc_source_tabtypeのパラメータを次に示します。
パラメータ | タイプ | 説明 |
---|---|---|
PROJECT_ID | NUMBER | ソース・プロジェクトの識別子(必須)。 |
TASK_ID | NUMBER | ソース・タスクの識別子。 |
EXCLUDE_FLAG | VARCHAR2(1) | 除外フラグ(デフォルトはN)。値がYの場合には、プロジェクトとタスクはソース・プロジェクトとソース・タスクから除外されます。 |
配賦取引の生成プロセスの検証内容は次のとおりです。
pa_projects単一組織ビューに対するproject_idの検証
プロジェクトがオープンかどうか(pa_project_stus_utils.is_project_closed(project_id) ='N'かつtemplate_flag ='Y'を満たしているかどうか)の検証
pa_alloc_src_tasks_vビューに対するtask_idの検証
タスクがソース・プロジェクトに属しているかどうかの検証
検証に失敗した場合、配賦取引の生成プロセスは、「クライアント機能拡張は無効なプロジェクトまたはタスクを返しました。」というメッセージを表示します。
この機能拡張は、ターゲット・プロジェクトとターゲット・タスクを定義します。「ターゲット」ウィンドウの「クライアント機能拡張ターゲットを使用」が選択されている場合に、この機能拡張が呼び出されます。
ターゲット・プロジェクトとターゲット・タスクに金額を配賦するときに、プロジェクトまたはタスクを一時的に処理対象に設定したり、処理対象から除外する場合に、配賦ターゲット機能拡張を使用します。また、ターゲット・プロジェクトのリストは量が多いため、機能拡張ファイルでこのリストを管理する方が、「ターゲット」ウィンドウで管理するよりも便利です。
配賦のrule_idごとに、クライアントは、データ型表alloc_target_tabtypeのグローバル・セッション変数x_target_proj_task_tblを移入します。配賦実行プロセスは、この表を読み込み、配賦実行のターゲットとして、指定されたプロジェクトと賦課可能なタスクを使用します。システムは、機能拡張に指定されているプロジェクトとタスクを両方とも使用します。また、「ターゲット」ウィンドウに指定されているプロジェクトとタスクも使用します。
機能拡張には、次の項目が含まれています。
項目 | 名称 |
---|---|
本体テンプレート | PAPALCCB.pls |
仕様テンプレート | PAPALCCS.pls |
パッケージ | pa_client_extn_alloc |
プロシージャ | target_extn |
このプロシージャのパラメータは、Oracle Integration Repositoryで表示できます。Oracle Integration Repositoryは、このマニュアルの「はじめに」で説明されています。
配賦ターゲット機能拡張のパラメータには、alloc_target_tabtypeというデータ型があります。このデータ型のパラメータは次のとおりです。
パラメータ | タイプ | 説明 |
---|---|---|
PROJECT_ID | NUMBER | ターゲット・プロジェクトを識別します(必須)。相互賦課が有効な場合は、ターゲット・プロジェクトとソース・プロジェクトは別々の営業単位の中に存在している可能性があります。 |
TASK_ID | NUMBER | ターゲット・タスクを識別します(タスクは賦課可能であること)。 |
PERCENT | NUMBER | このターゲットに配賦されたプール金額のパーセント。0から100までの数値で表現されます(たとえば、45%の場合は、.45ではなく、45と表現されます)。NVL (percent,0)。パーセント・パラメータの説明を参照してください。 |
EXCLUDE_FLAG | VARCHAR2(1) | デフォルトはNですが、値がYの場合、プロジェクトとタスクは、ターゲット・プロジェクトとターゲット・タスクから除外されます。 |
ルールにターゲットのパーセントを設定する場合は、「ターゲット」ウィンドウまたは機能拡張のいずれかにそのパーセントを指定します。両方には指定しないようにしてください。次の条件にすべて合致する場合は、ルールにターゲットのパーセントを設定しても、配賦取引の生成プロセスからは無視されます。
配賦ルールの基準方法が、「%を設定して均等分割」または「%を設定して按分」。
ルールの「ターゲット」ウィンドウが、ターゲット明細を表示。
クライアント機能拡張がターゲットのパーセントを返す。
配賦取引の生成プロセスの検証内容は次のとおりです。
pa_alloc_target_proj_vビューに対するproject_idの検証
pa_alloc_tgt_tasks_vビューに対するtask_idの検証
タスクがターゲット・プロジェクトに属しているかどうかの検証
検証に失敗した場合、配賦取引の生成プロセスは、「クライアント機能拡張は無効なプロジェクトまたはタスクを返しました。」というメッセージを表示します。
この機能拡張は、オフセット・タスクを定義します。「オフセット」ウィンドウの「タスクにクライアント機能拡張を使用」が選択されている場合は、このプロシージャが呼び出されます。一部のソース・タスクを限定的に相殺する場合に、配賦オフセット・タスク機能拡張を使用します。
機能拡張には、次の項目が含まれています。
項目 | 名称 |
---|---|
本体テンプレート | PAPALCCB.pls |
仕様テンプレート | PAPALCCS.pls |
パッケージ | pa_client_extn_alloc |
プロシージャ | offset_task_extn |
このプロシージャのパラメータは、Oracle Integration Repositoryで表示できます。Oracle Integration Repositoryは、このマニュアルの「はじめに」で説明されています。
配賦取引の生成プロセスの検証内容は次のとおりです。
pa_alloc_tgt_tasks_vに対するtask_idの検証
返されたタスクが、入力パラメータに指定されたオフセット・プロジェクトに属しているかどうかの検証
検証に失敗した場合、配賦取引の生成プロセスは、「クライアント機能拡張は無効なプロジェクトまたはタスクを返しました。」というメッセージを返します。
この機能拡張は、オフセット・プロジェクトとオプセット・タスクを定義します。「オフセット」ウィンドウの「プロジェクトおよびタスクにクライアント機能拡張を使用」が選択されている場合に、この機能拡張が呼び出されます。
この機能拡張では、「ソース」ウィンドウで定義されていないプロジェクトやタスクを指定できます。
配賦のrule_idごとに、クライアントは、データ型表alloc_offset_tabtypeのグローバル・セッション変数x_offset_proj_task_tblを移入します。配賦実行プロセスは、この表を読み込んで配賦実行の対象となるオフセット・プロジェクト、オフセット・タスクおよびオフセット金額を取得します。それぞれのオフセット・プロジェクトとオフセット・タスクに割り当てられたオフセット金額を合計すると、合計オフセット金額(p_offset_amount)と等しくなります。
機能拡張には、次の項目が含まれています。
項目 | 名称 |
---|---|
本体テンプレート | PAPALCCB.pls |
仕様テンプレート | PAPALCCS.pls |
パッケージ | pa_client_extn_alloc |
プロシージャ | offset_extn |
このプロシージャのパラメータは、Oracle Integration Repositoryで表示できます。Oracle Integration Repositoryは、このマニュアルの「はじめに」で説明されています。
配賦ターゲット機能拡張のパラメータには、alloc_offset_tabtypeというデータ型があります。このデータ型のパラメータは次のとおりです。
パラメータ | タイプ | 説明 |
---|---|---|
PROJECT_ID | NUMBER | オフセット・プロジェクトを識別します(必須)。オフセット・プロジェクトと配賦ルールは、同じ営業単位に基づいている必要があります。また、オフセット・プロジェクトでは、新規取引を許可できるようにする必要があります。 |
TASK_ID | NUMBER | オフセット・タスクを識別します(必須)。オフセット・タスクは賦課可能である必要があります。 |
OFFSET_AMOUNT | NUMBER | このプロジェクトとタスクに配賦された金額(必須)。Nvl(offset_amount,0)。 |
配賦取引の生成プロセスの検証内容は次のとおりです。
pa_projects単一組織ビューに対するproject_idの検証
プロジェクトで新規取引が許可されているかどうか(pa_project_utils.check_prj_stus_action_allowed (project_status_code,'NEW_TXNS')='Y'かつtemplate_flag !='Y'を満たしているかどうか)の検証
pa_alloc_tgt_tasks_vに対するtask_idの検証
タスクがオフセット・プロジェクトに属しているかどうかの検証
クライアント機能拡張のオフセット金額の合計が、p_offset_amountと等しいかどうかの検証
検証に失敗した場合、配賦取引の生成プロセスは、次のメッセージのいずれかを表示します。
クライアント機能拡張は無効なプロジェクトまたはタスクを返しました。
オフセット・クライアント機能拡張から返されたオフセット金額の合計は、クライアント機能拡張に渡された合計オフセット金額と異なります。
「配賦ルール」ウィンドウの「クライアント機能拡張基準を使用」が選択されている場合に、この機能拡張が呼び出されます。また、配賦実行中に、それぞれのターゲット・プロジェクトとターゲット・タスクの基準額を取得するプロシージャが、システムから呼び出されます。
ターゲット・プロジェクトとターゲット・タスクの基準レートの計算に、ターゲットの原価とは異なる金額を使用する場合に、配賦基準機能拡張を使用します。たとえば、特定の部署の従業員数、または床面積を基準にして計算する場合です。
機能拡張には、次の項目が含まれています。
項目 | 名称 |
---|---|
本体テンプレート | PAPALCCB.pls |
仕様テンプレート | PAPALCCS.pls |
パッケージ | pa_client_extn_alloc |
プロシージャ | basis_extn |
このプロシージャのパラメータは、Oracle Integration Repositoryで表示できます。Oracle Integration Repositoryは、このマニュアルの「はじめに」で説明されています。
配賦取引の生成プロセスは、クライアント機能拡張から返された基準額の合計を検証します。
検証に失敗した場合、配賦取引の生成プロセスは「基準額合計は0にできません。配賦を実行できません。」というメッセージを表示します。
配賦付加フレックスフィールド機能拡張を使用して、配賦ルールの定義時に使用する付加フレックスフィールドを定義します。定義した付加フレックスフィールドは、配賦取引とオフセット取引の作成に使用されます。
Oracle Projectsは、各取引を作成する前に、この機能拡張を呼び出します。機能拡張に付加フレックスフィールドの値が指定されている場合は、取引の作成にその値が使用されます。
機能拡張には、次の項目が含まれています。
項目 | 名称 |
---|---|
本体テンプレート | PAPALCCB.pls |
仕様テンプレート | PAPALCCS.pls |
パッケージ | pa_client_extn_alloc |
プロシージャ | txn_dff_extn |
このプロシージャのパラメータは、Oracle Integration Repositoryで表示できます。Oracle Integration Repositoryは、このマニュアルの「はじめに」で説明されています。
配賦依存性機能拡張を使用して、選択したビジネス・ルールに準拠しているかどうかを検証します。たとえば、特定のプロジェクトまたはタスクがソース・プールに含まれていないことを確認したり、特定のルールが適用された過去の配賦実行を確認できます。
Oracle Projectsは、配賦ルールを処理する前に、この機能拡張を呼び出します。ステータス・コードがゼロになっており、機能拡張に指定されている依存性を満たす場合は、プロセスは配賦実行を作成します。ステータス・コードがゼロ以外の場合は、x_messageパラメータに指定されたメッセージが表示されます。
機能拡張には、次の項目が含まれています。
項目 | 名称 |
---|---|
本体テンプレート | PAPALCCB.pls |
仕様テンプレート | PAPALCCS.pls |
パッケージ | pa_client_extn_alloc |
プロシージャ | check_dependency |
この機能拡張では、次のパラメータを使用します。
パラメータ | 使用 | タイプ | 説明 |
---|---|---|---|
P_ALLOC_RULE_ID | IN | NUMBER | 配賦ルールを識別します(必須)。 |
X_STATUS | OUT NOCOPY | NUMBER | エラーの種別を表すコード(必須)。 =0: 検証をパス <0: Oracleエラー(メッセージはログ・ファイルに記録) >0: アプリケーション・エラー |
X_ERROR_MESSAGE | OUT NOCOPY | VARCHAR2(30) | エラー・メッセージのテキスト。 |
関連トピック
『Oracle Project Costing User Guide』の配賦に関する項
この機能拡張を使用すると、複数のプロジェクト資産の未割当原価と共通原価を配賦するときの独自の配賦基準を定義できます。
機能拡張は、次の項目で識別されます。
項目 | 名称 |
---|---|
本体テンプレート | PACCXAAB.pls |
仕様テンプレート | PACCXAAS.pls |
パッケージ | pa_client_extn_asset_alloc |
プロシージャ | asset_alloc_basis |
重要: 機能拡張プロシージャまたはパラメータの名称を変更しないでください。また、プロシージャのパラメータ・タイプまたはパラメータの順序を変更しないでください。プロシージャの記述後に、それをコンパイルし、データベースに格納します。詳細は、「PL/SQLプロシージャの記述」を参照してください。
この機能拡張は、PA_ASSET_ALLOCATION_PVT.ALLOCATE_UNASSIGNEDプロシージャから呼び出されます。プロジェクト(またはバッチ)の「資産配賦方法」がCE(クライアント機能拡張基準)の「未割当」資産明細ごとに、この機能拡張が1回ずつ呼び出されます。この機能拡張を使用すると、配列内の資産ごとの「基準額合計」と「資産基準額」を決定できます。
p_asset_basis_tableがクライアント機能拡張プロシージャに渡されます。これは、2進整数で索引付けされている表で、次の3つの列で構成されます。
PROJECT_ASSET_ID NUMBER;
ASSET_BASIS_AMOUNT NUMBER
TOTAL_BASIS_AMOUNT NUMBER
この表には、「プロジェクト資産ID」の値が移入されています。この値は、「グループ・レベル」や「資産割当」で現在の資産明細が「未割当」の資産と同じです。基準額の列がゼロになっていることがありますが、この機能拡張によって決定される値で置き換えられます。「基準額合計」の値は、表の各行と一致している必要があります。資産ごとの基準額を決定するロジックを作成します。
プロジェクト資産ごとに次の検証が実行されます。
各プロジェクト資産IDがプロジェクトで有効かどうか。
「事業供用日」が指定されているかどうか。
「資産保留」フラグがNに設定されているかどうか。Nの場合、その資産は新規の資産明細生成が可能です。
資本資産明細(明細タイプがC)の「プロジェクト資産タイプ」がAS-BUILTになっているかどうか。
除・売却原価資産明細(明細タイプがR)の「プロジェクト資産タイプ」がRETIREMENT_ADJUSTMENTになっているかどうか。
P_ASSET_BASIS表の資産を変更または表に資産を追加した場合には、資産ごとに前述の条件に合致するかどうかを確認する必要があります。
この他に次の検証も実行されます。
「基準額合計」がゼロになっていないかどうか(ゼロで除算しないようにするため)。
各資産の基準額がNULLまたは負になっていないかどうか。
配列内の各プロジェクト資産が同じ「基準額合計」を参照しているかどうか。
資産基準額の合計が「基準額合計」と同じかどうか。
「基準額合計」の値は、表の資産基準額の合計と一致し、各行に格納されます。資産配賦では、各プロジェクト資産の資産基準額/基準額合計が使用されて、「未割当」資産明細ごとの金額が按分されます。
プロシージャ名は、asset_alloc_basisです。
このプロシージャを使用して、複数のプロジェクト資産の未割当原価と共通原価を配賦するときの独自の配賦基準を定義できます。Oracle Projectsでは、このプロシージャを呼び出して、「資産情報」ウィンドウでクライアント機能拡張の資産原価配賦方法が指定されているプロジェクトに原価を配賦します。
このプロシージャのパラメータは、Oracle Integration Repositoryで表示できます。Oracle Integration Repositoryは、このマニュアルの「はじめに」で説明されています。
関連トピック
『Oracle Project Costing User Guide』の資産原価の配賦に関する項
資産明細の生成プロセスではタスクに資産を割り当てることができない場合は、レポートの「資産名」列で、その明細が「UNASSIGNED」と表示されます。
Oracle Projectsは、次の場合に資産割当機能拡張を呼び出します。
未割当の資産すべてに対して。特定タスクの資産(資産明細)を指定するように機能拡張を変更できるため、「UNASSIGNED」の指定を回避したり、手作業で資産を明細に割り当てることができます。
「プロジェクト・タイプ」ウィンドウ(「資産計上」タブ)の「資産割当の上書き」チェック・ボックスが選択されている場合。特定のタスクに割り当てられている資産を上書きするように機能拡張を変更できます。
資産を指定するときの要件は次のとおりです。
資産明細の生成プロセスの事業供用期限日で指定された日付よりも前に事業供用されていること。
特定されるタスクが同じプロジェクトに属していること。
この機能拡張にはサンプルが収録されており、そのサンプルをコピーしたり変更することができます。
機能拡張には、次の項目が含まれています。
項目 | 名称 |
---|---|
本体テンプレート | PAPGALCB.pls |
仕様テンプレート | PAPGALCS.pls |
パッケージ | pa_client_extn_gen_asset_lines |
プロシージャ | client_asset_assignment |
重要: 機能拡張プロシージャまたはパラメータの名称を変更しないでください。また、プロシージャのパラメータ・タイプまたはパラメータの順序を変更しないでください。プロシージャの記述後に、それをコンパイルし、データベースに格納します。詳細は、「PL/SQLプロシージャの記述」を参照してください。
このプロシージャのパラメータは、Oracle Integration Repositoryで表示できます。Oracle Integration Repositoryは、このマニュアルの「はじめに」で説明されています。
PRC: 資産明細の生成プロセスの実行時に例外が発生しないように、クライアント機能拡張の本体で資産識別子(asset_id)を検証できます。
クライアント機能拡張の本体で検証しない場合は、機能拡張から返された資産識別子が検証されます。「資産明細の生成」例外レポートに、検証で失敗した明細が表示されます。
関連トピック
『Oracle Projects基礎』の資産明細の生成に関する項
この機能拡張は、資産明細が生成されたプロジェクトごとに「PRC: 単一プロジェクトの資産明細の生成」プロセスまたは「PRC: プロジェクト範囲の資産明細の生成」プロセスから呼び出されます。この機能拡張を使用すると、資産明細が作成される前に、プロジェクトに入力された取引データ(在庫出庫先や仕入先請求書など)に基づいて、プロジェクト資産(資本資産および除・売却修正資産)と資産割当を自動的に作成できます。
機能拡張には、次の項目が含まれています。
項目 | 名称 |
---|---|
本体テンプレート | PACCXACB.pls |
仕様テンプレート | PACCXACS.pls |
パッケージ | pa_client_extn_asset_creation |
プロシージャ | create_project_assets |
重要: 機能拡張プロシージャまたはパラメータの名称を変更しないでください。また、プロシージャのパラメータ・タイプまたはパラメータの順序を変更しないでください。プロシージャの記述後に、それをコンパイルし、データベースに格納します。詳細は、「PL/SQLプロシージャの記述」を参照してください。
プロシージャ名は、create_project_assetsです。
「PRC: 単一プロジェクトの資産明細の生成」プロセスまたは「PRC: プロジェクト範囲の資産明細の生成」プロセスを発行すると、資産明細が作成される前に、このプロシージャがプロジェクトごとに呼び出されます。この機能拡張を使用すると、資産明細が作成される前に、プロジェクトに入力された取引データ(在庫出庫先や仕入先請求書など)に基づいて、プロジェクト資産(資本資産および除・売却修正資産)と資産割当を自動的に作成できます。
このプロシージャのパラメータは、Oracle Integration Repositoryで表示できます。Oracle Integration Repositoryは、このマニュアルの「はじめに」で説明されています。
関連トピック
『Oracle Project Costing User Guide』の要約資産明細の生成に関する項
『Oracle Projects基礎』の資産明細の生成に関する項
この機能拡張は、資産イベントが生成されたプロジェクトごとに「PRC: 定期資産イベントの作成」プロセスから呼び出されます。この機能拡張を使用すると、資産イベントが作成される前に、プロジェクトに入力された取引データ(在庫出庫先や仕入先請求書など)に基づいて、プロジェクト資産(資本資産および除・売却修正資産)と資産割当を自動的に作成できます。
機能拡張には、次の項目が含まれています。
項目 | 名称 |
---|---|
本体テンプレート | PACCXCBB.pls |
仕様テンプレート | PACCXCBS.pls |
パッケージ | pa_client_extn_pre_cap_event |
プロシージャ | pre_capital_event |
重要: 機能拡張プロシージャまたはパラメータの名称を変更しないでください。また、プロシージャのパラメータ・タイプまたはパラメータの順序を変更しないでください。プロシージャの記述後に、それをコンパイルし、データベースに格納します。詳細は、「PL/SQLプロシージャの記述」を参照してください。
プロシージャ名は、pre_capital_eventです。
「PRC: 定期資産イベントの作成」プロセスを発行すると、資産イベントが作成される前に、このプロシージャがプロジェクトごとに呼び出されます。この機能拡張を使用すると、資産イベントが作成される前に、プロジェクトに入力された取引データ(在庫出庫先や仕入先請求書など)に基づいて、プロジェクト資産(資本資産および除・売却修正資産)と資産割当を自動的に作成できます。
このプロシージャのパラメータは、Oracle Integration Repositoryで表示できます。Oracle Integration Repositoryは、このマニュアルの「はじめに」で説明されています。
関連トピック
『Oracle Project Costing User Guide』の資産イベントの作成に関する項
『Oracle Projects基礎』の定期資産イベントの作成に関する項
資産計上利息クライアント機能拡張を使用すると、資産計上利息計算プロセスをカスタマイズできます。
機能拡張には、次の項目が含まれています。
項目 | 名称 |
---|---|
本体テンプレート | PACINTXB.pls |
仕様テンプレート | PACINTXS.pls |
パッケージ | pa_client_extn_cap_int |
重要: 機能拡張プロシージャまたはパラメータの名称を変更しないでください。また、プロシージャのパラメータ・タイプまたはパラメータの順序を変更しないでください。プロシージャの記述後に、それをコンパイルし、データベースに格納します。詳細は、「PL/SQLプロシージャの記述」を参照してください。
ここでは、資産計上利息クライアント機能拡張のプロシージャを説明します。
これらのプロシージャのパラメータは、Oracle Integration Repositoryで表示できます。Oracle Integration Repositoryは、このマニュアルの「はじめに」で説明されています。
プロシージャ名は、get_target_taskです。
ターゲット・タスク上書きのプロシージャを使用すると、資産計上利息取引を特定のタスクにリダイレクトできます。
プロシージャ名は、expenditure_orgです。
支出組織のプロシージャを使用すると、ソース・プロジェクト所有組織やソース・タスク所有組織以外の組織を、生成済取引の支出組織として指定できます。
プロシージャ名は、rate_multiplierです。
利息レート乗数上書きのプロシージャを使用すると、レート名やタスク所有組織に応じた複数の利息レート乗数を定義できます。
プロシージャ名は、calculate_cap_interestです。
利息上書きのプロシージャを使用すると、独自の資産計上利息計算を定義できます。
プロシージャ名はcheck_thresholdsです。
利息しきい値のプロシージャを使用すると、営業単位よりも下位のレベルの期間と金額のしきい値を定義できます。
プロシージャ名は、grouping_methodです。このグループ化方法のプロシージャでは、グループ化基準を指定できます。
プロシージャ名は、get_txn_attributeです。この取引属性取得のプロシージャを使用すると、取引属性の列の移入内容を制御できます。
関連トピック
『Oracle Project Costing User Guide』の利息の資産計上に関する項
『Oracle Projectsインプリメンテーション・ガイド』の資産計上利息に関する項
CIP(建設仮勘定)グループ化機能拡張を使用して、支出明細を資産明細にグループ化するときの会社独自の方法を定義します。
Oracle Projectsでは、5つのCIPグループ化方法が事前定義されていますが、どの方法も会社のビジネス・ニーズに適さない場合は、このクライアント機能拡張を使用して、独自のCIPグループ化方法を作成します。機能拡張を作成して、グループ化方法をプロジェクトごとに割り当てることができますが、「プロジェクト・タイプ」ウィンドウの「資産計上」タブの「クライアント機能拡張でグループ化」グループ化方法を選択しておく必要があります。
資産明細の生成プロセスの実行時に、CIPグループ化機能拡張が呼び出されます。
機能拡張は、次の項目で識別されます。
項目 | 名称 |
---|---|
仕様テンプレート | PAXGCES.pls |
本体テンプレート | PAXGCEB.pls |
パッケージ | pa_client_exten_cip_grouping |
ファンクション | client_grouping_method |
重要: 機能拡張プロシージャまたはパラメータの名称を変更しないでください。また、プロシージャのパラメータ・タイプまたはパラメータの順序を変更しないでください。プロシージャの記述後に、それをコンパイルし、データベースに格納します。詳細は、「PL/SQLプロシージャの記述」を参照してください。
このファンクションのパラメータは、Oracle Integration Repositoryで表示できます。Oracle Integration Repositoryは、このマニュアルの「はじめに」で説明されています。
本体テンプレート(PAXGCEB.pls)には、CIPグループ化方法を定義するPL/SQLプロシージャのサンプルが収録されています。サンプルのグループ化方法では、資産明細が資材支出と非資材支出にグループ化されます。
サンプル・プロシージャを次に示します。
CREATE OR REPLACE
Package BODY PA_CLIENT_EXTEN_CIP_GROUPING
AS
FUNCTION CLIENT_GROUPING_METHOD(
p_proj_id IN PA_PROJECTS_ALL.project_id%TYPE,
p_task_id IN PA_TASKS.task_id%TYPE,
p_expnd_item_id IN PA_EXPENDITURE_ITEMS_ALL.expenditure_item_id%TYPE,
p_expnd_id IN PA_EXPENDITURE_ITEMS_ALL.expenditure_id%TYPE,
p_expnd_type IN PA_EXPENDITURE_TYPES.expenditure_type%TYPE,
p_expnd_category IN PA_EXPENDITURE_CATEGORIES.expenditure_category%TYPE,
p_attribute1 IN PA_EXPENDITURE_ITEMS_ALL.attribute1%TYPE,
p_attribute2 IN PA_EXPENDITURE_ITEMS_ALL.attribute1%TYPE,
p_attribute3 IN PA_EXPENDITURE_ITEMS_ALL.attribute1%TYPE,
p_attribute4 IN PA_EXPENDITURE_ITEMS_ALL.attribute1%TYPE,
p_attribute5 IN PA_EXPENDITURE_ITEMS_ALL.attribute1%TYPE,
p_attribute6 IN PA_EXPENDITURE_ITEMS_ALL.attribute1%TYPE,
p_attribute7 IN PA_EXPENDITURE_ITEMS_ALL.attribute1%TYPE,
p_attribute8 IN PA_EXPENDITURE_ITEMS_ALL.attribute1%TYPE,
p_attribute9 IN PA_EXPENDITURE_ITEMS_ALL.attribute1%TYPE,
p_attribute10 IN PA_EXPENDITURE_ITEMS_ALL.attribute1%TYPE,
p_attribute_category IN PA_EXPENDITURE_ITEMS_ALL.attribute_category%TYPE,
p_transaction_source IN PA_EXPENDITURE_ITEMS_ALL.transaction_source%TYPE)
return VARCHAR2 IS
v_grouping_method varchar2(2000);
v_material_flag pa_expenditure_types.attribute10%TYPE;
BEGIN
/*Assume CIP grouping method is by default made up of attribute 6 to attribute
10 in the following order:8,9,10,6,7 */
v_grouping_method := p_attribute8||p_attribute9||p_attribute10||
p_attribute6||p_attribute7;
/* In addition, the grouping method may have either expenditure type or
material flag appended to it */
/* If you want to further classify the grouping method by material flag, do the
following and comment the ’grouping by expenditure type’ section*/
Select attribute10 into v_material_flag
From PA_EXPENDITURE_TYPES
Where expenditure_type = p_expnd_type;
if (v_material_flag is not null ) then
v_grouping_method := v_grouping_method || v_material_flag;
end if;
/* If you want to further classify the grouping method by Expenditure Type,
uncomment the following and comment ’grouping by material
flag’ section */
–– v_grouping_method := v_grouping_method || p_expnd_type
/* If grouping method is null then return ALL*/
IF v_grouping_method is null then
v_grouping_method := ’ALL’;
end if;
return v_grouping_method;
––––v_grouping_method stores the grouping method to be returned by the function
EXCEPTION
WHEN OTHERS THEN
null;
END;
END PA_CLIENT_EXTEN_CIP_GROUPING;
/
commit;
exit;
関連トピック
『Oracle Projectsインプリメンテーション・ガイド』のプロジェクト・タイプの資産計上情報に関する項
『Oracle Project Costing User Guide』のOracle Projectsでの資本資産の作成に関する項
この機能拡張を使用すると、資産明細に関連するCIP勘定を上書きし、CIP精算金額を転記するための別の勘定科目を指定できます。これにより、次の処理が可能になります。
CIP支出の計上に使用する勘定科目とは異なる、CIP金額精算用の勘定科目の使用
当初のCIP原価勘定の詳細の維持
機能拡張には、次の項目が含まれています。
項目 | 名称 |
---|---|
本体テンプレート | PACCXCOB.pls |
仕様テンプレート | PACCXCOS.pls |
パッケージ | pa_client_extn_cip_acct_ovr |
プロシージャ | cip_acct_override |
重要: 機能拡張プロシージャまたはパラメータの名称を変更しないでください。また、プロシージャのパラメータ・タイプまたはパラメータの順序を変更しないでください。プロシージャの記述後に、それをコンパイルし、データベースに格納します。詳細は、「PL/SQLプロシージャの記述」を参照してください。
プロシージャ名は、cip_acct_overrideです。このプロシージャを使用して、資産明細に関連するCIP勘定を上書きし、CIP精算金額を転記するための別の勘定科目を指定できます。PRC: 資産明細の生成プロセスを発行すると、このプロシージャが呼び出されます。
このプロシージャのパラメータは、Oracle Integration Repositoryで表示できます。Oracle Integration Repositoryは、このマニュアルの「はじめに」で説明されています。
関連トピック
『Oracle Project Costing User Guide』のOracle Assetsの資産明細の作成および準備に関する項
この機能拡張を使用すると、プロジェクト資産に割り当てられている減価償却費勘定を導出するロジックを指定できます。この機能拡張には次の項目が含まれています。
項目 | 名称 |
---|---|
本体テンプレート | PACCXDEB.pls |
仕様テンプレート | PACCXDES.pls |
パッケージ | pa_client_extn_deprn_exp_ovr |
プロシージャ | deprn_exp_acct_override |
重要: 機能拡張プロシージャまたはパラメータの名称を変更しないでください。また、プロシージャのパラメータ・タイプまたはパラメータの順序を変更しないでください。プロシージャの記述後に、それをコンパイルし、データベースに格納します。詳細は、「PL/SQLプロシージャの記述」を参照してください。
プロシージャ名は、deprn_exp_acct_overrideです。「資産」および「資産詳細」ウィンドウの更新時と、PRC: 資産のインタフェース・プロセスを発行するときの資産情報の検証時に、このプロシージャが呼び出されます。
「台帳タイプ・コード」と「資産カテゴリ」がNULLでない場合、減価償却費CCIDが移入されているかどうかを、PRC: 資産のインタフェース・プロセスが検証する前に、この機能拡張が呼び出されます。有効な値が返されると、プロジェクト資産の値が更新されます。
機能拡張は、返された新しい値が現在の勘定体系に対して有効なCCIDかどうかを確認するプロシージャを呼び出します。
このプロシージャのパラメータは、Oracle Integration Repositoryで表示できます。Oracle Integration Repositoryは、このマニュアルの「はじめに」で説明されています。
関連トピック
『Oracle Project Costing User Guide』の資産の定義および処理に関する項
『Oracle Projects基礎』の資産のインタフェースに関する項
相互賦課機能の様々な要件に対応するビジネス・ルールを実装するために、次のクライアント機能拡張を使用できます。
関連トピック
このクライアント機能拡張を使用すると、資源とプロジェクトを割り当てるレベルよりも高いレベルの組織階層で、相互賦課ルールを実施できます。したがって、企業の全組織に対するビジネス・ルールの実施と管理を一元化できます。
システムは、取引の送り側および受け側の組織に基づいて、相互賦課の取引を識別します。これらの組織のデフォルト値は、次の組織に基づいて導出されます。
送り側組織: 使用取引の支出組織または非労務資源組織
受け側組織: 取引の賦課先のタスクを所有する組織
相互賦課の識別方法を上書きするには、該当する送り側および受け側の組織を導出するために、できるだけ上位の組織階層を使用するように機能拡張を記述し、取引が相互賦課取引になるかどうかを判別します。
相互賦課取引を変更するときに、原価配分プロセスを実行するか、または「支出項目」ウィンドウを使用する場合は、その取引のデフォルトの送り側および受け側の組織が特定されてから、機能拡張が呼び出されます。
機能拡張は、次の項目で識別されます。
項目 | 名称 |
---|---|
本体テンプレート | PACCIXTB.pls |
仕様テンプレート | PAACCIXTS.pls |
パッケージ | PA_CC_IDENT_CLIENT_EXTN |
プロシージャ | override_prvdr_recvr |
重要: 機能拡張プロシージャまたはパラメータの名称を変更しないでください。また、プロシージャのパラメータ・タイプまたはパラメータの順序を変更しないでください。プロシージャの記述後に、それをコンパイルし、データベースに格納します。詳細は、「PL/SQLプロシージャの記述」を参照してください。
このプロシージャのパラメータは、Oracle Integration Repositoryで表示できます。Oracle Integration Repositoryは、このマニュアルの「はじめに」で説明されています。
システムは、返された値がビジネス・グループの有効な組織かどうかを検証します。
相互賦課取引の処理方法を決定するビジネス・ルールを独自に作成できます。この機能拡張では、次の処理を実行できます。
相互賦課処理対象からの特定の相互賦課取引の除外。
相互賦課方法の変更。たとえば、会社間請求から借入および貸出会計に変更できます。
相互賦課取引を修正するために、原価配分プロセスを実行するか、または「支出項目」ウィンドウを使用する場合、システムが実行する処理は次のとおりです。
取引を相互賦課取引として識別します。
相互賦課オプションの設定内容に従って、相互賦課処理方法を決定します。
機能拡張を呼び出します。これにより、相互賦課処理方法を上書きできます。
機能拡張は、次の項目で識別されます。
項目 | 名称 |
---|---|
本体テンプレート | PACCIXTB.pls |
仕様テンプレート | PACCIXTS.pls |
パッケージ | PA_CC_IDENT_CLIENT_EXTN |
プロシージャ | override_cc_processing_method |
重要: 機能拡張プロシージャまたはパラメータの名称を変更しないでください。また、プロシージャのパラメータ・タイプまたはパラメータの順序を変更しないでください。プロシージャの記述後に、それをコンパイルし、データベースに格納します。詳細は、「PL/SQLプロシージャの記述」を参照してください。
取引が相互賦課取引であることが前提です。
このプロシージャのパラメータは、Oracle Integration Repositoryで表示できます。Oracle Integration Repositoryは、このマニュアルの「はじめに」で説明されています。
システムは、次のルールに違反していないかどうか、相互賦課コードに返された値を検証します。
相互賦課タイプ | 可能な処理方法 |
---|---|
内部営業単位(単一の営業単位内) | 借入および貸出 なし(処理しない) |
営業単位間(単一の法的エンティティ内の営業単位間) | 会社間請求 借入および貸出 なし(処理しない) |
会社間(法的エンティティ間) | 会社間請求 なし(処理しない) |
振替価格の設定により、相互賦課取引に使用される振替価格が決定されますが、必要に応じて、別のビジネス・ルールを適用することもできます。
機能拡張determine_transfer_priceは、処理対象の取引の振替価格を指定します。この機能拡張が有効な振替価格の値を返した場合、振替価格の計算値ではなく、この値が振替価格として使用されます。借入および貸出金額の配分プロセスおよび会社間請求書の生成プロセスは、標準の振替価格決定ルーチンを呼び出す前に、この機能拡張を呼び出します。
その他のタイプの振替価格機能拡張については、「振替価格上書き機能拡張」を参照してください。
この機能拡張は、次の項目で識別されます。
項目 | 名称 |
---|---|
本体テンプレート | PAPTPRCB.pls |
仕様テンプレート | PAPTPRCS.pls |
パッケージ | PA_CC_TP_CLIENT_EXTN |
プロシージャ | determine_transfer_price |
重要: 機能拡張プロシージャまたはパラメータの名称を変更しないでください。また、プロシージャのパラメータ・タイプまたはパラメータの順序を変更しないでください。プロシージャの記述後に、それをコンパイルし、データベースに格納します。詳細は、「PL/SQLプロシージャの記述」を参照してください。
『Oracle Projectsインプリメンテーション・ガイド』の「Oracle Projects実装チェックリスト」、相互賦課 - 会社間請求の設定手順に関する項に記載されている設定手順をすべて完了します。
新規の取引に対して原価配分プロセスを実行するか、「支出項目」ウィンドウを使用して、現行取引の相互賦課を修正します。どちらのプロセスも相互賦課取引を識別します。
取引が相互賦課として識別され、借入と貸出、または会社間の処理に必要な取引が処理されるように、PRC: 借入および貸出金額の配分プロセスまたはPRC: 会社間請求書の生成プロセスを実行します。
このプロシージャのパラメータは、Oracle Integration Repositoryで表示できます。Oracle Integration Repositoryは、このマニュアルの「はじめに」で説明されています。
次の出力監査パラメータに値を1つだけ指定しているかどうかが検証されます。
x_bill_rate
x_bill_markup_percentage
振替価格の設定により、相互賦課取引に使用される振替価格が決定されますが、必要に応じて、別のビジネス・ルールを適用することもできます。適用する場合は、特定の取引を対象に振替価格上書き機能拡張を使用できます。
機能拡張(プロシージャ)override_transfer_priceは、取引の振替価格を上書きします。借入および貸出金額の配分プロセスと会社間請求書の生成プロセスは、「振替価格ルール」および「振替価格予定表」ウィンドウのユーザー設定に従って振替価格を計算し、次にこの機能拡張を呼び出します。
その他のタイプの振替価格機能拡張については、「振替価格決定機能拡張」を参照してください。
この機能拡張は、次の項目で識別されます。
項目 | 名称 |
---|---|
本体テンプレート | PAPTPRCB.pls |
仕様テンプレート | PAPTPRCS.pls |
パッケージ | PA_CC_TP_CLIENT_EXTN |
プロシージャ | override_transfer_price |
重要: 機能拡張プロシージャまたはパラメータの名称を変更しないでください。また、プロシージャのパラメータ・タイプまたはパラメータの順序を変更しないでください。プロシージャの記述後に、それをコンパイルし、データベースに格納します。詳細は、「PL/SQLプロシージャの記述」を参照してください。
『Oracle Projectsインプリメンテーション・ガイド』の「Oracle Projects実装チェックリスト」、相互賦課 - 会社間請求の設定手順に関する項に記載されている設定手順をすべて完了します。
新規の取引に対して原価配分プロセスを実行するか、「支出項目」ウィンドウを使用して、現行取引の相互賦課を修正します。どちらのプロセスも相互賦課取引を識別します。
取引が相互賦課として識別され、借入と貸出、または会社間の処理に必要な取引が処理されるように、PRC: 借入および貸出金額の配分プロセスまたはPRC: 会社間請求書の生成プロセスを実行します。
このプロシージャのパラメータは、Oracle Integration Repositoryで表示できます。Oracle Integration Repositoryは、このマニュアルの「はじめに」で説明されています。
次の出力監査パラメータに値を1つだけ指定しているかどうかが検証されます。
x_bill_rate
x_bill_markup_percentage
振替価格を取引通貨から機能通貨に換算する際に使用されるデフォルトの属性を上書きする場合に、この機能拡張を使用します。借入および貸出金額の配分プロセスおよび会社間請求書の生成プロセスは、プロセスの振替価格計算が終了してから、機能拡張を呼び出します。デフォルトでは、「実装オプション」ウィンドウの「相互賦課」タブのユーザー設定により、換算に使用される属性が決定されます。
機能拡張は、次の項目で識別されます。
項目 | 名称 |
---|---|
本体テンプレート | PAPMCECB.pls |
仕様テンプレート | PAPMCECS.pls |
パッケージ | PA_MULTI_CURR_CLIENT_EXTN |
プロシージャ | override_curr_conv_attributes |
重要: 機能拡張プロシージャまたはパラメータの名称を変更しないでください。また、プロシージャのパラメータ・タイプまたはパラメータの順序を変更しないでください。プロシージャの記述後に、それをコンパイルし、データベースに格納します。詳細は、「PL/SQLプロシージャの記述」を参照してください。
『Oracle Projectsインプリメンテーション・ガイド』の「Oracle Projects実装チェックリスト」、相互賦課 - 会社間請求の設定手順に関する項に記載されている設定手順をすべて完了します。
新規の取引に対して原価配分プロセスを実行するか、「支出項目」ウィンドウを使用して、現行取引の相互賦課を修正します。どちらのプロセスも相互賦課取引を識別します。
取引が相互賦課として識別され、借入と貸出、または会社間の処理に必要な取引が処理されるように、PRC: 借入および貸出金額の配分プロセスまたはPRC: 会社間請求書の生成プロセスを実行します。
このプロシージャのパラメータは、Oracle Integration Repositoryで表示できます。Oracle Integration Repositoryは、このマニュアルの「はじめに」で説明されています。
クライアント機能拡張から返された値が、換算要件をすべて満たしているかどうかが検証されます。
「会社間請求」または「プロジェクト間請求」を使用する場合は、「送り側/受け側管理」ウィンドウで組織管理を定義する必要があります。送り側と受け側のペアごとに、内部買掛管理請求書の作成時に使用する、支出タイプと支出組織を選択します。その他の取引情報に基づいて、原価をより厳密に分類する場合は、このクライアント機能拡張を使用して、買掛管理請求書の属性を上書きすることもできます。
機能拡張は、次の項目で識別されます。
項目 | 名称 |
---|---|
本体テンプレート | PACCINPB.pls |
仕様テンプレート | PACCINPS.pls |
パッケージ | PA_CC_AP_INV_CLIENT_EXTN |
プロシージャ | override_exp_type_exp_org |
重要: 機能拡張プロシージャまたはパラメータの名称を変更しないでください。また、プロシージャのパラメータ・タイプまたはパラメータの順序を変更しないでください。プロシージャの記述後に、それをコンパイルし、データベースに格納します。詳細は、「PL/SQLプロシージャの記述」を参照してください。
この機能拡張を使用する前に、次の処理を完了します。
相互賦課と会社間請求の実装手順をすべて完了します。『Oracle Projectsインプリメンテーション・ガイド』の「Oracle Projects実装チェックリスト」を参照してください。
新規の取引に対して原価配分プロセスを実行するか、「支出項目」ウィンドウを使用して、現行取引の相互賦課を修正します。どちらのプロセスも相互賦課取引を識別します。
PRC: 会社間請求書の生成プロセスを実行して、会社間の処理に必要な取引の売掛管理請求書を作成します。
会社間請求書とOracle Receivablesをインタフェースする、PRC: 売掛管理への会社間請求書のインタフェース・プロセスを実行します。
PRC: 売掛管理からの請求書のタイバック・プロセスを実行して、売掛管理請求書をタイバックし、内部買掛管理請求書を作成します。
このプロシージャのパラメータは、Oracle Integration Repositoryで表示できます。Oracle Integration Repositoryは、このマニュアルの「はじめに」で説明されています。
次の検証が実行されます。
x_expenditure_typeの値が、仕入先請求書の支出タイプ区分に対して有効な支出タイプであること
x_expenditure_organization_idの値が、受け側営業単位に対して有効な支出組織であること
関連トピック
『Oracle Projectsインプリメンテーション・ガイド』の送り側および受け側管理の定義に関する項