独自のペイロードを使用した拡張可能フレックスフィールドのインポート
通常は、拡張可能フレックスフィールドをインポートする事前定義済のサンプル・ペイロードを変更します。 ただし、独自のペイロードを作成してニーズを満たすこともできます。
-
ReceiveOrderRequestService webサービスを使用してテスト拡張可能フレックスフィールドをインポートするペイロードの例を作成します。
-
このトピックでは、含める必要がある最小限の詳細について説明します。
-
かわりに、事前定義されたペイロードの例を変更できます。 「Order Managementを統合するWebサービス・ペイロードの例」を参照してください。
設定の概要
-
ペイロードを作成してインポートします。
-
コンテキスト・コードをインポートしたことを確認します。
-
フレックスフィールド・セグメントをインポートしたことを確認します。
ペイロードの作成およびインポート
-
ペイロードを作成します。
-
ヘッダー詳細を追加します。
<ns2:AdditionalHeaderInformationCategories xsi:type="ns12:j_HeaderEffDooHeadersAddInfoprivate" xmlns:ns3=http://xmlns.oracle.com/apps/scm/doo/processOrder/service/ xmlns:ns12=http://xmlns.oracle.com/apps/scm/doo/processOrder/flex/headerCategories/ xmlns:ns22=http://xmlns.oracle.com/apps/scm/doo/processOrder/flex/headerContextsB/ xmlns:ns8="http://xmlns.oracle.com/apps/scm/doo/processOrder/model/"> <ns8:Category>DOO_HEADERS_ADD_INFO</ns8:Category> <ns8:SourceTransactionLineIdentifier>1</ns8:SourceTransactionLineIdentifier> <ns8:SourceTransactionScheduleIdentifier>1</ns8:SourceTransactionScheduleIdentifier> <ns12:HeaderEffBPREVIOUS_5FSO_5FREFprivateVO> <ns8:ContextCode>PREVIOUS_SO_REF</ns8:ContextCode> <ns22:locationname>West Coast</ns22:locationname> </ns12:HeaderEffBPREVIOUS_5FSO_5FREFprivateVO> </ns2:AdditionalHeaderInformationCategories>
-
履行明細詳細を追加します。
<ns2:AdditionalFulfillmentLineInformationCategories xsi:type="ns12:j_FulfillLineEffDooFulfillLinesAddInfoprivate" xmlns:ns12="http://xmlns.oracle.com/apps/scm/doo/processOrder/flex/fulfillLineCategories/"xmlns:ns22=http://xmlns.oracle.com/apps/scm/doo/processOrder/flex/fulfillLineContextsB/ xmlns:ns8="http://xmlns.oracle.com/apps/scm/doo/processOrder/model/"> <ns8:Category>DOO_FULFILL_LINES_ADD_INFO</ns8:Category> <ns8:SourceTransactionLineIdentifier>1</ns8:SourceTransactionLineIdentifier> <ns8:SourceTransactionScheduleIdentifier>1</ns8:SourceTransactionScheduleIdentifier> <ns12:FulfillLineEffBADD_CONTEXT_HEREprivateVO> <ns8:ContextCode>ADD_CONTEXT_HERE</ns8:ContextCode> <ns22:ADD_SEGMENT_HERE>Working</ADD_SEGMENT_HERE> </ns12:FulfillLineEffBADD_CONTEXT_HEREprivateVO> </ns2:AdditionalFulfillmentLineInformationCategories> </ns2:OrchestrationOrderRequestLine>
説明
-
ADD_CONTEXT_HERE
をコンテキスト・コードに変更します。 -
ADD_SEGMENT_HERE
をセグメントに変更します。 -
拡張可能フレックスフィールドの詳細は、
</ns2:OrchestrationOrderRequestLine>
の直前のオーダー明細詳細の最終行として追加します。
-
たとえば:
<ns2:AdditionalFulfillmentLineInformationCategories xsi:type="ns12:j_FulfillLineEffDooFulfillLinesAddInfoprivate" xmlns:ns12=http://xmlns.oracle.com/apps/scm/doo/processOrder/flex/fulfillLineCategories/ xmlns:ns22=http://xmlns.oracle.com/apps/scm/doo/processOrder/flex/fulfillLineContextsB/ xmlns:ns8="http://xmlns.oracle.com/apps/scm/doo/processOrder/model/"> <ns8:Category>DOO_FULFILL_LINES_ADD_INFO</ns8:Category> <ns8:SourceTransactionLineIdentifier>1</ns8:SourceTransactionLineIdentifier> <ns8:SourceTransactionScheduleIdentifier>1</ns8:SourceTransactionScheduleIdentifier> <ns12:FulfillLineEffBPCTESTAUGprivateVO> <ns8:ContextCode>PCTESTAUG</ns8:ContextCode> <ns22:pctestaugseg1>Working</pctestaugseg1> </ns12:FulfillLineEffBPCTESTAUGprivateVO> </ns2:AdditionalFulfillmentLineInformationCategories> </ns2:OrchestrationOrderRequestLine>
説明
-
PCTESTAUG
はコンテキストです。 -
pctestaugseg1
はセグメントです。 PCTESTAUGには1つのセグメントのみが含まれます。
FulfillLineEffBPCTESTAUGprivateVO仮想オブジェクトの値に注意してください。 後で確認します。
-
-
ReceiveOrderRequestServiceを使用してペイロードをインポートします。 詳細は、「Webサービスを使用したオーダー管理の統合に関するガイドライン」を参照してください。
コンテキスト・コードをインポートしたことの確認
-
SoapUIを開き、プロジェクトを作成します。
属性
値
プロジェクト名
EFFテストによるオーダーの作成
初期WSDL
http://host:port/ soa-infra/services/default/DooDecompReceiveOrderExternalComposite/ReceiveOrderRequestServiceWSDL
host:port
をサーバー・アドレスに置き換えます。リクエストの作成
使用可能。
-
仮想オブジェクトを確認します。
-
プロジェクト領域で、ReceiveOrderRequestServiceBindingをダブルクリックします。
-
概要タブの定義部品領域で、J_FulfillLineEFFDooFulfillLinesAddの横にある「リンク」をクリックします。
ブラウザにXSDが表示されます。
<?xml version='1.0' encoding='UTF-8'?> <xsd:schema xmlns:ns0="http://xmlns.oracle.com/apps/scm/doo/processOrder/flex/fulfillLineContextsB/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:sdoXML="commonj.sdo/xml" xmlns:sdo="commonj.sdo" xmlns="http://xmlns.oracle.com/apps/scm/doo/processOrder/flex/fulfillLineCategories/" targetNamespace="http://xmlns.oracle.com/apps/scm/doo/processOrder/flex/fulfillLineCategories/" elementFormDefault="qualified"> <xsd:import schemaLocation="../fulfillLineContextsB/Lineprcoverride.xsd" namespace="http://xmlns.oracle.com/apps/scm/doo/processOrder/flex/fulfillLineContextsB/"></xsd:import> <xsd:import schemaLocation="../fulfillLineContextsB/Pctestaug.xsd" namespace="http://xmlns.oracle.com/apps/scm/doo/processOrder/flex/fulfillLineContextsB/"></xsd:import> <xsd:import schemaLocation="https://eczc-test.scm.em2.oraclecloud.com:443/soa-infra/services/default/DooDecompReceiveOrderExternalComposite/soa-cp/xml/sdoXML.xsd" namespace="commonj.sdo/xml"></xsd:import> <xsd:import schemaLocation="https://eczc-test.scm.em2.oraclecloud.com:443/soa-infra/services/default/DooDecompReceiveOrderExternalComposite/soa-cp/xml/sdoModel.xsd" namespace="commonj.sdo"></xsd:import> <xsd:include schemaLocation="j_FulfillLineEffCategories.xsd"></xsd:include> <xsd:complexType name="j_FulfillLineEffDooFulfillLinesAddInfoprivate"> <xsd:annotation> <xsd:appinfo source="http://xmlns.oracle.com/adf/svc/metadata/"> <key xmlns="http://xmlns.oracle.com/adf/svc/metadata/"> <attribute>FulfillLineId</attribute> </key> </xsd:appinfo> </xsd:annotation> <xsd:complexContent> <xsd:extension base="j_FulfillLineEffCategories"> <xsd:sequence> <xsd:element name="FulfillLineEffBLinePrcOverrideprivateVO" type="ns0:Lineprcoverride" minOccurs="0" sdoXML:dataType="sdo:DataObject"></xsd:element> <xsd:element name="FulfillLineEffBPCTESTAUGprivateVO" type="ns0:Pctestaug" minOccurs="0" sdoXML:dataType="sdo:DataObject"></xsd:element> </xsd:sequence> </xsd:extension> </xsd:complexContent> </xsd:complexType> <xsd:element name="j_FulfillLineEffDooFulfillLinesAddInfoprivate" type="j_FulfillLineEffDooFulfillLinesAddInfoprivate"></xsd:element> </xsd:schema>
-
dataType="sdo:DataObject"
で、xsd:element name=
にFulfillLineEffBPCTESTAUGprivateVOが含まれていることを確認します。この値は、インポート・ペイロードに以前に含めた値と一致する必要があります。 たとえば、
<ns12:FulfillLineEffBPCTESTAUGprivateVO>
です。
-
-
コンテキスト・コードを確認します。
-
Order Managementの管理に必要な権限があることを確認します。
-
「設定および保守」作業領域で、タスクに移動します。
-
オファリング: オーダー管理
-
機能領域: オーダー
-
タスク: オーダーの拡張可能フレックスフィールドの管理
-
-
「拡張可能フレックスフィールドの管理」ページで、値を検索します。
属性
値
フレックスフィールド・コード
DOO_FULFILL_LINES_ADD_INFO
-
検索結果で、「処理」>「編集」をクリックします。
-
「拡張可能フレックスフィールドの編集」ページで、「コンテキストの管理」をクリックします。
-
「コンテキストの管理」ページで、値を検索します。
属性
値
コード
PCTESTAUG
-
検索結果にコンテキストが表示されることを確認し、「処理」>「編集」をクリックします。
-
「コンテキストの編集」ページで、インポートした値がコンテキストに含まれていることを確認します。
ヘッダーで:
属性
値
コード
PCTESTAUG
API名
Pctestaug
この値を書き留めます。 後でセグメントを確認するときに使用します。
「コンテキスト依存セグメント」領域で、次の手順を実行します:
属性
値
名前
PCTESTAUGSEG1
コード
PCTESTAUGSEG1
コンテキスト使用タブで、この値を含む行が存在することを確認します。
属性
値
名前
追加履行明細情報
たとえば:
「オーダー拡張可能フレックスフィールドの管理」ページを使用しない場合は、かわりにOracleデータベースに対してSQL問合せを実行します。
select fdct.application_ID, fdct.descriptive_flexfield_code, fdct.context_code, fdcb.context_identifier, fdcb.enabled_flag, fdct.description from fnd_df_contexts_TL fdct, fnd_df_contexts_B fdcb where fdct.context_code = fdcb.context_code and fdct.application_id = fdcb.application_id and fdct.language = 'US' and fdct.descriptive_flexfield_code = 'DOO_FULFILL_LINES_ADD_INFO';
次に、問合せによって返される可能性のあるデータの例を示します。
APPLICATION_ID
DESCRIPTIVE_FLEXFIELD_CODE
CONTEXT_CODE
CONTEXT_IDENTIFIER
ENABLED_FLAG
10008
DOO_FULFILL_LINES_ADD_INFO
LinePrcOverride
ライン・ナップ
Y
10008
DOO_FULFILL_LINES_ADD_INFO
Accounting_Rule
AccountingRule
N
10008
DOO_FULFILL_LINES_ADD_INFO
PCTESTAUG
Pctestaug
Y
この例では、
PCTESTAUG
はCONTEXT_CODEです。 -
フレックスフィールド・セグメントをインポートしたことの確認
-
SoapUIのプロジェクト領域で、ReceiveOrderRequestServiceBindingをダブルクリックします。
-
概要タブの定義部品領域で、Pctestaug.xsdの横にある「リンク」をクリックします。
Pctestaug
は、前に「コンテキストの編集」ページで書き留めた属性API名の値です。ブラウザにXSDが表示されます。
<?xml version='1.0' encoding='UTF-8'?> <xsd:schema xmlns:ns0="http://xmlns.oracle.com/apps/scm/doo/processOrder/model/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://xmlns.oracle.com/apps/scm/doo/processOrder/flex/fulfillLineContextsB/" targetNamespace="http://xmlns.oracle.com/apps/scm/doo/processOrder/flex/fulfillLineContextsB/" elementFormDefault="qualified"><xsd:include xmlns:id="Pctestaug-xsd" schemaLocation="Pctestaug.xsd"></xsd:include> <xsd:import schemaLocation="../../model/FulfillLineEff.xsd" namespace="http://xmlns.oracle.com/apps/scm/doo/processOrder/model/"></xsd:import> <xsd:complexType name="Pctestaug"> <xsd:annotation> <xsd:appinfo source="http://xmlns.oracle.com/adf/svc/metadata/"> <key xmlns="http://xmlns.oracle.com/adf/svc/metadata/"> <attribute>EffLineId</attribute> </key> </xsd:appinfo> </xsd:annotation> <xsd:complexContent> <xsd:extension base="ns0:FulfillLineEff"> <xsd:sequence> <xsd:element name="pctestaugseg1" type="xsd:string" minOccurs="0" nillable="true"></xsd:element> </xsd:sequence> </xsd:extension> </xsd:complexContent> </xsd:complexType> <xsd:element name="pctestaug" type="Pctestaug"></xsd:element> </xsd:schema>
-
xsd:extension base="ns0:FulfillLineEff"
で、xsd:element name=
にpctestaugseg1が含まれていることを確認します。この値は、インポート・ペイロードに以前に含めた値と一致する必要があります。
SoapUIを使用してフレックスフィールド・セグメントを検証しない場合は、かわりにOracleデータベースに対してSQL問合せを実行します。
select fdst.DESCRIPTIVE_FLEXFIELD_CODE, fdst.CONTEXT_CODE, fdst.SEGMENT_CODE, fdst.NAME, fdsb.SEGMENT_IDENTIFIER, fdsb.COLUMN_NAME, fdsb.SEQUENCE_NUMBER from fnd_df_segments_tl fdst, fnd_df_segments_b fdsb where fdst.APPLICATION_ID = fdsb.APPLICATION_ID and fdst.ENTERPRISE_ID = fdsb.ENTERPRISE_ID and fdst.DESCRIPTIVE_FLEXFIELD_CODE = fdsb.DESCRIPTIVE_FLEXFIELD_CODE and fdst.CONTEXT_CODE = fdsb.CONTEXT_CODE and fdst.SEGMENT_CODE = fdst.SEGMENT_CODE and fdst.language = 'US' and fdst.descriptive_flexfield_code = 'DOO_FULFILL_LINES_ADD_INFO' order by fdst.CONTEXT_CODE, fdsb.SEQUENCE_NUMBER;
次に、問合せによって返される可能性のあるデータの例を示します。
DESCRIPTIVE_FLEXFIELD_CODE
CONTEXT_CODE
SEGMENT_CODE
NAME
SEGMENT_IDENTIFIER
COLUMN_NAME
DOO_FULFILL_LINES_ADD_INFO
Accounting_Rule
PC 1
pc1
PC 1
ATTRIBUTE_CHAR1
DOO_FULFILL_LINES_ADD_INFO
LinePrcOverride
SalePrcOverrideVal
SalePrcOverrideVal
売却価額
ATTRIBUTE_NUMBER1
DOO_FULFILL_LINES_ADD_INFO
PCTESTAUG
PCTESTAUGSEG1
PCTESTAUGSEG1
pctestaugseg1
ATTRIBUTE_CHAR7
SEGMENT_IDENTIFIER列のpctestaugseg1値は、インポート・ペイロードの
<ns22:pctestaugseg1>
の値と一致する必要があります。