SQLを使用したOrder Managementデータの問合せ
SQLを使用してオーダー管理データベースからデータを取得し、分析します。
オーダー管理データベースから詳細を取得し、様々な管理タスクを実行します。
-
オーダーのインポート時またはwebサービスで使用する必要があるデータ書式および値を確認します。
-
アップグレードまたはその他の管理設定中に発生する問題をトラブルシューティングします。
-
データを任意のデータ管理ツールに保存して、分析できます。
Oracle Business Intelligenceにデータ・モデルを作成し、それを使用してオーダー管理データベースに問い合せます。
アクティブなユーザーとそうでないユーザーを識別できるように、データベースを問い合せてユーザーのリストを取得する必要があるとします。
ステップの概要
-
問合せを作成して実行します。
-
レポートの作成。
このトピックではサンプル値を使用します。 ビジネス要件によっては、別の値が必要になる場合があります。
問合せの作成および実行
-
Oracle Analytics Publisherで開発する必要がある権限があることを確認します。
Oracle Business Intelligenceでデータ・モデルを作成できるように、これらの権限が必要です。
-
「レポートおよび分析」作業領域に移動します。
詳細は、「オーダー管理でのレポートおよびアナリティクスの使用」を参照してください。
-
レポートおよびアナリティクス・ページで、「カタログの参照」をクリックします。
ブラウザで、Oracle Business Intelligenceの新しいタブが開きます。
-
Oracle Business Intelligenceで、「ホーム」をクリックします。
-
データ・モデルを作成します。
-
作成領域の公開レポートで、「詳細」>「データ・モデル」をクリックします。
データ・モデルを使用して、Oracleデータベースの問合せに使用するSQLを設定します。 異なるSQL問合せに対してデータ・モデルを再利用できます。 SQL問合せごとに個別のデータ・モデルを作成して保存する必要はありません。
-
ダイアグラム・タブで、「新規データ・セット」>「SQL問合せ」をクリックします。
-
「新規データ・セットSQL問合せ」ダイアログで、値を設定します。
属性
値
名前
自分のSQL
データ・ソース
ApplicationDB_FSCM (Default)
FSCMはFusion Supply Chain Managementを意味します。
SQLのタイプ
標準SQL
SQL問合せ
Select pu.user_id, pu.active_flag, pu.start_date, pu.end_date, pu.username, pur.role_id, pur.role_guid Select pu.user_id, pu.active_flag, pu.start_date, pu.end_date, pu.username, pur.role_id, pur.role_guid from per_users pu, per_user_roles pur, per_user_history puh
その他の問合せを入力できます。 たとえば、すべてのオーダー・ヘッダーを取得するには、次のように入力します:
SELECT * FROM fusion.DOO_HEADERS_ALL
すべてのオーダー明細を取得するには、次のように入力します:
SELECT * FROM fusion.DOO_LINES_ALL
たとえば:
-
「OK」をクリックします。
「ダイアグラム」タブには、SQLで定義した属性が表示されます。
-
「データの表示」をクリックし、行を200に設定し、「表示」をクリックして「表ビュー」をクリックし、出力を確認します。
-
-
右上隅にある「保存」をクリックし、出力をマイ・フォルダに保存します。
レポートの作成
-
データ・タブで、「サンプル・データとして保存> OK」をクリックします。
-
右上隅にある「レポートの作成」をクリックします。
データ・モデルのレポートの作成ウィザードが表示されます。
-
「次」をクリックします。
-
レイアウトの選択ステップで、「横」オプションを有効にし、「表」オプションを有効にして、「次」をクリックします。
-
表の作成ステップで、必要に応じてレイアウトを調整し、「次」をクリックします。
たとえば、データ・ソースから表に列をドラッグ・アンド・ドロップします。
-
レポートの保存ステップで、「報告を確認」オプションを有効にし、「終了」をクリックします。
-
レポートを保存し、SQLReportなどの名前を付けて、表示されるレポート出力の結果を確認します。
オプションとして、結果を任意のファイル・タイプに保存します。
フィールドの追加
オーダー管理の事前定義済データ・モデルは拡張できません。 かわりに、レポート出力のフィールドを必要なフィールドに置き換えることができます。
オーダー管理では、「品目」という用語を使用して、顧客が購入する製品について説明します。 AS54888コンピュータは、品目の例です。 事前定義済データ・モデルでは、INVENTORY_ITEM_ID列を使用して品目を識別する値を格納します。 この例では、INVENTORY_ITEM_IDをITEM_NUMBERに置き換えて、レポート出力とこの使用方法との整合性を高めます。
-
このトピックの前半からステップ1から5を実行します。ただし、「新規データ・セットSQL問合せ」ダイアログでこれらの値を使用します。
属性
値
名前
列の追加
データ・ソース
ApplicationDB_FSCM (Default)
SQLのタイプ
標準SQL
SQL問合せ
SELECT * FROM fusion.DOO_LINES_ALL
-
「Structure」>「Table View」をクリックします。
-
XMLタグ名列でINVENTORY_ITEM_IDを含む行を見つけます。
-
見つけた行の値を変更します。
属性
古い値
新しい値
XMLタグ名
INVENTORY_ITEM_ID
ITEM_NUMBER
表示名
INVENTORY_ITEM_ID
品目番号
-
「データの表示」をクリックし、行を200に設定し、「表示」をクリックして「表ビュー」をクリックし、出力を確認します。
例S QL問合せ
例の完全なリストは、「SCM SQLリポジトリ(ドキュメントID 2190295.1)」を参照してください。
未開始ステータスまたは処理ステータスの販売オーダーおよび例外なし
この問題は、通常、SOAサーバー(サービス指向アーキテクチャ)が不安定または過負荷になり、SOAトランザクションがタイムアウトした場合に発生します。 問合せを使用して、未開始ステータスまたは処理中ステータスのままだが例外がない販売オーダーを識別します。
SELECT f.last_update_date,
h.source_order_number,
l.display_line_number,
f.fulfill_line_number,
f.status_code,
f.fulfill_line_id
FROM doo_headers_all h,
doo_fulfill_lines_all f,
doo_lines_all l
WHERE h.header_id =l.header_id
AND h.submitted_flag='Y'
AND l.line_id =f.line_id
AND f.open_flag ='Y'
AND f.creation_date>= sysdate -- Use the date range to meet your needs
AND f.status_code IN ('NOT_STARTED') -- Get orders only in NOT_STARTED status
AND NOT EXISTS
(SELECT OrchestrationGroupEO.TRANSACTION_ENTITY_ID
FROM DOO_WAIT_TASK_DETAILS WaitTaskDetailsEO,
DOO_ORCHESTRATION_GROUPS OrchestrationGroupEO
WHERE WaitTaskDetailsEO.GROUP_ID = OrchestrationGroupEO.GROUP_ID
AND WaitTaskDetailsEO.STATUS_CODE='Active'
AND OrchestrationGroupEO.STATUS ='ACTIVE'
AND TRANSACTION_ENTITY_NAME ='DOO_ORDER_FLINES_V'
AND transaction_entity_id =f.fulfill_line_id
)
ORDER BY f.source_order_number;
これらの販売オーダーをリカバリするには、強制ロック解除処理を使用します。 詳細は、「ロック済または未開始の販売オーダーの回復」を参照してください。
販売オーダーの品目または品目のリストに対して終了した予約を検索します。
SELECT iop.organization_code org ,
ir.reservation_id ,
dfa.header_id ,
dfa.source_order_number ,
ir.back_to_back_flag ,
ir.staged_flag ,
esi.item_number ,
ir.reservation_quantity ,
ir.creation_date
FROM inv_reservations ir ,
inv_org_parameters iop ,
egp_system_items_b esi ,
doo_fulfill_lines_all dfa
WHERE iop.organization_id =ir.organization_id
AND esi.inventory_item_id =ir.inventory_item_id
AND esi. organization_id =ir.organization_id
AND ir.source_fulfillment_line_id=dfa.fulfill_line_id
AND dfa.inventory_item_id =ir.inventory_item_id
AND ir.demand_source_type_id ='2' /*Data in Order Management comes predefined to use a demand_source_type_id of 2 for the sales order.*/
ORDER BY dfa.source_order_number;