ODI Work Repository’de Load plan adımlarını hiyerarşik olarak gösterme

Oracle Data Integrator 11g için yazdığım bir sorgu. ODI Client üzerinden load plan incelemek yerine bu sorgu aynı Designer’da görüldüğü gibi load plan adımlarını  görebilirsiniz.

Sorguda load plan adımları tablosundaki tüm detaylar bulunuyor. İlgilenmediğiniz kolonu kendiniz kaldırabilirsiniz

Id ya da kısa kod ile doldurulmuş alanların (step_type, restary_type gibi ) tümünün  karşılığı bulunuyor.

Ayrıca exception içeren adımlarda exception durumunda ne çalıştırılacağı da excptn kolonunda görülebilir

Hatırlatma :Sorguda hiyerarşiktir, eğer bu sorguda  filterleme yapmak isterseniz tüm sorguyu paranteze alıp üzerine WHERE cümleciği yazabilirsiniz ( select * from (aşağıdaki sql) where … ),ya da START WITH kısmını değiştirebilirsiniz.


SELECT l.load_plan_name
, LEVEL AS seviye
, LPAD (' ', 5 * (LEVEL - 1)) || s.lp_step_name AS step
, CASE
WHEN s.lp_step_type = 'SE' THEN 'Serial'
WHEN s.lp_step_type = 'PA' THEN 'Parallel'
WHEN s.lp_step_type = 'CS' THEN 'Case'
WHEN s.lp_step_type = 'CW' THEN 'When'
WHEN s.lp_step_type = 'CE' THEN 'Else'
WHEN s.lp_step_type = 'EX' THEN 'Exception'
ELSE NULL
END
AS step_type
, CASE
WHEN s.restart_type = 'SF' THEN 'From Failure'
WHEN s.restart_type = 'PA' THEN 'All Children'
WHEN s.restart_type = 'PF' THEN 'Failed Children'
WHEN s.restart_type = 'RN' THEN 'From new session-Scen'
WHEN s.restart_type = 'RT' THEN 'From failed task-Scen'
WHEN s.restart_type = 'RS' THEN 'From failed step-Scen'
END
AS restart_type
, CASE WHEN s.ind_enabled = 1 THEN 'ENABLED' WHEN s.ind_enabled = 0 THEN 'DISABLED' END
AS is_enabled
, s.scen_name AS scenario
, e.i_lp_step AS excptn_id
, e.lp_step_name AS excptn
, CASE
WHEN s.except_behavior = 'R' THEN 'Run Exception and Raise'
WHEN s.except_behavior = 'I' THEN 'Run Exception and Ignore'
END
AS except_behavior
, s.step_priority
, s.step_order
, s.step_timeout
, s.i_lp_step
, s.var_name || ' ' || ' ' || s.var_op || s.var_value AS var_opt
, s.scen_no
, s.scen_version
, s.max_par_error
, s.sess_keywords
, s.var_long_value
FROM prod_odi_work.snp_lp_step s
, prod_odi_work.snp_load_plan l
, prod_odi_work.snp_lp_step e
WHERE     1 = 1
AND s.i_load_plan = l.i_load_plan  
AND s.i_lp_step_except = e.i_lp_step(+) 
START WITH s.par_i_lp_step IS NULL  --koşul buraya eklenebilir
CONNECT BY PRIOR s.i_lp_step = s.par_i_lp_step
ORDER SIBLINGS BY s.step_order;