DBA Data[Home] [Help]

VIEW: SYS.USER_SCHEDULER_JOB_DESTS

Source

View Text - Preformatted

SELECT  dd.JOB_NAME, dd.JOB_SUBNAME,
        decode(dd.local, 'X', null, CREDENTIAL_OWNER),
        decode(dd.local, 'X', null,dd.CREDENTIAL_NAME),
        decode(dd.local, 'N', dd.DESTINATION_OWNER, null),
        decode(dd.local, 'N', dd.DESTINATION_NAME, 'LOCAL'),
        lj.JOB_DEST_ID,
        decode(dd.pj_enbl, 1, 'TRUE', 'FALSE'),
        dd.ENABLED,
        (CASE WHEN (bitand(dd.pj_status,4+8+16+32+8192+524288) > 0 OR
                    (lj.STATE <> 'RUNNING' AND bitand(dd.pj_status, 1) = 0))
                 THEN  'DISABLED'
                 ELSE  coalesce(lj.STATE, 'SCHEDULED') END),
        dd.next_run_date NEXT_START_DATE,
        coalesce(lj.RUN_COUNT,0),
        coalesce(lj.RETRY_COUNT,0),
        coalesce(lj.FAILURE_COUNT,0),
        lj.LAST_START_DATE, lj.LAST_END_DATE
FROM
(SELECT
  d.job_dest_id JOB_DEST_ID,
  DECODE(BITAND(d.job_status,2+65536),2,'RUNNING',2+65536,'CHAIN_STALLED',
    DECODE(BITAND(d.job_status,1+4+8+16+32+128+8192),0,'SCHEDULED',1,
      (CASE WHEN d.retry_count>0 THEN 'RETRY SCHEDULED'
            WHEN (bitand(d.job_status, 1024) <> 0) THEN 'READY TO RUN'
            ELSE 'SCHEDULED' END),
      4,'COMPLETED',8,'BROKEN',16,'FAILED',
      32,'SUCCEEDED' ,128,'REMOTE',8192, 'STOPPED', NULL)) STATE,
    d.run_count, d.retry_count, d.failure_count,
    d.last_start_date, d.last_end_date, d.program_oid parent_job_id,d.dest_oid
  FROM  scheduler$_comb_lw_job d) lj,
