機械翻訳について

拡張機能を使用してOracle Applicationsからデータを取得するためのガイドライン

オーダー管理拡張でパブリック・ビュー・オブジェクト(PVO)を使用して、Oracle Applicationなどの様々なソースからデータを取得します。

各パブリック・ビュー・オブジェクトはパスを使用します。

オーダー管理拡張でパブリック・ビュー・オブジェクト(PVO)を使用して、Oracle製品やアプリケーションなどの様々なソースからデータを取得します。

ノート

  • 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で使用できるようにすることを意味します。

注意: REST APIを使用して、ビジネス・オブジェクトを介してデータにアクセスすることをお薦めします。 ただし、なんらかの理由でREST APIを使用できない場合は、かわりにパブリック・ビュー・オブジェクトを使用できますが、Oracleでサポートされているパブリック・ビュー・オブジェクトのみを使用する必要があります。 それらの完全なリストおよびそれらに含まれる属性を取得するには、「Oracle Applications Cloudのパブリック・ビュー・オブジェクト(ドキュメントID 2386411.1)」からXLSファイルをダウンロードします。

PVOのフィルタ

ダウンロードするXLSファイルで検索をフィルタします。

オーダー・ヘッダーの顧客名に従ってデータをフィルタするPVOが必要であるとします。

  1. XLSファイルをダウンロードして開きます。

  2. Excelの拡張フィルタを使用して、XLSファイルの列をフィルタします。

    パス

    属性

    foundation.parties.publicViewを含む

    顧客名はパーティ・データであるため、Order Managementはパーティ・データをfoundation.partiesから取得するため、このフィルタを使用します。 パーティ・データの詳細は、「販売オーダーに関する顧客詳細の表示の概要」を参照してください。

    PartyNameと等しい
  3. これらの結果を取得するとします。

    パス

    属性

    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
  4. 最も可能性の高いパスを探します。 結果には、アナリティクス、bicc、関係、エクスポート、コアなどの様々な使用方法が含まれます。 コアの使用方法については、coreを含むパスを参照してください。

  5. 次に、この例で使用する内容を示します。

    パス

    属性

    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

コード化

パブリック・ビュー・オブジェクトを参照する拡張

ノート

コード

摘要

