SQL> --------------------------------------------------------
SQL> -- File created - 2019-09-17
SQL> -- Created by: INDRA
SQL> --------------------------------------------------------
SQL>
SQL> SET TIMI ON
SQL> SET ECHO ON
SQL> SET FEEDB ON
SQL> DEFINE var1 = "TDMI_STA.";
SQL> SPOOL 03_P133_UTILS_PCK.log
SQL>
SQL> --------------------------------------------------------
SQL> -- DDL for Table DT_STG_P102_CFG
SQL> --------------------------------------------------------
SQL>
SQL> create or replace PACKAGE &var1."UTILS" AS
2
3 TYPE ROW_COMP_PROC IS RECORD (
4 ID_COMP_PROC NUMBER,
5 DESC_PROC VARCHAR2(30)
6 );
7 TYPE TABELA_COMP_PROC IS TABLE OF ROW_COMP_PROC;
8
9 C_SUCESS_MSG CONSTANT VARCHAR(2):= 'OK';
10
11 /*DEFINICAO DE VARIAVEIS*/
12 TYPE rLOG_IMPORT IS RECORD (
13 ID_LOG_IMPORT NUMBER,
14 ID_LOG_PROCESSO NUMBER,
15 TP_MSG VARCHAR2(10),
16 CODIGO NUMBER,
17 MENSAGEM VARCHAR2(1024)
18 );
19
20 TYPE rLOG_TECNICO IS RECORD(
21 COD_ERRO VARCHAR2(20),
22 DESCRICAO VARCHAR2(1024),
23 TIPO NUMBER,
24 ORIGEM varchar(1024),
25 ID_UTILIZADOR NUMBER);
26
27 TYPE iRES_BIN IS TABLE OF NUMBER(1) INDEX BY BINARY_INTEGER;
28 TYPE tab_LOV_MSG_DESC IS TABLE OF CM_LOV_MSG_DESC%ROWTYPE INDEX BY
BINARY_INTEGER;
29 TYPE tab_LOV_EST_EXEC IS TABLE OF CM_LOV_ESTADO_EXEC_MSG%ROWTYPE INDEX BY
VARCHAR2(3);
30 TYPE TAB_LOV_UNIDADES_PROGRAMACAO IS TABLE OF
TDMI_ODS.LOV_UNIDADES_PROGRAMACAO%ROWTYPE INDEX BY VARCHAR2(10);
31 TYPE tab_LOV_UNIDADES_OFERTA IS TABLE OF TDMI_ODS.LOV_UNIDADES_OFERTA
%ROWTYPE INDEX BY VARCHAR2(10);
32 TYPE tab_LOV_TIMECHANGE_CALENDAR IS TABLE OF
TDMI_STA.CM_LOV_TIMECHANGE_CALENDAR%ROWTYPE INDEX BY VARCHAR2(11);
33
34 TYPE TAB_LIST_FICHEIRO IS TABLE OF VARCHAR2(40) INDEX BY BINARY_INTEGER;
35
36 /*DEFINICAO DE FUNCOES E PROCEDURES*/
37 FUNCTION VALIDA_ANO (iANO NUMBER) RETURN NUMBER;
38 FUNCTION VALIDA_MES (iMES NUMBER) RETURN NUMBER;
39 FUNCTION VALIDA_DIA (iDIA NUMBER) RETURN NUMBER;
40 FUNCTION VALIDA_PERIODO (iPERIODO NUMBER, dDATA DATE, vPAIS_REF VARCHAR2,
vLOCAL VARCHAR2) RETURN NUMBER;
41 FUNCTION VALIDA_NUMERO (INUMERO VARCHAR2, IFORMAT VARCHAR2) RETURN NUMBER;
42 FUNCTION VALIDA_NUMERO_V1 (INUMERO VARCHAR2, IFORMAT VARCHAR2) RETURN
NUMBER;
43 FUNCTION VALIDA_DATA (vDATA VARCHAR2, vMASK VARCHAR2) RETURN NUMBER;
44
45 FUNCTION GET_COD_ERRO RETURN NUMBER;
46 FUNCTION GET_COD_INFO RETURN NUMBER;
47 FUNCTION GET_COD_AVISO RETURN NUMBER;
48 FUNCTION GET_COD_SUCESSO RETURN NUMBER;
49 FUNCTION GET_COD_EM_EXECUCAO RETURN NUMBER;
50
51 PROCEDURE GET_INFO_MSG(I_COD_MSG IN NUMBER, O_DESC_MSG OUT VARCHAR2);
52 FUNCTION GET_COD_PROC (vPROC VARCHAR2) RETURN NUMBER;
53
54 PROCEDURE LISTA_COMP_PROC (I_ID_PROC IN NUMBER, O_LISTA_COMP_PROC OUT
TABELA_COMP_PROC);
55
56 FUNCTION GET_NUMERO_PERIODOS (dDIA DATE, vPAIS VARCHAR2, vLOCAL VARCHAR2)
RETURN NUMBER;
57
58 FUNCTION GET_COMP_PROC (vCOD_COMP_PROC VARCHAR2) RETURN NUMBER;
59
60 FUNCTION GET_COMP_PROC_DESC (I_ID_PROC IN NUMBER, I_ID_COMP_PROC IN NUMBER)
RETURN VARCHAR2;
61
62 FUNCTION GET_RES_BY_ARRAY (iRES_AUX iRES_BIN) RETURN NUMBER;
63
64 FUNCTION GET_LOV_MSG_DESC RETURN tab_LOV_MSG_DESC;
65
66 FUNCTION GET_LOV_EST_EXEC RETURN tab_LOV_EST_EXEC;
67
68 FUNCTION CONVERT_TO_NUMBER (vNUMBER VARCHAR2) RETURN NUMBER;
69
70 FUNCTION CONVERT_TO_NUMBER_OR_NULL (vNUMBER VARCHAR2) RETURN NUMBER;
71
72 FUNCTION VALIDA_UF (vUF VARCHAR2, dDATA DATE, vPAIS VARCHAR2) RETURN NUMBER;
73
74 FUNCTION GET_UF (vUF VARCHAR2, dDATA DATE, vPAIS VARCHAR2) RETURN NUMBER;
75
76 FUNCTION VALIDA_TIPO_CONT (vTIPO_CONT VARCHAR2) RETURN NUMBER;
77
78 FUNCTION VALIDA_TIPO_CENTRAL (vTIPO_CENTRAL VARCHAR2) RETURN NUMBER;
79
80 FUNCTION GET_TIPO_CONT_ID (vTIPO_CONT VARCHAR2) RETURN NUMBER;
81
82 FUNCTION VALIDA_AB (vAB VARCHAR2, dDATA DATE) RETURN NUMBER;
83
84 FUNCTION GET_AB (vAB VARCHAR2, dDATA DATE) RETURN NUMBER;
85
86 FUNCTION GET_ZR (vZR VARCHAR2, dDATA DATE) RETURN NUMBER;
87
88 FUNCTION VALIDA_UP (vUP VARCHAR2, dDATA DATE) RETURN NUMBER;
89
90 FUNCTION GET_UP (vUP VARCHAR2, dDATA DATE) RETURN NUMBER;
91
92 FUNCTION GET_LOV_UPS (dDATE_REF DATE) RETURN tab_LOV_UNIDADES_PROGRAMACAO;
93
94 FUNCTION VALIDA_UPS_VS_LOV (tLOV_UNIDADES_PROGRAMACAO
tab_LOV_UNIDADES_PROGRAMACAO, vCOD_UNIDADE_PROGRAMACAO VARCHAR2) RETURN NUMBER;
95
96 FUNCTION VALIDA_AGENTE_MERCADO (vAGE_MERC VARCHAR2, dDATA DATE) RETURN
NUMBER;
97
98 FUNCTION GET_AGENTE_MERCADO (vAGE_MERC VARCHAR2, dDATA DATE) RETURN NUMBER;
99
100 FUNCTION CONVERT_UF_SIME (vUFISICA_SIME VARCHAR2, dDATA DATE) RETURN
VARCHAR2;
101
102 FUNCTION CONVERT_UF_SCADA (vUFISICA_SCADA VARCHAR2, dDATA DATE) RETURN
VARCHAR2;
103
104 FUNCTION CONVERT_AB_SIME (vABALANCO_SIME VARCHAR2, dDATA DATE) RETURN
VARCHAR2;
105
106 FUNCTION GET_LOV_TIMECHANGE RETURN tab_LOV_TIMECHANGE_CALENDAR;
107
108 FUNCTION GET_PERIODO_BY_DATA (tDATA TIMESTAMP WITH TIME ZONE, vPAIS_DEST
VARCHAR2, vLOCAL_DEST VARCHAR2, tLOV_TIMECHANGE_CALENDAR
tab_LOV_TIMECHANGE_CALENDAR, vTIPO_HORA VARCHAR2) RETURN NUMBER;
109
110 FUNCTION VALIDA_GRUPO (vGRUPO VARCHAR2, dDATA DATE) RETURN NUMBER;
111
112 FUNCTION GET_GRUPO (vGRUPO VARCHAR2, dDATA DATE) RETURN NUMBER;
113
114 FUNCTION GET_SEASON_PERIODO(I_DATA IN DATE) RETURN NUMBER;
115
116 FUNCTION GET_SEASON_ANO(I_DATA IN DATE) RETURN NUMBER;
117
118 FUNCTION GET_PERIODO_MINIMO_SESSAO(iNUM_PERIODOS_DIA NUMBER, iSESSAO NUMBER)
RETURN NUMBER;
119
120 FUNCTION GET_PERIODOS_SESSAO(iNUM_PERIODOS_DIA NUMBER, iSESSAO NUMBER)
RETURN NUMBER;
121
122 FUNCTION VALIDA_TIMESTAMP_TZ (vTM VARCHAR2, vMASK VARCHAR2) RETURN NUMBER;
123
124 FUNCTION VALIDA_UOF (vUOF VARCHAR2, dDATA DATE) RETURN NUMBER;
125
126 FUNCTION GET_UOF (vUOF VARCHAR2, dDATA DATE) RETURN NUMBER;
127
128 FUNCTION GET_CODIGO_BY_ID (vTABELA VARCHAR2, iID NUMBER) RETURN VARCHAR2;
129
130 FUNCTION GET_LOV_UOFS (DDATE_REF DATE) RETURN TAB_LOV_UNIDADES_OFERTA;
131
132 FUNCTION VALIDA_UOFS_VS_LOV (TLOV_UNIDADES_OFERTA TAB_LOV_UNIDADES_OFERTA,
VCOD_UNIDADE_OFERTA VARCHAR2) RETURN NUMBER;
133
134 FUNCTION GET_PREVIOUS_MONTH_LAST_DAY (dDATA DATE, vMASK VARCHAR2) RETURN
VARCHAR2;
135
136 FUNCTION LIST_TO_TBL(LIST_IN IN VARCHAR2,DELIMITER_IN IN VARCHAR2 := ';')
RETURN DBMS_SQL.NUMBER_TABLE;
137
138 FUNCTION GET_FRONTEIRA(IN_ORIGEM IN VARCHAR2, IN_DESTINO IN VARCHAR2) RETURN
NUMBER;
139
140 /* Funcionalidade não se encontra me PPR
141 FUNCTION GET_TIPO_TECNOLOGIA(VDESC IN VARCHAR2, VORIGEM IN VARCHAR2) RETURN
VARCHAR2;*/
142
143 FUNCTION GET_PERIOD_HOUR (vPERIOD IN VARCHAR2) RETURN NUMBER;
144
145 FUNCTION VALIDA_PERIOD_FORMAT (vPERIOD IN VARCHAR2) RETURN NUMBER;
146
147 FUNCTION GET_YEARWEEK_FROM_DATE (vDATE IN VARCHAR2) RETURN NUMBER;
148
149 FUNCTION GET_MONDAY_FROM_YEARWEEK (vYEARWEEK IN VARCHAR2) RETURN DATE;
150
151 FUNCTION VALIDA_DIA_HORA (VDATE IN VARCHAR2, VMASK VARCHAR2) RETURN NUMBER;
-- Adicionado com o P24
152
153 FUNCTION GET_NEXT_MONTH_TENTH_WORKDAY (VDATE IN VARCHAR2) RETURN DATE;
154
155 FUNCTION VERIFICA_EXECUCAO_PROCESSO (IID_PROCESSO IN VARCHAR2) RETURN
NUMBER;
156
157 FUNCTION VERIFICA_EXEC_PROC_TIMEMOUT (iID_PROCESSO IN VARCHAR2,
MINUTE_TIMEOUT IN NUMBER) RETURN NUMBER;
158
159 FUNCTION CONVERT_SCIENTIFIC_NUMBER (vNUMBER VARCHAR2) RETURN NUMBER; --
Adicionado para o P20
160
161 FUNCTION VALIDA_SCIENTIFIC_NOTATION (VNUMBER IN VARCHAR2) RETURN NUMBER; --
Adicionado para o P20
162
163 FUNCTION GET_HOUR_FROM_PERIOD (VINITIAL_TIME IN VARCHAR2,VMASK IN
VARCHAR2,NPOSITION IN NUMBER,NDELAY_UTC IN NUMBER,NRESOLUTION IN NUMBER) RETURN
NUMBER; -- Adicionado para o P26
164
165 FUNCTION GET_GLOBAL_VARIABLE ( vGLOBAL_VALUE IN VARCHAR2) RETURN VARCHAR2;
166
167 FUNCTION GET_GASDAY_PERIOD(vDATE IN DATE) RETURN TP_GASDAY; -- Adicionado
para o 133
168
169 END UTILS;
170 /
old:create or replace PACKAGE &var1."UTILS" AS
TYPE ROW_COMP_PROC IS RECORD (
ID_COMP_PROC NUMBER,
DESC_PROC VARCHAR2(30)
);
TYPE TABELA_COMP_PROC IS TABLE OF ROW_COMP_PROC;
C_SUCESS_MSG CONSTANT VARCHAR(2):= 'OK';
/*DEFINICAO DE VARIAVEIS*/
TYPE rLOG_IMPORT IS RECORD (
ID_LOG_IMPORT NUMBER,
ID_LOG_PROCESSO NUMBER,
TP_MSG VARCHAR2(10),
CODIGO NUMBER,
MENSAGEM VARCHAR2(1024)
);
TYPE rLOG_TECNICO IS RECORD(
COD_ERRO VARCHAR2(20),
DESCRICAO VARCHAR2(1024),
TIPO NUMBER,
ORIGEM varchar(1024),
ID_UTILIZADOR NUMBER);
TYPE iRES_BIN IS TABLE OF NUMBER(1) INDEX BY BINARY_INTEGER;
TYPE tab_LOV_MSG_DESC IS TABLE OF CM_LOV_MSG_DESC%ROWTYPE INDEX BY
BINARY_INTEGER;
TYPE tab_LOV_EST_EXEC IS TABLE OF CM_LOV_ESTADO_EXEC_MSG%ROWTYPE INDEX BY
VARCHAR2(3);
TYPE TAB_LOV_UNIDADES_PROGRAMACAO IS TABLE OF TDMI_ODS.LOV_UNIDADES_PROGRAMACAO
%ROWTYPE INDEX BY VARCHAR2(10);
TYPE tab_LOV_UNIDADES_OFERTA IS TABLE OF TDMI_ODS.LOV_UNIDADES_OFERTA%ROWTYPE
INDEX BY VARCHAR2(10);
TYPE tab_LOV_TIMECHANGE_CALENDAR IS TABLE OF TDMI_STA.CM_LOV_TIMECHANGE_CALENDAR
%ROWTYPE INDEX BY VARCHAR2(11);
TYPE TAB_LIST_FICHEIRO IS TABLE OF VARCHAR2(40) INDEX BY BINARY_INTEGER;
/*DEFINICAO DE FUNCOES E PROCEDURES*/
FUNCTION VALIDA_ANO (iANO NUMBER) RETURN NUMBER;
FUNCTION VALIDA_MES (iMES NUMBER) RETURN NUMBER;
FUNCTION VALIDA_DIA (iDIA NUMBER) RETURN NUMBER;
FUNCTION VALIDA_PERIODO (iPERIODO NUMBER, dDATA DATE, vPAIS_REF VARCHAR2, vLOCAL
VARCHAR2) RETURN NUMBER;
FUNCTION VALIDA_NUMERO (INUMERO VARCHAR2, IFORMAT VARCHAR2) RETURN NUMBER;
FUNCTION VALIDA_NUMERO_V1 (INUMERO VARCHAR2, IFORMAT VARCHAR2) RETURN NUMBER;
FUNCTION VALIDA_DATA (vDATA VARCHAR2, vMASK VARCHAR2) RETURN NUMBER;
FUNCTION GET_COD_ERRO RETURN NUMBER;
FUNCTION GET_COD_INFO RETURN NUMBER;
FUNCTION GET_COD_AVISO RETURN NUMBER;
FUNCTION GET_COD_SUCESSO RETURN NUMBER;
FUNCTION GET_COD_EM_EXECUCAO RETURN NUMBER;
PROCEDURE GET_INFO_MSG(I_COD_MSG IN NUMBER, O_DESC_MSG OUT VARCHAR2);
FUNCTION GET_COD_PROC (vPROC VARCHAR2) RETURN NUMBER;
PROCEDURE LISTA_COMP_PROC (I_ID_PROC IN NUMBER, O_LISTA_COMP_PROC OUT
TABELA_COMP_PROC);
FUNCTION GET_NUMERO_PERIODOS (dDIA DATE, vPAIS VARCHAR2, vLOCAL VARCHAR2) RETURN
NUMBER;
FUNCTION GET_COMP_PROC (vCOD_COMP_PROC VARCHAR2) RETURN NUMBER;
FUNCTION GET_COMP_PROC_DESC (I_ID_PROC IN NUMBER, I_ID_COMP_PROC IN NUMBER)
RETURN VARCHAR2;
FUNCTION GET_RES_BY_ARRAY (iRES_AUX iRES_BIN) RETURN NUMBER;
FUNCTION GET_LOV_MSG_DESC RETURN tab_LOV_MSG_DESC;
FUNCTION GET_LOV_EST_EXEC RETURN tab_LOV_EST_EXEC;
FUNCTION CONVERT_TO_NUMBER (vNUMBER VARCHAR2) RETURN NUMBER;
FUNCTION CONVERT_TO_NUMBER_OR_NULL (vNUMBER VARCHAR2) RETURN NUMBER;
FUNCTION VALIDA_UF (vUF VARCHAR2, dDATA DATE, vPAIS VARCHAR2) RETURN NUMBER;
FUNCTION GET_UF (vUF VARCHAR2, dDATA DATE, vPAIS VARCHAR2) RETURN NUMBER;
FUNCTION VALIDA_TIPO_CONT (vTIPO_CONT VARCHAR2) RETURN NUMBER;
FUNCTION VALIDA_TIPO_CENTRAL (vTIPO_CENTRAL VARCHAR2) RETURN NUMBER;
FUNCTION GET_TIPO_CONT_ID (vTIPO_CONT VARCHAR2) RETURN NUMBER;
FUNCTION VALIDA_AB (vAB VARCHAR2, dDATA DATE) RETURN NUMBER;
FUNCTION GET_AB (vAB VARCHAR2, dDATA DATE) RETURN NUMBER;
FUNCTION GET_ZR (vZR VARCHAR2, dDATA DATE) RETURN NUMBER;
FUNCTION VALIDA_UP (vUP VARCHAR2, dDATA DATE) RETURN NUMBER;
FUNCTION GET_UP (vUP VARCHAR2, dDATA DATE) RETURN NUMBER;
FUNCTION GET_LOV_UPS (dDATE_REF DATE) RETURN tab_LOV_UNIDADES_PROGRAMACAO;
FUNCTION VALIDA_UPS_VS_LOV (tLOV_UNIDADES_PROGRAMACAO
tab_LOV_UNIDADES_PROGRAMACAO, vCOD_UNIDADE_PROGRAMACAO VARCHAR2) RETURN NUMBER;
FUNCTION VALIDA_AGENTE_MERCADO (vAGE_MERC VARCHAR2, dDATA DATE) RETURN NUMBER;
FUNCTION GET_AGENTE_MERCADO (vAGE_MERC VARCHAR2, dDATA DATE) RETURN NUMBER;
FUNCTION CONVERT_UF_SIME (vUFISICA_SIME VARCHAR2, dDATA DATE) RETURN VARCHAR2;
FUNCTION CONVERT_UF_SCADA (vUFISICA_SCADA VARCHAR2, dDATA DATE) RETURN VARCHAR2;
FUNCTION CONVERT_AB_SIME (vABALANCO_SIME VARCHAR2, dDATA DATE) RETURN VARCHAR2;
FUNCTION GET_LOV_TIMECHANGE RETURN tab_LOV_TIMECHANGE_CALENDAR;
FUNCTION GET_PERIODO_BY_DATA (tDATA TIMESTAMP WITH TIME ZONE, vPAIS_DEST
VARCHAR2, vLOCAL_DEST VARCHAR2, tLOV_TIMECHANGE_CALENDAR
tab_LOV_TIMECHANGE_CALENDAR, vTIPO_HORA VARCHAR2) RETURN NUMBER;
FUNCTION VALIDA_GRUPO (vGRUPO VARCHAR2, dDATA DATE) RETURN NUMBER;
FUNCTION GET_GRUPO (vGRUPO VARCHAR2, dDATA DATE) RETURN NUMBER;
FUNCTION GET_SEASON_PERIODO(I_DATA IN DATE) RETURN NUMBER;
FUNCTION GET_SEASON_ANO(I_DATA IN DATE) RETURN NUMBER;
FUNCTION GET_PERIODO_MINIMO_SESSAO(iNUM_PERIODOS_DIA NUMBER, iSESSAO NUMBER)
RETURN NUMBER;
FUNCTION GET_PERIODOS_SESSAO(iNUM_PERIODOS_DIA NUMBER, iSESSAO NUMBER) RETURN
NUMBER;
FUNCTION VALIDA_TIMESTAMP_TZ (vTM VARCHAR2, vMASK VARCHAR2) RETURN NUMBER;
FUNCTION VALIDA_UOF (vUOF VARCHAR2, dDATA DATE) RETURN NUMBER;
FUNCTION GET_UOF (vUOF VARCHAR2, dDATA DATE) RETURN NUMBER;
FUNCTION GET_CODIGO_BY_ID (vTABELA VARCHAR2, iID NUMBER) RETURN VARCHAR2;
FUNCTION GET_LOV_UOFS (DDATE_REF DATE) RETURN TAB_LOV_UNIDADES_OFERTA;
FUNCTION VALIDA_UOFS_VS_LOV (TLOV_UNIDADES_OFERTA TAB_LOV_UNIDADES_OFERTA,
VCOD_UNIDADE_OFERTA VARCHAR2) RETURN NUMBER;
FUNCTION GET_PREVIOUS_MONTH_LAST_DAY (dDATA DATE, vMASK VARCHAR2) RETURN
VARCHAR2;
FUNCTION LIST_TO_TBL(LIST_IN IN VARCHAR2,DELIMITER_IN IN VARCHAR2 := ';') RETURN
DBMS_SQL.NUMBER_TABLE;
FUNCTION GET_FRONTEIRA(IN_ORIGEM IN VARCHAR2, IN_DESTINO IN VARCHAR2) RETURN
NUMBER;
/* Funcionalidade não se encontra me PPR
FUNCTION GET_TIPO_TECNOLOGIA(VDESC IN VARCHAR2, VORIGEM IN VARCHAR2) RETURN
VARCHAR2;*/
FUNCTION GET_PERIOD_HOUR (vPERIOD IN VARCHAR2) RETURN NUMBER;
FUNCTION VALIDA_PERIOD_FORMAT (vPERIOD IN VARCHAR2) RETURN NUMBER;
FUNCTION GET_YEARWEEK_FROM_DATE (vDATE IN VARCHAR2) RETURN NUMBER;
FUNCTION GET_MONDAY_FROM_YEARWEEK (vYEARWEEK IN VARCHAR2) RETURN DATE;
FUNCTION VALIDA_DIA_HORA (VDATE IN VARCHAR2, VMASK VARCHAR2) RETURN NUMBER; --
Adicionado com o P24
FUNCTION GET_NEXT_MONTH_TENTH_WORKDAY (VDATE IN VARCHAR2) RETURN DATE;
FUNCTION VERIFICA_EXECUCAO_PROCESSO (IID_PROCESSO IN VARCHAR2) RETURN NUMBER;
FUNCTION VERIFICA_EXEC_PROC_TIMEMOUT (iID_PROCESSO IN VARCHAR2, MINUTE_TIMEOUT
IN NUMBER) RETURN NUMBER;
FUNCTION CONVERT_SCIENTIFIC_NUMBER (vNUMBER VARCHAR2) RETURN NUMBER; --
Adicionado para o P20
FUNCTION VALIDA_SCIENTIFIC_NOTATION (VNUMBER IN VARCHAR2) RETURN NUMBER; --
Adicionado para o P20
FUNCTION GET_HOUR_FROM_PERIOD (VINITIAL_TIME IN VARCHAR2,VMASK IN
VARCHAR2,NPOSITION IN NUMBER,NDELAY_UTC IN NUMBER,NRESOLUTION IN NUMBER) RETURN
NUMBER; -- Adicionado para o P26
FUNCTION GET_GLOBAL_VARIABLE ( vGLOBAL_VALUE IN VARCHAR2) RETURN VARCHAR2;
FUNCTION GET_GASDAY_PERIOD(vDATE IN DATE) RETURN TP_GASDAY; -- Adicionado para o
133
END UTILS;
new:create or replace PACKAGE TDMI_STA."UTILS" AS
TYPE ROW_COMP_PROC IS RECORD (
ID_COMP_PROC NUMBER,
DESC_PROC VARCHAR2(30)
);
TYPE TABELA_COMP_PROC IS TABLE OF ROW_COMP_PROC;
C_SUCESS_MSG CONSTANT VARCHAR(2):= 'OK';
/*DEFINICAO DE VARIAVEIS*/
TYPE rLOG_IMPORT IS RECORD (
ID_LOG_IMPORT NUMBER,
ID_LOG_PROCESSO NUMBER,
TP_MSG VARCHAR2(10),
CODIGO NUMBER,
MENSAGEM VARCHAR2(1024)
);
TYPE rLOG_TECNICO IS RECORD(
COD_ERRO VARCHAR2(20),
DESCRICAO VARCHAR2(1024),
TIPO NUMBER,
ORIGEM varchar(1024),
ID_UTILIZADOR NUMBER);
TYPE iRES_BIN IS TABLE OF NUMBER(1) INDEX BY BINARY_INTEGER;
TYPE tab_LOV_MSG_DESC IS TABLE OF CM_LOV_MSG_DESC%ROWTYPE INDEX BY
BINARY_INTEGER;
TYPE tab_LOV_EST_EXEC IS TABLE OF CM_LOV_ESTADO_EXEC_MSG%ROWTYPE INDEX BY
VARCHAR2(3);
TYPE TAB_LOV_UNIDADES_PROGRAMACAO IS TABLE OF TDMI_ODS.LOV_UNIDADES_PROGRAMACAO
%ROWTYPE INDEX BY VARCHAR2(10);
TYPE tab_LOV_UNIDADES_OFERTA IS TABLE OF TDMI_ODS.LOV_UNIDADES_OFERTA%ROWTYPE
INDEX BY VARCHAR2(10);
TYPE tab_LOV_TIMECHANGE_CALENDAR IS TABLE OF TDMI_STA.CM_LOV_TIMECHANGE_CALENDAR
%ROWTYPE INDEX BY VARCHAR2(11);
TYPE TAB_LIST_FICHEIRO IS TABLE OF VARCHAR2(40) INDEX BY BINARY_INTEGER;
/*DEFINICAO DE FUNCOES E PROCEDURES*/
FUNCTION VALIDA_ANO (iANO NUMBER) RETURN NUMBER;
FUNCTION VALIDA_MES (iMES NUMBER) RETURN NUMBER;
FUNCTION VALIDA_DIA (iDIA NUMBER) RETURN NUMBER;
FUNCTION VALIDA_PERIODO (iPERIODO NUMBER, dDATA DATE, vPAIS_REF VARCHAR2, vLOCAL
VARCHAR2) RETURN NUMBER;
FUNCTION VALIDA_NUMERO (INUMERO VARCHAR2, IFORMAT VARCHAR2) RETURN NUMBER;
FUNCTION VALIDA_NUMERO_V1 (INUMERO VARCHAR2, IFORMAT VARCHAR2) RETURN NUMBER;
FUNCTION VALIDA_DATA (vDATA VARCHAR2, vMASK VARCHAR2) RETURN NUMBER;
FUNCTION GET_COD_ERRO RETURN NUMBER;
FUNCTION GET_COD_INFO RETURN NUMBER;
FUNCTION GET_COD_AVISO RETURN NUMBER;
FUNCTION GET_COD_SUCESSO RETURN NUMBER;
FUNCTION GET_COD_EM_EXECUCAO RETURN NUMBER;
PROCEDURE GET_INFO_MSG(I_COD_MSG IN NUMBER, O_DESC_MSG OUT VARCHAR2);
FUNCTION GET_COD_PROC (vPROC VARCHAR2) RETURN NUMBER;
PROCEDURE LISTA_COMP_PROC (I_ID_PROC IN NUMBER, O_LISTA_COMP_PROC OUT
TABELA_COMP_PROC);
FUNCTION GET_NUMERO_PERIODOS (dDIA DATE, vPAIS VARCHAR2, vLOCAL VARCHAR2) RETURN
NUMBER;
FUNCTION GET_COMP_PROC (vCOD_COMP_PROC VARCHAR2) RETURN NUMBER;
FUNCTION GET_COMP_PROC_DESC (I_ID_PROC IN NUMBER, I_ID_COMP_PROC IN NUMBER)
RETURN VARCHAR2;
FUNCTION GET_RES_BY_ARRAY (iRES_AUX iRES_BIN) RETURN NUMBER;
FUNCTION GET_LOV_MSG_DESC RETURN tab_LOV_MSG_DESC;
FUNCTION GET_LOV_EST_EXEC RETURN tab_LOV_EST_EXEC;
FUNCTION CONVERT_TO_NUMBER (vNUMBER VARCHAR2) RETURN NUMBER;
FUNCTION CONVERT_TO_NUMBER_OR_NULL (vNUMBER VARCHAR2) RETURN NUMBER;
FUNCTION VALIDA_UF (vUF VARCHAR2, dDATA DATE, vPAIS VARCHAR2) RETURN NUMBER;
FUNCTION GET_UF (vUF VARCHAR2, dDATA DATE, vPAIS VARCHAR2) RETURN NUMBER;
FUNCTION VALIDA_TIPO_CONT (vTIPO_CONT VARCHAR2) RETURN NUMBER;
FUNCTION VALIDA_TIPO_CENTRAL (vTIPO_CENTRAL VARCHAR2) RETURN NUMBER;
FUNCTION GET_TIPO_CONT_ID (vTIPO_CONT VARCHAR2) RETURN NUMBER;
FUNCTION VALIDA_AB (vAB VARCHAR2, dDATA DATE) RETURN NUMBER;
FUNCTION GET_AB (vAB VARCHAR2, dDATA DATE) RETURN NUMBER;
FUNCTION GET_ZR (vZR VARCHAR2, dDATA DATE) RETURN NUMBER;
FUNCTION VALIDA_UP (vUP VARCHAR2, dDATA DATE) RETURN NUMBER;
FUNCTION GET_UP (vUP VARCHAR2, dDATA DATE) RETURN NUMBER;
FUNCTION GET_LOV_UPS (dDATE_REF DATE) RETURN tab_LOV_UNIDADES_PROGRAMACAO;
FUNCTION VALIDA_UPS_VS_LOV (tLOV_UNIDADES_PROGRAMACAO
tab_LOV_UNIDADES_PROGRAMACAO, vCOD_UNIDADE_PROGRAMACAO VARCHAR2) RETURN NUMBER;
FUNCTION VALIDA_AGENTE_MERCADO (vAGE_MERC VARCHAR2, dDATA DATE) RETURN NUMBER;
FUNCTION GET_AGENTE_MERCADO (vAGE_MERC VARCHAR2, dDATA DATE) RETURN NUMBER;
FUNCTION CONVERT_UF_SIME (vUFISICA_SIME VARCHAR2, dDATA DATE) RETURN VARCHAR2;
FUNCTION CONVERT_UF_SCADA (vUFISICA_SCADA VARCHAR2, dDATA DATE) RETURN VARCHAR2;
FUNCTION CONVERT_AB_SIME (vABALANCO_SIME VARCHAR2, dDATA DATE) RETURN VARCHAR2;
FUNCTION GET_LOV_TIMECHANGE RETURN tab_LOV_TIMECHANGE_CALENDAR;
FUNCTION GET_PERIODO_BY_DATA (tDATA TIMESTAMP WITH TIME ZONE, vPAIS_DEST
VARCHAR2, vLOCAL_DEST VARCHAR2, tLOV_TIMECHANGE_CALENDAR
tab_LOV_TIMECHANGE_CALENDAR, vTIPO_HORA VARCHAR2) RETURN NUMBER;
FUNCTION VALIDA_GRUPO (vGRUPO VARCHAR2, dDATA DATE) RETURN NUMBER;
FUNCTION GET_GRUPO (vGRUPO VARCHAR2, dDATA DATE) RETURN NUMBER;
FUNCTION GET_SEASON_PERIODO(I_DATA IN DATE) RETURN NUMBER;
FUNCTION GET_SEASON_ANO(I_DATA IN DATE) RETURN NUMBER;
FUNCTION GET_PERIODO_MINIMO_SESSAO(iNUM_PERIODOS_DIA NUMBER, iSESSAO NUMBER)
RETURN NUMBER;
FUNCTION GET_PERIODOS_SESSAO(iNUM_PERIODOS_DIA NUMBER, iSESSAO NUMBER) RETURN
NUMBER;
FUNCTION VALIDA_TIMESTAMP_TZ (vTM VARCHAR2, vMASK VARCHAR2) RETURN NUMBER;
FUNCTION VALIDA_UOF (vUOF VARCHAR2, dDATA DATE) RETURN NUMBER;
FUNCTION GET_UOF (vUOF VARCHAR2, dDATA DATE) RETURN NUMBER;
FUNCTION GET_CODIGO_BY_ID (vTABELA VARCHAR2, iID NUMBER) RETURN VARCHAR2;
FUNCTION GET_LOV_UOFS (DDATE_REF DATE) RETURN TAB_LOV_UNIDADES_OFERTA;
FUNCTION VALIDA_UOFS_VS_LOV (TLOV_UNIDADES_OFERTA TAB_LOV_UNIDADES_OFERTA,
VCOD_UNIDADE_OFERTA VARCHAR2) RETURN NUMBER;
FUNCTION GET_PREVIOUS_MONTH_LAST_DAY (dDATA DATE, vMASK VARCHAR2) RETURN
VARCHAR2;
FUNCTION LIST_TO_TBL(LIST_IN IN VARCHAR2,DELIMITER_IN IN VARCHAR2 := ';') RETURN
DBMS_SQL.NUMBER_TABLE;
FUNCTION GET_FRONTEIRA(IN_ORIGEM IN VARCHAR2, IN_DESTINO IN VARCHAR2) RETURN
NUMBER;
/* Funcionalidade não se encontra me PPR
FUNCTION GET_TIPO_TECNOLOGIA(VDESC IN VARCHAR2, VORIGEM IN VARCHAR2) RETURN
VARCHAR2;*/
FUNCTION GET_PERIOD_HOUR (vPERIOD IN VARCHAR2) RETURN NUMBER;
FUNCTION VALIDA_PERIOD_FORMAT (vPERIOD IN VARCHAR2) RETURN NUMBER;
FUNCTION GET_YEARWEEK_FROM_DATE (vDATE IN VARCHAR2) RETURN NUMBER;
FUNCTION GET_MONDAY_FROM_YEARWEEK (vYEARWEEK IN VARCHAR2) RETURN DATE;
FUNCTION VALIDA_DIA_HORA (VDATE IN VARCHAR2, VMASK VARCHAR2) RETURN NUMBER; --
Adicionado com o P24
FUNCTION GET_NEXT_MONTH_TENTH_WORKDAY (VDATE IN VARCHAR2) RETURN DATE;
FUNCTION VERIFICA_EXECUCAO_PROCESSO (IID_PROCESSO IN VARCHAR2) RETURN NUMBER;
FUNCTION VERIFICA_EXEC_PROC_TIMEMOUT (iID_PROCESSO IN VARCHAR2, MINUTE_TIMEOUT
IN NUMBER) RETURN NUMBER;
FUNCTION CONVERT_SCIENTIFIC_NUMBER (vNUMBER VARCHAR2) RETURN NUMBER; --
Adicionado para o P20
FUNCTION VALIDA_SCIENTIFIC_NOTATION (VNUMBER IN VARCHAR2) RETURN NUMBER; --
Adicionado para o P20
FUNCTION GET_HOUR_FROM_PERIOD (VINITIAL_TIME IN VARCHAR2,VMASK IN
VARCHAR2,NPOSITION IN NUMBER,NDELAY_UTC IN NUMBER,NRESOLUTION IN NUMBER) RETURN
NUMBER; -- Adicionado para o P26
FUNCTION GET_GLOBAL_VARIABLE ( vGLOBAL_VALUE IN VARCHAR2) RETURN VARCHAR2;
FUNCTION GET_GASDAY_PERIOD(vDATE IN DATE) RETURN TP_GASDAY; -- Adicionado para o
133
END UTILS;
Package UTILS compiled
Elapsed: 00:00:02.181
SQL>
SQL> GRANT EXECUTE ON &var1."UTILS" TO "ROLE_TDMI_STA_EXECUTE";
old:GRANT EXECUTE ON &var1."UTILS" TO "ROLE_TDMI_STA_EXECUTE"
new:GRANT EXECUTE ON TDMI_STA."UTILS" TO "ROLE_TDMI_STA_EXECUTE"
Grant succeeded.
Elapsed: 00:00:00.009
SQL>
SQL> SHOW ERROR;
Errors for PACKAGE BODY TDMI_STA.PKG_P133_13303_RENGAS_WS:
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> spool off;