Professional Documents
Culture Documents
07_PKB_P133_F13301_STA_log
07_PKB_P133_F13301_STA_log
07_PKB_P133_F13301_STA_log
279
280
281 IF vAUX_RESULT_OUT = 1 THEN
282 oRESULT_OUT := 1;
283 ELSE vAUX_RESULT_OUT := oRESULT_OUT;
284
285 END IF;
286
287 END LOOP;
288 CLOSE cCHAVE_PROCESSAMENTO;
289
290 vgROWS_PROCESSED := vAUX_ROWS_PROCESSED;
291 --Insert a INFO log into LOG_DETAIL_EXEC table
292 PKG_LOG.INSERT_DETAIL_EXEC_LOG (vgID_PROCESS_EXEC_LOG,
vgID_TEMPLATE_EXEC_LOG, vgID_SOURCE_EXEC_LOG, vORIGEM, 'End ODS process', 'INFO',
vgID_user, vINPUT_DATA, null ,null,null);
293
294
295 EXCEPTION
296 WHEN OTHERS THEN
297 PKG_LOG.INSERT_DETAIL_EXEC_LOG( vgID_PROCESS_EXEC_LOG,
vgID_TEMPLATE_EXEC_LOG, vgID_SOURCE_EXEC_LOG, vORIGEM, 'ERROR - ODS process
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)));
298 oRESULT_OUT := 1;
299 ROLLBACK;
300 END ODS_PROCESS;
301
302 -- -----------------------------------------------------------------
303 -- Autor : INDRA
304 -- Date : 20181119
305 -- Description: LOAD DATA TO ODS
306 -- ----------------------------------------------------------------
307 PROCEDURE ODS_INSERT_DATA(iID_EXEC IN NUMBER, iID_EXEC_SOURCE IN NUMBER,
iID_SOURCE IN NUMBER, iData IN VARCHAR2, oRESULT_OUT OUT NUMBER) -- iOra IN
NUMBER,
308 AS PRAGMA AUTONOMOUS_TRANSACTION;
309
310 vINPUT_DATA VARCHAR2(2048) := 'TEST Execution ID: ' || iID_EXEC || ' -
Execution Source ID: ' || iID_EXEC_SOURCE || ' - Source: ' || iID_SOURCE || ' -
Date: ' || iData; -- || ' - Hora: ' || iOra;
311
312 VEXIT_NOW exception;
313 vORIGEM VARCHAR(200) := vgORIGEM || '.ODS_INSERT_DATA';
314 vDATE DATE;
315
316 oRESULT_CODE NUMBER;
317 oRESULT_MSG VARCHAR2(1000);
318
319 BEGIN
320
321 oRESULT_OUT := 0;
322
323 vDATE := TO_DATE(iData,vgDATE_MASK1);
324
325 -- Delete existing data for same parameters
326 DELETE FROM TDMI_ODS.DT_P133_13301_RENGAS_WS
327 WHERE DATE_UTC = vDATE;
328
329 COMMIT;
330
331 -- Bulk insert data
332 INSERT INTO TDMI_ODS.DT_P133_13301_RENGAS_WS
333 SELECT
334 TDMI_ODS.SEQ_P133_13301_RENGAS_WS.NEXTVAL,
335 IDENTIFICATION,
336 "VERSION",
337 "TYPE",
338 TO_TIMESTAMP(CREATION_DATETIME,'YYYY-MM-DD"T"HH24:MI:SS"Z"'),
339 CONTRACT_REF,
340 ISSUER_ID,
341 ISSUER_MARKET_CODE,
342 RECIPIENT_ID,
343 RECIPIENT_MARKET_CODE,
344 APPLICATION_CTX,
345 METER_ID,
346 (SELECT IDENTIFICATION FROM TDMI_ODS.LOV_REN_GAS_CUI WHERE CUI =
METER_ID),
--LOV_GAS_CUI_ID
347 MEASURE_UNIT_CODE,
348 (SELECT "DEFINITION" FROM TDMI_ODS.LOV_REN_GAS_EDIGAS_CODES WHERE
CODE = MEASURE_UNIT_CODE),
--LOV_EDIGAS_CODES_DEF
349 TIME_INTERVAL,
350 vDATE,
--DATE_UTC
351 (SELECT SUBSTR(TIME_INTERVAL, 12,2) FROM DUAL),
--HOUR_UTC
352 (SELECT GAS_DAY FROM TDMI_ODS.DIM_DATETIME WHERE
TRUNC(DATETIME_UTC,'DD')=vDATE AND HOUR_UTC=(SELECT SUBSTR(TIME_INTERVAL, 12,2)
FROM DUAL)), --GAS_DAY
353 DIRECTION_CODE,
354 (SELECT "DEFINITION" FROM TDMI_ODS.LOV_REN_GAS_EDIGAS_CODES WHERE
CODE = DIRECTION_CODE AND STANDACCDIRTYPELIST='StandardGasDirectionTypeList'),
--DIRECTION
355 STATUS_CODE,
356 (SELECT "DEFINITION" FROM TDMI_ODS.LOV_REN_GAS_EDIGAS_CODES WHERE
CODE = STATUS_CODE AND STANDACCDIRTYPELIST='StandardStatusTypeList'),
--STATUS
357 QUANTITY_AMOUNT,
358 vgID_user, -- created by
359 CURRENT_TIMESTAMP, -- created on
360 vgID_PROC, -- created process
361 vgID_user, -- updated by
362 CURRENT_TIMESTAMP, -- updated on
363 vgID_PROC -- updated process
364 FROM
365 TDMI_STA.DT_STG_P133_13301_RENGAS_WS
366 WHERE ID_EXEC = iID_EXEC
367 AND ID_EXEC_SOURCE = iID_EXEC_SOURCE
368 AND DATE_UTC = iData
369 AND stg_load_indicator = 1
370 AND ods_load_indicator = 0
371 AND MFK = 0;
372
373 vgROWS_PROCESSED := SQL%ROWCOUNT;
374
375 UPDATE TDMI_STA.DT_STG_P133_13301_RENGAS_WS A
376 SET A.ods_load_indicator = 1
377 WHERE A.ID_EXEC = iID_EXEC
378 AND A.ID_EXEC_SOURCE = iID_EXEC_SOURCE
379 AND DATE_UTC = iData;
380
381
382 PKG_LOG.INSERT_DETAIL_EXEC_LOG( vgID_PROCESS_EXEC_LOG,
vgID_TEMPLATE_EXEC_LOG, vgID_SOURCE_EXEC_LOG, vORIGEM, 'vgROWS_PROCESSED - ' ||
vgROWS_PROCESSED, 'DEBUG', vgID_user, vINPUT_DATA, NULL, NULL, NULL);
383
384 --PKG_P133_CTX.INSERT_CTX(iID_SOURCE, oRESULT_CODE, oRESULT_MSG);
385
386 COMMIT;
387 oRESULT_OUT := 0;
388
389 EXCEPTION
390 WHEN OTHERS THEN
391 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)));
392 oRESULT_OUT := 1;
393 ROLLBACK;
394
395 UPDATE TDMI_STA.DT_STG_P133_13301_RENGAS_WS A
396 SET A.MFK = 1
397 WHERE A.ID_EXEC = iID_EXEC
398 AND A.ID_EXEC_SOURCE = iID_EXEC_SOURCE
399 AND DATE_UTC = iData;
400 COMMIT;
401 END ODS_INSERT_DATA;
402
403
404 END PKG_P133_13301_RENGAS_WS;
405
406 /
old:create or replace PACKAGE BODY &var1."PKG_P133_13301_RENGAS_WS" AS
/* ------------------------------
Global Variables Declaration
------------------------------ */
vgID_PROCESS_EXEC_LOG NUMBER;
vgID_user NUMBER;
vgID_PROC NUMBER;
vgORIGEM VARCHAR(1334):= 'PKG_P133_13301_RENGAS_WS';
vgID_SOURCE NUMBER;
vgDATE_CONTEXT DATE;
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
-- Description: Load Global Parameters
-- ----------------------------------------------------------------
vgID_PROCESS_EXEC_LOG := iLOG_PROC;
vgID_SOURCE:= iSOURCE;
vgID_user := iuser;
vgID_PROC :=iPROC;
vgDATE_CONTEXT := iDATA;
oRESULT_OUT := 0;
EXCEPTION
WHEN OTHERS THEN
END LOAD_GLOBAL_VALUES;
-- -----------------------------------------------------------------
-- Autor : INDRA
-- Date : 20181119
-- Description: Master Process
-- ----------------------------------------------------------------
PROCEDURE MASTER_PROCESS(iINPUT TP_TAB_P133_13301_RENGAS_WS, iID_PROCESS_EXEC
IN NUMBER, iID_SOURCE_EXEC IN NUMBER, iPROC IN NUMBER, iuser IN NUMBER, iSOURCE IN
NUMBER, iDATA IN DATE, iCOLLECTED_DATA_FROM IN DATE, iCOLLECTED_DATA_TO IN DATE,
oRESULT_OUT OUT NUMBER) AS
vRESULT_OUT NUMBER;
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;
vORIGEM VARCHAR(200) := vgORIGEM || '.MASTER_PROCESS';
vCHECK_CONTEXT NUMBER;
vCONTEXT_RESULT_CODE NUMBER;
BEGIN
IF iID_SOURCE_EXEC IS NULL THEN
--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);
ELSE
vgID_SOURCE_EXEC_LOG := iID_SOURCE_EXEC;
END IF;
vRESULT_OUT := 1;
vCHECK_CONTEXT := 1;
vCONTEXT_RESULT_CODE := 0;
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;
END IF;
oRESULT_OUT := vRESULT_OUT;
IF oRESULT_OUT = 1 THEN
--remove from context
--TDMI_STA.PKG_P133_CTX.REMOVE_CTX(iID_PROCESS_EXEC,
vgID_TEMPLATE_EXEC_LOG, vgID_SOURCE_EXEC_LOG, iuser, iSOURCE, vgDATE_CONTEXT, NULL,
vCONTEXT_RESULT_CODE);
EXCEPTION
WHEN OTHERS THEN
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;
END MASTER_PROCESS;
-- -----------------------------------------------------------------
-- Autor : INDRA
-- Date : 20181119
-- Description: Insert Data to STG
-- ----------------------------------------------------------------
PROCEDURE STG_INSERT_DATA(iINPUT TP_TAB_P133_13301_RENGAS_WS, oRESULT_OUT OUT
NUMBER) AS
PRAGMA AUTONOMOUS_TRANSACTION;
vORIGEM VARCHAR(200) := vgORIGEM || '.STG_INSERT_DATA';
bulk_errors EXCEPTION;
PRAGMA EXCEPTION_INIT(bulk_errors, -24381);
BEGIN
vgROWS_COLLECTED := 0;
PKG_LOG.INSERT_DETAIL_EXEC_LOG (vgID_PROCESS_EXEC_LOG,
vgID_TEMPLATE_EXEC_LOG, vgID_SOURCE_EXEC_LOG, vORIGEM, 'STG Processing', 'INFO',
vgID_user, null, null ,null,null);
END IF;
oRESULT_OUT := 0;
vgROWS_COLLECTED := iINPUT.COUNT;
-- -----------------------------------------------------------------
-- Autor : INDRA
-- Date : 20181119
-- Description: ODS_PROCESS
-- ----------------------------------------------------------------
PROCEDURE ODS_PROCESS(oRESULT_OUT OUT NUMBER) AS
PRAGMA AUTONOMOUS_TRANSACTION;
CURSOR CCHAVE_PROCESSAMENTO IS
SELECT DISTINCT ID_EXEC,
ID_EXEC_SOURCE,
DATE_UTC
FROM DT_STG_P133_13301_RENGAS_WS -- base de dados STA
WHERE STG_LOAD_INDICATOR = 1
AND ODS_LOAD_INDICATOR = 0
AND MFK = 0;
iID_EXEC NUMBER;
iID_EXEC_SOURCE NUMBER;
vData VARCHAR2(125);
vINPUT_DATA VARCHAR2(1334) := 'Source: ' || vgID_SOURCE;
vORIGEM VARCHAR(200) := vgORIGEM || '.ODS_PROCESS';
vAUX_RESULT_OUT NUMBER;
vAUX_ROWS_PROCESSED NUMBER;
-- vOra NUMBER;
BEGIN
oRESULT_OUT := 0;
vAUX_RESULT_OUT := 0;
vAUX_ROWS_PROCESSED := 0;
--Start ODS Process
--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);
OPEN cCHAVE_PROCESSAMENTO;
LOOP
FETCH cCHAVE_PROCESSAMENTO INTO iID_EXEC, iID_EXEC_SOURCE, vData;
IF vAUX_RESULT_OUT = 1 THEN
oRESULT_OUT := 1;
ELSE vAUX_RESULT_OUT := oRESULT_OUT;
END IF;
END LOOP;
CLOSE cCHAVE_PROCESSAMENTO;
vgROWS_PROCESSED := vAUX_ROWS_PROCESSED;
--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, 'End ODS process', 'INFO',
vgID_user, vINPUT_DATA, null ,null,null);
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 process
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;
ROLLBACK;
END ODS_PROCESS;
-- -----------------------------------------------------------------
-- 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, iData IN VARCHAR2, oRESULT_OUT OUT NUMBER) -- iOra IN
NUMBER,
AS PRAGMA AUTONOMOUS_TRANSACTION;
VEXIT_NOW exception;
vORIGEM VARCHAR(200) := vgORIGEM || '.ODS_INSERT_DATA';
vDATE DATE;
oRESULT_CODE NUMBER;
oRESULT_MSG VARCHAR2(1000);
BEGIN
oRESULT_OUT := 0;
vDATE := TO_DATE(iData,vgDATE_MASK1);
COMMIT;
vgROWS_PROCESSED := SQL%ROWCOUNT;
UPDATE TDMI_STA.DT_STG_P133_13301_RENGAS_WS A
SET A.ods_load_indicator = 1
WHERE A.ID_EXEC = iID_EXEC
AND A.ID_EXEC_SOURCE = iID_EXEC_SOURCE
AND DATE_UTC = iData;
PKG_LOG.INSERT_DETAIL_EXEC_LOG( vgID_PROCESS_EXEC_LOG,
vgID_TEMPLATE_EXEC_LOG, vgID_SOURCE_EXEC_LOG, vORIGEM, 'vgROWS_PROCESSED - ' ||
vgROWS_PROCESSED, 'DEBUG', vgID_user, vINPUT_DATA, NULL, NULL, NULL);
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;
ROLLBACK;
UPDATE TDMI_STA.DT_STG_P133_13301_RENGAS_WS A
SET A.MFK = 1
WHERE A.ID_EXEC = iID_EXEC
AND A.ID_EXEC_SOURCE = iID_EXEC_SOURCE
AND DATE_UTC = iData;
COMMIT;
END ODS_INSERT_DATA;
END PKG_P133_13301_RENGAS_WS;
/* ------------------------------
Global Variables Declaration
------------------------------ */
vgID_PROCESS_EXEC_LOG NUMBER;
vgID_user NUMBER;
vgID_PROC NUMBER;
vgORIGEM VARCHAR(1334):= 'PKG_P133_13301_RENGAS_WS';
vgID_SOURCE NUMBER;
vgDATE_CONTEXT DATE;
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
-- Description: Load Global Parameters
-- ----------------------------------------------------------------
vgID_PROCESS_EXEC_LOG := iLOG_PROC;
vgID_SOURCE:= iSOURCE;
vgID_user := iuser;
vgID_PROC :=iPROC;
vgDATE_CONTEXT := iDATA;
oRESULT_OUT := 0;
EXCEPTION
WHEN OTHERS THEN
END LOAD_GLOBAL_VALUES;
-- -----------------------------------------------------------------
-- Autor : INDRA
-- Date : 20181119
-- Description: Master Process
-- ----------------------------------------------------------------
PROCEDURE MASTER_PROCESS(iINPUT TP_TAB_P133_13301_RENGAS_WS, iID_PROCESS_EXEC
IN NUMBER, iID_SOURCE_EXEC IN NUMBER, iPROC IN NUMBER, iuser IN NUMBER, iSOURCE IN
NUMBER, iDATA IN DATE, iCOLLECTED_DATA_FROM IN DATE, iCOLLECTED_DATA_TO IN DATE,
oRESULT_OUT OUT NUMBER) AS
vRESULT_OUT NUMBER;
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;
vORIGEM VARCHAR(200) := vgORIGEM || '.MASTER_PROCESS';
vCHECK_CONTEXT NUMBER;
vCONTEXT_RESULT_CODE NUMBER;
BEGIN
IF iID_SOURCE_EXEC IS NULL THEN
--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);
ELSE
vgID_SOURCE_EXEC_LOG := iID_SOURCE_EXEC;
END IF;
vRESULT_OUT := 1;
vCHECK_CONTEXT := 1;
vCONTEXT_RESULT_CODE := 0;
IF vRESULT_OUT = 0 THEN
-- STG Process
STG_INSERT_DATA (iINPUT, vRESULT_OUT);
IF vRESULT_OUT = 0 THEN
ODS_PROCESS (vRESULT_OUT);
END IF;
END IF;
oRESULT_OUT := vRESULT_OUT;
IF oRESULT_OUT = 1 THEN
--remove from context
--TDMI_STA.PKG_P133_CTX.REMOVE_CTX(iID_PROCESS_EXEC,
vgID_TEMPLATE_EXEC_LOG, vgID_SOURCE_EXEC_LOG, iuser, iSOURCE, vgDATE_CONTEXT, NULL,
vCONTEXT_RESULT_CODE);
EXCEPTION
WHEN OTHERS THEN
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;
END MASTER_PROCESS;
-- -----------------------------------------------------------------
-- Autor : INDRA
-- Date : 20181119
-- Description: Insert Data to STG
-- ----------------------------------------------------------------
PROCEDURE STG_INSERT_DATA(iINPUT TP_TAB_P133_13301_RENGAS_WS, oRESULT_OUT OUT
NUMBER) AS
PRAGMA AUTONOMOUS_TRANSACTION;
vORIGEM VARCHAR(200) := vgORIGEM || '.STG_INSERT_DATA';
bulk_errors EXCEPTION;
PRAGMA EXCEPTION_INIT(bulk_errors, -24381);
BEGIN
vgROWS_COLLECTED := 0;
PKG_LOG.INSERT_DETAIL_EXEC_LOG (vgID_PROCESS_EXEC_LOG,
vgID_TEMPLATE_EXEC_LOG, vgID_SOURCE_EXEC_LOG, vORIGEM, 'STG Processing', 'INFO',
vgID_user, null, null ,null,null);
END IF;
oRESULT_OUT := 0;
vgROWS_COLLECTED := iINPUT.COUNT;
-- -----------------------------------------------------------------
-- Autor : INDRA
-- Date : 20181119
-- Description: ODS_PROCESS
-- ----------------------------------------------------------------
PROCEDURE ODS_PROCESS(oRESULT_OUT OUT NUMBER) AS
PRAGMA AUTONOMOUS_TRANSACTION;
CURSOR CCHAVE_PROCESSAMENTO IS
SELECT DISTINCT ID_EXEC,
ID_EXEC_SOURCE,
DATE_UTC
FROM DT_STG_P133_13301_RENGAS_WS -- base de dados STA
WHERE STG_LOAD_INDICATOR = 1
AND ODS_LOAD_INDICATOR = 0
AND MFK = 0;
iID_EXEC NUMBER;
iID_EXEC_SOURCE NUMBER;
vData VARCHAR2(125);
vINPUT_DATA VARCHAR2(1334) := 'Source: ' || vgID_SOURCE;
vORIGEM VARCHAR(200) := vgORIGEM || '.ODS_PROCESS';
vAUX_RESULT_OUT NUMBER;
vAUX_ROWS_PROCESSED NUMBER;
-- vOra NUMBER;
BEGIN
oRESULT_OUT := 0;
vAUX_RESULT_OUT := 0;
vAUX_ROWS_PROCESSED := 0;
--Start ODS Process
--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);
OPEN cCHAVE_PROCESSAMENTO;
LOOP
FETCH cCHAVE_PROCESSAMENTO INTO iID_EXEC, iID_EXEC_SOURCE, vData;
IF vAUX_RESULT_OUT = 1 THEN
oRESULT_OUT := 1;
ELSE vAUX_RESULT_OUT := oRESULT_OUT;
END IF;
END LOOP;
CLOSE cCHAVE_PROCESSAMENTO;
vgROWS_PROCESSED := vAUX_ROWS_PROCESSED;
--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, 'End ODS process', 'INFO',
vgID_user, vINPUT_DATA, null ,null,null);
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 process
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;
ROLLBACK;
END ODS_PROCESS;
-- -----------------------------------------------------------------
-- 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, iData IN VARCHAR2, oRESULT_OUT OUT NUMBER) -- iOra IN
NUMBER,
AS PRAGMA AUTONOMOUS_TRANSACTION;
VEXIT_NOW exception;
vORIGEM VARCHAR(200) := vgORIGEM || '.ODS_INSERT_DATA';
vDATE DATE;
oRESULT_CODE NUMBER;
oRESULT_MSG VARCHAR2(1000);
BEGIN
oRESULT_OUT := 0;
vDATE := TO_DATE(iData,vgDATE_MASK1);
COMMIT;
vgROWS_PROCESSED := SQL%ROWCOUNT;
UPDATE TDMI_STA.DT_STG_P133_13301_RENGAS_WS A
SET A.ods_load_indicator = 1
WHERE A.ID_EXEC = iID_EXEC
AND A.ID_EXEC_SOURCE = iID_EXEC_SOURCE
AND DATE_UTC = iData;
PKG_LOG.INSERT_DETAIL_EXEC_LOG( vgID_PROCESS_EXEC_LOG,
vgID_TEMPLATE_EXEC_LOG, vgID_SOURCE_EXEC_LOG, vORIGEM, 'vgROWS_PROCESSED - ' ||
vgROWS_PROCESSED, 'DEBUG', vgID_user, vINPUT_DATA, NULL, NULL, NULL);
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;
ROLLBACK;
UPDATE TDMI_STA.DT_STG_P133_13301_RENGAS_WS A
SET A.MFK = 1
WHERE A.ID_EXEC = iID_EXEC
AND A.ID_EXEC_SOURCE = iID_EXEC_SOURCE
AND DATE_UTC = iData;
COMMIT;
END ODS_INSERT_DATA;
END PKG_P133_13301_RENGAS_WS;
Elapsed: 00:00:00.369
SQL>
SQL> SHOW ERRORS;
LINE/COL ERROR
-------- -----------------------------------------------------------------
341/3 PL/SQL: SQL Statement ignored
356/31 PLS-00302: component 'GET_LOV_REN_GAS_CUI_ID_BY_CUI' must be declared
358/31 PLS-00302: component 'GET_LOV_REN_GAS_CUI_ID_BY_EIC' must be declared
371/23 PLS-00302: component 'GET_LOV_REN_GAS_EGAS_COD_DEF' must be declared
375/23 PLS-00302: component 'GET_LOV_REN_GAS_EGAS_COD_DEF' must be declared
377/13 PL/SQL: ORA-00904: "PKG_UTILS"."GET_LOV_REN_GAS_EGAS_COD_DEF":
identificador inválido
377/23 PLS-00302: component 'GET_LOV_REN_GAS_EGAS_COD_DEF' must be declared
377/23 PLS-00302: component 'GET_LOV_REN_GAS_EGAS_COD_DEF' must be declared
SQL>
SQL> GRANT EXECUTE ON &var1."PKG_P133_13301_RENGAS_WS" TO "ROLE_TDMI_STA_EXECUTE";
old:GRANT EXECUTE ON &var1."PKG_P133_13301_RENGAS_WS" TO "ROLE_TDMI_STA_EXECUTE"
new:GRANT EXECUTE ON TDMI_STA."PKG_P133_13301_RENGAS_WS" TO "ROLE_TDMI_STA_EXECUTE"
Grant succeeded.
Elapsed: 00:00:00.011
SQL> GRANT DEBUG ON &var1."PKG_P133_13301_RENGAS_WS" TO "ROLE_TDMI_STA_DEBUG";
old:GRANT DEBUG ON &var1."PKG_P133_13301_RENGAS_WS" TO "ROLE_TDMI_STA_DEBUG"
new:GRANT DEBUG ON TDMI_STA."PKG_P133_13301_RENGAS_WS" TO "ROLE_TDMI_STA_DEBUG"
Grant succeeded.
Elapsed: 00:00:00.004
SQL>
SQL> spool off;