機械翻訳について

ダウンストリーム履行の問題のトラブルシューティング

ダウンストリーム履行で発生するオーダー管理実装の問題を修正します。

一般的なエラー

問題

解決

エラー・メッセージが表示されます。

Order promising can't schedule the item because the requested date happens after the order promising horizon.

販売オーダーのリクエスト出荷日を設定して、品目のスケジュール、出荷および搬送に十分な時間があるようにします。

代替方法:

  1. 「設定および保守」作業領域に移動し、管理者プロファイル値の管理タスクを開きます。

  2. MSP_GOP_HORIZON_DAYSのプロファイル・オプション・コード属性を検索します。

  3. リクエスト出荷日の後に範囲の終了が発生するように、プロファイル値属性を変更します。

  4. データを収集し、Order Promisingサーバーをリフレッシュします。

オーダー管理のオーダー明細の価格が、売掛/未収金の請求書の価格と異なります。 1ドルもしくはそれ以下でしばしば値引きされます。

オーダー管理から売掛管理に送信される前に、価格設定によって値が端数処理されるように端数処理ルールを作成します。 詳細は、「端数処理ルールの管理」を参照してください。

この目的のために端数処理ルールを作成し、販売オーダーをインポートする場合は、インポート・ペイロードで価格の確定属性をNに設定する必要があります。 Yの場合、価格は凍結され、価格設定では端数処理ルールは適用されません。 詳細は、「販売オーダーの価格を確定」を参照してください。

与信チェック保留をリリースしてオーダーを承認した後でも、履行明細の保留をリリースできません。 次のようなエラーが発生します:

No reservation is defined for the orchestration process

この問題は、オーケストレーション・プロセスに予約タスクがあるが、実際にはそのタスクを使用していない場合に発生することがあります。 オーケストレーション・プロセス定義を調べて、使用していない予約タスクを削除します。

webサービスを使用して販売オーダーを作成し、価格を更新しましたが、次のいずれかのエラーのようなエラーが発生しました:

An order was not created because a value was not provided for the required attribute SOURCE_CHARGE_COMPONENT_ID in the source order with the following details: source order 132947, source order line 1, source order schedule 1, source order charge 300001671561802, source order charge component. Provide the required value, and resubmit the order.

The attribute SourceChargeComponentId is missing for service TaskLayerResponseAM.

The attribute HeaderCurrencyUnitPrice is missing for service TaskLayerResponseAM.

この問題は、レスポンス・ペイロードにSourceChargeComponentIdentifier属性およびHeaderCurrencyUnitPrice属性の値を含めない場合に発生することがあります。

これらの値を含める必要があります。

返品を作成する場合は、元の販売オーダーからこれらの値を含める必要があります。

詳細は、「独自のタスク・タイプの作成」を参照してください。

請求の問題があります

問題

解決

AS54888デスクトップ・コンピュータなど、通常出荷する品目があります。 品目に対する請求は必要ですが、実際には出荷する必要はありません。

品目の属性を有効にします。

  • マスター組織のAS54888品目の在庫属性および出荷可能属性を有効にします。

  • 在庫組織のAS54888品目の非在庫属性および出荷不可属性を有効にします。

販売オーダーを作成し、AS54888品目を追加し、送信をクリックします。 AS54888は在庫保有可能でも出荷可能でもないが、明細は出荷待機中ステータスでスタックしているため、オーケストレーション・プロセスは出荷ステップをスキップします。 時々エラーが発生します。

The value provided for the item ID attribute is invalid. Value provided: 100000046397982.

このエラーは、オーケストレーション・プロセスの出荷ステップで発生します。

この問題は、オーダー管理の履行明細が製品情報管理作業領域のマスター組織から品目の属性値を取得するため発生します。 在庫管理作業領域の在庫組織から属性値は取得されません。

問題を修正するには、品目を出荷しないが請求を行うオーケストレーション・プロセスに割り当てる割当ルールを作成します。 たとえば:

If Item = AS54888, then Do Process Name is set to DOO_BillonlyGenericProcess

インポートAutoInvoiceスケジュール済プロセスの実行時にエラーが発生します。

You must enter a value in either the Original System Bill-to Customer Reference column or the Bill-to Customer Account Number column.

