Getting the Message Log Data for a Specific Process
Below SQL will give the details in a Message Log entry for a specific process or list of processes ran between the days.
PS_MESSAGE_LOG -- Stores the Log Header Data for Specific Process Instance ID
PS_MESSAGE_LOGPARM -- Stores all the Details Data for a specific Process Instance Id.
Below SQL will help you to write your own SQLs to get the Log Data for a specific process.
Use NVL in the Sub Selects to avoid error in the SQL if there are no rows returning from the Sub Select.
SELECT DISTINCT
MLOG.PROCESS_INSTANCE
, MLOG.MESSAGE_SEQ
,(SELECT LPRM1.MESSAGE_PARM FROM PS_MESSAGE_LOGPARM LPRM1 WHERE LPRM1.PROCESS_INSTANCE = LPRM.PROCESS_INSTANCE AND LPRM1.MESSAGE_SEQ = LPRM.MESSAGE_SEQ AND LPRM1.PARM_SEQ = '1') AS SETID
,(SELECT LPRM1.MESSAGE_PARM FROM PS_MESSAGE_LOGPARM LPRM1 WHERE LPRM1.PROCESS_INSTANCE = LPRM.PROCESS_INSTANCE AND LPRM1.MESSAGE_SEQ = LPRM.MESSAGE_SEQ AND LPRM1.PARM_SEQ = '2') AS VENDOR_ID
,(SELECT LPRM1.MESSAGE_PARM FROM PS_MESSAGE_LOGPARM LPRM1 WHERE LPRM1.PROCESS_INSTANCE = LPRM.PROCESS_INSTANCE AND LPRM1.MESSAGE_SEQ = LPRM.MESSAGE_SEQ AND LPRM1.PARM_SEQ = '3') AS VNDR_LOC
,(SELECT LPRM1.MESSAGE_PARM FROM PS_MESSAGE_LOGPARM LPRM1 WHERE LPRM1.PROCESS_INSTANCE = LPRM.PROCESS_INSTANCE AND LPRM1.MESSAGE_SEQ = LPRM.MESSAGE_SEQ AND LPRM1.PARM_SEQ = '4') AS EMAILID
,(SELECT LPRM1.MESSAGE_PARM FROM PS_MESSAGE_LOGPARM LPRM1 WHERE LPRM1.PROCESS_INSTANCE = LPRM.PROCESS_INSTANCE AND LPRM1.MESSAGE_SEQ = LPRM.MESSAGE_SEQ AND LPRM1.PARM_SEQ = '5') AS ErrorMessage
FROM PS_MESSAGE_LOG MLOG
JOIN PS_MESSAGE_LOGPARM LPRM
ON MLOG.PROCESS_INSTANCE = LPRM.PROCESS_INSTANCE
AND MLOG.MESSAGE_SEQ = LPRM.MESSAGE_SEQ
WHERE 1 = 1
-- AND MLOG.PROCESS_INSTANCE = '1501404'
AND MLOG.JOBID = 'APP ENGINE'
AND MLOG.PROGRAM_NAME = 'EachVndr'
AND EXISTS (SELECT 'X' FROM PSPRCSRQST PRCS, PS_MESSAGE_LOGPARM MLOG1
WHERE PRCS.PRCSNAME = 'AP_EMAIL_ADV'
AND PRCS.PRCSINSTANCE = MLOG.PROCESS_INSTANCE
AND PRCS.PRCSINSTANCE = MLOG1.PROCESS_INSTANCE
AND MLOG1.MESSAGE_SEQ = MLOG.MESSAGE_SEQ
AND MLOG1.MESSAGE_PARM LIKE 'Error%'
AND PRCS.RQSTDTTM >= '10-AUG-2015'
)
PS_MESSAGE_LOG -- Stores the Log Header Data for Specific Process Instance ID
PS_MESSAGE_LOGPARM -- Stores all the Details Data for a specific Process Instance Id.
Below SQL will help you to write your own SQLs to get the Log Data for a specific process.
Use NVL in the Sub Selects to avoid error in the SQL if there are no rows returning from the Sub Select.
SELECT DISTINCT
MLOG.PROCESS_INSTANCE
, MLOG.MESSAGE_SEQ
,(SELECT LPRM1.MESSAGE_PARM FROM PS_MESSAGE_LOGPARM LPRM1 WHERE LPRM1.PROCESS_INSTANCE = LPRM.PROCESS_INSTANCE AND LPRM1.MESSAGE_SEQ = LPRM.MESSAGE_SEQ AND LPRM1.PARM_SEQ = '1') AS SETID
,(SELECT LPRM1.MESSAGE_PARM FROM PS_MESSAGE_LOGPARM LPRM1 WHERE LPRM1.PROCESS_INSTANCE = LPRM.PROCESS_INSTANCE AND LPRM1.MESSAGE_SEQ = LPRM.MESSAGE_SEQ AND LPRM1.PARM_SEQ = '2') AS VENDOR_ID
,(SELECT LPRM1.MESSAGE_PARM FROM PS_MESSAGE_LOGPARM LPRM1 WHERE LPRM1.PROCESS_INSTANCE = LPRM.PROCESS_INSTANCE AND LPRM1.MESSAGE_SEQ = LPRM.MESSAGE_SEQ AND LPRM1.PARM_SEQ = '3') AS VNDR_LOC
,(SELECT LPRM1.MESSAGE_PARM FROM PS_MESSAGE_LOGPARM LPRM1 WHERE LPRM1.PROCESS_INSTANCE = LPRM.PROCESS_INSTANCE AND LPRM1.MESSAGE_SEQ = LPRM.MESSAGE_SEQ AND LPRM1.PARM_SEQ = '4') AS EMAILID
,(SELECT LPRM1.MESSAGE_PARM FROM PS_MESSAGE_LOGPARM LPRM1 WHERE LPRM1.PROCESS_INSTANCE = LPRM.PROCESS_INSTANCE AND LPRM1.MESSAGE_SEQ = LPRM.MESSAGE_SEQ AND LPRM1.PARM_SEQ = '5') AS ErrorMessage
FROM PS_MESSAGE_LOG MLOG
JOIN PS_MESSAGE_LOGPARM LPRM
ON MLOG.PROCESS_INSTANCE = LPRM.PROCESS_INSTANCE
AND MLOG.MESSAGE_SEQ = LPRM.MESSAGE_SEQ
WHERE 1 = 1
-- AND MLOG.PROCESS_INSTANCE = '1501404'
AND MLOG.JOBID = 'APP ENGINE'
AND MLOG.PROGRAM_NAME = 'EachVndr'
AND EXISTS (SELECT 'X' FROM PSPRCSRQST PRCS, PS_MESSAGE_LOGPARM MLOG1
WHERE PRCS.PRCSNAME = 'AP_EMAIL_ADV'
AND PRCS.PRCSINSTANCE = MLOG.PROCESS_INSTANCE
AND PRCS.PRCSINSTANCE = MLOG1.PROCESS_INSTANCE
AND MLOG1.MESSAGE_SEQ = MLOG.MESSAGE_SEQ
AND MLOG1.MESSAGE_PARM LIKE 'Error%'
AND PRCS.RQSTDTTM >= '10-AUG-2015'
)
Comments
Post a Comment