Produced by Araxis Merge on 8/17/2018 9:15:24 PM Eastern Daylight Time. See www.araxis.com for information about Merge. This report uses XHTML and CSS2, and is best viewed with a modern standards-compliant browser. For optimum results when printing this report, use landscape orientation and enable printing of background images and colours in your browser.
| # | Location | File | Last Modified |
|---|---|---|---|
| 1 | ADR FY8 Q3 CIF submission.zip\ADR FY8 Q3 CIF submission\DDL\ADRMGT | procedure.sql | Thu Mar 30 20:07:36 2017 UTC |
| 2 | ADR FY8 Q3 CIF submission.zip\ADR FY8 Q3 CIF submission\DDL\ADRMGT | procedure.sql | Thu Aug 16 18:07:12 2018 UTC |
| Description | Between Files 1 and 2 |
|
|---|---|---|
| Text Blocks | Lines | |
| Unchanged | 2 | 1512 |
| Changed | 1 | 2 |
| Inserted | 0 | 0 |
| Removed | 0 | 0 |
| Whitespace | |
|---|---|
| Character case | Differences in character case are significant |
| Line endings | Differences in line endings (CR and LF characters) are ignored |
| CR/LF characters | Not shown in the comparison detail |
No regular expressions were active.
| 1 | DROP PROCE DURE ADRMG T.JOB_PROC ESS_LOG_SP ; | |
| 2 | ||
| 3 | CREATE OR REPLACE PR OCEDURE AD RMGT.Job_P rocess_Log _Sp | |
| 4 | (PC_job_ name | |
| 5 | IN ADRMGT.J ob_Process _Logs.Job_ name%TYPE | |
| 6 | DEF AULT 'UNKN OWN', | |
| 7 | PD_job_ log_date | |
| 8 | IN ADRMGT.J ob_Process _Logs.Job_ log_date%T YPE | |
| 9 | DEF AULT SYSDA TE, | |
| 10 | PC_job_ status | |
| 11 | IN ADRMGT.J ob_Process _Logs.Job_ status%TYP E | |
| 12 | DEF AULT NULL, | |
| 13 | PC_job_ log_messag e | |
| 14 | IN ADRMGT.J ob_Process _Logs.Job_ log_messag e%TYPE | |
| 15 | DEF AULT NULL, | |
| 16 | PD_date 1 | |
| 17 | IN ADRMGT.J ob_Process _Logs.Date 1%TYPE | |
| 18 | DEF AULT NULL, | |
| 19 | PD_date 2 | |
| 20 | IN ADRMGT.J ob_Process _Logs.Date 2%TYPE | |
| 21 | DEF AULT NULL, | |
| 22 | PD_date 3 | |
| 23 | IN ADRMGT.J ob_Process _Logs.Date 3%TYPE | |
| 24 | DEF AULT NULL, | |
| 25 | PN_nume ric1 | |
| 26 | IN ADRMGT.J ob_Process _Logs.Nume ric1%TYPE | |
| 27 | DEF AULT NULL, | |
| 28 | PN_nume ric2 | |
| 29 | IN ADRMGT.J ob_Process _Logs.Nume ric2%TYPE | |
| 30 | DEF AULT NULL, | |
| 31 | PN_nume ric3 | |
| 32 | IN ADRMGT.J ob_Process _Logs.Nume ric3%TYPE | |
| 33 | DEF AULT NULL, | |
| 34 | PC_text 1 | |
| 35 | IN ADRMGT.J ob_Process _Logs.Text 1%TYPE | |
| 36 | DEF AULT NULL, | |
| 37 | PC_text 2 | |
| 38 | IN ADRMGT.J ob_Process _Logs.Text 2%TYPE | |
| 39 | DEF AULT NULL, | |
| 40 | PC_text 3 | |
| 41 | IN ADRMGT.J ob_Process _Logs.Text 3%TYPE | |
| 42 | DEF AULT NULL | |
| 43 | ) | |
| 44 | ||
| 45 | IS | |
| 46 | ||
| 47 | /* | |
| 48 | REM ###### ########## ########## ########## ########## ########## ########## ######### | |
| 49 | REM # Des cription: Create ADR MGT.Job_Pr ocess_Log_ Sp stored procedure. | |
| 50 | REM # | |
| 51 | REM # This proce dure will be used to write job processin g logs | |
| 52 | REM # from vario us scripts and DBMS_ JOB jobs. | |
| 53 | REM # | |
| 54 | REM # Us age: Call ed by run_ wrapper.sq l | |
| 55 | REM # In put Parame ters: | |
| 56 | REM # 1) Job_nam e VARCHA R2(60) ( REQUIRED) | |
| 57 | REM # - Uniqu e Name for each job using this table | |
| 58 | REM # 2) Job_log _date DATE ( REQUIRED) | |
| 59 | REM # - Date/ time of lo g write re quest | |
| 60 | REM # 3) Job_sta tus VARCHA R2(60) ( OPTIONAL) | |
| 61 | REM # - Curre nt status of the job | |
| 62 | REM # 4) Job_log _message VARCHA R2(2000) ( OPTIONAL) | |
| 63 | REM # - User defined jo b message | |
| 64 | REM # 5) Date1 DATE ( OPTIONAL) | |
| 65 | REM # - Gener ic date fi eld for lo gging user defined i nformation | |
| 66 | REM # 6) Date2 DATE ( OPTIONAL) | |
| 67 | REM # - Gener ic date fi eld for lo gging user defined i nformation | |
| 68 | REM # 7) Date3 DATE ( OPTIONAL) | |
| 69 | REM # - Gener ic date fi eld for lo gging user defined i nformation | |
| 70 | REM # 8) Numeric 1 NUMBER ( OPTIONAL) | |
| 71 | REM # - Gener ic numeric field for logging u ser define d informat ion | |
| 72 | REM # 9) Numeric 2 NUMBER ( OPTIONAL) | |
| 73 | REM # - Gener ic numeric field for logging u ser define d informat ion | |
| 74 | REM # 1 0) Numeric 3 NUMBER ( OPTIONAL) | |
| 75 | REM # - Gener ic numeric field for logging u ser define d informat ion | |
| 76 | REM # 1 1) Text1 VARCHA R2(255) ( OPTIONAL) | |
| 77 | REM # - Gener ic text fi eld for lo gging user defined i nformation | |
| 78 | REM # 1 2) Text2 VARCHA R2(255) ( OPTIONAL) | |
| 79 | REM # - Gener ic text fi eld for lo gging user defined i nformation | |
| 80 | REM # 1 3) Text3 VARCHA R2(255) ( OPTIONAL) | |
| 81 | REM # - Gener ic text fi eld for lo gging user defined i nformation | |
| 82 | REM # Ou tput: | |
| 83 | REM # 1) Rows wi ll be inse rted into the ADRMGT .Job_Proce ss_Logs ta ble | |
| 84 | REM # | |
| 85 | REM ###### ########## ########## ########## ########## ########## ########## ######### | |
| 86 | REM # Chan ge History | |
| 87 | REM # | |
| 88 | REM # DATE Use r Name DESCR IPTION | |
| 89 | REM # ---- ------ --- ---------- ---- ----- ---------- ---------- ---------- -------- | |
| 90 | REM # 04/1 2/2010 Cra ig Wood Creat ed script | |
| 91 | REM # | |
| 92 | REM ###### ########## ########## ########## ########## ########## ########## ######### | |
| 93 | */ | |
| 94 | ||
| 95 | VD_log_d ate D ATE; | |
| 96 | ||
| 97 | PRAGMA A UTONOMOUS_ TRANSACTIO N; | |
| 98 | ||
| 99 | BEGIN | |
| 100 | ||
| 101 | INSERT | |
| 102 | INTO ADRMGT.J ob_Process _Logs | |
| 103 | (Job_pro cess_logs_ id, | |
| 104 | Job_nam e, | |
| 105 | Job_log _date, | |
| 106 | Job_sta tus, | |
| 107 | Job_log _message, | |
| 108 | Date1, | |
| 109 | Date2, | |
| 110 | Date3, | |
| 111 | Numeric 1, | |
| 112 | Numeric 2, | |
| 113 | Numeric 3, | |
| 114 | Text1, | |
| 115 | Text2, | |
| 116 | Text3, | |
| 117 | Record_ created_da te | |
| 118 | ) | |
| 119 | VALUES (ADRMGT. Job_proces s_logs_id_ s.NEXTVAL, | |
| 120 | PC_job_ name , | |
| 121 | PD_job_ log_date, | |
| 122 | PC_job_ status, | |
| 123 | PC_job_ log_messag e, | |
| 124 | PD_date 1, | |
| 125 | PD_date 2, | |
| 126 | PD_date 3, | |
| 127 | PN_nume ric1, | |
| 128 | PN_nume ric2, | |
| 129 | PN_nume ric3, | |
| 130 | PC_text 1, | |
| 131 | PC_text 2, | |
| 132 | PC_text 3, | |
| 133 | SYSDATE | |
| 134 | ); | |
| 135 | ||
| 136 | COMMIT; | |
| 137 | ||
| 138 | EXCEPTION | |
| 139 | ||
| 140 | WHEN OTH ERS THEN | |
| 141 | ||
| 142 | VD_log _date := S YSDATE; | |
| 143 | ADRMGT .Job_Proce ss_Err_Sp( 'ADRMGT.Jo b_Process_ Log_Sp', | |
| 144 | VD_log_dat e, | |
| 145 | SUBSTR('ER ROR! Unabl e to inser t into ADR _EXTRACT_P ROCESS_LOG table.',1 ,60), | |
| 146 | SUBSTR(SQL ERRM,1,200 0) | |
| 147 | ) ; | |
| 148 | ||
| 149 | END Job_Pr ocess_Log_ Sp; | |
| 150 | / | |
| 151 | ||
| 152 | ||
| 153 | GRANT EXEC UTE ON ADR MGT.JOB_PR OCESS_LOG_ SP TO ADR; | |
| 154 | ||
| 155 | GRANT EXEC UTE ON ADR MGT.JOB_PR OCESS_LOG_ SP TO ADRM GT_APP_RW; | |
| 156 | ||
| 157 | GRANT EXEC UTE ON ADR MGT.JOB_PR OCESS_LOG_ SP TO PSIM ; | |
| 158 | DROP PROCE DURE ADRMG T.JOB_PROC ESS_ERR_SP ; | |
| 159 | ||
| 160 | CREATE OR REPLACE PR OCEDURE AD RMGT.Job_P rocess_Err _Sp | |
| 161 | (PC_job_ name | |
| 162 | IN ADRMGT.J ob_Process _Errs.Job_ name%TYPE | |
| 163 | DEF AULT 'UNKN OWN', | |
| 164 | PD_job_ error_date | |
| 165 | IN ADRMGT.J ob_Process _Errs.Job_ error_date %TYPE | |
| 166 | DEF AULT SYSDA TE, | |
| 167 | PC_job_ error_code | |
| 168 | IN ADRMGT.J ob_Process _Errs.Job_ error_code %TYPE | |
| 169 | DEF AULT NULL, | |
| 170 | PC_job_ error_mess age | |
| 171 | IN ADRMGT.J ob_Process _Errs.Job_ error_mess age%TYPE | |
| 172 | DEF AULT NULL, | |
| 173 | PD_date 1 | |
| 174 | IN ADRMGT.J ob_Process _Errs.Date 1%TYPE | |
| 175 | DEF AULT NULL, | |
| 176 | PD_date 2 | |
| 177 | IN ADRMGT.J ob_Process _Errs.Date 2%TYPE | |
| 178 | DEF AULT NULL, | |
| 179 | PD_date 3 | |
| 180 | IN ADRMGT.J ob_Process _Errs.Date 3%TYPE | |
| 181 | DEF AULT NULL, | |
| 182 | PN_nume ric1 | |
| 183 | IN ADRMGT.J ob_Process _Errs.Nume ric1%TYPE | |
| 184 | DEF AULT NULL, | |
| 185 | PN_nume ric2 | |
| 186 | IN ADRMGT.J ob_Process _Errs.Nume ric2%TYPE | |
| 187 | DEF AULT NULL, | |
| 188 | PN_nume ric3 | |
| 189 | IN ADRMGT.J ob_Process _Errs.Nume ric3%TYPE | |
| 190 | DEF AULT NULL, | |
| 191 | PC_text 1 | |
| 192 | IN ADRMGT.J ob_Process _Errs.Text 1%TYPE | |
| 193 | DEF AULT NULL, | |
| 194 | PC_text 2 | |
| 195 | IN ADRMGT.J ob_Process _Errs.Text 2%TYPE | |
| 196 | DEF AULT NULL, | |
| 197 | PC_text 3 | |
| 198 | IN ADRMGT.J ob_Process _Errs.Text 3%TYPE | |
| 199 | DEF AULT NULL | |
| 200 | ) | |
| 201 | ||
| 202 | IS | |
| 203 | ||
| 204 | /* | |
| 205 | REM ###### ########## ########## ########## ########## ########## ########## ######### | |
| 206 | REM # Des cription: Create ADR MGT.Job_Pr ocess_Err_ Sp stored procedure. | |
| 207 | REM # | |
| 208 | REM # This proce dure will be used to write job processin g logs | |
| 209 | REM # from vario us scripts and DBMS_ JOB jobs. | |
| 210 | REM # | |
| 211 | REM # Us age: Call ed by run_ wrapper.sq l | |
| 212 | REM # In put Parame ters: | |
| 213 | REM # 1) Job_nam e VARCHA R2(60) ( REQUIRED) | |
| 214 | REM # - Uniqu e Name for each job using this table | |
| 215 | REM # 2) Job_err or_date DATE ( REQUIRED) | |
| 216 | REM # - Date/ time of lo g write re quest | |
| 217 | REM # 3) Job_err or_code VARCHA R2(60) ( OPTIONAL) | |
| 218 | REM # - Error code from the job | |
| 219 | REM # 4) Job_err or_message VARCHA R2(2000) ( OPTIONAL) | |
| 220 | REM # - User defined er ror messag e | |
| 221 | REM # 5) Date1 DATE ( OPTIONAL) | |
| 222 | REM # - Gener ic date fi eld for lo gging user defined i nformation | |
| 223 | REM # 6) Date2 DATE ( OPTIONAL) | |
| 224 | REM # - Gener ic date fi eld for lo gging user defined i nformation | |
| 225 | REM # 7) Date3 DATE ( OPTIONAL) | |
| 226 | REM # - Gener ic date fi eld for lo gging user defined i nformation | |
| 227 | REM # 8) Numeric 1 NUMBER ( OPTIONAL) | |
| 228 | REM # - Gener ic numeric field for logging u ser define d informat ion | |
| 229 | REM # 9) Numeric 2 NUMBER ( OPTIONAL) | |
| 230 | REM # - Gener ic numeric field for logging u ser define d informat ion | |
| 231 | REM # 1 0) Numeric 3 NUMBER ( OPTIONAL) | |
| 232 | REM # - Gener ic numeric field for logging u ser define d informat ion | |
| 233 | REM # 1 1) Text1 VARCHA R2(255) ( OPTIONAL) | |
| 234 | REM # - Gener ic text fi eld for lo gging user defined i nformation | |
| 235 | REM # 1 2) Text2 VARCHA R2(255) ( OPTIONAL) | |
| 236 | REM # - Gener ic text fi eld for lo gging user defined i nformation | |
| 237 | REM # 1 3) Text3 VARCHA R2(255) ( OPTIONAL) | |
| 238 | REM # - Gener ic text fi eld for lo gging user defined i nformation | |
| 239 | REM # Ou tput: | |
| 240 | REM # 1) Rows wi ll be inse rted into the ADRMGT .Job_Proce ss_Errs ta ble | |
| 241 | REM # | |
| 242 | REM ###### ########## ########## ########## ########## ########## ########## ######### | |
| 243 | REM # Chan ge History | |
| 244 | REM # | |
| 245 | REM # DATE Use r Name DESCR IPTION | |
| 246 | REM # ---- ------ --- ---------- ---- ----- ---------- ---------- ---------- -------- | |
| 247 | REM # 04/1 2/2010 Cra ig Wood Creat ed script | |
| 248 | REM # | |
| 249 | REM ###### ########## ########## ########## ########## ########## ########## ######### | |
| 250 | */ | |
| 251 | ||
| 252 | PRAGMA A UTONOMOUS_ TRANSACTIO N; | |
| 253 | ||
| 254 | BEGIN | |
| 255 | ||
| 256 | INSERT | |
| 257 | INTO ADRMGT.J ob_Process _Errs | |
| 258 | (Job_pro cess_errs_ id, | |
| 259 | Job_nam e, | |
| 260 | Job_err or_date, | |
| 261 | Job_err or_code, | |
| 262 | Job_err or_message , | |
| 263 | Date1, | |
| 264 | Date2, | |
| 265 | Date3, | |
| 266 | Numeric 1, | |
| 267 | Numeric 2, | |
| 268 | Numeric 3, | |
| 269 | Text1, | |
| 270 | Text2, | |
| 271 | Text3, | |
| 272 | Record_ created_da te | |
| 273 | ) | |
| 274 | VALUES (ADRMGT. Job_proces s_errs_id_ s.NEXTVAL, | |
| 275 | PC_job_ name , | |
| 276 | PD_job_ error_date , | |
| 277 | PC_job_ error_code , | |
| 278 | PC_job_ error_mess age, | |
| 279 | PD_date 1, | |
| 280 | PD_date 2, | |
| 281 | PD_date 3, | |
| 282 | PN_nume ric1, | |
| 283 | PN_nume ric2, | |
| 284 | PN_nume ric3, | |
| 285 | PC_text 1, | |
| 286 | PC_text 2, | |
| 287 | PC_text 3, | |
| 288 | SYSDATE | |
| 289 | ); | |
| 290 | ||
| 291 | COMMIT; | |
| 292 | ||
| 293 | EXCEPTION | |
| 294 | ||
| 295 | WHEN OTH ERS THEN | |
| 296 | ||
| 297 | NULL; | |
| 298 | ||
| 299 | END Job_Pr ocess_Err_ Sp; | |
| 300 | / | |
| 301 | ||
| 302 | ||
| 303 | GRANT EXEC UTE ON ADR MGT.JOB_PR OCESS_ERR_ SP TO ADR; | |
| 304 | ||
| 305 | GRANT EXEC UTE ON ADR MGT.JOB_PR OCESS_ERR_ SP TO ADRF ILE; | |
| 306 | ||
| 307 | GRANT EXEC UTE ON ADR MGT.JOB_PR OCESS_ERR_ SP TO ADRM GT_APP_RW; | |
| 308 | ||
| 309 | GRANT EXEC UTE ON ADR MGT.JOB_PR OCESS_ERR_ SP TO PSIM ; | |
| 310 | DROP PROCE DURE ADRMG T.JOB_MONI TOR_SP; | |
| 311 | ||
| 312 | CREATE OR REPLACE PR OCEDURE AD RMGT.JOB_M ONITOR_SP | |
| 313 | ( | |
| 314 | P_COL_L IST IN VAR CHAR2, --REQUIRED | |
| 315 | P_TAB_N AME IN VAR CHAR2, --REQUIRED | |
| 316 | P_LIMIT _DATE_COLU MN IN VAR CHAR2, --REQUIRED | |
| 317 | P_BEG_D ATE IN DAT E DEFAULT SYSDATE, | |
| 318 | P_WHERE _LIST IN VAR CHAR2, | |
| 319 | P_ORDER _BY IN VAR CHAR2, --REQUIRED | |
| 320 | P_EMAIL _GROUP IN VAR CHAR2 DEFA ULT 'ADR_D BA') | |
| 321 | ||
| 322 | AS | |
| 323 | /* ===== ========== ========== ========== ========== ========== ========== ========= */ | |
| 324 | /* Descr iption: CC R 1652: AD R JOB Moni toring */ | |
| 325 | /* */ | |
| 326 | /* This store proc edure is t o monitor 2 tables J OB_PROCESS _LOGS and */ | |
| 327 | /* JOB_P ROCESS_ERR S and send out notif ications v ia utl_mai l to ADR_D BA group */ | |
| 328 | /* The o utput layo ut will li mit up to 30 rows di splay on e mail. Ther e are 7 */ | |
| 329 | /* passi ng argumen ts: */ | |
| 330 | /* */ | |
| 331 | /* P_COL _LIST: li sts of col umns to be displayed in the bo dy. The f irst */ | |
| 332 | /* column must be t he job nam e. Limit up to 5 co lumns. */ | |
| 333 | /* */ | |
| 334 | /* P_TAB _NAME: ta ble to be monitored. */ | |
| 335 | /* */ | |
| 336 | /* P_LIM IT_DATE_CO LUMN: Emte r column t o be limit ed by quer y. For ex ample */ | |
| 337 | /* */ | |
| 338 | /* P_BEG _DATE: Mon itoring da te and goe s back to xxx days o f one of t he inputs */ | |
| 339 | /* */ | |
| 340 | /* P_WHE RE_LIST:li sts where clause con ditions. */ | |
| 341 | /* */ | |
| 342 | /* P_ORD ER_BY: li st a colum n to be so rted by. Limit one column. */ | |
| 343 | /* */ | |
| 344 | /* P_EMA IL_GROUP: email grou p name whi ch is foun d in ADR_U SER_CONTAC T */ | |
| 345 | /* */ | |
| 346 | /* VN_ma x_num_days _monitored : look up from adr_p arameter t able */ | |
| 347 | /* */ | |
| 348 | /* VN_ma x_rec_disp lay: Look up from ad r_paramete r table. L imit up to 30 rows */ | |
| 349 | /* */ | |
| 350 | /* Sampl e code: */ | |
| 351 | /* DRMGT .JOB_MONIT OR_SP( P_C OL_LIST => 'JOB_NAME , JOB_ERRO R_DATE, */ | |
| 352 | /* JO B_ERROR_CO DE, JOB_ER ROR_MESSAG E', */ | |
| 353 | /* P_ TAB_NAME => 'ADRMG T.JOB_PROC ESS_ERRS', */ | |
| 354 | /* P_ LIMIT_DATE _COLUMN => 'JOB_ER ROR_DATE', */ | |
| 355 | /* P_ BEG_DATE => SYSDAT E, P_WHER E_LIST => NULL, */ | |
| 356 | /* P_ ORDER_BY => 'JOB_P ROCESS_ERR S_ID', */ | |
| 357 | /* P_ EMAIL_GROU P=> 'ADR_D BA'); */ | |
| 358 | /* */ | |
| 359 | /******* ********** ********** ********** ********** ********** ********** ********** */ | |
| 360 | -- # Cha nge Histor y | |
| 361 | -- # | |
| 362 | -- # DAT E Us er Name DESC RIPTION | |
| 363 | -- # --- ------- -- ---------- ----- ---- ---------- ---------- ---------- ---------- ----- | |
| 364 | -- # 06/ 26/2012 Ri chard Do Crea ted - CCR 1652 | |
| 365 | -- # | |
| 366 | ||
| 367 | ||
| 368 | ||
| 369 | -- VARIA BLES | |
| 370 | ||
| 371 | TYPE TAB LE_COL_TYP E IS TABLE OF VARCHA R2(1000) I NDEX BY BI NARY_INTEG ER; | |
| 372 | VN_STR_L EN NUMBER:= 1 00; | |
| 373 | VN_SEPAR ATOR CONSTANT V ARCHAR2(3) := ' | '; | |
| 374 | ||
| 375 | VC_WHERE VARCHAR2(3 200); | |
| 376 | LV_Str_L ist VARCHAR2(5 00); | |
| 377 | LB_cnt BINARY_INT EGER; | |
| 378 | LA_Tab_S tr DBMS_UTILI TY.UNCL_AR RAY; | |
| 379 | ||
| 380 | LC_TMP VARCHAR2(1 00); | |
| 381 | LC_err_s tr VARCHAR2(3 2767); | |
| 382 | LC_str LONG; | |
| 383 | l_row_cn t BINARY_INT EGER := 0; | |
| 384 | LN_col_c ount BINARY_INT EGER := 0; | |
| 385 | ||
| 386 | VC_log_s tep VARCHAR2(5 00); | |
| 387 | lc_col1 TABLE_COL_ TYPE; | |
| 388 | lc_col2 TABLE_COL_ TYPE; | |
| 389 | lc_col3 TABLE_COL_ TYPE; | |
| 390 | lc_col4 TABLE_COL_ TYPE; | |
| 391 | lc_col5 TABLE_COL_ TYPE; | |
| 392 | ||
| 393 | ||
| 394 | VC_SELEC T1 VARCHAR2( 60):= 'SEL ECT * FROM ('; | |
| 395 | LC_WHERE _LIMIT VARCHAR2( 2000); | |
| 396 | LN_MAX_R OWS_DISP NUMBER := 30; --Th is number limit numb er of rows display o n the body message | |
| 397 | VN_max_n um_days_mo nitored NUMBER; | |
| 398 | VN_max_r ec_display NUMBER; | |
| 399 | ||
| 400 | ||
| 401 | VC_SQLST MT VARCHAR2( 5000); | |
| 402 | ||
| 403 | vMesg LONG; | |
| 404 | vSubj VARCHAR2( 800); | |
| 405 | ||
| 406 | ||
| 407 | VB_allow _rpt_inst BOO LEAN := FA LSE; | |
| 408 | VB_error BOOL EAN := FAL SE; | |
| 409 | VB_run_s tandalone B OOLEAN := FALSE; | |
| 410 | VB_updat e_row BO OLEAN := F ALSE; | |
| 411 | ||
| 412 | VC_allow _rpt_inst VA RCHAR2(5) := NULL; | |
| 413 | ||
| 414 | VC_proce ss_duratio n VA RCHAR2(25) ; | |
| 415 | VC_proce ss_name V ARCHAR2(30 ) := 'ADRM GT.JOB_MON ITOR_SP'; | |
| 416 | ||
| 417 | ||
| 418 | VN_Inst_ name VAR CHAR2(60); | |
| 419 | VC_host_ name V ARCHAR2(60 ); | |
| 420 | VC_email _list VA RCHAR2(300 ); | |
| 421 | ||
| 422 | ||
| 423 | -- ******* ********** ********** ********** ********** ********** ********** ******* | |
| 424 | -- * | |
| 425 | -- * MAIN PROCEDURE : | |
| 426 | -- * | |
| 427 | -- * AD R.Adr_Addr ess_Z05_Up date_Sp | |
| 428 | -- * | |
| 429 | -- ******* ********** ********** ********** ********** ********** ********** ******* | |
| 430 | ||
| 431 | BEGIN | |
| 432 | ||
| 433 | VC_log_ step := 'G et instanc e name'; | |
| 434 | ||
| 435 | SELECT sys_contex t('USERENV ','INSTANC E_NAME'), sys_contex t('USERENV ', 'SERVER _HOST') | |
| 436 | into VN _Inst_name , VC_host_ name | |
| 437 | FROM du al; | |
| 438 | ||
| 439 | ADRMGT. Job_Proces s_Log_Sp(P C_job_name => SUBSTR (VC_proces s_name,1,6 0), | |
| 440 | PD _job_log_d ate => SYS DATE, | |
| 441 | PC _job_statu s => SUBST R('INFORMA TION - Pro cess Initi ation',1,6 0), | |
| 442 | PD _date1 => SYSDATE, | |
| 443 | PC _text1 => VC_log_ste p||' - Ini tiating AD R Monitori ng Job'); | |
| 444 | ||
| 445 | ||
| 446 | LV_Str_ List := P _COL_LIST; | |
| 447 | ||
| 448 | -- ==== ========== ========== ========== ========== ========== ========== ========== ==== | |
| 449 | -- Obta in value m ax num day s to be mo nitored fr om run dat e | |
| 450 | -- ==== ========== ========== ========== ========== ========== ========== ========== ==== | |
| 451 | ||
| 452 | VC_log_ step := 'O btain valu e max num days to be monitored '; | |
| 453 | ||
| 454 | SELECT VALUE | |
| 455 | INTO VN_max_num _days_moni tored | |
| 456 | FROM AD RMGT.ADR_P ARAMETER | |
| 457 | WHERE applicatio n_name = ' ADR_JOB_MO NITORING' | |
| 458 | AND PAR AMETER_NAM E = 'DAYS_ BE_MONITOR ED'; | |
| 459 | ||
| 460 | VN_max_ num_days_m onitored : = NVL(VN_m ax_num_day s_monitore d,1); -- set defaul t to 1 day | |
| 461 | ||
| 462 | ||
| 463 | -- ==== ========== ========== ========== ========== ========== ========== ========== ========= | |
| 464 | -- Obta in value m ax num err ors record s to be di splayed in the body email noti fication. | |
| 465 | -- ==== ========== ========== ========== ========== ========== ========== ========== ========= | |
| 466 | VC_log_ step := 'O btain valu e max num days to be monitored '; | |
| 467 | ||
| 468 | SELECT VALUE | |
| 469 | IN TO VN_max_ rec_displa y | |
| 470 | FROM AD RMGT.ADR_P ARAMETER | |
| 471 | WHERE applicatio n_name = ' ADR_JOB_MO NITORING' | |
| 472 | AND PAR AMETER_NAM E = 'NUM_R OWS_DISPLA Y_MAX'; | |
| 473 | ||
| 474 | VN_max_ rec_displa y := NVL(V N_max_rec_ display,30 ); -- set max defau lt to 30 r ows | |
| 475 | ||
| 476 | ||
| 477 | VC_log_ step := 'P arsing str ing column names'; | |
| 478 | ||
| 479 | -- ==== ========== ========== ========== ========== ========== ========== ========== ==== | |
| 480 | -- Pars e the stri ng the col umn list t o cound nu mber of co lumn delim eted by co mma | |
| 481 | -- ==== ========== ========== ========== ========== ========== ========== ========== ==== | |
| 482 | ||
| 483 | DBMS_UT ILITY.COMM A_TO_TABLE (LV_Str_Li st, LB_cnt , LA_Tab_S tr); | |
| 484 | ||
| 485 | -- ==== ========== ========== ========== ========== ========== ===== | |
| 486 | -- Sett up WHERE c lause limi t to the l ast 3 days from sysd ate | |
| 487 | -- ==== ========== ========== ========== ========== ========== ===== | |
| 488 | ||
| 489 | LC_WHER E_LIMIT := ' WHERE T RUNC('||P_ LIMIT_DATE _COLUMN||' ) >= TO_DA TE('''||P_ BEG_DATE|| ''')-'||VN _max_num_d ays_monito red; | |
| 490 | ||
| 491 | DBMS_OU TPUT.PUT_L INE(LC_WHE RE_LIMIT); | |
| 492 | ||
| 493 | IF P_WH ERE_LIST I S NOT NULL THEN | |
| 494 | VC_WH ERE := LC_ WHERE_LIMI T|| ' AND '|| | |
| 495 | P_WH ERE_LIST|| | |
| 496 | ' OR DER BY '|| P_ORDER_BY ||' DESC ) '|| | |
| 497 | ' WH ERE ROWNUM <='||VN_m ax_rec_dis play; --M ake sure n umber of d isplayed r ows not ex ceed 30 | |
| 498 | ||
| 499 | ELSE | |
| 500 | VC_W HERE := LC _WHERE_LIM IT|| | |
| 501 | ' OR DER BY '|| P_ORDER_BY ||' DESC ) '|| | |
| 502 | ' WH ERE ROWNUM <='||VN_m ax_rec_dis play; --M ake sure n umber of d isplayed r ows not ex ceed 30 | |
| 503 | END IF; | |
| 504 | ||
| 505 | DBMS_OU TPUT.PUT_L INE(VC_WHE RE); | |
| 506 | ||
| 507 | VC_log_ step := 'P arsed and count colu mns number .'; | |
| 508 | /****** ********** ********** ********** ********** ******/ | |
| 509 | /* */ | |
| 510 | /* Pars e the colu mn list to count num ber of col umns */ | |
| 511 | /* */ | |
| 512 | /****** ********** ********** ********** ********** ******/ | |
| 513 | ||
| 514 | FOR I I N 1 .. LA_ Tab_Str.CO UNT LOOP | |
| 515 | -- display s ubstring | |
| 516 | ||
| 517 | LC _TMP := TR IM(LA_Tab_ Str(I)); | |
| 518 | LN _col_count := I; | |
| 519 | ||
| 520 | IF LC_TMP IS NULL THEN | |
| 521 | EXIT; | |
| 522 | EN D IF; | |
| 523 | ||
| 524 | END LOO P; | |
| 525 | ||
| 526 | IF LN_c ol_count > 1 THEN | |
| 527 | ||
| 528 | LN _col_count := LN_col _count - 1 ; | |
| 529 | ELSE | |
| 530 | ||
| 531 | LN _col_count := 1; | |
| 532 | END IF; | |
| 533 | ||
| 534 | VC_log_ step := 'B uilding VC _SQLSTMT'; | |
| 535 | VC_SQLS TMT := VC_ SELECT1|| 'SELECT '| |P_COL_LIS T||' FROM '||P_TAB_ NAME ||' ' ||VC_WHERE ; | |
| 536 | ||
| 537 | ||
| 538 | DBMS_OU TPUT.PUT_L INE(VC_SQL STMT); | |
| 539 | ||
| 540 | /****** ********** ********** ********** ********** ********** ****/ | |
| 541 | /* Form at body em ail when t he column list has o nly 1 colu mn */ | |
| 542 | /****** ********** ********** ********** ********** ********** ****/ | |
| 543 | ||
| 544 | IF LN_c ol_count = 1 THEN | |
| 545 | ||
| 546 | VC_ log_step : = 'Formatt ing email body of 1 column.'; | |
| 547 | EXE CUTE IMMED IATE VC_SQ LSTMT BUL K COLLECT INTO lc_co l1 ; | |
| 548 | ||
| 549 | ||
| 550 | -- Appending values whi le looping thru coll ections | |
| 551 | FOR I in 1..l c_col1.COU NT LOOP | |
| 552 | ||
| 553 | LC_err_str := 'Ln# ' ||I||'- Jo b Name: '| |SUBSTR(TR IM(lc_col1 (I)),1,VN_ STR_LEN)|| CHR(10); | |
| 554 | ||
| 555 | LC_str := LC_str||CH R(10)||LC_ err_str; | |
| 556 | ||
| 557 | DBMS_OUTPU T.PUT_LINE (LC_str); | |
| 558 | ||
| 559 | IF LN_MAX_ ROWS_DISP < I THEN -- Make su re display ed rows no t exists m ore than 2 0 | |
| 560 | ||
| 561 | EXIT ; | |
| 562 | END IF; | |
| 563 | ||
| 564 | END LOOP; | |
| 565 | ||
| 566 | ||
| 567 | /****** ********** ********** ********** ********** ********** *****/ | |
| 568 | /* Form at body em ail when t he column list has o nly 2 colu mns */ | |
| 569 | /****** ********** ********** ********** ********** ********** *****/ | |
| 570 | ||
| 571 | ELSIF L N_col_coun t = 2 THEN | |
| 572 | ||
| 573 | VC_ log_step : = 'Formatt ing email body of 2 columns.'; | |
| 574 | EXE CUTE IMMED IATE VC_SQ LSTMT BUL K COLLECT INTO lc_co l1, lc_col 2; | |
| 575 | ||
| 576 | -- Appending values whi le looping thru coll ections | |
| 577 | ||
| 578 | FOR I in 1..l c_col1.COU NT LOOP | |
| 579 | ||
| 580 | LC_err_str := 'Ln# '| |I||'- Job Name: '|| SUBSTR(TRI M(lc_col1( I)),1,VN_S TR_LEN)||C HR(10)|| | |
| 581 | SUBSTR(T RIM(lc_col 2(I)),1,VN _STR_LEN); | |
| 582 | ||
| 583 | LC_str := LC_str||CH R(10)||LC_ err_str; | |
| 584 | ||
| 585 | ||
| 586 | DBMS_OUTPU T.PUT_LINE (LC_str); | |
| 587 | ||
| 588 | ||
| 589 | IF LN_MAX_ ROWS_DISP < I THEN -- Make su re display ed rows no t exists m ore than 2 0 | |
| 590 | EXIT; | |
| 591 | END IF; | |
| 592 | ||
| 593 | END LOOP; | |
| 594 | ||
| 595 | ||
| 596 | /****** ********** ********** ********** ********** ********** *****/ | |
| 597 | /* Form at body em ail when t he column list has o nly 3 colu mns */ | |
| 598 | /****** ********** ********** ********** ********** ********** *****/ | |
| 599 | ||
| 600 | ELSIF L N_col_coun t = 3 THEN | |
| 601 | ||
| 602 | VC_ log_step : = 'Formatt ing email body of 2 columns.'; | |
| 603 | EXE CUTE IMMED IATE VC_SQ LSTMT BUL K COLLECT INTO lc_co l1, lc_col 2, lc_col3 ; | |
| 604 | ||
| 605 | FOR I in 1..l c_col1.COU NT LOOP | |
| 606 | ||
| 607 | LC_err_str := 'Ln# ' ||I||'- Jo b Name: '| |SUBSTR(TR IM(lc_col1 (I)),1,VN_ STR_LEN)|| CHR(10)|| | |
| 608 | SUBSTR(TR IM(lc_col2 (I)),1,VN_ STR_LEN)|| VN_SEPARA TOR|| SUBS TR(TRIM(lc _col3(I)), 1,VN_STR_L EN); | |
| 609 | ||
| 610 | LC_str := LC_str||CH R(10)||LC_ err_str; | |
| 611 | DBMS_OUTPU T.PUT_LINE (LC_err_st r) ; | |
| 612 | ||
| 613 | IF LN_MAX_ ROWS_DISP < I THEN -- Make su re rows di splayed no t exists m ore than 2 0 | |
| 614 | EXIT; | |
| 615 | END IF; | |
| 616 | ||
| 617 | END LOOP; | |
| 618 | ||
| 619 | ||
| 620 | /****** ********** ********** ********** ********** ********** *****/ | |
| 621 | /* Form at body em ail when t he column list has o nly 4 colu mns */ | |
| 622 | /****** ********** ********** ********** ********** ********** *****/ | |
| 623 | ||
| 624 | ELSIF L N_col_coun t = 4 THEN | |
| 625 | ||
| 626 | VC_l og_step := 'Formatti ng email b ody of 3 c olumns.'; | |
| 627 | EXEC UTE IMMEDI ATE VC_SQL STMT BULK COLLECT I NTO lc_col 1, lc_col2 , lc_col3, lc_col4; | |
| 628 | ||
| 629 | FOR I in 1..lc _col1.COUN T LOOP | |
| 630 | ||
| 631 | LC_err_str := 'Ln# ' ||I||'- Jo b Name: '| |SUBSTR(TR IM(lc_col1 (I)),1,VN_ STR_LEN)|| CHR(10)|| | |
| 632 | SUBSTR(TR IM(lc_col2 (I)),1,VN_ STR_LEN)|| | |
| 633 | VN_SEPAR ATOR||SUBS TR(TRIM(lc _col3(I)), 1,VN_STR_L EN)||VN_SE PARATOR||S UBSTR(TRIM (lc_col4(I )),1,VN_ST R_LEN)||CH R(10); | |
| 634 | ||
| 635 | LC_str := LC_str||CH R(10)||LC_ err_str; | |
| 636 | ||
| 637 | IF LN_MAX_ ROWS_DISP < I THEN -- Make su re rows di splayed no t exists m ore than 2 0 | |
| 638 | EXIT; | |
| 639 | END IF; | |
| 640 | ||
| 641 | END LOOP; | |
| 642 | ||
| 643 | /****** ********** ********** ********** ********** ********** *****/ | |
| 644 | /* Form at body em ail when t he column list has o nly 5 colu mns */ | |
| 645 | /****** ********** ********** ********** ********** ********** *****/ | |
| 646 | ||
| 647 | ELSIF L N_col_coun t = 5 THEN | |
| 648 | ||
| 649 | VC_ log_step : = 'Formatt ing email body of 5 columns.'; | |
| 650 | EXE CUTE IMMED IATE VC_SQ LSTMT BUL K COLLECT INTO lc_co l1, lc_col 2, lc_col3 ,lc_col4, lc_col5 ; | |
| 651 | ||
| 652 | FOR I in 1..l c_col1.COU NT LOOP | |
| 653 | ||
| 654 | LC_err_str := 'Ln# ' ||I||'- Jo b Name: '| |SUBSTR(TR IM(lc_col1 (I)),1,VN_ STR_LEN)|| CHR(10)|| | |
| 655 | ||
| 656 | SUBSTR(TRI M(lc_col2( I)),1,VN_S TR_LEN)|| VN_SEPARAT OR||SUBSTR (TRIM(lc_c ol3(I)),1, VN_STR_LEN )||VN_SEPA RATOR||SUB STR(TRIM(l c_col4(I)) ,1,VN_STR_ LEN)|| | |
| 657 | V N_SEPARATO R||SUBSTR( TRIM(lc_co l5(I)),1,V N_STR_LEN) ; | |
| 658 | ||
| 659 | LC_str := LC_str||C HR(10)||LC _err_str; | |
| 660 | DBMS_OUTPU T.PUT_LINE (LC_str); | |
| 661 | ||
| 662 | DBMS_OUTPU T.PUT_LINE ('line '|| i||': '||l c_col1(i)| |'***: '|| lc_col2(i )||'***: ' || lc_col3 (i)||'***: '|| lc_co l4(i)||lc_ col5(i)||' **END'); | |
| 663 | ||
| 664 | IF LN_MAX_ ROWS_DISP < I THEN -- Make su re rows di splayed no t exists m ore than 2 0 | |
| 665 | EXIT ; | |
| 666 | END IF; | |
| 667 | ||
| 668 | ||
| 669 | END LOOP; | |
| 670 | ||
| 671 | END IF; | |
| 672 | ||
| 673 | ||
| 674 | /****** ********** ********** ********** ********** ********** ******/ | |
| 675 | /* If f ormat emai l body is empty that means no error foun d. */ | |
| 676 | /* Ther efore, no need to se nd out not ifications . */ | |
| 677 | /****** ********** ********** ********** ********** ********** ******/ | |
| 678 | ||
| 679 | IF LC_s tr IS NOT NULL THEN | |
| 680 | ||
| 681 | VC_l og_step := 'Retrievi ng emails from '||p_ email_grou p; | |
| 682 | ||
| 683 | SELE CT EMAIL_A DDRESS_LIS T | |
| 684 | IN TO VC_ema il_list | |
| 685 | FROM ADRMGT.AD R_USER_CON TACT | |
| 686 | WHER E CONTACT_ EMAIL_USER _NAME = p_ email_grou p; | |
| 687 | ||
| 688 | ||
| 689 | VC_l og_step := 'Construc ting subj email.'; | |
| 690 | ||
| 691 | vSub j := VC_pr ocess_name ||' - Erro r Found in '||P_TAB_ NAME ||'(' ||VN_Inst_ name||'@'| |VC_host_n ame||')'; | |
| 692 | ||
| 693 | VC_l og_step := 'Construc ting body email.'; | |
| 694 | ||
| 695 | vMes g := 'Runt ime Criter ia: Max nu m rows <= '|| LEAST( VN_max_rec _display,L N_MAX_ROWS _DISP)||CH R(10)|| | |
| 696 | VC_W HERE||CHR( 10)|| | |
| 697 | '=== ========== ========== ========== =='||CHR(1 0)|| | |
| 698 | LC_s tr|| CHR( 10)|| | |
| 699 | '**** ********** ********** ********** ********** ********** ********** ********** ********** ********** ********** *****'||CH R(10)|| | |
| 700 | 'ACTI ON: Please take appr opriate ac tion to re solve the errors. Ch eck '||P_T AB_NAME||' for more details.'| |CHR(10)|| | |
| 701 | '**** ********** ********** ********** ********** ********** ********** ********** ********** ********** ********** *****'; | |
| 702 | ||
| 703 | ||
| 704 | /**** ********** ********** ********** ********** ********** ********** ***/ | |
| 705 | /* */ | |
| 706 | /* Se nding emai l notifica tions to g roups on e rrors foun d. */ | |
| 707 | /* */ | |
| 708 | /**** ********** ********** ********** ********** ********** ********** ***/ | |
| 709 | ||
| 710 | VC_lo g_step := 'Invoking utl_mail.s end'; | |
| 711 | ||
| 712 | UTL_MAIL.S END (SENDE R => 'oracle @'||VC_hos t_name||' DNS . URL ', | |
| 713 | RECIPIENTS => VC_em ail_list, | |
| 714 | SUBJECT => vSubj , | |
| 715 | MESSAGE => vMesg ); | |
| 716 | ||
| 717 | ADRMG T.Job_Proc ess_Log_Sp ( | |
| 718 | PC_job_na me => SUBS TR(VC_proc ess_name,1 ,60), | |
| 719 | PD_job_lo g_date => SYSDATE, | |
| 720 | PC_job_st atus => SU BSTR('INFO RMATION - '||VC_log_ step,1,60) , | |
| 721 | PC_job_lo g_message => SUBSTR( VC_log_ste p,1,2000), | |
| 722 | PD_date1 => SYSDATE , | |
| 723 | PC_text1 => SUBSTR( VC_log_ste p,1,255)); | |
| 724 | ||
| 725 | ||
| 726 | ELSE | |
| 727 | ||
| 728 | VC_lo g_step := 'No Data M essage fou nd.'; | |
| 729 | ADRMG T.Job_Proc ess_Log_Sp ( | |
| 730 | PC_job_na me => SUBS TR(VC_proc ess_name,1 ,60), | |
| 731 | PD_job_lo g_date => SYSDATE, | |
| 732 | PC_job_st atus => SU BSTR('INFO RMATION - '||VC_log_ step,1,60) , | |
| 733 | PC_job_lo g_message => SUBSTR( VC_log_ste p,1,2000), | |
| 734 | PD_date1 => SYSDATE , | |
| 735 | PC_text1 => SUBSTR( VC_log_ste p,1,255)); | |
| 736 | ||
| 737 | END IF; | |
| 738 | ||
| 739 | EXCEPTIO N | |
| 740 | ||
| 741 | WHEN N O_DATA_FOU ND THEN | |
| 742 | ||
| 743 | NULL ; | |
| 744 | ||
| 745 | WHEN O THERS THEN | |
| 746 | ||
| 747 | ADRM GT.Job_Pro cess_Err_S p(PC_job_n ame => SUB STR(VC_pro cess_name, 1,60), | |
| 748 | PD_job_e rror_date => SYSDAT E, | |
| 749 | PC_job_e rror_code => SUBSTR( SQLCODE,1, 60), | |
| 750 | PC_job_e rror_messa ge => SUBS TR('Unknow n error wh ile removi ng old pro cess logs. ' | |
| 751 | || SQLE RRM,1,2000 ), | |
| 752 | PD_date1 => SYSDAT E, | |
| 753 | PC_text1 => SUBSTR ('Date1 co lumn conta ins the da ily proces s start da te',1,255) ); | |
| 754 | ||
| 755 | ||
| 756 | END JOB_MO NITOR_SP; | |
| 757 | / |
Araxis Merge (but not the data content of this report) is Copyright © 1993-2016 Araxis Ltd (www.araxis.com). All rights reserved.