オーダー・インポートに関する問題のトラブルシューティング
ソース・オーダーのインポート時にオーダー管理実装で発生する問題を修正します。
エラー・メッセージ
問題 |
解決 |
---|---|
拡張可能フレックスフィールドの値をインポートすると、エラーが発生します。 たとえば、MyFlexfieldという名前の拡張可能フレックスフィールドを作成し、フレックスフィールドのセグメントを作成するときに「値セット」属性を10文字に設定しますが、インポートすると、次のようなエラーが発生します: 01.01:JBO-27023: Failed to validate all rows in a transaction.JBO-27024: Failed to validate a row with key oracle.jbo.Key[300001199553247 ] in FulfillLineEOJBO-27024: Failed to validate a row with key oracle.jbo.Key[300001199553248 ] in FulfillLineEffBSO__Details__InformationprivateEOJBO-27025: Failed to validate attribute MyFlexfield with value. . . |
インポートする値が、値セット属性で設定した値を超えていないことを確認してください。 この例では、MyFlexfield属性にインポートする値は10文字を超えないようにする必要があります。 バックグラウンドについては、「Order Managementでの拡張可能フレックスフィールドの設定」を参照してください。 |
エラー・メッセージが表示されます。
この問題は、カバレッジ明細の手数料コンポーネントの合計金額に値が含まれていない場合に発生する可能性があります。 |
オーダー・インポートにカバレッジ品目が含まれ、インポート前にインポート・データが品目の価格設定をすでに定義している場合は、カバレッジ明細の手数料コンポーネントの拡張金額に値が含まれていることを確認してください。 オーダー・インポート・テンプレートのDOO_ORDER_CHARGE_COMPS_INTタブの期間ヘッダー合計属性に、各カバレッジ明細の値が含まれていることを確認してください。 |
エラー・メッセージが表示されます。
|
オーダー・インポート・テンプレートのDOO_ORDER_CHARGES_INTタブで、RollupFlag属性をNに設定します。 |
販売オーダーをインポートしましたが、オーダー管理作業領域を使用してオーダーの属性(価格、日付、数量など)を変更すると、エラーが発生します。
|
DOO_IMPORTED_DRAFT_HEADER_UPDATE処理制約を無効にします。 制約を使用不可にし、すでに価格設定した販売オーダーをインポートした場合、オーダー管理作業領域を使用して価格に影響する数量またはその他の属性を変更しても、オーダー管理ではオーダーの価格は再設定されません。 |
エラー・メッセージが表示されます。
このエラーは、パーティまたは顧客の担当者詳細を送信するが、パーティまたは顧客詳細を含めない場合に発生する可能性があります。 |
DOO_ORDER_ADDRESSES_INT パーティ識別子パーティ番号パーティ名顧客識別子顧客番号顧客名 パーティ担当者識別子パーティ担当者番号パーティ担当者名 |
異なる種類のデータの問題
販売オーダーをインポートして発行します。 オーダー管理はオーダーを出荷しますが、出荷済ステータスでスタックし、属性の値に30文字を超える文字を含めることができないことを示すエラーが発生します。 リカバリ・アクションを使用しようとしましたが、リカバリしても問題は修正されません。
通常、この問題は、Oracle ApplicationsのAccounts Receivableでは、一部の属性の値が30文字を超えないようにする必要があるために発生します。 インポート・ペイロードの属性の値が30文字を超える可能性があります。 彼らを見てごらん。
-
SourceTransactionNumber
-
SourceTransactionScheduleNumber
-
SourceTransactionLineIdentifier
Oracle Receivablesを使用して販売オーダーの請求を行わず、値が30文字を超える必要がある場合は、制約を使用不可にできます。
-
「設定および保守」作業領域に移動してから、タスクに移動します。
-
オファリング: オーダー管理
-
機能領域: オーダー
-
タスク: 処理制約の管理。
-
-
「処理制約の管理」ページで、制約を無効にします。
属性
値
制約名 DOO_SOURCE_ATTRIBUTE_LENGTH_VALIDATION 表示名
ソース属性の長さの検証
30文字を超える値を持つソース・オーダーをインポートし、ソース属性の長さ検証制約が有効になっている場合、オーダー管理ではオーダー・ステータスがドラフトに設定され、オーダー管理作業領域にエラー・メッセージが表示されます。 下書きを破棄するか、文字制限を修正するか、制約を無効にしてから、ソース順序を再度インポートする必要があります。
バイナリ・データをインポートできない
バイナリ・データをインポートする必要がある場合は、インポートする前にバイナリ・データをテキストに変換する必要があり、変換時にはbase64エンコーディング・スキームを使用する必要があります。
インポートに失敗したペイロード・データの例を次に示します。
<ord:Attachment>
<ord:FileContent>text/plain</ord:FileContent><ord:Data>VGhlIEdlbmVyYWwgVGVybXMgYW5kIENvbmRpdGlvbiBpbiBDb2h1IHF1b3RhdGlvbiANCnNoYWxsIHByZXZhaWwgaWYgdGhlcmUncyBhbnkgdGVybXMgY29uZmxpY3Qgd2l0aCBQTy4&#x3D;</ord:Data>
<ord:FileName>text_document.txt</ord:FileName>
<ord:url>text_document.txt</ord:url>
<ord:DataTypeCode>FILE</ord:DataTypeCode>
<ord:Category>Order Confirmation Notes</ord:Category>
</ord:Attachment>
データ・タグのアンパサンド(&
)がbase64エンコーディングでないため、このインポートに失敗しました。
問題 |
解決 |
---|---|
エラー・メッセージが表示されます。
このエラーは、パーティまたは顧客の担当者詳細を送信するが、パーティまたは顧客詳細を含めない場合に発生する可能性があります。 |
1つ以上のパーティ属性の詳細を含めます。
1つ以上の顧客属性の詳細を含めます。
|
スケジュール済プロセス
「販売オーダーのインポート」スケジュール済プロセスを実行し、実行が終了し、ステータス・エラーがレポートされるとします。
たとえば:
ノート
-
「スケジュール済プロセス」ページの検索結果で、エラーの「行」をクリックします。
-
ログおよび出力領域のアタッチメントの横にある「リンク」をクリックします。
-
添付ファイルを開き、エラー・メッセージを確認します。
たとえば:
Request Id: 65735
Batch Name: 10810
Source System: null
Order Number: null
Allow Auto Purge: Y
Order PMC_IMP_161208_002 will not be imported due to the following error: An order was not created because no matching row for attribute ProductNumber with the value AS54888777 was found for the source order with the following details: source order PMC_IMP_161208_002, source order line 1, source order schedule 11. Check the attribute value, and resubmit the order..
Number of orders that were imported: 0. Check the run time user interface for processing status.
Number of orders that did not pass validation: 1. Some of these orders may be available in the order entry user interface.
Overall Result : ERROR
このエラーは、オーダー・インポート・テンプレートのデータが正しくないために発生します。 たとえば、ProductNumberにはAS54888777が含まれますが、OracleデータベースにはAS54888が含まれています。 SQLを使用してOracleデータベースに問い合せ、インポートする正しいデータを識別します。
別の例です。
Request Id: 65699
Batch Name: 10810
Source System: null
Order Number: null
Allow Auto Purge: Y
Order PMC_IMP_161208_001 will not be imported due to the following error: An order was not created because the value 300,000,001,469,001,777 provided for the attribute SOLD_TO_PARTY_ID is invalid for the source order with the following details: source order PMC_IMP_161208_001. Check the attribute value, and resubmit the order..
Number of orders that were imported: 0. Check the run time user interface for processing status.
Number of orders that did not pass validation: 1. Some of these orders may be available in the order entry user interface.
Overall Result : ERROR
このエラーは、SOLD_TO_PARTY_ID属性に300,000,001,469,001,777が含まれていますが、Oracleデータベースには300000001469001が含まれているために発生します。 SQLを使用してOracleデータベースに問い合せ、インポートする正しいデータを識別します。
構成品目
「受注仕様生産の問題のトラブルシューティング」を参照してください。
相互参照
「オーダー・オーケストレーション・メッセージの管理」ページでエラーが発生しました。
A cross-referenced value was not found for attribute CURRENCY_CODE in source system XXXXXXX
インポート・ペイロードへのレスポンスでこのエラーが発生する場合もあります。
<bpelFault>
<faultType>1</faultType>
<processResponse xmlns="http://xmlns.oracle.com/apps/scm/doo/decomposition/receiveTransform/receiveSalesOrder/DooDecompReceiveOrderComposite">
<part name="payload">
<processResponse xmlns:client="http://xmlns.oracle.com/apps/scm/doo/decomposition/receiveTransform/receiveSalesOrder/DooDecompReceiveOrderComposite" xmlns="http://xmlns.oracle.com/apps/scm/doo/decomposition/receiveTransform/receiveSalesOrder/DooDecompReceiveOrderComposite">
<client:OrchestrationOrderResponse>
<ns4:SourceTransactionNumber xmlns:ns4="http://xmlns.oracle.com/apps/scm/doo/decomposition/receiveTransform/receiveSalesOrder/model/">HITECH0001</ns4:SourceTransactionNumber>
<ns4:SourceTransactionIdentifier xmlns:ns4="http://xmlns.oracle.com/apps/scm/doo/decomposition/receiveTransform/receiveSalesOrder/model/">36466323</ns4:SourceTransactionIdentifier>
<ns4:SourceTransactionSystem xmlns:ns4="http://xmlns.oracle.com/apps/scm/doo/decomposition/receiveTransform/receiveSalesOrder/model/">ORA_BM_CPQ</ns4:SourceTransactionSystem>
<ns4:ReturnStatus xmlns:ns4="http://xmlns.oracle.com/apps/scm/doo/decomposition/receiveTransform/receiveSalesOrder/model/">ERROR</ns4:ReturnStatus>
<ns4:MessageName xmlns:ns4="http://xmlns.oracle.com/apps/scm/doo/decomposition/receiveTransform/receiveSalesOrder/model/">env:Server</ns4:MessageName>
<ns4:MessageDescription xmlns:ns4="http://xmlns.oracle.com/apps/scm/doo/decomposition/receiveTransform/receiveSalesOrder/model/">A cross-referenced value was not found for attribute CURRENCY_CODE in source system ORA_BM_CPQ.</ns4:MessageDescription>
</client:OrchestrationOrderResponse>
</processResponse>
</part>
</processResponse>
</bpelFault>
この問題は、ソース・システム(CPQなど)に相互参照は必要ありませんが、「設定および保守」作業領域の「プランニング・ソース・システムの管理」ページで「データの相互参照を使用可能」オプションが有効になっているために発生します。
問題を解決するには、「データの相互参照を使用可能」オプションを無効にします。
「オーダー・オーケストレーション・メッセージの管理」ページでエラーが発生しました。
Cross-Referenced Value Not Found for UOM_CODE
インポート・ペイロードには次のものが含まれます:
<ns2:OrderedQuantity>1</ns2:OrderedQuantity>
<ns2:OrderedUOMCode>EA</ns2:OrderedUOMCode>
この問題の原因は2つあります。
-
Global Order Promisingのソース・システムからデータを収集しませんでした。
-
インポート・ペイロードに正しい単位コードが含まれていません。
最初に、「設定および保守」作業領域で「収集されたオーダー参照データのレビュー」ページを開き、「単位」をクリックしてから、インポート・ペイロードが参照する単位を検索します。 見つからない場合は、データを収集する必要があります。 詳細は、「オーダー-入金」の設定のクイック・スタートを参照してください。
次に、オーダー管理データベースに対してSQLを実行します。
select
mai.instance_id,
mai.instance_code,
muom.unit_of_measure,
muom.uom_code
from
msc_units_of_measure MUOM,
msc_apps_instances MAI
where
MAI.instance_id = MUOM.SR_Instance_id;
このSQLは、インポートする単位が在庫表およびデータ収集表に含まれているかどうかを決定します。
問合せが次のものを返すとします:
INSTANCE_ID |
INSTANCE_CODE |
UNIT_OF_MEASURE |
UOM_CODE |
---|---|---|---|
300000000120910 |
OPS |
EA |
AbC |
次に、SQLを実行して、単位コードが参照する単位を取得します。
SELECT uom_code,
uom_class,
base_uom_flag,
unit_of_Measure,
description
FROM inv_units_of_measure_B iuomb,
inv_units_of_measure_tl iuomtl
WHERE iuomb.unit_of_measure_id = iuomtl.unit_of_measure_id
and iuomtl.language = 'US'
ORDER BY UOM_code;
問合せが次のものを返すとします:
UOM_CODE |
UOM_CLASS |
BASE_UOM_FLAG |
UNIT_OF_MEASURE |
説明 |
---|---|---|---|---|
AbC |
1 |
Y |
EA |
EACH |
問合せが返すUOM_CODEを使用するように、入力ペイロードを変更します。 たとえば、次のように置き換えます:
<ns2:OrderedQuantity>1</ns2:OrderedQuantity>
<ns2:OrderedUOMCode>EA</ns2:OrderedUOMCode>
これによって:
<ns2:OrderedQuantity>1</ns2:OrderedQuantity>
<ns2:OrderedUOMCode>AbC</ns2:OrderedUOMCode>
かわりに、入力ペイロードを変更するか、OrderedUOMCodeのかわりにOrderedUOM属性を使用するように変更し、UOM_CODEではなくUNIT_OF_MEASUREの値を参照します。
<ns2:OrderedQuantity>1</ns2:OrderedQuantity>
<ns2:OrderedUOM>EA</ns2:OrderedUOM>
改訂および返品
問題 |
解決 |
---|---|
販売オーダーをインポートし、送信し、リビジョンをインポートしますが、パフォーマンスの問題やエラーが発生します。 たとえば、1,000件の販売オーダーをインポートして送信します。 それらの1,000件の販売オーダーごとに改訂をすぐにインポートして送信しますが、問題が発生します。 | 10分などしばらく待ってから、リクエストを再送信してください。 大量の明細がある場合は、待機時間が長くなる可能性があります。 販売オーダーが「処理中」ステータスであるか、他のステータスでスタックしている場合は、続行しないでください。 しばらく待つか、スタック順序の原因となっている問題を修正してください。 詳細は、「ロック済または未開始の販売オーダーの回復」を参照してください。 |
参照された返品オーダーをインポートして発行しますが、売掛管理では返品のクレジット・メモは作成されません。 |
インポートするオーダー明細のビジネス・ユニットが、元のオーダー明細のビジネス・ユニットと同じであることを確認してください。 |
オーダー改訂のインポート中にエラー・メッセージが表示されます。
|
オーダー改訂をインポートする場合は、インポート・ワークシートのDOO_ORDER_ADDRESSES_INTタブにソース・トランザクション明細識別子およびソース・トランザクション・スケジュール識別子を含める必要があります。 |
OriginalSourceOrderNumber属性に値を含めますが、インポートは失敗します。 | OriginalSourceOrderNumber属性の値を含める場合は、originalOrderReferenceエンティティのOriginalSourceLineNumber属性にも値を含める必要があります。 オーダー明細詳細も含める必要があります。 詳細および例については、「Oracle Supply Chain Management CloudのREST API」に移動し、Order Managementを展開して、Order Hubの販売オーダーをクリックします。 |
特定のバージョンの販売オーダーを取得できません
REST APIを介して販売オーダーの最新バージョンを取得するには、/salesOrdersForOrderHub/{OrderKey}
を使用できます。{OrderKey}
はsourceOrderSystemです:sourceOrderId。
ただし、オーダーがドラフト・ステータスの場合、ドラフトはオーダーの最新バージョンになります。 下書き改訂がある場合は、オーダーのURLを使用して発行した販売オーダーを取得できません。 かわりに、q
パラメータまたはいずれかのファインダを使用してオーダーのすべてのバージョンを返す必要があり、オーダー・ヘッダーまたはオーダー明細でGETリクエストを使用して拡張可能フレックスフィールドを取得することはできません。 かわりに、additionalInformation子リソースに対してGETを実行する必要があります。また、そのリソースのURLをexpand=all
パラメータとともに使用して、フレックスフィールド・コンテキストを拡張する必要があります。
かわりに、/salesOrdersForOrderHub/ headerIdを使用して特定のバージョンのオーダーを取得できます。 たとえば、salesOrdersForOrderHub/57684を使用して、headerId 57684の販売オーダーを取得します。
オーダー明細にギャップがあります
改訂または返品をインポートすると、オーダー明細にギャップがあります。
たとえば、明細1と明細2の2つの参照返品明細がある返品オーダーをインポートします。 後で、このリターンにリビジョンをインポートします。 リビジョンでは、リターンに別の行が追加されますが、「オーダーの管理」ページにはこの行が行番号4として表示されます。 4ではなく3行目を表示するとします。
SQLを実行してオーダーの詳細を取得するとします。
SELECT dha.source_order_number ,
dfla.source_line_number ,
dfla.fulfill_line_number,
dfla.status_code ,
dla.line_number ,
dla.display_line_number
FROM fusion.doo_headers_all dha ,
fusion.doo_fulfill_lines_all dfla,
fusion.doo_lines_all dla
WHERE dha.header_id = dfla.header_id
AND dla.line_id = dfla.line_id
AND dha.submitted_flag = 'Y'
AND dfla.source_order_number = '&SOURCE_ORDER_NUMBER'
ORDER BY dla.line_number
SQLからこれらの値が返されるとします。
SOURCE_ORDER_NUMBER |
HEADER_ID |
SOURCE_LINE_NUMBER |
FULFILL_LINE_ID |
FULFILL_LINE_NUMBER |
LINE_NUMBER |
DISPLAY_LINE_NUMBER |
---|---|---|---|---|---|---|
12323 |
300000100663978 |
1 |
300000100663987 |
1 |
1 |
1 |
12323 |
300000100663978 |
2 |
300000100664018 |
1 |
2 |
2 |
12323 |
300000100663978 |
3 |
300000100664052 |
1 |
3 |
3 |
12323 |
300000100663978 |
4 |
300000100670796 |
1 |
6 |
4 |
12323 |
300000100663978 |
5 |
300000100670811 |
1 |
7 |
5 |
12323 |
300000100663978 |
8 |
300000100659060 |
1 |
9 |
6 |
SOURCE_LINE_NUMBERのギャップは5から8で、LINE_NUMBERのギャップは3から6、7から9です。 インポート・ペイロードでSOURCE_LINE_NUMBERまたはLINE_NUMBERを使用することも可能です。 OrderInformationServiceなどの一部のインポート・テクノロジでは、これらの属性をレスポンス・ペイロードに含めますが、リビジョンまたは戻り値のインポート時にインポート・ペイロードで使用しないでください。
改訂または返品をインポートし、オーダー明細番号または履行明細番号にギャップを設けない場合は、ペイロードにSOURCE_LINE_NUMBERではなくFULFILL_LINE_IDの値を含めます。 オーダー管理作業領域では、「オーダーの管理」ページおよびその他の履行ビューに表示する値としてDISPLAY_LINE_NUMBERが使用されます。
その他の問題
問題 |
解決 |
---|---|
OrderImportServiceを使用して、Contact属性やContactEmail属性などの顧客データをインポートします。 「顧客データ管理」ページを使用し、インポートによって連絡先および連絡先の電子メールが正常にインポートされたことを確認します。 「顧客の管理」ページで各アカウントの連絡先および連絡先の電子メールを管理したいのですが、このページでこれらの属性を表示できません。 |
顧客の管理では、アカウントごとの連絡先および連絡先の電子メールの管理はサポートされていません。 |
ファイルベースのデータ・インポートを行う場合は、CSVファイルの作成に時間がかかります。 たとえば、毎日、ソース・システムからオーダー管理に300を超える販売オーダーをインポートします。 最初のワークシートでヘッダーの詳細を問題なくロードできますが、2番目のワークシートDOO_ORDER_LINES_ALL_INTから約1,900行をインポートした後、サーバー・パフォーマンスは各行の15から20秒の遅延に減少します。 1時間以上待っていますが、まだ行を処理しています。 |
CSVファイルの作成時に使用しているコンピュータでこれを試してください。
|
ファイルベースのデータ・インポートを介してインポートする場合は、DOO_ORDER_LINES_ALL_INTワークシートでソース・トランザクション明細識別子属性を使用し、ソース明細番号が20、21および22であるが、明細番号は1、2および3である販売オーダーがあることを確認します。 明細番号に、ソース・トランザクション明細識別子で設定した値と同じ値を使用させる方法はありますか。 |
ソース・トランザクション明細識別子と明細番号に同じデータが格納されていません。 ソース・トランザクション明細識別子は、ソース・システム内のトランザクション明細を識別します。 LINE_NUMBERは、オーダー明細の数値をオーダー管理に格納します。 オーダー管理では、行番号が自動的に作成され、OracleデータベースのDOO_LINES_ALL表のLINE_NUMBER列に格納されます。 オーダー管理は、各明細番号が販売オーダー内で一意であることを確認するためにこれを実行します。 この値は変更できません。 |
インポートでは、一度に1つのエラーのみがレポートされます。 たとえば:
|
これは予想された動作です。 発生した最初のエラーでインポートが停止するため、そのエラーを修正できます。 ある行のエラーが別の行のエラーに影響することがあります。 そのため、次のエラーに進む前に、各エラーを修正することが重要です。 |
出荷可能明細をインポートして発行しますが、履行中のある時点で明細がスタックします。 たとえば、3つの明細がある販売オーダーをインポートして送信します。 明細1と明細2は出荷不可です。 明細3は出荷可能です。 Order Managementは、明細1と明細2を履行してクローズします。 明細3は履行中にスタックします。 |
スケジュールまたは出荷する必要がある出荷可能品目、またはリクエスト日を必要とするカスタム履行タスクがある場合は、インポート・ペイロードの明細に次の属性の少なくとも1つに値を含めてください:
|
REST APIを使用して、オーダー明細の取消をインポートします。 インポートをオーダー管理作業領域でドラフト・ステータスで表示し、手動で発行したいのですが、オーダー管理ではその前にインポートが自動的に発行されます。 |
REST APIペイロードのヘッダー・エンティティでSubmittedFlag属性をfalseに設定します。 これにより、オーダー管理はオーダーを自動的に発行できなくなります。 詳細は、「Oracle Supply Chain Management CloudのREST API」、「オーダー管理」>「Sales Orders for Order Hub」の順に展開します。 |