機械翻訳について

オープン状態のオーダー履行の更新またはクローズ

クローズする必要があるときにオープンしたままのオーダー明細をクローズします。

Order Managementでは、オーケストレーション・プロセスのすべてのオーケストレーション・プロセス・ステップが終了すると、各オーダー明細がクローズされます。 状況によっては、出荷ステップの出荷など、履行が完了したことを示すステップもあります。 インジケータは、オーケストレーション・プロセスがこのステップに達したときに履行が行われたものとみなされますが、オーダー明細はまだオープンしていることを意味します。

Order Managementでオーダー明細がクローズされてから「販売オーダーの更新またはクローズ」スケジュール済プロセスを実行していない場合、Order Management作業領域では、これらのオーダーおよび明細が参照するすべてのオーダー明細をクローズした場合でも、販売オーダーおよびオーダー明細がオープンとして表示されることがあります。 スケジュール済プロセスを実行してこの問題を解決できます。

演習

午前9時から午後5時までオープンしているコール・センターを管理し、オープン時間中にオーダー管理が作成するすべてのオーダー・ヘッダーを処理する必要があるとします。 また、2021会計年度のプロセスを毎日実行し、コール・センターがクローズした後にプロセスを実行する必要があります。

  1. オーケストレーション・プロセスでオーダー明細の処理が正常に終了したことを確認します。

    • オーダー管理作業領域に移動し、販売オーダーを検索して開きます。

    • オーダー明細の「明細ステータス」属性に「クローズ済」が含まれていることを確認します。

    • オーダー明細の「オーケストレーション・プロセス番号」属性の値(300100541247223など)をクリックします。

    • 「オーケストレーション・プロセス」ページのオーケストレーション・プラン領域で、タスク進捗列の最後の行に緑色のチェック・マークが含まれていることを確認します。

  2. スケジュール済プロセスの実行に必要な資格証明を使用してOracle Applicationsにサインインします。
    資格証明
    ジョブ・ロール オーダー・マネージャ(ORA_DOO_ORDER_MANAGER_JOB
    権限 オーケストレーション・プロセスの計画(DOO_PLAN_ORCHESTRATION_PROCESSES_PRIV)
    職務ロール Orchestration Order Management (ORA_DOO_ORCHESTRATION_ORDER_MANAGEMENT_DUTY)

    このトピックでは、事前定義済ジョブ・ロールを使用します。 セキュリティ要件に応じて、独自のジョブ・ロールを作成する必要があります。 詳細は、「Order Managementの実装に必要な権限の取得」を参照してください。

  3. スケジュール済プロセスの最新バージョンを使用するために必要なプロファイル・オプションを使用可能にします。 「処理中のままの販売オーダーを終了」を参照してください。
  4. 「スケジュール済プロセス」作業領域に移動します。

  5. 「スケジュール済プロセス」ページで、「処理」>「新規プロセスのスケジュール」をクリックします。

  6. 「新規プロセスのスケジュール」ダイアログで、「下向き矢印」をクリックし、「検索」をクリックして値を検索します。

    パラメータ

    名前

    販売オーダーの更新またはクローズ

  7. OK > OKをクリックします。

  8. 少なくとも1つの販売オーダーがオープンしており、次のステップで設定した値を満たしていることを確認してください。 設定した基準を満たす販売オーダーがない場合、プロセスがエラーを返すことがあります。

  9. 「プロセス詳細」ダイアログで、ニーズにあわせてパラメータ値を設定します。 「処理中のままの販売オーダーを終了」を参照してください。

    重要な詳細は、「Order Managementでスケジュール済プロセスを使用するためのガイドライン」を参照してください。

  10. 「詳細」>「スケジュールの使用」をクリックし、値を設定します。

    属性

    頻度

    日次

    1日間

    作成日: 自

    1/1/21 5:30 PM

    作成日: 至

    12/31/21 5:30 PM

  11. 「送信」をクリックします。

ガイドライン

  • 12時間ごとなど、スケジュールに従って自動的に実行されるよう、スケジュール済みプロセスを設定することをお勧めします。

  • スケジュール済プロセスでは、オーダー・ヘッダーのステータスも更新されます。

  • スケジュール済プロセスによって、DOO_LINES_ALL表のSHIPPED_QUANTITY、SCHEDULE_SHIP_DATEおよびACTUAL_SHIP_DATE列が更新されます。 プロセスを実行しない場合、オーダー管理作業領域でオーダー明細のステータスがクローズ済として表示され、DOO_LINES_ALLでオープンとして表示されるか、明細の予定出荷日にDOO_LINES_ALLではなく作業領域の値が含まれている可能性があります。

  • スケジュール済プロセスを実行しない場合、レポートやアナリティクスなど、様々な統合で使用するデータに、オーダー管理作業領域に表示される最新の変更が反映されないことがあります。

  • 販売オーダーの更新または販売オーダーのクローズ・スケジュール済プロセスのすべてのインスタンスが、現在成功ステータスまたはエラー・ステータスであることを確認してください。 再試行中など、これらのステータスのいずれにもないプロセスが見つかった場合は、そのインスタンスの終了を待ってから、新しいインスタンスを起動する必要があります。
  • 問題が発生した場合は、間隔時間パラメータに値を指定せずにプロセスを実行してください。

スケジュール済プロセスでは、オーダー明細ステータスに応じてオーダー・ステータスが更新されます。

オーダー明細ステータス

プロセスの機能

販売オーダーのすべての明細が取消済ステータスです。

オーダー・ステータスを取消済に設定します。

オーダーの少なくとも1つの明細がクローズ済ステータスで、他のすべての明細が取消済またはクローズ済ステータスです。

オーダー・ステータスをクローズ済に設定します。

スケジュール済プロセスは、ドラフト・オーダー明細から属性値を取得し、それらを使用して発行済オーダー明細の属性を更新します。

これらの属性名は、ビジネス・ルールとwebサービス・ペイロードで若干異なります。

オーダー明細属性

送信済オーダー明細属性

ShippedQty

SumShippedQty

RmaDeliveredQty

SumRmaDeliveredQty

FulfilledQty

SumFulfilledQty

ActualShipDate

MaxActualShipDate

ScheduleShipDate

MaxScheduleShipDate

FulfillmentDate

MaxFulfillmentDate

日付と間隔を設定するためのガイドライン

これらのガイドラインを適用するのは、古いバージョンのスケジュール済プロセスを使用している場合のみです。 これは、プロファイル・オプションを有効にしないときに使用します。 次の組合せを使用できます:
  • 「作成日: 自」および「作成日: 至」
  • 作成日:自のみ
  • 間隔のみ
次のもののみを使用することはできません:
  • 作成日と間隔:自
  • 作成終了日および間隔
  • 作成日: 至

作成日:自および作成日:至および間隔を空のままにすることはできません。

これらのガイドラインに従わない場合でも、スケジュール済プロセスを送信できますが、失敗します。

たとえば:

パラメータ

説明

エンティティ名

テキストHeaderまたはLineを入力します:

  • 「ヘッダー」. 販売オーダー用です。

  • 「明細」 オーダー明細用。

この例では、Headerと入力します。

エンティティID

1つを処理するには:

  • オーダー・ヘッダーのIDを入力します。

  • オーダー明細のIDを入力します。

作成日:自、作成日:至または間隔時間数を入力しない場合は、エンティティIDを入力する必要があります。 問合せを実行してエンティティIDを取得できます。

この例では、エンティティIDは空のままにします。

「作成日: 自」および「作成日: 至」

作成日:自および作成日:至を使用して、エンティティを更新またはクローズする際に考慮する期間を指定します。

  • 作成日: 自 オーダー管理でエンティティが作成された最も早い日時を指定します。

  • 作成日: 至 オーダー管理でエンティティが作成された最新の日時を指定します。

たとえば、ヘッダーをエンティティとして設定し、次のように設定するとします:

  • 作成日:自は作成日:至は作成日:至は作成日:至は作成日:至は作成日:至は作成日:至はオーダー管理が昨日作成したオーダー・ヘッダーをすべて更新します。

  • 作成日:自は昨日正午ですが、作成日:至は指定しないと、オーダー管理で昨日正午以降に作成されたすべてのオーダー・ヘッダーが現在の時間まで更新されます。

間隔時間を入力する場合、作成日:自または作成日:至は入力しないでください。

この例では、これらの属性は空のままにします。

間隔(時間)

プロセスの開始時から遡ってカウントする時間数(時間)。 スケジュール済プロセスでは、この間隔を使用して、処理するエンティティを識別します。

たとえば、間隔時間に8と入力し、Header(ヘッダー)と入力し、他のすべての属性を空のままにした場合、スケジュール済プロセスでは、Submit(発行)をクリックする直前に、オーダー管理で作成されたすべてのエンティティが8時間で処理されます。

この例では、間隔に10と入力します。 コール・センターは9~5時間オープンしており、8時間です。 オーダー入力スペシャリストが現在追加している販売オーダーの作成を終了できるように、スケジュール済プロセスを5時30分に開始するように設定します。 間隔として10を使用すると、これらの販売オーダー、および午前7時30分以降に作成した販売オーダーも取得されます。

エンティティIDを取得する問合せ

エンティティIDの取得に使用できるSQLを次に示します。

SELECT DISTINCT
lines.line_id,
lines.creation_date,
lines.header_id
FROM
fusion.doo_process_instances pi,
fusion.doo_orchestration_groups og,
fusion.doo_lines_all lines
WHERE
og.doo_process_instance_id = pi.doo_process_instance_id
AND og.status = 'ACTIVE'
AND og.line_id = lines.line_id
AND pi.process_active IN (
'COMPLETED',
'INACTIVE'
)
AND lines.open_flag = 'Y'
AND lines.header_id IN (
SELECT
nvl(header_id, 0)
FROM
doo_headers_all
WHERE
creation_date BETWEEN :currstartdate AND :currenddate
)
UNION
SELECT DISTINCT
lines.line_id,
lines.creation_date,
lines.header_id
FROM
fusion.doo_lines_all lines,
fusion.doo_fulfill_lines_all flines
WHERE
lines.line_id = flines.line_id
AND lines.open_flag = 'Y'
AND flines.canceled_flag = 'Y'
AND flines.open_flag = 'N'
AND lines.header_id IN (
SELECT
nvl(header_id, 0)
FROM
doo_headers_all
WHERE
creation_date BETWEEN :currstartdate AND :currenddate
)

=========
HeaderWithCompletedProcessInstancesVO
---------------------

SELECT DISTINCT
headers.header_id,
headers.creation_date
FROM
doo_process_instances pi,
doo_orchestration_groups og,
doo_headers_all headers
WHERE
og.doo_process_instance_id = pi.doo_process_instance_id
AND og.status = 'ACTIVE'
AND og.header_id = headers.header_id
AND headers.open_flag = 'Y'
AND pi.process_active IN (
'COMPLETED',
'INACTIVE'
)
UNION
SELECT DISTINCT
headers.header_id,
headers.creation_date
FROM
doo_lines_all lines,
doo_headers_all headers
WHERE
headers.open_flag = 'Y'
AND headers.header_id = lines.header_id
AND lines.canceled_flag = 'Y';