Object getItem(Long itemId, Long orgId) {

コードがコールできるローカル・オブジェクトを定義します。 このオブジェクトには、パブリック・ビュー・オブジェクトからのデータが含まれます。

  • Object getItem. getItemという名前のオブジェクトを定義します。

  • Long itemId, Long orgId. itemIdおよびorgIdをLongデータ型文字列として指定します。 これらの文字列には、パブリック・ビュー・オブジェクトからのデータが含まれます。

def itemPVO = context.getViewObject("context")

品目のパブリック・ビュー・オブジェクトのインスタンスを作成し、itemPVO変数に格納します。 次の書式を使用します:

  • itemPVO. インスタンスを格納する変数。

  • context.getViewObject. getViewObjectメソッドを使用して、コンテキストに従ってビュー・オブジェクトを取得します。

  • "context". ビュー・オブジェクトの取得時に使用するコンテキスト。

たとえば、ItemPVOパブリック・ビュー・オブジェクトを参照します:

def itemPVO = context.getViewObject("oracle.apps.scm.productModel.items.publicView.ItemPVO")

説明

  • oracle.apps.scm.productModel.itemsはコンテキストです。 サプライ・チェーン管理からitemsという製品モデルを取得することを指定します。

def vc = itemPVO.createViewCriteria();

パブリック・ビュー・オブジェクトの詳細を格納する変数を定義します。

  • vc. ビュー基準オブジェクトの詳細を格納する変数。

    ViewCriteria. パブリック・ビュー・オブジェクトが返すデータを指定するフィルタ。

  • itemPVO. 取得およびフィルタする必要があるデータを含むパブリック・ビュー・オブジェクトの名前。

  • createViewCriteria. ビュー基準オブジェクトを作成するメソッド。 1つ以上の行を含むリストとしてvcを定義します。

def vcrow = vc.createViewCriteriaRow();

行の変数を定義します。

  • vcrow. ビュー基準オブジェクトの行の詳細を格納する変数。

  • vc.createViewCriteriaRow. createViewCriteriaRowメソッドを使用して、vc変数に行を作成します。

vcrow.setAttribute("InventoryItemId", itemId);

vcrow変数にパブリック・ビュー・オブジェクトからのデータを移入します。

  • setAttribute. 行の属性の値を設定するメソッド。

  • InventoryItemId. パブリック・ビュー・オブジェクトの属性。 この例では、在庫の品目を一意に識別する値を取得します。

  • itemId. 拡張コードが定義する変数。 このコードは、パブリック・ビュー・オブジェクトからオーダー行のInventoryItemId属性の値を取得し、それをitemIdに格納します。

vcrow.setAttribute("OrganizationId", orgId);

vcrow変数にパブリック・ビュー・オブジェクトからのデータを移入します。

  • setAttribute. 行の属性の値を設定するメソッド。

  • OrganizationId. パブリック・ビュー・オブジェクトの属性。 この例では、品目をオーダーした組織を一意に識別する値を取得します。

  • orgId. 拡張コードが定義する変数。 このコードは、オーダー・ヘッダーのOrganizationId属性の値をパブリック・ビュー・オブジェクトから取得し、orgIdに格納します。

def rowset = itemPVO.findByViewCriteria(vc, -1);

基準を満たす行数を含むイテレータを取得し、それをrowsetローカル変数に格納します。

  • rowset. イテレータを格納する変数。

  • findByViewCriteria. 定義した基準に従ってパブリック・ビュー・オブジェクトを検索する方法。

  • vc. パブリック・ビュー・オブジェクトが戻すデータが含まれます。

  • -1. ビュー基準に一致するすべての行を返します。

    正の整数を使用して行のサブセットを取得することもできます。 たとえば、vc, 3を使用して、基準に一致する最初の3行を取得します。 条件に一致する行が2行のみの場合は、この2行のみが返されます。

def item = rowset.first()

itemという名前の変数を定義します。

return item

item変数は、ItemPVO内のすべての属性にアクセスできるようになりました。returnは、item変数を返すため、拡張からitemを参照して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など)には、これらの付加フレックスフィールドが含まれない場合があります。 この手法を使用して取得します。

パブリック・ビュー・オブジェクトから付加フレックスフィールドを取得するコード

ノート

  1. 「顧客アカウント・サイト付加フレックスフィールドの管理」ページに移動し、アクセスする必要がある付加フレックスフィールドを見つけて、「フレックスフィールド・アーカイブのダウンロード」をクリックし、使用する構造を確認します。

  2. 付加フレックスフィールドを参照するには、publicFlexパブリック・ビュー・オブジェクトを参照します。 この例では、custAccountSiteのpublicFlexを参照します。

    oracle.apps.cdm.foundation.parties.publicFlex.custAccountSite.view.CustAccountSiteInformationVO
  3. アーカイブをダウンロードしたときに調べた構造を使用して、ビュー基準の指定方法を決定します。

コード全体を次に示します。

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を使用してオーダー明細または履行明細データにアクセスできます。 たとえば、オーダー入力スペシャリストが販売オーダーに購買オーダー番号を設定する場合は、他の販売オーダーがこの購買オーダー番号をまだ使用していないことを確認してください。 この検証は、オーダー入力スペシャリストが販売オーダーを発行するときに実行します。

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表を調べますが、幸運にもありません。

ドキュメントを使用して、運送費がある表および列を識別できます。

ドキュメントを使用して、運送費がある表および列を識別できます。

演習

  1. 「Oracle SCM Cloudの表およびビュー」に移動します。

  2. 目次の「オーダー管理」をクリックします。

  3. CTRL+Fを押してfreightという単語を入力し、「入力」を押します。

    オーダー管理の章の最初から始まるすべての結果が返されます。

  4. 探しているものを見つけるまで、「下向き矢印」をクリックします。

    この例では、目次の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表を使用します。

  5. SQLを実行して運送費を取得します。