拡張機能を使用してOracle Applicationsからデータを取得するためのガイドライン
オーダー管理拡張でパブリック・ビュー・オブジェクト(PVO)を使用して、Oracle Applicationなどの様々なソースからデータを取得します。
各パブリック・ビュー・オブジェクトはパスを使用します。
ノート
-
getViewObjectメソッドを使用します。
-
必要なビュー・オブジェクトのほとんどは、oracle.apps.scmパスにあります。 場合によっては、oracle.apps.scmの外部に移動する必要があります。 たとえば、oracle.apps.prcを使用して、Oracle Purchasingから購買オーダー・データにアクセスします。
-
たとえば、公開ビュー・オブジェクトを使用して、製品情報管理作業領域で品目カテゴリを参照したり、Oracle Purchasingで購買オーダーを検索できます。 この例では、
oracle.apps.scm.productModel.items.publicView.ItemPVO
を使用して、Product Information Managementから品目に関する詳細を取得します。 -
public
は、ビュー・オブジェクトがそのデータを他のOracle Applicationsで使用できるようにすることを意味します。
PVOのフィルタ
ダウンロードするXLSファイルで検索をフィルタします。
オーダー・ヘッダーの顧客名に従ってデータをフィルタするPVOが必要であるとします。
-
XLSファイルをダウンロードして開きます。
- Excelの拡張フィルタを使用して、XLSファイルの列をフィルタします。
パス
属性
foundation.parties.publicView
を含む顧客名はパーティ・データであるため、Order Managementはパーティ・データを
foundation.parties
から取得するため、このフィルタを使用します。 パーティ・データの詳細は、「販売オーダーに関する顧客詳細の表示の概要」を参照してください。PartyName
と等しい -
これらの結果を取得するとします。
パス
属性
oracle.apps.cdm.foundation.parties.publicView.analytics.CustomerFactPVO PartyName oracle.apps.cdm.foundation.parties.publicView.analytics.PartyPersonPVO PartyName oracle.apps.cdm.foundation.parties.publicView.analytics.PartyOrganizationPVO PartyName oracle.apps.cdm.foundation.parties.publicView.analytics.CustomerContactPVO PartyName oracle.apps.cdm.foundation.parties.publicView.analytics.CustomerSecuredPVO PartyName oracle.apps.cdm.foundation.parties.publicView.analytics.CustomerPVO PartyName oracle.apps.cdm.foundation.parties.publicView.analytics.PartyGroupPVO PartyName oracle.apps.cdm.foundation.parties.publicView.analytics.PartyUsagePVO PartyName oracle.apps.cdm.foundation.parties.publicView.bicc.PartyExtractPVO PartyName oracle.apps.cdm.foundation.parties.publicView.bicc.AdditionalPartyNameExtractPVO PartyName oracle.apps.cdm.foundation.parties.publicView.relationships.OrganizationContactPVO PartyName oracle.apps.cdm.foundation.parties.publicView.core.PartyPVO PartyName oracle.apps.cdm.foundation.parties.publicModel.export.view.core.AdditionalPartyNameExpPVO PartyName oracle.apps.cdm.foundation.parties.publicModel.export.view.core.PartyExpPVO PartyName -
最も可能性の高いパスを探します。 結果には、アナリティクス、bicc、関係、エクスポート、コアなどの様々な使用方法が含まれます。 コアの使用方法については、
core
を含むパスを参照してください。 -
次に、この例で使用する内容を示します。
パス
属性
oracle.apps.cdm.foundation.parties.publicView.core.PartyPVO
PartyName
その他のフィルタ
Oracle Applicationsでは、略称FOM (Fusion Order Management)またはDOO (分散オーダー・オーケストレーション)を使用してOracle Order Managementを参照できます。 Oracle Order Managementに関連するオブジェクトを検索するには、fom
またはdoo
を含む行の「パス」列をフィルタ処理することもできます。
パスの指定
パスは、パブリック・ビュー・オブジェクトを識別します。 各PVOの命名法は異なる場合があります。 次に例を示します:
productFamily.functionalArea.publicView.「使用状況」.PVOname
使用例を考えてみます:
oracle.apps.scm.maintenanceManagement.maintProgram.publicView.analytics.MaintenanceForecastFactPVO
説明
oracle.apps.scm
は、Supply Chain Management製品ファミリを識別します。maintenanceManagement
は、Maintenance Managementの機能領域を識別します。maintProgram
は、Maintenance Management機能領域内のコンポーネントを識別します。MaintenanceForecastFactPVO
は、パブリック・ビュー・オブジェクトの名前を識別します。analytics
は、このPVOの使用方法を示します。
使用法は次のとおりです。
使用方法 |
説明 |
---|---|
analytics |
レポートとともに使用します。 |
bicc |
Business Intelligence Cloud Connectorとともに使用します。 |
core |
コアOracle Applicationsからのデータを管理します。 |
export |
データをインポートまたはエクスポートします。 |
relationships |
オブジェクト間の関係を管理します。 |
一般的なビュー・オブジェクト
オーダー管理の実装で通常使用するパブリック・ビュー・オブジェクトの一部を次に示します。
データ |
ビュー・オブジェクト名 |
---|---|
販売オーダー |
HeaderPVO FulfillLinePVO |
項目 |
ItemPVO ItemCategoryPVO |
Customer |
PartyPVO PartySitePVO LocationPVO |
顧客アカウント |
CustomerAccountPVO CustomerAccountSitePVO CustomerAccountSiteUsePVO |
売掛/未収金 |
TransactionTypePVO |
アクセスする必要がある様々なアプリケーションへのより一般的なパスのいくつかを次に示します。
アプリケーションまたは作業領域 |
パス |
---|---|
製品情報管理 |
oracle.apps.scm.productModel |
オーダー管理 |
oracle.apps.scm.doo |
価格設定管理 |
oracle.apps.scm.pricing |
在庫管理 |
oracle.apps.scm.inventory |
作業実行 |
oracle.apps.scm.commonWorkExecution |
出荷 |
oracle.apps.scm.shipping |
購買 |
oracle.apps.prc |
コード化
ノート
コード |
摘要 |
---|---|
|
コードがコールできるローカル・オブジェクトを定義します。 このオブジェクトには、パブリック・ビュー・オブジェクトからのデータが含まれます。
|
|
品目のパブリック・ビュー・オブジェクトのインスタンスを作成し、itemPVO変数に格納します。 次の書式を使用します:
たとえば、ItemPVOパブリック・ビュー・オブジェクトを参照します:
説明
|
|
パブリック・ビュー・オブジェクトの詳細を格納する変数を定義します。
|
|
行の変数を定義します。
|
|
|
|
|
|
基準を満たす行数を含むイテレータを取得し、それを
|
|
|
|
|
コメントのないコード全体を次に示します。
Object getItem(Long itemId, Long orgId) {
def itemPVO = context.getViewObject(
"oracle.apps.scm.productModel.items.publicView.ItemPVO");
def vc = itemPVO.createViewCriteria();
def vcrow = vc.createViewCriteriaRow();
vcrow.setAttribute("InventoryItemId", itemId);
vcrow.setAttribute("OrganizationId", orgId);
def rowset = itemPVO.findByViewCriteria(vc, -1);
def item = rowset.first();
return item;
}
公開ビュー・オブジェクトからの付加フレックスフィールドの取得
Oracle Trading Community Architecture (TCA)の顧客マスターには、付加フレックスフィールドが含まれる場合があります。 ただし、顧客アカウントのサイト詳細を含むパブリック・ビュー・オブジェクト(PartyPVOなど)には、これらの付加フレックスフィールドが含まれない場合があります。 この手法を使用して取得します。
ノート
-
「顧客アカウント・サイト付加フレックスフィールドの管理」ページに移動し、アクセスする必要がある付加フレックスフィールドを見つけて、「フレックスフィールド・アーカイブのダウンロード」をクリックし、使用する構造を確認します。
-
付加フレックスフィールドを参照するには、publicFlexパブリック・ビュー・オブジェクトを参照します。 この例では、custAccountSiteのpublicFlexを参照します。
oracle.apps.cdm.foundation.parties.publicFlex.custAccountSite.view.CustAccountSiteInformationVO
-
アーカイブをダウンロードしたときに調べた構造を使用して、ビュー基準の指定方法を決定します。
コード全体を次に示します。
def siteFlexPVO = context.getViewObject
("oracle.apps.cdm.foundation.parties.publicFlex.
custAccountSite.view.CustAccountSiteInformationVO");
def vc = siteFlexPVO.createViewCriteria();
def vcrow = vc.createViewCriteriaRow();
vc.add(vcrow);
def rowset = siteFlexPVO.findByViewCriteriaWithBindVars
(vc, -1, new String [0], new String [0]);
def custDFF = rowset.first();
String values = custDFF.getAttribute("Salesperson")
現在の販売オーダーにない販売オーダーからデータを取得
HeaderPVOを使用してオーダー・ヘッダー・データにアクセスし、FulfillLinePVOを使用してオーダー明細または履行明細データにアクセスできます。 たとえば、オーダー入力スペシャリストが販売オーダーに購買オーダー番号を設定する場合は、他の販売オーダーがこの購買オーダー番号をまだ使用していないことを確認してください。 この検証は、オーダー入力スペシャリストが販売オーダーを発行するときに実行します。
その他の例を次に示します。
-
新しい販売オーダーに返品ラインが含まれている場合は、元の販売オーダーから注文のタイプを取得し、それを使用して各返品ラインの注文のタイプを設定します。
-
オーダー改訂2によって、オーダー改訂1の合計価格よりも販売オーダーの合計価格が10%以上増加する場合は、改訂を許可しないでください。 たとえば、販売オーダーxのバージョン1は、販売オーダーxのバージョン2と完全に分離された販売オーダーです。 パブリック・ビュー・オブジェクトを使用して、現在のバージョンではないバージョンからデータを取得します。
表、ビューおよびパブリック・ビュー・オブジェクトの詳細の取得
販売オーダー・ヘッダーおよびオーダー明細の詳細を含むパブリック・ビュー・オブジェクトを使用する必要がある場合は、ドキュメントを参照してください。 「Oracle Fusion Cloud SCM: SCMの表およびビュー」に移動し、「Order Management(オーダー管理)」→「Tables(表)」を展開して、次のいずれかをクリックします:
-
DOO_HEADERS_ALL
-
DOO_LINES_ALL
-
DOO_FULFILL_LINES_ALL
料金の詳細の取得
販売オーダー・レポートを作成し、運送費をレポートに含める必要があるとします。 出荷待ちステータスまたは請求待ちステータスの販売オーダーがあります。 オーダーを履行ビューで表示します。 履行明細の価格列に販売価格属性の値が含まれていますが、運送費属性が空です。 Oracle Shippingでも空です。
SQLを使用してDOO_LINES_ALL表およびDOO_FULLFILL_LINES_ALL表を調べますが、幸運にもありません。
ドキュメントを使用して、運送費がある表および列を識別できます。
演習
-
「Oracle SCM Cloudの表およびビュー」に移動します。
-
目次の「オーダー管理」をクリックします。
-
CTRL+Fを押して
freight
という単語を入力し、「入力」を押します。オーダー管理の章の最初から始まるすべての結果が返されます。
-
探しているものを見つけるまで、「下向き矢印」をクリックします。
この例では、目次のDOO_ORDER_CHARGESリンクが緑色に変わり、CHARGE_SUBTYPE_CODE列に関連する説明が含まれるまでクリックを続けます。
Subtype of a given charge type. Examples could include, within Shipping Related Charges: Freight Charge, Shipping Insurance, within Special Charges: Suspend Charge, Resumption Charge)
DOO_FS_CHARGES_INTなどの他の表にCHARGE_SUBTYPE_CODEが表示される場合がありますが、ほとんどの場合はDOO_ORDER_CHARGES表を使用します。
-
SQLを実行して運送費を取得します。