(SELECT
     j0.JOB_NAME,
     'SCHED$_MD_'
     || TO_CHAR(coalesce(d0.dest_oid,j0.dest_oid), 'FMXXXXXXXXX') || '_'
     || TO_CHAR(decode(d0.local, 'X', 0,
                  coalesce(d0.cred_oid,j0.cred_oid)), 'FMXXXXXXXXX') JOB_SUBNAME,
     coalesce(d0.credential_owner,j0.credential_owner) credential_owner,
     coalesce(d0.credential_name,j0.credential_name) credential_name,
     d0.destination_owner,
     d0.destination_name,
     decode(d0.en_flag+j0.en_flag, 2, 'TRUE', 'FALSE') enabled,
     j0.en_flag pj_enbl,
     j0.pj_status,
     j0.next_run_date, j0.parent_job_id, d0.dest_oid, d0.local
FROM
  (SELECT cmu.name credential_owner,  cmo.name credential_name,
     wmu.name destination_owner, wmo.name destination_name,
     bitand(d.flags, bitand(w.flags,bitand(coalesce(ad.flags,1),1))) en_flag,
     w.obj# dest_grp_id,
     wg.member_oid2 cred_oid,
     wg.member_oid dest_oid,
     decode(bitand(d.flags, 12),12, 'X',8, 'Y','N') local
   FROM  scheduler$_window_group w, scheduler$_wingrp_member wg,
      scheduler$_destinations d, scheduler$_destinations ad,
      user$ wmu, obj$ wmo, user$ cmu, obj$ cmo
   WHERE w.obj# = wg.oid
       AND wg.member_oid = wmo.obj#
       AND wmo.owner# = wmu.user#
       AND wg.member_oid = d.obj#
       AND cmo.obj#(+) = wg.member_oid2
       AND d.agtdestoid = ad.obj#(+)
       AND cmo.owner# = cmu.user#(+)) d0,
  (SELECT  j1.credential_owner, j1.credential_name,
    substr(j1.destination, 1, instr(j1.destination, '"')-1) destination_owner,
    substr(j1.destination, instr(j1.destination, '"')+1,
        length(j1.destination) - instr(j1.destination, '"')) destination_name,
    bitand(j1.job_status, 1) en_flag,
    j1.dest_oid,
    j1.next_run_date,
    u.name OWNER, o.name JOB_NAME, o.subname JOB_SUBNAME,
    j1.obj# parent_job_id,
    j1.job_status pj_status,
    j1.credential_oid cred_oid
    FROM scheduler$_job j1, user$ u, obj$ o
      WHERE j1.obj# = o.obj# AND o.owner# = u.user#
                    AND o.owner# = USERENV('SCHEMAID')) j0
   WHERE j0.dest_oid = d0.dest_grp_id
    and (j0.cred_oid is null or j0.cred_oid != coalesce(d0.cred_oid, 0)
        or not exists (select 1 from scheduler$_wingrp_member wm
               where  wm.oid = d0.dest_grp_id
               and wm.member_oid2 is null
               and wm.member_oid = d0.dest_oid))) dd
WHERE
   lj.parent_job_id (+) = dd.parent_job_id and
   lj.dest_oid (+) = dd.dest_oid
   and (dd.pj_enbl = 1 or lj.dest_oid is not null)
UNION ALL
  SELECT o1.name, o1.subname, j1.credential_owner, j1.credential_name,
    j1.destination_owner, j1.destination,
    j1.job_dest_id, DECODE(BITAND(j1.job_status,1),0,'FALSE','TRUE'),
    decode(jd1.enabled, 'TRUE', 'TRUE',
           decode(bitand(j1.flags, 274877906944), 0, 'TRUE', 'FALSE')),
    DECODE(BITAND(j1.job_status,2+65536),2,'RUNNING',2+65536,'CHAIN_STALLED',
       DECODE(BITAND(j1.job_status,1+4+8+16+32+128+8192),0,'DISABLED',1,
        (CASE WHEN j1.retry_count>0  AND bitand(j1.flags, 549755813888) = 0
            THEN 'RETRY SCHEDULED'
            WHEN (bitand(j1.job_status, 1024) <> 0) THEN 'READY TO RUN'
            ELSE 'SCHEDULED' END),
        4,'COMPLETED',8,'BROKEN',16,'FAILED',
        32,'SUCCEEDED' ,128,'REMOTE',8192, 'STOPPED', NULL)),
    j1.next_run_date, j1.run_count,
    decode(bitand(j1.flags, 549755813888), 0, j1.retry_count, 0),
    j1.failure_count, j1.last_start_date,
    (CASE WHEN j1.last_end_date>j1.last_start_date THEN j1.last_end_date
     ELSE NULL END)
  FROM
   (select rj1.obj# obj#, rj1.credential_owner credential_owner,
           rj1.credential_name credential_name,
           decode(bitand(rj1.flags, 274877906944), 0, NULL,
             substr(rj1.destination, 1, instr(rj1.destination, '"')-1))
               destination_owner,
           decode(bitand(rj1.flags, 274877906944), 0,
              decode(rj1.destination, NULL, 'LOCAL', rj1.destination),
                 substr(rj1.destination, instr(rj1.destination, '"')+1,
                    length(rj1.destination) - instr(rj1.destination, '"')))
                destination,
           rj1.job_status job_status, rj1.flags flags,
           rj1.next_run_date next_run_date, rj1.run_count run_count,
           rj1.retry_count retry_count, rj1.failure_count failure_count,
           rj1.last_start_date last_start_date, rj1.last_end_date last_end_date,
           rj1.job_dest_id job_dest_id
      from scheduler$_job rj1
    union all
    select lj1.obj#, lj1.credential_owner, lj1.credential_name,
           decode(bitand(lj1.flags, 274877906944), 0, NULL,
             substr(lj1.destination, 1, instr(lj1.destination, '"')-1)),
           decode(bitand(lj1.flags, 274877906944), 0,
              decode(lj1.destination, NULL, 'LOCAL', lj1.destination),
                 substr(lj1.destination, instr(lj1.destination, '"')+1,
                    length(lj1.destination) - instr(lj1.destination, '"'))),
           lj1.job_status, lj1.flags,
           lj1.next_run_date, lj1.run_count, lj1.retry_count,
           lj1.failure_count, lj1.last_start_date, lj1.last_end_date,
           lj1.job_dest_id
      from scheduler$_comb_lw_job lj1) j1,
    (select ro1.obj# obj#, ro1.owner# owner#, ro1.name name, ro1.subname subname
       from obj$ ro1
     union all
     select lo1.obj#, lo1.userid, lo1.name, lo1.subname
       from scheduler$_lwjob_obj lo1) o1,
    (select dd.owner owner, dd.destination_name dest_name,
            decode(dd.enabled, 'FALSE', 'FALSE', dd.refs_enabled) enabled
     from all_scheduler_db_dests dd
     union all
     select 'SYS', ed.destination_name, ed.enabled
     from all_scheduler_external_dests ed) jd1
  WHERE j1.obj# = o1.obj# AND o1.owner# = USERENV('SCHEMAID')
    AND bitand(j1.flags, 137438953472) = 0
    AND bitand(j1.flags, 549755813888) = 0
    AND (jd1.owner(+) = j1.destination_owner)
    AND (jd1.dest_name(+) = j1.destination)
UNION ALL
  SELECT do.name, do.subname,
    d.credential_owner, d.credential_name,
    substr(d.destination, 1, instr(d.destination, '"')-1),
    substr(d.destination, instr(d.destination, '"')+1,
        length(d.destination) - instr(d.destination, '"')),
    d.job_dest_id, 'FALSE', 'FALSE', 'RUNNING', NULL, d.run_count,
    d.retry_count, d.failure_count, d.last_start_date, d.last_end_date
  FROM  scheduler$_comb_lw_job d, scheduler$_lwjob_obj do,
        scheduler$_job pj
  WHERE d.obj# = do.obj# and do.userid = USERENV('SCHEMAID')
    and d.program_oid = pj.obj#
    and bitand(d.flags, 8589934592) <> 0
    and bitand(d.job_status, 2) = 2
    and (d.dest_oid is null or
         d.dest_oid not in
           (select so.obj# from obj$ so where so.owner# = 0 and so.namespace = 1
            and so.name = 'SCHED$_LOCAL_PSEUDO_DB'))
    and (nvl(d.dest_oid,0), nvl(d.credential_oid,0)) not in
          (select nvl(wg.member_oid,0),
             nvl(decode(wg.member_oid2, null, pj.credential_oid, wg.member_oid2), 0)
           from scheduler$_wingrp_member wg
           where wg.oid = pj.dest_oid)
View Text - HTML Formatted

SELECT DD.JOB_NAME
, DD.JOB_SUBNAME
, DECODE(DD.LOCAL
, 'X'
, NULL
, CREDENTIAL_OWNER)
, DECODE(DD.LOCAL
, 'X'
, NULL
, DD.CREDENTIAL_NAME)
, DECODE(DD.LOCAL
, 'N'
, DD.DESTINATION_OWNER
, NULL)
, DECODE(DD.LOCAL
, 'N'
, DD.DESTINATION_NAME
, 'LOCAL')
, LJ.JOB_DEST_ID
, DECODE(DD.PJ_ENBL
, 1
, 'TRUE'
, 'FALSE')
, DD.ENABLED
, (CASE WHEN (BITAND(DD.PJ_STATUS
, 4+8+16+32+8192+524288) > 0 OR (LJ.STATE <> 'RUNNING'
AND BITAND(DD.PJ_STATUS
, 1) = 0)) THEN 'DISABLED' ELSE COALESCE(LJ.STATE
, 'SCHEDULED') END)
, DD.NEXT_RUN_DATE NEXT_START_DATE
, COALESCE(LJ.RUN_COUNT
, 0)
, COALESCE(LJ.RETRY_COUNT
, 0)
, COALESCE(LJ.FAILURE_COUNT
, 0)
, LJ.LAST_START_DATE
, LJ.LAST_END_DATE FROM (SELECT D.JOB_DEST_ID JOB_DEST_ID
, DECODE(BITAND(D.JOB_STATUS
, 2+65536)
, 2
, 'RUNNING'
, 2+65536
, 'CHAIN_STALLED'
, DECODE(BITAND(D.JOB_STATUS
, 1+4+8+16+32+128+8192)
, 0
, 'SCHEDULED'
, 1
, (CASE WHEN D.RETRY_COUNT>0 THEN 'RETRY SCHEDULED' WHEN (BITAND(D.JOB_STATUS
, 1024) <> 0) THEN 'READY TO RUN' ELSE 'SCHEDULED' END)
, 4
, 'COMPLETED'
, 8
, 'BROKEN'
, 16
, 'FAILED'
, 32
, 'SUCCEEDED'
, 128
, 'REMOTE'
, 8192
, 'STOPPED'
, NULL)) STATE
, D.RUN_COUNT
, D.RETRY_COUNT
, D.FAILURE_COUNT
, D.LAST_START_DATE
, D.LAST_END_DATE
, D.PROGRAM_OID PARENT_JOB_ID
, D.DEST_OID
FROM SCHEDULER$_COMB_LW_JOB D) LJ
, (SELECT J0.JOB_NAME
, 'SCHED$_MD_' || TO_CHAR(COALESCE(D0.DEST_OID
, J0.DEST_OID)
, 'FMXXXXXXXXX') || '_' || TO_CHAR(DECODE(D0.LOCAL
, 'X'
, 0
, COALESCE(D0.CRED_OID
, J0.CRED_OID))
, 'FMXXXXXXXXX') JOB_SUBNAME
, COALESCE(D0.CREDENTIAL_OWNER
, J0.CREDENTIAL_OWNER) CREDENTIAL_OWNER
, COALESCE(D0.CREDENTIAL_NAME
, J0.CREDENTIAL_NAME) CREDENTIAL_NAME
, D0.DESTINATION_OWNER
, D0.DESTINATION_NAME
, DECODE(D0.EN_FLAG+J0.EN_FLAG
, 2
, 'TRUE'
, 'FALSE') ENABLED
, J0.EN_FLAG PJ_ENBL
, J0.PJ_STATUS
, J0.NEXT_RUN_DATE
, J0.PARENT_JOB_ID
, D0.DEST_OID
, D0.LOCAL FROM (SELECT CMU.NAME CREDENTIAL_OWNER
, CMO.NAME CREDENTIAL_NAME
, WMU.NAME DESTINATION_OWNER
, WMO.NAME DESTINATION_NAME
, BITAND(D.FLAGS
, BITAND(W.FLAGS
, BITAND(COALESCE(AD.FLAGS
, 1)
, 1))) EN_FLAG
, W.OBJ# DEST_GRP_ID
, WG.MEMBER_OID2 CRED_OID
, WG.MEMBER_OID DEST_OID
, DECODE(BITAND(D.FLAGS
, 12)
, 12
, 'X'
, 8
, 'Y'
, 'N') LOCAL
FROM SCHEDULER$_WINDOW_GROUP W
, SCHEDULER$_WINGRP_MEMBER WG
, SCHEDULER$_DESTINATIONS D
, SCHEDULER$_DESTINATIONS AD
, USER$ WMU
, OBJ$ WMO
, USER$ CMU
, OBJ$ CMO
WHERE W.OBJ# = WG.OID
AND WG.MEMBER_OID = WMO.OBJ#
AND WMO.OWNER# = WMU.USER#
AND WG.MEMBER_OID = D.OBJ#
AND CMO.OBJ#(+) = WG.MEMBER_OID2
AND D.AGTDESTOID = AD.OBJ#(+)
AND CMO.OWNER# = CMU.USER#(+)) D0
, (SELECT J1.CREDENTIAL_OWNER
, J1.CREDENTIAL_NAME
, SUBSTR(J1.DESTINATION
, 1
, INSTR(J1.DESTINATION
, '"')-1) DESTINATION_OWNER
, SUBSTR(J1.DESTINATION
, INSTR(J1.DESTINATION
, '"')+1
, LENGTH(J1.DESTINATION) - INSTR(J1.DESTINATION
, '"')) DESTINATION_NAME
, BITAND(J1.JOB_STATUS
, 1) EN_FLAG
, J1.DEST_OID
, J1.NEXT_RUN_DATE
, U.NAME OWNER
, O.NAME JOB_NAME
, O.SUBNAME JOB_SUBNAME
, J1.OBJ# PARENT_JOB_ID
, J1.JOB_STATUS PJ_STATUS
, J1.CREDENTIAL_OID CRED_OID
FROM SCHEDULER$_JOB J1
, USER$ U
, OBJ$ O
WHERE J1.OBJ# = O.OBJ#
AND O.OWNER# = U.USER#
AND O.OWNER# = USERENV('SCHEMAID')) J0
WHERE J0.DEST_OID = D0.DEST_GRP_ID
AND (J0.CRED_OID IS NULL OR J0.CRED_OID != COALESCE(D0.CRED_OID
, 0) OR NOT EXISTS (SELECT 1
FROM SCHEDULER$_WINGRP_MEMBER WM
WHERE WM.OID = D0.DEST_GRP_ID
AND WM.MEMBER_OID2 IS NULL
AND WM.MEMBER_OID = D0.DEST_OID))) DD WHERE LJ.PARENT_JOB_ID (+) = DD.PARENT_JOB_ID AND LJ.DEST_OID (+) = DD.DEST_OID
AND (DD.PJ_ENBL = 1 OR LJ.DEST_OID IS NOT NULL) UNION ALL SELECT O1.NAME
, O1.SUBNAME
, J1.CREDENTIAL_OWNER
, J1.CREDENTIAL_NAME
, J1.DESTINATION_OWNER
, J1.DESTINATION
, J1.JOB_DEST_ID
, DECODE(BITAND(J1.JOB_STATUS
, 1)
, 0
, 'FALSE'
, 'TRUE')
, DECODE(JD1.ENABLED
, 'TRUE'
, 'TRUE'
, DECODE(BITAND(J1.FLAGS
, 274877906944)
, 0
, 'TRUE'
, 'FALSE'))
, DECODE(BITAND(J1.JOB_STATUS
, 2+65536)
, 2
, 'RUNNING'
, 2+65536
, 'CHAIN_STALLED'
, DECODE(BITAND(J1.JOB_STATUS
, 1+4+8+16+32+128+8192)
, 0
, 'DISABLED'
, 1
, (CASE WHEN J1.RETRY_COUNT>0
AND BITAND(J1.FLAGS
, 549755813888) = 0 THEN 'RETRY SCHEDULED' WHEN (BITAND(J1.JOB_STATUS
, 1024) <> 0) THEN 'READY TO RUN' ELSE 'SCHEDULED' END)
, 4
, 'COMPLETED'
, 8
, 'BROKEN'
, 16
, 'FAILED'
, 32
, 'SUCCEEDED'
, 128
, 'REMOTE'
, 8192
, 'STOPPED'
, NULL))
, J1.NEXT_RUN_DATE
, J1.RUN_COUNT
, DECODE(BITAND(J1.FLAGS
, 549755813888)
, 0
, J1.RETRY_COUNT
, 0)
, J1.FAILURE_COUNT
, J1.LAST_START_DATE
, (CASE WHEN J1.LAST_END_DATE>J1.LAST_START_DATE THEN J1.LAST_END_DATE ELSE NULL END) FROM (SELECT RJ1.OBJ# OBJ#
, RJ1.CREDENTIAL_OWNER CREDENTIAL_OWNER
, RJ1.CREDENTIAL_NAME CREDENTIAL_NAME
, DECODE(BITAND(RJ1.FLAGS
, 274877906944)
, 0
, NULL
, SUBSTR(RJ1.DESTINATION
, 1
, INSTR(RJ1.DESTINATION
, '"')-1)) DESTINATION_OWNER
, DECODE(BITAND(RJ1.FLAGS
, 274877906944)
, 0
, DECODE(RJ1.DESTINATION
, NULL
, 'LOCAL'
, RJ1.DESTINATION)
, SUBSTR(RJ1.DESTINATION
, INSTR(RJ1.DESTINATION
, '"')+1
, LENGTH(RJ1.DESTINATION) - INSTR(RJ1.DESTINATION
, '"'))) DESTINATION
, RJ1.JOB_STATUS JOB_STATUS
, RJ1.FLAGS FLAGS
, RJ1.NEXT_RUN_DATE NEXT_RUN_DATE
, RJ1.RUN_COUNT RUN_COUNT
, RJ1.RETRY_COUNT RETRY_COUNT
, RJ1.FAILURE_COUNT FAILURE_COUNT
, RJ1.LAST_START_DATE LAST_START_DATE
, RJ1.LAST_END_DATE LAST_END_DATE
, RJ1.JOB_DEST_ID JOB_DEST_ID
FROM SCHEDULER$_JOB RJ1 UNION ALL SELECT LJ1.OBJ#
, LJ1.CREDENTIAL_OWNER
, LJ1.CREDENTIAL_NAME
, DECODE(BITAND(LJ1.FLAGS
, 274877906944)
, 0
, NULL
, SUBSTR(LJ1.DESTINATION
, 1
, INSTR(LJ1.DESTINATION
, '"')-1))
, DECODE(BITAND(LJ1.FLAGS
, 274877906944)
, 0
, DECODE(LJ1.DESTINATION
, NULL
, 'LOCAL'
, LJ1.DESTINATION)
, SUBSTR(LJ1.DESTINATION
, INSTR(LJ1.DESTINATION
, '"')+1
, LENGTH(LJ1.DESTINATION) - INSTR(LJ1.DESTINATION
, '"')))
, LJ1.JOB_STATUS
, LJ1.FLAGS
, LJ1.NEXT_RUN_DATE
, LJ1.RUN_COUNT
, LJ1.RETRY_COUNT
, LJ1.FAILURE_COUNT
, LJ1.LAST_START_DATE
, LJ1.LAST_END_DATE
, LJ1.JOB_DEST_ID
FROM SCHEDULER$_COMB_LW_JOB LJ1) J1
, (SELECT RO1.OBJ# OBJ#
, RO1.OWNER# OWNER#
, RO1.NAME NAME
, RO1.SUBNAME SUBNAME
FROM OBJ$ RO1 UNION ALL SELECT LO1.OBJ#
, LO1.USERID
, LO1.NAME
, LO1.SUBNAME
FROM SCHEDULER$_LWJOB_OBJ LO1) O1
, (SELECT DD.OWNER OWNER
, DD.DESTINATION_NAME DEST_NAME
, DECODE(DD.ENABLED
, 'FALSE'
, 'FALSE'
, DD.REFS_ENABLED) ENABLED
FROM ALL_SCHEDULER_DB_DESTS DD UNION ALL SELECT 'SYS'
, ED.DESTINATION_NAME
, ED.ENABLED
FROM ALL_SCHEDULER_EXTERNAL_DESTS ED) JD1
WHERE J1.OBJ# = O1.OBJ#
AND O1.OWNER# = USERENV('SCHEMAID')
AND BITAND(J1.FLAGS
, 137438953472) = 0
AND BITAND(J1.FLAGS
, 549755813888) = 0
AND (JD1.OWNER(+) = J1.DESTINATION_OWNER)
AND (JD1.DEST_NAME(+) = J1.DESTINATION) UNION ALL SELECT DO.NAME
, DO.SUBNAME
, D.CREDENTIAL_OWNER
, D.CREDENTIAL_NAME
, SUBSTR(D.DESTINATION
, 1
, INSTR(D.DESTINATION
, '"')-1)
, SUBSTR(D.DESTINATION
, INSTR(D.DESTINATION
, '"')+1
, LENGTH(D.DESTINATION) - INSTR(D.DESTINATION
, '"'))
, D.JOB_DEST_ID
, 'FALSE'
, 'FALSE'
, 'RUNNING'
, NULL
, D.RUN_COUNT
, D.RETRY_COUNT
, D.FAILURE_COUNT
, D.LAST_START_DATE
, D.LAST_END_DATE
FROM SCHEDULER$_COMB_LW_JOB D
, SCHEDULER$_LWJOB_OBJ DO
, SCHEDULER$_JOB PJ
WHERE D.OBJ# = DO.OBJ#
AND DO.USERID = USERENV('SCHEMAID')
AND D.PROGRAM_OID = PJ.OBJ#
AND BITAND(D.FLAGS
, 8589934592) <> 0
AND BITAND(D.JOB_STATUS
, 2) = 2
AND (D.DEST_OID IS NULL OR D.DEST_OID NOT IN (SELECT SO.OBJ#
FROM OBJ$ SO
WHERE SO.OWNER# = 0
AND SO.NAMESPACE = 1
AND SO.NAME = 'SCHED$_LOCAL_PSEUDO_DB'))
AND (NVL(D.DEST_OID
, 0)
, NVL(D.CREDENTIAL_OID
, 0)) NOT IN (SELECT NVL(WG.MEMBER_OID
, 0)
, NVL(DECODE(WG.MEMBER_OID2
, NULL
, PJ.CREDENTIAL_OID
, WG.MEMBER_OID2)
, 0)
FROM SCHEDULER$_WINGRP_MEMBER WG
WHERE WG.OID = PJ.DEST_OID)