Oracle Costingからの原価詳細の取得
webサービスを使用してOracle Costingからコストを取得し、価格表のルールに従ってマークアップまたはマークダウンします。
Oracle Pricingには、価格設定管理作業領域の「原価リスト」の管理ページで設定したコストによる原価加算価格設定のサポートが事前定義されています。 かわりに、Oracle Costingから原価を取得して、原価計算設定を複製する必要がありません。
価格設定アルゴリズムを変更して、SOAP webサービスをコールします。 Oracle Integration Cloudを使用してコールをルーティングします。
このトピックでは、次のことを前提としています:
- Oracle Costingを使用するためのライセンスがあります。
-
価格設定はすでに設定されています。 詳細は、「Oracleの価格を管理するためのロードマップ」を参照してください。
-
Customer Computer Service and Rentalsは、企業セグメントの価格設定セグメントおよび企業価格設定戦略の一部です。
-
在庫組織に従って、原価計算サービスから原価を取得します。
- Oracle Global Order Promisingを使用して販売オーダーを納期処理する場合は、プロセスがOracle Pricingをコールする前に、納期回答が倉庫のデフォルト値を返すようにオーケストレーション・プロセスを設定する必要があります。 バックグラウンドについては、「オーケストレーション・プロセス設定のガイドライン」を参照してください。
このトピックで実行する設定のトラブルシューティングのヘルプが必要な場合は、「Oracle Pricingの技術リファレンス(ドキュメントID 2248583.1)」をクリックし、外部システム統合からコストを取得するトラブルシューティング添付をダウンロードします。
webサービスはセキュアであるため、SOAP UIなどのセキュア・ツールを使用してペイロードを送受信します。
設定の概要
A. 原価計算サービスをテストします。
B. 統合を設定します。
C. soapサービスをテストします。
D. Oracle Applicationsにコネクタを設定します。
E. サービス・マッピングを編集します。
F. Troubleshoot.
このトピックではサンプル値を使用します。 ビジネス要件によっては、別の値が必要になる場合があります。
A. 原価計算サービスのテスト
原価計算SOAP webサービスをコールして機能することを確認します。
-
入力テスト・ペイロードを作成します。
使用できる入力ペイロードの例を次に示します。
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:typ="http://xmlns.oracle.com/apps/scm/costing/itemCosts/itemCostServiceV2/types/" xmlns:item="http://xmlns.oracle.com/apps/scm/costing/itemCosts/itemCostServiceV2/"> <soapenv:Header/> <soapenv:Body> <typ:retrieveItemCost> <!--Zero or more repetitions:--> <typ:costparams> <item:ItemId>149</item:ItemId> <item:InventoryOrganizationId>204</item:InventoryOrganizationId> <item:UnitOfMeasure>Ea</item:UnitOfMeasure> </typ:costparams> <typ:costparams> <item:ItemId>151</item:ItemId> <item:InventoryOrganizationId>204</item:InventoryOrganizationId> <item:UnitOfMeasure>Ea</item:UnitOfMeasure> </typ:costparams> </typ:retrieveItemCost> </soapenv:Body> </soapenv:Envelope>
-
入力ペイロードを原価計算サービスに送信します。
Oracle PricingのインスタンスのWSDL URLを使用します。 次に例を示します。
http://myServer.myCompany.com:10663/fscmService/ItemCostServiceV2?WSDL
-
原価計算サービスから送信されるレスポンス・ペイロードを確認します。
レスポンス・ペイロードの例を次に示します。
<env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:wsa="http://www.w3.org/2005/08/addressing" xmlns:typ="http://xmlns.oracle.com/apps/scm/costing/itemCosts/service/types/"> <env:Header> <wsa:Action>http://xmlns.oracle.com/apps/scm/costing/itemCosts/service//ItemCostService/retrieveItemCostResponse</wsa:Action> <wsa:MessageID>urn:uuid:1b2f8967-12ef-4740-8ba0-1b02b85d10c4</wsa:MessageID> </env:Header> <env:Body> <ns0:retrieveItemCostResponse xmlns:ns0="http://xmlns.oracle.com/apps/scm/costing/itemCosts/service/types/"> <ns2:result xsi:type="ns1:ItemCostOutputResult" xmlns:ns2="http://xmlns.oracle.com/apps/scm/costing/itemCosts/service/types/" xmlns:ns1="http://xmlns.oracle.com/apps/scm/costing/itemCosts/service/" xmlns:tns="http://xmlns.oracle.com/adf/svc/errors/" xmlns:ns0="http://xmlns.oracle.com/adf/svc/types/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <ns1:Value> <ns1:ItemCost>53.77873553551955</ns1:ItemCost> <ns1:CurrencyCode>USD</ns1:CurrencyCode> <ns1:UOMCode>Ea</ns1:UOMCode> <ns1:ErrorFlag>false</ns1:ErrorFlag> <ns1:ItemID>149</ns1:ItemID> <ns1:InvOrgID>204</ns1:InvOrgID> <ns1:SubInvCode xsi:nil="true"/> <ns1:Locator xsi:nil="true"/> <ns1:LotNum xsi:nil="true"/> <ns1:SerialNum xsi:nil="true"/> <ns1:Grade xsi:nil="true"/> <ns1:KindOfCost xsi:nil="true"/> <ns1:KindOfCostDetail xsi:nil="true"/> <ns1:RefDate>2019-07-15T00:00:00.0Z</ns1:RefDate> <ns1:ItemNumber xsi:nil="true"/> <ns1:InvOrgCode xsi:nil="true"/> <ns1:UnitOfMeasure xsi:nil="true"/> </ns1:Value> <ns1:Value> <ns1:ItemCost>-1.0</ns1:ItemCost> <ns1:CurrencyCode xsi:nil="true"/> <ns1:UOMCode>Ea</ns1:UOMCode> <ns1:ErrorFlag>true</ns1:ErrorFlag> <ns1:ItemID>151</ns1:ItemID> <ns1:InvOrgID>204</ns1:InvOrgID> <ns1:SubInvCode xsi:nil="true"/> <ns1:Locator xsi:nil="true"/> <ns1:LotNum xsi:nil="true"/> <ns1:SerialNum xsi:nil="true"/> <ns1:Grade xsi:nil="true"/> <ns1:KindOfCost xsi:nil="true"/> <ns1:KindOfCostDetail xsi:nil="true"/> <ns1:RefDate xsi:nil="true"/> <ns1:ItemNumber xsi:nil="true"/> <ns1:InvOrgCode xsi:nil="true"/> <ns1:UnitOfMeasure xsi:nil="true"/> </ns1:Value> </ns2:result> </ns0:retrieveItemCostResponse> </env:Body> </env:Envelope>
-
レスポンスを確認します。
-
ItemCostの下の値が正しいこと、および正しい通貨の値であることを確認してください。
-
レスポンス内のErrorFlagの各インスタンスがfalseであることを確認します。
-
B. 統合の設定
Integration Cloud Serviceを使用して、価格設定アルゴリズムから原価計算サービスにコールをルーティングします。
設定の概要
-
WSDLを作成します。
-
ソース・コネクタを作成します。
-
ターゲット・コネクタを作成します。
-
事前定義済統合をインポートします。
サインイン時に使用するURLなど、Integration Cloud Serviceの使用方法について学習します。 詳細は、「Integration Cloud Serviceの起動」を参照してください。
WSDLの作成
このコードをノート帳++などのテキスト・エディタにコピーし、ファイル名ItemCostService.wsdlでローカル・コンピュータに保存します。
<?xml version="1.0" encoding="UTF-8" ?>
<!--
This is an interface WSDL that you can use to configure a connection in Integration Cloud Service. Its a proxy for the PriceRequestValidation service. This WSDL contains only XSD definitions, SOAP messages, and bindings. It doesn't include services for port operations. This WSDL matches one of the context consumers that the integration uses for payload exchanges.
-->
<wsdl:definitions name="ItemCostService"
targetNamespace="http://xmlns.oracle.com/apps/scm/costing/itemCosts/service/"
xmlns:plnk="http://schemas.xmlsoap.org/ws/2003/05/partner-link/"
xmlns:errors="http://xmlns.oracle.com/adf/svc/errors/"
xmlns:tns="http://xmlns.oracle.com/apps/scm/costing/itemCosts/service/"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:types="http://xmlns.oracle.com/apps/scm/costing/itemCosts/service/types/">
<wsdl:types>
<xsd:schema elementFormDefault="qualified"
targetNamespace="http://xmlns.oracle.com/apps/scm/costing/itemCosts/service/"
sdoJava:package="oracle.apps.scm.costing.itemCosts.service"
xmlns:sdoJava="commonj.sdo/java"
xmlns="http://xmlns.oracle.com/apps/scm/costing/itemCosts/service/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"></xsd:schema>
<xsd:schema elementFormDefault="qualified"
targetNamespace="http://xmlns.oracle.com/apps/scm/costing/itemCosts/service/types/"
xmlns:ns0="http://xmlns.oracle.com/adf/svc/errors/"
xmlns="http://xmlns.oracle.com/apps/scm/costing/itemCosts/service/types/"
xmlns:tns="http://xmlns.oracle.com/apps/scm/costing/itemCosts/service/types/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:element name="retrieveItemCost">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="CostParams" type="ItemCostInput" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:complexType name="ItemCostInput">
<xsd:sequence>
<xsd:element minOccurs="0" name="ItemID" nillable="true" type="xsd:long"/>
<xsd:element minOccurs="0" name="InvOrgID" nillable="true" type="xsd:long"/>
<xsd:element minOccurs="0" name="UnitOfMeasureCode" nillable="true" type="xsd:string"/>
</xsd:sequence>
</xsd:complexType>
<xsd:element name="retrieveItemCostResponse">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="Result" type="ItemCostOutputResult"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:complexType name="ItemCostOutputResult">
<xsd:sequence>
<xsd:element maxOccurs="unbounded" minOccurs="0" name="Value" type="ItemCostOutput"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="ItemCostOutput">
<xsd:sequence>
<xsd:element minOccurs="0" name="ItemCost" nillable="true" type="xsd:double"/>
<xsd:element minOccurs="0" name="CurrencyCode" nillable="true" type="xsd:string"/>
<xsd:element minOccurs="0" name="UnitOfMeasureCode" nillable="true" type="xsd:string"/>
<xsd:element minOccurs="0" name="ErrorFlag" nillable="true" type="xsd:boolean"/>
<xsd:element minOccurs="0" name="ItemID" nillable="true" type="xsd:long"/>
<xsd:element minOccurs="0" name="InvOrgID" nillable="true" type="xsd:long"/>
</xsd:sequence>
</xsd:complexType>
</xsd:schema>
<schema elementFormDefault="qualified"
targetNamespace="http://xmlns.oracle.com/adf/svc/errors/"
sdoJava:package="oracle.jbo.service.errors"
xmlns:sdoJava="commonj.sdo/java"
xmlns:tns="http://xmlns.oracle.com/adf/svc/errors/"
xmlns="http://www.w3.org/2001/XMLSchema">
<element name="ServiceErrorMessage" type="tns:ServiceErrorMessage"/>
<complexType name="ServiceMessage">
<sequence>
<element maxOccurs="1" minOccurs="0" name="code" type="string"/>
<element maxOccurs="1" minOccurs="0" name="message" type="string"/>
<element maxOccurs="1" minOccurs="0" name="severity" type="string"/>
<element maxOccurs="unbounded" minOccurs="0" name="detail"
type="tns:ServiceMessage"/>
</sequence>
</complexType>
<complexType name="ServiceErrorMessage">
<complexContent>
<extension base="tns:ServiceMessage">
<sequence>
<element maxOccurs="1" minOccurs="0" name="sdoObject" type="anyType"/>
<element maxOccurs="1" minOccurs="0" name="exceptionClassName"
type="string"/>
</sequence>
</extension>
</complexContent>
</complexType>
</schema>
</wsdl:types>
<wsdl:message name="ServiceException">
<wsdl:part name="ServiceErrorMessage" element="errors:ServiceErrorMessage"/>
</wsdl:message>
<wsdl:message name="ItemCostService_retrieveItemCost">
<wsdl:part name="parameters" element="types:retrieveItemCost"/>
</wsdl:message>
<wsdl:message name="ItemCostService_retrieveItemCostResponse">
<wsdl:part name="parameters" element="types:retrieveItemCostResponse"/>
</wsdl:message>
<wsdl:portType name="ItemCostService">
<wsdl:documentation/>
<wsdl:operation name="retrieveItemCost">
<wsdl:input message="tns:ItemCostService_retrieveItemCost"/>
<wsdl:output message="tns:ItemCostService_retrieveItemCostResponse"/>
<wsdl:fault name="ServiceException" message="tns:ServiceException"/>
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="ItemCostServiceSoapHttp"
type="tns:ItemCostService">
<soap:binding style="document"
transport="http://schemas.xmlsoap.org/soap/http"/>
<wsdl:operation name="retrieveItemCost">
<soap:operation soapAction="http://xmlns.oracle.com/apps/scm/costing/itemCosts/service/retrieveItemCost"/>
<wsdl:input>
<soap:body use="literal"/>
</wsdl:input>
<wsdl:output>
<soap:body use="literal"/>
</wsdl:output>
<wsdl:fault name="ServiceException">
<soap:fault name="ServiceException" use="literal"/>
</wsdl:fault>
</wsdl:operation>
</wsdl:binding>
</wsdl:definitions>
ソース・コネクタの作成
-
Integration Cloud Serviceにサインインします。
-
ようこそページのここから開始で、「接続」をクリックします。
-
接続ページで、「作成」をクリックします。
-
「接続選択アダプタの作成」ダイアログで、SOAPを選択します。
RESTを選択することもできますが、この例ではSOAPを使用します。
-
「新規接続の作成」ダイアログで値を設定し、「作成」をクリックします。
属性
値
名前
テキストを入力します。 この例では、
Connect to Cost Source
と入力します。識別子
CONNECT_TO_COST_SOURCE
ロール
トリガーおよび呼出し
説明
Pricing Administrationの外部で品目を価格設定するときに使用するソースに接続します。
-
Connect to「原価ソース」ページで、「接続の構成」をクリックします。
-
「接続プロパティ」ダイアログで値を設定し、OKをクリックします。
接続プロパティ
値
WSDL URL
ItemCostService.wsdl
この手順の前半で、保存したWSDLをローカル・コンピュータにアップロードします。
ターゲット・サーバーのTLSバージョン
TLSv1.1
リクエストへのタイムスタンプの挿入の抑制
No
レスポンス・メッセージのタイムスタンプを無視
Y
アウトバウンド接続に対する双方向SSLの有効化
空
キーストア別名の指定
空
-
「セキュリティの構成」をクリックし、値を設定して、OKをクリックします。
属性
値
セキュリティ・ポリシー
セキュリティ・ポリシーなし
-
ページ上部の「保存」をクリックします。
-
「テスト」>「検証およびテスト」をクリックし、統合でページの上部にメッセージが表示されることを確認します。
Connection Connect to Cost Source was tested successfully.
-
「閉じる>閉じる」をクリックします。
ターゲット・コネクタの作成
-
接続ページで、「作成」をクリックします。
-
「接続選択アダプタの作成」ダイアログで、SOAPを選択します。
-
「新規接続の作成」ダイアログで値を設定し、「作成」をクリックします。
属性
値
名前
テキストを入力します。 この例では、
Connect to Cost Target
と入力します。識別子
CONNECT_TO_COST_TARGET
ロール
トリガーおよび呼出し
説明
Pricing Administrationの外部で品目を価格設定するときに使用するターゲットに接続します。
-
Connect to Cost「ターゲット」ページで、「接続の構成」をクリックします。
-
「接続プロパティ」ダイアログで値を設定し、OKをクリックします。
接続プロパティ
値
WSDL URL
http://myServer.myCompany.com:10663/fscmService/ItemCostServiceV2?WSDL
ターゲット・サーバーのTLSバージョン
TLSv1.1
リクエストへのタイムスタンプの挿入の抑制
No
レスポンス・メッセージのタイムスタンプを無視
Y
アウトバウンド接続に対する双方向SSLの有効化
空
キーストア別名の指定
空
-
「セキュリティの構成」をクリックし、値を設定して、OKをクリックします。
属性
値
セキュリティ・ポリシー
ユーザー名パスワード・トークン
ユーザー名
Oracle Pricingの管理時に使用するユーザーを入力します。
パスワード
Oracle Pricingの管理時に使用するパスワードを入力します。
-
ページ上部の「保存」をクリックします。
-
「テスト」>「検証およびテスト」をクリックし、統合でページの上部にメッセージが表示されることを確認します。
Connection Connect to Cost Source was tested successfully.
-
「閉じる>閉じる」をクリックします。
-
「Oracle Pricingの技術リファレンス(ドキュメントID 2248583.1)」にアクセスし、Pricing Examplesの添付ファイルをラップトップにダウンロードします。
添付には、INTEG_FUSIO_PRICI_WITH_EXTER_SYS_01.00.0000.iarファイルが含まれます。 このファイルをラップトップのフォルダに保存します。
-
Integration Cloud Serviceに移動します。
-
ようこそページで、「統合」アイコンをクリックします。
-
統合ページで、「インポート」をクリックします。
-
「統合のインポート」ダイアログで、ダウンロードした
.iar
ファイルを参照し、「オープン」をクリックします。 -
「インポート」をクリックします。
-
統合ページで、インポートしたばかりの統合である「Fusion価格設定と外部システムの統合」をクリックします。
-
統合を確認します。
-
統合によってソースがターゲットに接続されます。
この画面印刷では、一部のテキストを読みにくい場合があります。 これは、表内でも同じ詳細です。
属性
値
操作
操作
方向
retreiveItemCost
retreiveItemCost
ターゲットへ
retreiveItemCostResponse
retreiveItemCostResponse
ソースへ
障害
障害
ソースへ
-
「リクエスト・マッピング」アイコンをクリックし、統合がソースからターゲットにマップする属性を確認します。
たとえば:
ソースの属性
ターゲットの属性
itemID
itemID
InvOrgID
InvOrgID
-
「レスポンス・マッピング」アイコンをクリックし、統合がターゲットからソースにマップする属性を確認します。
たとえば:
ソースの属性
ターゲットの属性
値
値
itemCost
itemCost
CurrencyCode
CurrencyCode
UOMCode
UnitOfMeasureCode
ErrorFlag
ErrorFlag
ItemId
ItemId
InvOrgId
InventoryOrgId
-
「フォルト・マッピング」アイコンをクリックし、実行時に発生する可能性のある障害を処理するために、統合で属性をマップする方法を確認します。
属性
値
障害
ServiceErrorMessage
ルート先
ServiceErrorMessage
-
統合のアクティブ化
-
統合ページで、統合が含まれている行で、「処理」>「編集」をクリックします。
-
「マップ・データ統合」ページで、「処理」>「トラッキング」をクリックします。
-
トラッキングのビジネス識別子ダイアログで、値を設定し、「完了しました」をクリックします。
プライマリ
トラッキング・フィールド
チェック・マークが含まれます。
ItemID
-
「マップ・データ統合」ページで、ページ上部の近くにあるステータス・バーに、ステータスが100%と表示されることを確認します。
ステータスは、最終変更属性の横に表示されます。
-
「保存」をクリックし、「閉じる」をクリックします。
-
統合ページで、統合が含まれている行で、「処理」>「アクティブ化」をクリックします。
-
「統合のアクティブ化」ダイアログで値を設定し、「アクティブ化」をクリックします。
オプション
値
トレースの有効化
チェック・マークが含まれます。
ペイロードを含む
チェック・マークが含まれます。
C. SOAPサービスのテスト
SOAPサービスへのコールをテストします。
-
必要な入力ペイロードを決定します。
-
SOAP UIを使用してテストを実行します。
-
Integration Cloud Serviceからテストを実行する必要があるSOAP webサービスのURLを取得します。 たとえば:
https://ssotest.oracle.com/integration/flowsvc/soap/COSTING_API_PRICING_INTEG/v01/
-
レスポンス・ペイロードを確認します。
-
複数の品目をテストして、異なるタイプの計算に対してサービスが正しいコストを返すことを確認します。
-
テスト中にエラー・ケースを含めて、原価計算サービスが統合を介してエラーを正しく返すようにします。
テスト中にSOAPサービスに送信するために使用できる入力ペイロードの例を次に示します。 WSDLのアドレスの例。
https://server.integration.us2.oraclecloud.com/integration/flowsvc/soap/CGB_INTE_ORAC_FUS_PRIC_WITH_ANTH/v01/?wsdl
ペイロードの例。
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:typ="http://xmlns.oracle.com/apps/scm/costing/itemCosts/service/types/">
<soapenv:Header>
<wsse:Security soapenv:mustUnderstand="1" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
<wsu:Timestamp wsu:Id="TS-772E6BAE6F9F39812416003717946724">
<wsu:Created>2020-09-17T19:43:14.670Z</wsu:Created>
<wsu:Expires>2020-09-17T19:44:14.670Z</wsu:Expires>
</wsu:Timestamp>
<wsse:UsernameToken wsu:Id="UsernameToken-772E6BAE6F9F39812416003714274653">
<wsse:Username>shailendra.pitre@oracle.com</wsse:Username>
<wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">WedAug05@0@0</wsse:Password>
<wsse:Nonce EncodingType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#Base64Binary">zFzlHdJthMM1ZS5uXnmCcQ==</wsse:Nonce>
<wsu:Created>2020-09-17T19:37:07.465Z</wsu:Created>
</wsse:UsernameToken>
</wsse:Security>
</soapenv:Header>
<soapenv:Body>
<typ:retrieveItemCost>
<typ:CostParams>
<!--Optional:-->
<typ:ItemID>149</typ:ItemID>
<!--Optional:-->
<typ:InvOrgID>204</typ:InvOrgID>
<!--Optional:-->
<typ:UnitOfMeasureCode>Ea</typ:UnitOfMeasureCode>
</typ:CostParams>
</typ:retrieveItemCost>
</soapenv:Body>
</soapenv:Envelope>
SOAPサービスから送信されるレスポンス・ペイロードの例を次に示します。 これを調べて、ItemCostにItemIDおよびInvOrgIDの予想される量が含まれていることを確認します。
<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
<S:Body>
<wss:costServiceResponse xmlns:wss="http://www.boomi.com/connector/wss">
<Value>
<ItemCost>12484.78</ItemCost>
<CurrencyCode>GBP</CurrencyCode>
<UnitOfMeasureCode>Ea</UnitOfMeasureCode>
<ErrorFlag>false</ErrorFlag>
<ItemID>100000001582378</ItemID>
<InvOrgID>300000037424187</InvOrgID>
</Value>
<Value>
<ItemCost>11404.41</ItemCost>
<CurrencyCode>GBP</CurrencyCode>
<UnitOfMeasureCode>Ea</UnitOfMeasureCode>
<ErrorFlag>false</ErrorFlag>
<ItemID>100000001582379</ItemID>
<InvOrgID>300000037424187</InvOrgID>
</Value>
</wss:costServiceResponse>
</S:Body>
</S:Envelope>
D. Oracle Applicationsでのコネクタの設定
-
Oracle Applicationsにサインインします。
-
「設定および保守」作業領域に移動してから、タスクに移動します。
-
オファリング: オーダー管理
-
機能領域: 価格設定
-
タスク: アルゴリズムの外部サービス詳細の管理
この例では、Order Managementオファリングを設定していることを前提としています。 別のオファリングを使用する場合は、Order Managementのかわりにそのオファリングをクリックします。
-
-
「コネクタ詳細の管理」ページで、価格設定アルゴリズムがコールするwebサービスをホストするシステムへの接続を作成します。 この例では、Oracle Costing Serviceをコールするとします。
属性
値
ターゲット・システム
Fusion_HCM
最初に「設定および保守」作業領域を使用して、このシステムを取引先コミュニティ・ソース・システムとして指定する必要があります。
コネクタ名
QP_FUSION_COSTING_ICS_SRVC
任意の値を使用できますが、価格設定アルゴリズムがexecuteSOAPService関数に送信する値と一致する必要があります。
コネクタURL
webサービスがエンド・ポイントとして使用するサーバーおよびポートを特定するURLを入力します。 たとえば:
https://ssotest. oracle.com/integration/flowsvc/soap/COSTING_API_PRICING_INTEG/v01/
ユーザー名
webサービスへのアクセスに必要なユーザー名を入力します。
パスワード
webサービスへのアクセスに必要なパスワードを入力します。
起動モード
同期
詳細は、「オーダー管理を履行システムに接続」を参照してください。
E. サービス・マッピングの編集
販売サービス・マッピングにエンティティを追加します。 初めて追加します。
![初めて追加します。](images/qp_various_graphics_164_20072525.png)
正確な属性名と値を使用してください。 そうしないと、マッピングは失敗します。
演習
-
管理権限でOracle Pricingにサインインします。
-
サンドボックス作業領域に移動します。
-
サンドボックスのページで、サンドボックスを開いて入力するか、新しいサンドボックスを作成します。
-
価格設定管理作業領域に移動し、「タスク」をクリックしてから、価格設定構成の下の「サービス・マッピングの管理」をクリックします。
-
「サービス・マッピングの管理」ページで、「販売」をクリックします。
-
「サービス・マッピングの編集」ページのエンティティ・タブで、「処理」>「行の追加」をクリックし、値を設定します。
属性
値
エンティティ
CostParams_Custom
説明
コスト・パラメータ拡張の値を格納します。
-
詳細領域で、2つの属性を追加します。 NULLの許可に各属性のチェック・マークが含まれていることを確認してください。
属性
値
InvOrgID_Custom
Long
ItemID_Custom
Long
-
別のエンティティを追加します。 エンティティ・タブで、「処理」>「行の追加」をクリックし、値を設定します。
属性
値
エンティティ
Value_Custom
説明
CostParams入力要素の値を格納します。
-
詳細領域で、Value_Customエンティティに属性を追加します。 これらの属性には、Oracle Pricingの外部にあるシステムとの間で通信する詳細が含まれます。 NULLの許可に各属性のチェック・マークが含まれていることを確認してください。
属性
値
CurrencyCode_Custom
文字列
ErrorFlag_Custom
Boolean
InvOrgID_Custom
Long
ItemCost_Custom
小数
ItemID_Custom
Long
UOMCode_Custom
文字列
-
webサービスが使用する定義をコピーする別のエンティティを追加します。 エンティティ・タブで、「処理」>「行の追加」をクリックし、値を設定します。
属性
値
エンティティ
Result_Custom
説明
出力要素の値を保存します。
-
エンティティ・タブで、エンティティ列にヘッダーを含む「行」をクリックします。
-
「詳細」領域で、「処理」>「行の追加」をクリックし、値を設定します。
属性
値
エンティティ
FulfillOrgId_Custom
検索ダイアログの値リストを使用して品目価格を指定する場合は、FulfillOrgId属性の値を移入するために事前変換を使用する必要があります。
タイプ
Long
-
「保存」をクリックします。
サービス・マッピングへのソースの追加
-
「ソース」をクリックします。
-
OrderCatalogLineソースに属性を追加します。
-
ソース・タブで、ソース列にOrderCatalogLineを含む「行」をクリックします。
-
詳細領域の「エンティティ・マッピング」タブで、エンティティ列にヘッダーを含む「行」をクリックします。
-
詳細領域の「属性マッピング」タブで、「処理」>「行の追加」をクリックし、値を設定します。
属性
値
属性
FulfillOrgId_Custom
ビュー・オブジェクト属性
FulfillOrgId
-
-
OrderHeaderソースに属性を追加します。
-
ソース・タブで、ソース列にOrderHeaderを含む「行」をクリックします。
-
詳細領域の「エンティティ・マッピング」タブで、エンティティ列にヘッダーを含む「行」をクリックします。
-
詳細領域の「属性マッピング」タブで、「処理」>「行の追加」をクリックし、値を設定します。
属性
値
属性
FulfillOrgId_Custom
ビュー・オブジェクト属性
FulfillOrgId
-
-
OrderLineソースに属性を追加します。
-
ソース・タブで、ソース列にOrderLineを含む「行」をクリックします。
-
詳細領域の「エンティティ・マッピング」タブで、エンティティ列にヘッダーを含む「行」をクリックします。
-
詳細領域の「属性マッピング」タブで、「処理」>「行の追加」をクリックし、値を設定します。
属性
値
属性
FulfillOrgId_Custom
ビュー・オブジェクト属性
FulfillOrgId
-
サービス・マッピングへのサービスの追加
Oracle Pricingの外部にあるシステムを特定するエンド・ポイントを指定し、サービスと詳細の通信に使用するエンティティを指定します。
![サービスを検索するエンド・ポイントを指定し、サービスと詳細の通信に使用するエンティティを指定します。](images/qp_various_graphics_165_20072526.png)
スクリーン・キャプチャには含まれています。
-
追加するサービス。
-
サービスに追加するエンティティ。
-
参照エンティティ属性に値がないValue_Customエンティティが選択されます。
-
最初のValue_Customエンティティの属性。
演習
-
「サービス・マッピングの編集」ページで、「サービス」をクリックします。
-
「表示」>「列」をクリックし、別名およびネームスペースにチェック・マークを追加します。
-
「アクション」をクリックし、「行の追加」をクリックして、値を設定します。
属性
値
サービス
RetrieveItemCost_Custom
任意のテキストを入力できます。 サービスの内容の説明。
別名
retrieveItemCost
実装タイプ
内部
ネームスペース
Oracle Pricingの外部にあり、SOAPペイロードをPricingと通信するシステムのエンド・ポイントを特定するURLを入力します。 たとえば:
http://xmlns.oracle.com/apps/scm/costing/itemCosts/service/types/
http://my_server.com:7012
を使用しないでください。 -
詳細領域のエンティティ・タブで、エンティティを追加します。 各エンティティの読取り属性および書込み属性にチェック・マークが含まれていることを確認してください。
エンティティ
別名
親
CostParams_Custom
CostParams
空のままにします。
Result_Custom
結果
空のままにします。
Value_Custom
値
空のままにします。
-
「保存」をクリックします。
-
詳細領域のエンティティ・タブで、「表示」>「列」をクリックし、参照エンティティにチェック・マークを追加します。
-
詳細領域のエンティティ・タブで、別のエンティティを追加します。 読取り属性と書込み属性のそれぞれにチェック・マークが含まれていることを確認してください。
エンティティ
別名
参照エンティティ
親エンティティ
Value_Custom
値
値
結果
Oracle Costing Serviceの定義には、3つのレベルの階層が含まれています。
Root CostParams and Result Value
この階層を作成するには、次の手順に従います。
-
Value_Customエンティティを追加し、親エンティティは空のままにします。
-
別のValue_Customエンティティを追加し、参照エンティティを値として指定し、親エンティティを結果として指定します。
-
-
エンティティ列で、CostParams_Customをクリックします。
-
CostParams_Customエンティティ領域で、属性を追加します。 各属性の読取り属性と書込み属性にチェック・マークが含まれていることを確認してください。 他の属性は空白のままにします。
属性
別名
InvOrgID_Custom
InvOrgID
ItemID_Custom
ItemID
価格設定アルゴリズムではこれらの別名が使用され、大文字と小文字が区別されます。
-
詳細領域のエンティティ・タブで、参照エンティティ属性に値が含まれていないValue_Custom 「行」をクリックします。
-
Value_Customエンティティ領域で、エンティティを追加します。 各エンティティの読取り属性および書込み属性にチェック・マークが含まれていることを確認してください。 他の属性は空白のままにします。
属性
別名
CurrencyCode_Custom
CurrencyCode
ErrorFlag_Custom
ErrorFlag
InvOrgID_Custom
InvOrgID
ItemCost_Custom
ItemCost
ItemID_Custom
ItemID
UOMCode_Custom
UOMCode
-
「保存」をクリックします。
通常、ソース・タブを使用してソースを作成する必要はありません。仮想オブジェクトがwebサービスに移入されるときに、ソースを指定する場合はソース・タブを使用します。 ただし、この例では、価格設定アルゴリズムを使用してwebサービスをコールし、Webサービスが必要とする詳細を取得します。
PriceSalesTransactionサービスの更新
-
サービス・タブで、例による問合せをクリックし、値を問い合せます。
属性
値
サービス
PriceSalesTransaction
-
詳細領域のエンティティ・タブで、例による問合せをクリックし、値を問い合せます。
属性
値
エンティティ
ヘッダー
-
エンティティ領域で、「処理」>「行の追加」をクリックし、値を設定して、「保存してクローズ」をクリックします。
属性
値
属性
FulfillOrgId_Custom
読取
チェック・マークが含まれます
書込み
チェック・マークが含まれます
F. トラブルシューティング
ここにいくつかのヒントがあります。
-
価格設定アルゴリズムで、原価計算サービスのコール中に401未承認例外がレポートされた場合は、サービス登録で保護されたサービス・リンクを使用します。
-
Order Managementの価格内訳に原価手数料コンポーネントが表示されない場合は、それらを追加する必要があります。 詳細は、「オーダー明細の価格詳細の管理」を参照してください。
-
拡張アルゴリズムを評価して、アップグレード中にそれらを変更する必要があるかどうかを判断します。 詳細は、「四半期更新の実行(ドキュメントID 2337485.1)」を参照してください。
価格設定アルゴリズムとは異なるサービスのコール
このトピックでは、原価計算SOAPサービスを価格設定アルゴリズムからコールする方法について説明しますが、特定の要件を満たすように別のサービスをコールできます。
-
WSDLサービスのスキーマでIntegration Cloud Serviceを使用する必要があるかどうかを確認します。 ほとんどのSOAPサービスでは、Integration Cloud Serviceを使用する必要があります。
-
Integration Cloud Serviceが不要な場合は、セクションBおよびCをスキップします。
-
D節で、もし。
-
Integration Cloud Serviceは不要で、SOAPサービスに直接接続するようにコネクタを設定します。
-
Integration Cloud Serviceが必要で、コネクタがIntegration Cloud Serviceに直接接続するように設定します。
-
-
ステップEで、WSDLのリクエスト・スキーマおよびレスポンス・スキーマごとにサービス・マッピングを設定します。
-
ステップFで、デプロイメント要件に従ってアルゴリズムを設定します。
-
変更する必要がある価格設定アルゴリズムを識別します。 詳細は、「価格設定プロセス」および「価格設定アルゴリズムによる価格品目の方法の例(パート1)」から始まるコンテンツを参照してください。
-
サービスをコールする必要がある各アルゴリズムのステップを特定します。
-
サービスとインタフェースできるように、使用する入力値を決定します。
-
アルゴリズム変数を使用して出力を処理する方法など、サービスからの出力の処理方法を決定します。
-