我的公司一直在转换模型以使用Oracle R12 Configurator模块而不是默认的基于BOM的UI,我需要测量这项工作节省的时间。我一直在处理一个问题,以帮助我回答这个问题,而且我遇到了问题。我是分析师,而不是DBA,并且对表有只读权限。
我的第一个问题是,哪个时间戳可以最佳地测量时间?我尝试尽可能地捕捉用户点击的时刻"配置"在他们的订单上,到配置填充订单行的那一刻。
我的第二个问题是,哪个表&字段最佳区分通过通用UI配置的模型与通过Configurator模块提供的高级UI?
-- Query to pull dates for orders for active OAC models
-- ~135 minutes runtime
-- Really only need item id(# or description), time, and Configurator-type flag,
-- plus order number to check outliers.
SELECT oh.order_number as "oh.order_number",
oh.creation_date as "oh.creation_date",
cz.config_rev_nbr as "cz.config_rev_nbr",
cz.ui_def_id as "cz.ui_def_id",
-- using above to separate default BOM UI from "Advanced" Configurator
-- NULL is default, non-NULL is custom - I think.
ol.ordered_item as "ol.ordered_item",
pubs.description as "item_description",
(cz.creation_date-ol.creation_date)*1440 as "configuration_time",
-- in minutes.
-- trying to measure time spent from clicking "Configure", to returning to order lines.
-- I don't think this works anymore with left-join on cz table.
mp.creation_date as "first_published",
mp.last_update_date as "last_OAC_update"
FROM cz.cz_config_hdrs cz,
ont.oe_order_lines_all ol,
ont.oe_order_headers_all oh,
cz.cz_model_publications mp,
(SELECT si.segment1 item_name,
si.description,
mp.publication_id,
mp.remote_publication_id,
mp.model_id,
mp.top_item_id,
mp.organization_id,
mp.last_update_date,
mp.product_key
FROM cz.cz_model_publications mp, inv.mtl_system_items_b si
WHERE 1 = 1
AND mp.top_item_id = si.inventory_item_id
AND si.organization_id = mp.organization_id
AND deleted_flag = 0
AND disabled_flag = 0
AND sysdate BETWEEN applicable_from AND applicable_until
AND export_status = 'OK'
AND object_type = 'PRJ'
AND source_target_flag = 'T' --only target publications
AND publication_mode = 'p') pubs
-- above subquery shows which models currently have an active publication.
-- adapted from http://www.softraction.com/2013_06_01_archive.html
WHERE ol.config_header_id = cz.config_hdr_id(+)
-- had to left join to pull in more orders before publication
AND oh.order_source_id = 22 -- need this to exclude sources other than regular users
AND oh.flow_status_code in ('BOOKED', 'CLOSED')
/* AND ol.config_rev_nbr = cz.config_rev_nbr(+)*/ -- can't have multiple left joins on cz
AND ol.header_id = oh.header_id
AND ol.ordered_item = pubs.item_name
/* AND cz.component_id(+) = pubs.model_id*/ -- can't have multiple left joins on cz
AND cz.ui_def_id = mp.ui_def_id(+);