このエラーは、設定中にIDではなく値を設定すると発生します。 試す:

  1. プロジェクト財務管理オファリングの管理に必要な権限があることを確認してください。

  2. 「設定および保守」作業領域に移動してから、タスクに移動します。

    • オファリング: プロジェクト財務管理

    • 機能領域: プロジェクト請求ベース

    • タスク: トランザクション・ソースの管理

  3. 「トランザクション・ソースの管理」ページの名前属性で、分散オーダー・オーケストレーションを検索して開きます。

  4. 「トランザクション・ソースの編集」ページの顧客領域で、これらの属性のオプションをIDに設定します。

    • 請求先顧客

    • 請求先住所

    • 請求先担当者

    オプションをIDに設定
  5. インポートAutoInvoiceスケジュール済プロセスを再度実行します。

スケジュール済プロセスの詳細は、「受注から入金への設定のガイドライン」および「会社間売掛/未収金請求書インポート詳細の更新」を参照してください。

エラーが発生しました。

Data validation failed for Create Billing Lines fulfillment task because required data values were not provided. The payment term in the fulfillment line is null. Source Order Information: xxxxxx

このエラーは、オーダー・ヘッダーまたはオーダー明細に支払条件を設定せず、顧客アカウント設定で支払条件が設定されていない場合に発生します。

アカウントの設定時に支払条件を設定します。

Order Managementでは、通常、販売オーダーの作成時に顧客アカウント設定から支払条件が設定されます。 支払条件の指定方法を学習します。 詳細は、「販売オーダーでの顧客詳細の表示の概要」を参照してください。

かわりに、オーダー改訂を作成するようにユーザーに指示してから、オーダー・ヘッダーまたはオーダー明細に支払条件を設定します。

販売オーダーの発行後の顧客データの非アクティブ化

販売オーダーの発行後に販売オーダーの顧客データを非アクティブ化し、オーダーで何らかの変更が必要な場合、Order Managementが非アクティブ化されている顧客データを参照するすべての明細を履行してクローズするのを待つ必要がある場合があります。

たとえば、次のことを想定します:

  1. 販売オーダーを作成する手順:
    • 請求先顧客をコンピュータ供給およびレンタルに設定します。
    • 2つのオーダー明細を追加します。
  2. オーダーを発行します。
    • Order Managementでは、オーダー明細1が売掛管理に送信され、明細のステータスが請求待ちになります。
    • オーダー明細2は手動出荷ステータスです。
  3. Oracle Customer Data ManagementでComputer Supply and Rentalsの請求先顧客を非アクティブ化します。
  4. 明細2の数量を変更する必要があるため、オーダー改訂を作成しますが、改訂の発行時にエラーが発生します。

THE VALUE XXX GIVEN FOR ATTRIBUTE BILL-TO CUSTOMER WHICH IS DEPENDENT ON ATTRIBUTE BILL-TO CONTACT WITH VALUE YYY IS INVALID

このエラーは、改訂の発行時にOrder ManagementがComputer Supply and Rentalsの請求先顧客を検証しようとしたが、Computer Supply and Rentalsがアクティブでなくなったことが判明したために発生します。 出荷先顧客を非アクティブ化すると、同様のエラーが発生する可能性があります。

この問題を回避するには、オーダーのこれらの明細がすべてクローズ済ステータスになるまで待ってから、改訂を作成します。

請求中に通貨を換算できない

エラーが発生しました。

The conversion type is invalid. If the currency of the transaction is the same as the ledger currency, enter User and set CONVERSION_RATE to 1.

この問題は、オーダー管理で換算レート・タイプのデフォルトとして使用できる値を設定していない場合に発生します。 オーダー管理では、外貨トランザクションを元帳通貨に換算するときに換算レート・タイプが使用されます。

  1. 「設定および保守」作業領域に移動し、「タスク」>「検索」をクリックしてから、管理者プロファイル値の管理タスクを検索して開きます。

  2. 「管理者プロファイル値の管理」ページで、AR_DEFAULT_EXCHANGE_RATE_TYPEのプロファイル・オプション・コード属性を検索します。

  3. Profile Values(プロファイル値)領域で、値を追加します。 プロファイル・レベル属性をサイトに設定してください。

オーダー管理拡張を使用して変換を実行する場合は、プロファイル値を設定するかわりに、この拡張コードを使用します。

import oracle.apps.scm.doo.common.extensions.ValidationException;

import oracle.apps.scm.doo.common.extensions.Message;

