07 PKB P131 F13107 STA Log
07 PKB P131 F13107 STA Log
SET TIMI ON
SET ECHO ON
SET FEEDB ON
SYS@TRD1PDB11>SYS@TRD1PDB11>DEFINE var1 = "TDMI_STA.";
SPOOL 07_PKB_P131_F13107_STA_LOG.log;
SYS@TRD1PDB11>
--------------------------------------------------------
SYS@TRD1PDB11>-- DDL for Package Body PKG_P131_13107_REE_API
SYS@TRD1PDB11>--------------------------------------------------------
SYS@TRD1PDB11>create or replace PACKAGE BODY &var1."PKG_P131_13107_REE_API" AS
SYS@TRD1PDB11>SYS@TRD1PDB11>SYS@TRD1PDB11>SP2-0606: Cannot create SPOOL file
"07_PKB_P131_F13107_STA_LOG.log"
SYS@TRD1PDB11>SYS@TRD1PDB11>SYS@TRD1PDB11>SYS@TRD1PDB11>SYS@TRD1PDB11> 2
/* ------------------------------
Global Variables Declaration
------------------------------ */
vgID_PROCESS_EXEC_LOG NUMBER;
vgID_user NUMBER;
vgID_PROC NUMBER;
vgORIGEM VARCHAR(1314):= 'PKG_P131_13107_REE_API';
vgID_SOURCE NUMBER;
3 4 5 6 7 8 vgDATE_CONTEXT DATE;
9 10 11 12 13 vgID_SOURCE_EXEC_LOG NUMBER;
vgROWS_COLLECTED NUMBER;
vgROWS_PROCESSED NUMBER;
vgDATE_TIME_SS_MASK VARCHAR2(50) := 'YYYY-MM-DD"T"HH24:MI:SS';
vgID_TEMPLATE_EXEC_LOG NUMBER;
-- -----------------------------------------------------------------
-- Autor : INDRA
-- Date : 20181119
31 32 33 34 35 36 37 38 -- Description: Load Global
Parameters
-- ----------------------------------------------------------------
vgID_PROCESS_EXEC_LOG := iLOG_PROC;
vgID_SOURCE:= iSOURCE;
vgID_user := iuser;
42 43 44 45 46 47 vgID_PROC :=iPROC;
vgDATE_CONTEXT := iDATE;
48 vgINDICATOR := iINDICATOR;
oRESULT_OUT := 0;
49 50 51 52 EXCEPTION
WHEN OTHERS THEN
53 54
PKG_LOG.INSERT_DETAIL_EXEC_LOG( iLOG_PROC, vgID_TEMPLATE_EXEC_LOG,
vgID_SOURCE_EXEC_LOG, vgORIGEM || '.LOAD_GLOBAL_VALUES', 'ERROR - Not expected',
'ERROR', iuser, null,SQLCODE, SUBSTR(SQLERRM, 1, 4000), CONCAT(CONCAT('ERROR_STACK:
',DBMS_UTILITY.FORMAT_ERROR_STACK), CONCAT('. ERROR_BACKTRACE: ',
DBMS_UTILITY.FORMAT_ERROR_BACKTRACE)));
55 56 oRESULT_OUT := 1;
57
58 END LOAD_GLOBAL_VALUES;
59 60 --
-----------------------------------------------------------------
-- Autor : INDRA
-- Date : 20181119
-- Description: Master Process
-- ----------------------------------------------------------------
61 62 63 64 65 PROCEDURE MASTER_PROCESS(iINPUT
TP_TAB_P131_13107_REE_API, iID_PROCESS_EXEC IN NUMBER, iID_SOURCE_EXEC IN NUMBER,
iPROC IN NUMBER, iuser IN NUMBER, iSOURCE IN NUMBER, iDATE IN DATE, iINDICATOR IN
VARCHAR2, iCOLLECTED_DATA_FROM IN DATE, iCOLLECTED_DATA_TO IN DATE, oRESULT_OUT OUT
NUMBER) AS
vRESULT_OUT NUMBER;
66 67 vINPUT_DATA VARCHAR2(2048) := 'ID_PROCESS_EXEC: ' ||
iID_PROCESS_EXEC || ', ID PROC: ' || iPROC || ', user: ' || iuser || ', ID_SOURCE:
' || iSOURCE || ', COLLECTED_DATA_FROM: ' || iCOLLECTED_DATA_FROM || ', To: ' ||
iCOLLECTED_DATA_TO;
68 vORIGEM VARCHAR(200) := vgORIGEM || '.MASTER_PROCESS';
vCHECK_CONTEXT NUMBER;
69 70 vCONTEXT_RESULT_CODE NUMBER;
71 BEGIN
IF iID_SOURCE_EXEC IS NULL THEN
72 73 --Insert log into LOG_SOURCE table
PKG_LOG.INSERT_SOURCE_LOG(iID_PROCESS_EXEC,
iSOURCE ,iuser,iCOLLECTED_DATA_FROM, iCOLLECTED_DATA_TO, null,
vgID_SOURCE_EXEC_LOG);
74 75 ELSE
vgID_SOURCE_EXEC_LOG := iID_SOURCE_EXEC;
END IF;
vRESULT_OUT := 1;
vCHECK_CONTEXT := 1;
vCONTEXT_RESULT_CODE := 0;
76 77 78 79 80 SELECT NVL(ID_TEMPLATE_EXEC_LOG, 1) INTO
vgID_TEMPLATE_EXEC_LOG FROM TDMI_STA.LOG_PROCESS_EXEC WHERE ID = iID_PROCESS_EXEC;
IF vRESULT_OUT = 0 THEN
-- STG Process
STG_INSERT_DATA (iINPUT, vRESULT_OUT);
IF vRESULT_OUT = 0 THEN
ODS_PROCESS (vRESULT_OUT);
END IF;
89 90 91 92 93 94 95 96 97 98 END IF;
oRESULT_OUT := vRESULT_OUT;
105 EXCEPTION
WHEN OTHERS THEN
106 PKG_LOG.INSERT_DETAIL_EXEC_LOG( iID_PROCESS_EXEC,
vgID_TEMPLATE_EXEC_LOG, vgID_SOURCE_EXEC_LOG, vORIGEM, 'ERROR - Not expected',
'ERROR', iuser, vINPUT_DATA,SQLCODE, SUBSTR(SQLERRM, 1, 4000),
CONCAT(CONCAT('ERROR_STACK: ',DBMS_UTILITY.FORMAT_ERROR_STACK), CONCAT('.
ERROR_BACKTRACE: ', DBMS_UTILITY.FORMAT_ERROR_BACKTRACE)));
--PKG_LOG.UPDATE_SOURCE_LOG (vgID_SOURCE_EXEC_LOG,
vgROWS_COLLECTED, vgROWS_PROCESSED, iuser, null,0);
oRESULT_OUT := 1;
ROLLBACK;
107 108
109 END MASTER_PROCESS;
110 111 112
-- -----------------------------------------------------------------
113 114 -- Autor : INDRA
115 116 117 118 -- Date : 20181119
-- Description: Insert Data to STG
119 -- ----------------------------------------------------------------
120 121 122 PROCEDURE STG_INSERT_DATA(iINPUT TP_TAB_P131_13107_REE_API,
oRESULT_OUT OUT NUMBER) AS
129 BEGIN
vgROWS_COLLECTED := 0;
130
IF iINPUT.FIRST IS NULL THEN
131 --Insert a INFO log into LOG_DETAIL_EXEC table
132 PKG_LOG.INSERT_DETAIL_EXEC_LOG (vgID_PROCESS_EXEC_LOG,
vgID_TEMPLATE_EXEC_LOG, vgID_SOURCE_EXEC_LOG, vORIGEM, 'End STG Process - No data
found to Process', 'ALERT', vgID_user, null, null ,null,null);
ELSE
133 BEGIN
134 135 --Insert a INFO log into LOG_DETAIL_EXEC table
PKG_LOG.INSERT_DETAIL_EXEC_LOG( vgID_PROCESS_EXEC_LOG,
vgID_TEMPLATE_EXEC_LOG,vgID_SOURCE_EXEC_LOG, vORIGEM , 'ERROR - STG Process error
- Bulk Error', 'ERROR', vgID_user, null,SQLCODE, SUBSTR(SQLERRM, 1, 4000),
CONCAT(CONCAT('ERROR_STACK: ',DBMS_UTILITY.FORMAT_ERROR_STACK), CONCAT('.
ERROR_BACKTRACE: ', DBMS_UTILITY.FORMAT_ERROR_BACKTRACE)));
ROLLBACK;
END;
END IF;
162 163 oRESULT_OUT := 0;
164
165 vgROWS_COLLECTED := iINPUT.COUNT;
166 167
-- IF SOMETHING FAILS, ALL IS CANCELED AND RETURN 1
EXCEPTION
/*WHEN bulk_errors THEN
168 oRESULT_OUT := 1;
169 PKG_LOG.INSERT_DETAIL_EXEC_LOG( vgID_PROCESS_EXEC_LOG,
vgID_TEMPLATE_EXEC_LOG,vgID_SOURCE_EXEC_LOG, vORIGEM , 'ERROR - STG Process error
- Bulk Error', 'ERROR', vgID_user, null,SQLCODE, SUBSTR(SQLERRM, 1, 4000),
CONCAT(CONCAT('ERROR_STACK: ',DBMS_UTILITY.FORMAT_ERROR_STACK), CONCAT('.
ERROR_BACKTRACE: ', DBMS_UTILITY.FORMAT_ERROR_BACKTRACE)));*/
WHEN OTHERS THEN
oRESULT_OUT := 1;
170 PKG_LOG.INSERT_DETAIL_EXEC_LOG( vgID_PROCESS_EXEC_LOG,
vgID_TEMPLATE_EXEC_LOG,vgID_SOURCE_EXEC_LOG, vORIGEM , 'ERROR - STG Process
error', 'ERROR', vgID_user, null,SQLCODE, SUBSTR(SQLERRM, 1, 4000),
CONCAT(CONCAT('ERROR_STACK: ',DBMS_UTILITY.FORMAT_ERROR_STACK), CONCAT('.
ERROR_BACKTRACE: ', DBMS_UTILITY.FORMAT_ERROR_BACKTRACE)));
ROLLBACK;
END STG_INSERT_DATA;
-- -----------------------------------------------------------------
171 -- Autor : INDRA
-- Date : 20181119
-- Description: ODS_PROCESS
-- ----------------------------------------------------------------
PROCEDURE ODS_PROCESS(oRESULT_OUT OUT NUMBER) AS
PRAGMA AUTONOMOUS_TRANSACTION;
iID_EXEC NUMBER;
iID_EXEC_SOURCE NUMBER;
174 vData VARCHAR2(125);
175 vDIRECTION VARCHAR2(125);
vINPUT_DATA VARCHAR2(1314) := 'Source: ' || vgID_SOURCE;
vORIGEM VARCHAR(200) := vgORIGEM || '.ODS_PROCESS';
176 177 178 vAUX_RESULT_OUT NUMBER;
vAUX_ROWS_PROCESSED NUMBER;
vFilename VARCHAR2(50);
-- vOra NUMBER;
BEGIN
oRESULT_OUT := 0;
179 vAUX_RESULT_OUT := 0;
180 vAUX_ROWS_PROCESSED := 0;
181 --Start ODS Process
182 183 184 --Insert a INFO log into LOG_DETAIL_EXEC table
PKG_LOG.INSERT_DETAIL_EXEC_LOG (vgID_PROCESS_EXEC_LOG,
vgID_TEMPLATE_EXEC_LOG, vgID_SOURCE_EXEC_LOG, vORIGEM, 'ODS Processing', 'INFO',
vgID_user, vINPUT_DATA, null ,null,null);
185 186 187 188
IF vAUX_RESULT_OUT = 1 THEN
oRESULT_OUT := 1;
ELSE vAUX_RESULT_OUT := oRESULT_OUT;
198 199
END IF;
-- -----------------------------------------------------------------
-- Autor : INDRA
-- Date : 20181119
-- Description: LOAD DATA TO ODS
-- ----------------------------------------------------------------
PROCEDURE ODS_INSERT_DATA(iID_EXEC IN NUMBER, iID_EXEC_SOURCE IN NUMBER,
iID_SOURCE IN NUMBER, iDate IN VARCHAR2, iDIRECTION IN VARCHAR2, oRESULT_OUT OUT
NUMBER) -- iOra IN NUMBER,
AS PRAGMA AUTONOMOUS_TRANSACTION;
207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223
224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240
241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257
258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274
275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291
292
293 vINPUT_DATA VARCHAR2(2048) := 'Execution ID: ' || iID_EXEC || ' -
Execution Source ID: ' || iID_EXEC_SOURCE || ' - Source: ' || iID_SOURCE || ' -
Date: ' || iDate || ' - INDICATOR: ' || iDIRECTION; -- || ' - Hora: ' || iOra;
oRESULT_CODE NUMBER;
oRESULT_MSG VARCHAR2(1000);
BEGIN
oRESULT_OUT := 0;
SELECT TO_DATE(DATE_INT_CET,vgDATE_MASK3),PERIOD_CET
INTO vDATE,vMARKET_HOUR from TDMI_ODS.DIM_DATETIME
297 WHERE DATETIME_KEY_UTC =
TO_CHAR(TO_DATE(substr(iDate,0,13),vgDATE_MASK5),vgDATE_MASK2);
COMMIT;
vgROWS_PROCESSED := SQL%ROWCOUNT;
COMMIT;
oRESULT_OUT := 0;
EXCEPTION
WHEN OTHERS THEN
PKG_LOG.INSERT_DETAIL_EXEC_LOG( vgID_PROCESS_EXEC_LOG,
vgID_TEMPLATE_EXEC_LOG, vgID_SOURCE_EXEC_LOG, vORIGEM, 'ERROR - ODS Processing -
End Insert with Error', 'ERROR', vgID_user, vINPUT_DATA ,SQLCODE, SUBSTR(SQLERRM,
1, 4000), CONCAT(CONCAT('ERROR_STACK: ',DBMS_UTILITY.FORMAT_ERROR_STACK), CONCAT('.
ERROR_BACKTRACE: ', DBMS_UTILITY.FORMAT_ERROR_BACKTRACE)));
oRESULT_OUT := 1;
313 ROLLBACK;
314
315 316 UPDATE TDMI_STA.DT_STG_P131_13107_REE_API A
SET A.MFK = 1
317 WHERE A.ID_EXEC = iID_EXEC
318 319 AND A.ID_EXEC_SOURCE = iID_EXEC_SOURCE
AND DATETIME_UTC = iDate
320 AND DIRECTION = iDIRECTION;
321 COMMIT;
END ODS_INSERT_DATA;
322
323 324 325
END PKG_P131_13107_REE_API;
SHOW ERRORS;
326
GRANT EXECUTE ON &var1."PKG_P131_13107_REE_API" TO "ROLE_TDMI_STA_EXECUTE";
GRANT DEBUG ON &var1."PKG_P131_13107_REE_API" TO "ROLE_TDMI_STA_DEBUG";
327
spool off;328 329 330 331 332 333 334 335 336 337 338 339 340 341 342
343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359
360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376
377 old 1: create or replace PACKAGE BODY &var1."PKG_P131_13107_REE_API" AS
new 1: create or replace PACKAGE BODY TDMI_STA."PKG_P131_13107_REE_API" AS
Elapsed: 00:00:00.11
SYS@TRD1PDB11>SYS@TRD1PDB11>No errors.
SYS@TRD1PDB11>SYS@TRD1PDB11>old 1: GRANT EXECUTE ON
&var1."PKG_P131_13107_REE_API" TO "ROLE_TDMI_STA_EXECUTE"
new 1: GRANT EXECUTE ON TDMI_STA."PKG_P131_13107_REE_API" TO
"ROLE_TDMI_STA_EXECUTE"
Grant succeeded.
Elapsed: 00:00:00.01
SYS@TRD1PDB11>old 1: GRANT DEBUG ON &var1."PKG_P131_13107_REE_API" TO
"ROLE_TDMI_STA_DEBUG"
new 1: GRANT DEBUG ON TDMI_STA."PKG_P131_13107_REE_API" TO "ROLE_TDMI_STA_DEBUG"
Grant succeeded.