def orgId = header.getAttribute("BusinessUnitIdentifier");
def buPrimaryLedgerId=getBUPrimaryLedgerId(orgId);
def ledgerCurrCode=getLedgerCurrency(buPrimaryLedgerId);

def headerCurrCode=header.getAttribute("TransactionalCurrencyCode");

if(!headerCurrCode.equalsIgnoreCase(ledgerCurrCode) && header.getAttribute("CurrencyConversionTypeCode")==null){
String messageText = "Currency Conversion Type must be specified on the Order Header when the Sales Order Currency and the Currency associated to the Selling Business Unit is not the same";
List messages = new ArrayList();
messages.add(new Message(Message.MessageType.ERROR, messageText));
ValidationException ex = new ValidationException(messages);
throw ex;
}

Object getBUPrimaryLedgerId(Long orgId) {
def buPrimaryLedgerId;
def bussUnitPVO=context.getViewObject("oracle.apps.financials.commonModules.businessUnits.publicView.BusinessUnitPVO");
def buvc = bussUnitPVO.createViewCriteria();
def buvcRow = buvc.createViewCriteriaRow();
buvcRow.setAttribute("BusinessUnitId",orgId);
def buRowset = bussUnitPVO.findByViewCriteria(buvc, -1);
if(buRowset.hasNext()){
def buRow = buRowset.next();
buPrimaryLedgerId=buRow.getAttribute("PrimaryLedgerId");
}
return buPrimaryLedgerId;
}

Object getLedgerCurrency(String ledgerId) {
def ledgerCurrCode;
def ledgerPVO=context.getViewObject("oracle.apps.financials.generalLedger.ledgers.ledgerDefinitions.publicView.LedgerPVO");
def lvc = ledgerPVO.createViewCriteria();
def lvcRow = lvc.createViewCriteriaRow();
lvcRow.setAttribute("LedgerId",ledgerId);
def lRowset = ledgerPVO.findByViewCriteria(lvc, -1);
if(lRowset.hasNext()){
def ledgerRow = lRowset.next();
ledgerCurrCode=ledgerRow.getAttribute("CurrencyCode");
}
return ledgerCurrCode;
}

販売オーダーのステータスに問題があります

問題

解決

販売オーダーを作成して送信します。 サプライ・チェーン・オーケストレーションにより供給オーダーが作成され、品目が在庫に予約されます。

今日は2021年1月1日であるとします。 Global Order Promisingでは、サプライ・チェーンを調べて、1月7日まで品目を履行できないと判断し、これらの詳細をオーダー管理に伝達します。 オーダー管理では、履行明細の予定出荷日属性が1月7日に設定され、オーダー明細のステータス属性が待機中に変更されます。

オーダー明細のステータスが待機中ではなく出荷待機中になると思っていました。

在庫管理作業領域に移動し、「出荷」>「出荷明細の管理」を選択しますが、販売オーダーの出荷明細が見つかりません。

次に、何が起きたかを示します。 履行明細の予定出荷日属性がバック・トゥ・バック・フローの現在の日付の5日以上後に発生した場合、オーケストレーション・プロセスによって、オーダー明細のステータス属性が待機中に設定されます。

供給オーダーの明細の供給タイプ属性が次の場合:

  • ATP 納期回答では手持在庫が調査され、オーダー明細のスケジュールに使用されます。 供給オーケストレーション作業領域を使用して在庫を予約し、品目を選択できます。

  • 購買 購買オーダーが終了するまで待機してから、サプライ・チェーン・オーケストレーションを使用して在庫を予約し、品目を選択します。

詳細は、供給プロセスの管理を参照してください。

報酬中に他のシステムにリクエストを送信するカスタム・オーケストレーション・プロセスがあります。たとえば、第三者ベンダーへの与信チェックのリクエストの送信、取引コンプライアンスへのスクリーニング・リクエストの送信などがあります。 実行時に販売オーダーを改訂するとオーケストレーション・プロセスが実行されますが、オーダーは待ち状態の変更ステータスでスタックします。

この問題は、オーダー管理がリクエストから応答を受信しないために発生することがあります。

  • ダウンストリーム・システムに問題がある可能性があります。 問題を解決し、返信を送信できることを確認します。
  • リカバリ・プロセス・アクションを使用します。 詳細は、「販売オーダーのエラーの修正」を参照してください。
  • 販売オーダーを変更する必要がある場合は、スタックしている明細を取り消して、新規明細を作成し、オーダーを送信します。 詳細は、同じステータスのままになっているオーダー明細の取消を参照してください。

倉庫は自分の品目の在庫を予約していません

販売オーダーを作成し、送信し、これらの値を持つ履行明細があるとします。

属性

項目

AS54888

数量

100

オーダー管理作業領域で履行ビューに移動し、履行明細にエラーがあることを確認します。

A reservation was not created because the reservation quantity is greater than the available-to-reserve quantity.

いくつかの問題がこのエラーの原因になる可能性があります。 試行できる修正事項を次に示します。

倉庫の変更

オーダー管理作業領域に移動し、販売オーダーをオープンし、履行明細の倉庫属性を使用して倉庫を変更します。

有効在庫数量ルールの変更

オーダー明細をスケジュールするための無制限有効在庫数量ルールを設定するとします。 ただし、実行時に、ソーシング倉庫に手持数量はありません。

無制限有効在庫数量ルールを使用する場合、Order Promisingでは実際の供給はトラッキングされません。 供給は常に使用可能であると想定しています。 この問題を修正するには、無制限有効在庫数量ルールを削除できます。

ソース・ルールの変更

ソース・ルールを作成したが、数量:自または数量:より小さい属性を設定しなかったとします。 これらの値は、Order Promising作業領域またはオーダーのインポート中に設定できます。

この問題を解決する方法を次に示します。

  1. 「グローバル・オーダー納期回答」作業領域に移動します。

  2. 「グローバル・オーダー納期回答」ページで、「タスク」>「ソース・ルールの管理」をクリックします。

  3. 「ソース・ルールの管理」ページで、ソース・ルールを検索して開きます。

  4. 「ソース・ルールの編集」ページの有効開始日で、「表示」>「列」をクリックし、「数量:自」オプションおよび「次の数量未満」オプションにチェック・マークを追加します。

  5. 値を設定します。

    属性

    数量: 自

    0

    次の数量未満

    9999999

    これらの値はほとんどの実装で機能しますが、要件を満たすために異なる値を使用できます。 詳細は、「数量およびサプライヤに従ってソーシングするソース・ルールの作成」を参照してください。

    ソース・ルールをインポートする場合は、作業領域を使用するかわりに、インポート・ペイロードで値を設定します。

    属性

    FROM_QTY

    0

    TO_QTY

    9999999

  6. スケジュール済プロセス作業領域に移動し、「Order Promisingサーバーのリフレッシュと起動」スケジュール済プロセスを実行します。

オーケストレーション・プロセスの変更

オーケストレーション・プロセスから予約ステップを削除し、エラー・メッセージを回避できます。 使用可能な手持数量がない場合でも、販売オーダーは出荷待ちステータスになります。 ステップを削除する場合は、各販売オーダーの在庫を手動で予約する必要があります。

自分の販売実績を更新できない

エラーが発生しました:

You do not have the required access to update line attribute "Sales Credit". Source Order Information: 36919901-3-1

拡張でSourceTransactionSalesCreditIdentifierを使用して、同じflineIdにあるすべての販売実績のflineIdを移入するとします。 同じ履行明細に複数の販売実績がある場合は、拡張によってSourceTransactionSalesCreditIdentifierに対して複数のレコードが作成され、拡張によって明細に適用するクレジットが認識されません。

この問題を回避するには、SalesCreditIdentifierを使用してSourceTransactionSalesCreditIdentifierの値を明示的に移入します:

sc.setAttribute("SourceTransactionSalesCreditIdentifier", sc.getAttribute("SalesCreditIdentifier"));

たとえば:

無効 有効
def sc = salesCredits.createRow(); sc.setAttribute("SourceTransactionSalesCreditIdentifier", flineId); sc.setAttribute("SalespersonIdentifier", 5507); sc.setAttribute("Percent", new BigDecimal(50)); sc.setAttribute("SalesCreditTypeCode", 1); salesCredits.insertRow(sc); def sc = salesCredits.createRow(); sc.setAttribute("SalespersonIdentifier", 5507); sc.setAttribute("Percent", new BigDecimal(50)); sc.setAttribute("SalesCreditTypeCode", 1); salesCredits.insertRow(sc); sc.setAttribute("SourceTransactionSalesCreditIdentifier", sc.getAttribute("SalesCreditIdentifier"));