Escolar Documentos
Profissional Documentos
Cultura Documentos
MOTOR_DE_REGRAS AS
FAILURE_IN_FORALL EXCEPTION;
P_DML_ERROR EXCEPTION;
PRAGMA EXCEPTION_INIT(P_DML_ERROR, -24381);
/***************************************************************
// Campo DT_PROCESSAMENTO
// 1 - Aguardando Processamento
// 0 - Processado OK
// demais valores erro
***************************************************************/
PROCEDURE GRAVAR_LOG_VALIDACAO(P_IDPROCESSAMENTO IN
GESTAOCARGAS.LOGVALIDACAO.ID_PROCESSAMENTO%TYPE,
P_IDREGISTRO IN
GESTAOCARGAS.LOGVALIDACAO.ID_REGISTRO%TYPE,
P_IDREGRA IN
GESTAOCARGAS.LOGVALIDACAO.IDREGRA%TYPE,
P_IDTIPOINFORMACAO IN
GESTAOCARGAS.LOGVALIDACAO.IDTIPOINFORMACAO%TYPE,
P_TIPOVALIDACAO IN
GESTAOCARGAS.LOGVALIDACAO.TIPOVALIDACAO%TYPE,
P_CRITICIDADE IN
GESTAOCARGAS.LOGVALIDACAO.CRITICIDADE%TYPE,
P_FILTROUSADO IN
GESTAOCARGAS.LOGVALIDACAO.FILTROUSADO%TYPE,
P_COMMIT IN CHAR DEFAULT 'N') AS
BEGIN
BEGIN
INSERT INTO GESTAOCARGAS.LOGVALIDACAO
(ID_PROCESSAMENTO,
ID_REGISTRO,
IDREGRA,
IDTIPOINFORMACAO,
TIPOVALIDACAO,
CRITICIDADE,
FILTROUSADO)
VALUES
(P_IDPROCESSAMENTO,
P_IDREGISTRO,
P_IDREGRA,
P_IDTIPOINFORMACAO,
P_TIPOVALIDACAO,
P_CRITICIDADE,
P_FILTROUSADO);
EXCEPTION
WHEN OTHERS THEN
RETURN;
END;
FUNCTION GET_IDTIPOINFORMACAO(P_CDTIPOINFORMACAO IN
GESTAOCARGAS.TIPOINFORMACAO.CDTIPOINFORMACAO%TYPE)
RETURN GESTAOCARGAS.TIPOINFORMACAO.IDTIPOINFORMACAO%TYPE AS
V_IDTIPOINFORMACAO GESTAOCARGAS.TIPOINFORMACAO.IDTIPOINFORMACAO%TYPE;
BEGIN
BEGIN
SELECT IDTIPOINFORMACAO
INTO V_IDTIPOINFORMACAO
FROM GESTAOCARGAS.TIPOINFORMACAO
WHERE CDTIPOINFORMACAO = P_CDTIPOINFORMACAO
AND IC_ATIVO = 'S';
EXCEPTION
WHEN NO_DATA_FOUND THEN
V_IDTIPOINFORMACAO := NULL;
END;
RETURN V_IDTIPOINFORMACAO;
END GET_IDTIPOINFORMACAO;
PROCEDURE SP_LOG_INICIO_PROCESSO(P_IDPROCESSAMENTO IN
GESTAOCARGAS.LOGPROCESSAMENTO.IDPROCESSAMENTO%TYPE,
P_IDREGRA IN
GESTAOCARGAS.LOGPROCESSAMENTO.IDREGRA%TYPE,
P_DTINICIO IN
GESTAOCARGAS.LOGPROCESSAMENTO.DTINICIO%TYPE,
P_STATUSPROCESSAMENTO IN
GESTAOCARGAS.LOGPROCESSAMENTO.STATUSPROCESSAMENTO%TYPE,
P_DESCRICAO IN
GESTAOCARGAS.LOGPROCESSAMENTO.DESCRICAO%TYPE,
P_COMMIT IN VARCHAR2,
P_IDLOG OUT
GESTAOCARGAS.LOGPROCESSAMENTO.IDLOGPROCESSAMENTO%TYPE,
P_OK OUT VARCHAR2,
P_RETORNO OUT VARCHAR2) IS
v_idlog GESTAOCARGAS.LOGPROCESSAMENTO.IDLOGPROCESSAMENTO%TYPE;
begin
v_idlog := GESTAOCARGAS.SEQ_LOGPROCESSO.NEXTVAL;
insert into GESTAOCARGAS.LOGPROCESSAMENTO
(IDLOGPROCESSAMENTO,
IDPROCESSAMENTO,
IDREGRA,
DTINICIO,
STATUSPROCESSAMENTO,
DESCRICAO)
VALUES
(v_idlog,
P_IDPROCESSAMENTO,
P_IDREGRA,
P_DTINICIO,
P_STATUSPROCESSAMENTO,
P_DESCRICAO);
P_IDLOG := v_idlog;
if P_COMMIT = 'S' then
commit;
end if;
exception
when others then
P_OK := 'N';
P_RETORNO := 'Erro ao gravar log: ' || sqlerrm;
end SP_LOG_INICIO_PROCESSO;
PROCEDURE SP_LOG_TERMINO_PROCESSO(P_IDLOG IN
GESTAOCARGAS.LOGPROCESSAMENTO.IDLOGPROCESSAMENTO%TYPE,
P_DTFIM IN
GESTAOCARGAS.LOGPROCESSAMENTO.DTINICIO%TYPE,
P_STATUSPROCESSAMENTO IN
GESTAOCARGAS.LOGPROCESSAMENTO.STATUSPROCESSAMENTO%TYPE,
P_COMMIT IN VARCHAR2,
P_OK OUT VARCHAR2,
P_RETORNO OUT VARCHAR2) IS
begin
UPDATE GESTAOCARGAS.LOGPROCESSAMENTO A
SET A.DTFIM = P_DTFIM, A.STATUSPROCESSAMENTO = P_STATUSPROCESSAMENTO
WHERE A.IDLOGPROCESSAMENTO = P_IDLOG;
if P_COMMIT = 'S' then
commit;
end if;
exception
when others then
P_OK := 'N';
P_RETORNO := 'Erro ao gravar log: ' || sqlerrm;
end SP_LOG_TERMINO_PROCESSO;
FUNCTION GET_CLIENTE(P_IDPROCESSAMENTO IN
GESTAOCARGAS.PROCESSAMENTO.IDPROCESSAMENTO%TYPE)
RETURN TCURSOR IS
V_CURSOR TCURSOR;
BEGIN
OPEN V_CURSOR FOR
SELECT GESTAOCARGAS.TP_CLIENTE_STG(ID_REGISTRO => A.ID_REGISTRO,
ID_PROCESSAMENTO => A.ID_PROCESSAMENTO,
SIS_ORIGEM => A.SIS_ORIGEM,
ID_CLIENTE => NVL(C.ID_CLIENTE,
A.SIS_ORIGEM || '-' || GESTAOCARGAS.SEQ_ID_CLIENTE.NEXTVAL),
ID_CLIENTE_ORIGEM => A.ID_CLIENTE_ORIGEM,
NM_CLIENTE => A.NM_CLIENTE,
TP_PESSOA => A.TP_PESSOA,
NO_CPFCNPJ => A.NO_CPFCNPJ,
DT_NASCIMENTO => A.DT_NASCIMENTO,
DT_CADASTRO => A.DT_CADASTRO,
IC_SEXO => A.IC_SEXO,
NO_RG => A.NO_RG,
IC_ESTADOCIVIL => A.IC_ESTADOCIVIL,
NM_PAI => A.NM_PAI,
NM_MAE => A.NM_MAE,
DS_NACIONALIDADE => A.DS_NACIONALIDADE,
DS_NATURALIDADE => A.DS_NATURALIDADE,
DT_MODIFICACAO => A.DT_MODIFICACAO,
US_CRIACAO => A.US_CRIACAO,
US_MODIFICACAO => A.US_MODIFICACAO)
FROM GESTAOCARGAS.CLIENTES_INT A
LEFT JOIN GESTAOCARGAS.GC_CUSTOMER C ON A.ID_CLIENTE_ORIGEM =
C.ID_CLIENTE_ORIGEM
and C.ID_CLIENTE like SIS_ORIGEM||'%'
WHERE A.ID_PROCESSAMENTO = P_IDPROCESSAMENTO;
RETURN V_CURSOR;
END GET_CLIENTE;
FUNCTION GET_CONTRATOS(P_IDPROCESSAMENTO IN
GESTAOCARGAS.PROCESSAMENTO.IDPROCESSAMENTO%TYPE)
RETURN TCURSOR IS
V_CURSOR TCURSOR;
BEGIN
OPEN V_CURSOR FOR
SELECT GESTAOCARGAS.TP_CONTRATO_STG(ID_REGISTRO =>
A.ID_REGISTRO,
ID_PROCESSAMENTO =>
A.ID_PROCESSAMENTO,
SIS_ORIGEM => A.SIS_ORIGEM,
ID_CLIENTE_ORIGEM =>
A.ID_CLIENTE_ORIGEM,
ID_CLIENTE => C.ID_CLIENTE,
ID_CONTRATO_ORIGEM =>
A.ID_CONTRATO_ORIGEM,
ID_CONTRATO =>
NVL(ACT.ID_CONTRATO, A.SIS_ORIGEM || '-' ||
GESTAOCARGAS.SEQ_ID_CONTRATO.NEXTVAL),
NM_PRODUTO_PEP =>
A.NM_PRODUTO_PEP,
IC_FINU => A.IC_FINU,
IC_FIES => A.IC_FIES,
DT_INICIO_CURSO =>
A.DT_INICIO_CURSO,
DT_FIM_CURSO =>
A.DT_FIM_CURSO,
DT_INICIO_MATRICULA =>
A.DT_INICIO_MATRICULA,
DT_FIM_MATRICULA =>
A.DT_FIM_MATRICULA,
TP_CURSO => A.TP_CURSO,
COD_CURSO => A.COD_CURSO,
NM_CURSO => A.NM_CURSO,
TP_MATRICULA =>
A.TP_MATRICULA,
COD_MODALIDADE_MATRICULA =>
A.COD_MODALIDADE_MATRICULA,
COD_FILIAL => A.COD_FILIAL,
DS_NOME_FILIAL =>
A.DS_NOME_FILIAL,
CNPJ_FILIAL =>
A.CNPJ_FILIAL,
END_FILIAL_LOGRADOURO =>
A.END_FILIAL_LOGRADOURO,
END_FILIAL_BAIRRO =>
A.END_FILIAL_BAIRRO,
END_FILIAL_CIDADE =>
A.END_FILIAL_CIDADE,
END_FILIAL_UF =>
A.END_FILIAL_UF,
END_FILIAL_CEP =>
A.END_FILIAL_CEP,
DS_MATRIZ => A.DS_MATRIZ,
CNPJ_MATRIZ =>
A.CNPJ_MATRIZ,
END_COMPLETO_MATRIZ =>
A.END_COMPLETO_MATRIZ,
ST_CONTRATO =>
DECODE(A.SIS_ORIGEM,'SAP',NVL(A.ST_CONTRATO,'A'),A.ST_CONTRATO) ,
TP_MARCA_CONTRATO =>
A.TP_MARCA_CONTRATO,
COD_SERIE_ACADEMICA =>
A.COD_SERIE_ACADEMICA,
VL_SALDO_CREDITO =>
A.VL_SALDO_CREDITO,
DT_CADASTRO =>
A.DT_CADASTRO,
DT_CRIACAO => A.DT_CRIACAO,
US_CRIACAO => A.US_CRIACAO,
DT_MODIFICACAO =>
A.DT_MODIFICACAO,
US_MODIFICACAO =>
A.US_MODIFICACAO,
NM_RESPONSAVEL =>
A.NM_RESPONSAVEL,
NO_CPFRESPONSAVEL =>
A.NO_CPFRESPONSAVEL,
CNPJ_PRINCIPAL =>
A.CNPJ_MATRIZ,
DESC_PRINCIPAL => A.DS_MATRIZ,
POLITICA_PADRAO_S_EMPAC => NULL,
POLITICA_N1_S_EMPAC => NULL,
POLITICA_N2_S_EMPAC => NULL,
POLITICA_N3_S_EMPAC => NULL,
POLITICA_PADRAO_C_EMPAC => NULL,
POLITICA_N1_C_EMPAC => NULL,
POLITICA_N2_C_EMPAC => NULL,
POLITICA_N3_C_EMPAC => NULL,
DS_ST_CONTRATO => NULL,
CD_EMPRESA => A.CD_EMPRESA,
ID_SERVICE_NOW => NULL,
NM_FANTASIA_UNIDADE => NULL,
BP_ALUNO_SAP =>
A.BP_ALUNO_SAP,
IBGE_UF => A.IBGE_UF,
IBGE_MUNICIPIO =>
A.IBGE_MUNICIPIO,
CD_CONTA_CONTRATO =>
A.CD_CONTA_CONTRATO,
CD_EMPRESA_SAP =>
A.CD_EMPRESA_SAP,
CD_DIVISAO => A.CD_DIVISAO,
CD_CENTRO_LUCRO =>
A.CD_CENTRO_LUCRO
)
FROM GESTAOCARGAS.CONTRATOS_INT A
INNER JOIN GESTAOCARGAS.GC_CUSTOMER C ON A.ID_CLIENTE_ORIGEM =
C.ID_CLIENTE_ORIGEM
AND c.ID_CLIENTE like SIS_ORIGEM||'%'
LEFT JOIN GESTAOCARGAS.GC_ACCOUNT ACT ON A.ID_CONTRATO_ORIGEM =
ACT.ID_CONTRATO_ORIGEM
AND A.ID_CLIENTE_ORIGEM = ACT.ID_CLIENTE_ORIGEM
AND ACT.ID_CONTRATO like SIS_ORIGEM||'%'
WHERE A.ID_PROCESSAMENTO = P_IDPROCESSAMENTO;
RETURN V_CURSOR;
END GET_CONTRATOS;
FUNCTION GET_CONTATO(P_IDPROCESSAMENTO IN
GESTAOCARGAS.PROCESSAMENTO.IDPROCESSAMENTO%TYPE)
RETURN TCURSOR IS
V_CURSOR TCURSOR;
BEGIN
open V_CURSOR for
select GESTAOCARGAS.TP_CONTATO_STG(ID_REGISTRO => a.id_registro,
ID_PROCESSAMENTO => a.id_processamento,
SIS_ORIGEM => a.sis_origem,
ID_CLIENTE_ORIGEM =>
a.ID_CLIENTE_ORIGEM,
ID_CLIENTE => C.Id_Cliente,
ST_CONTATO => CASE
WHEN P.NU_TELEFONE
IS NOT NULL
THEN CASE
WHEN
UPPER(A.ST_CONTATO) = 'INATIVO' THEN 'INATIVO'
WHEN
UPPER(P.NO_EVENTO) = 'BLOQUEADO' THEN 'BLOQUEADO'
ELSE
'ATIVO'
END
ELSE
A.ST_CONTATO
END,
TP_CONTATO => a.tp_contato,
PF_CONTATO => a.pf_contato,
END_LOGRADOURO => a.end_logradouro,
END_COMPLEMENTO => a.end_complemento,
END_BAIRRO => a.end_bairro,
END_CIDADE => a.end_cidade,
END_UF => a.end_uf,
END_CEP => a.end_cep,
DS_EMAIL => a.ds_email,
NO_TELEFONE_FIXO => a.no_telefone_fixo,
NO_TELEFONE_CELULAR =>
a.no_telefone_celular,
DT_CRIACAO => a.dt_criacao,
US_CRIACAO => a.us_criacao,
DT_MODIFICACAO => a.dt_modificacao,
US_MODIFICACAO => a.us_modificacao,
FL_CRITICIDADE => NULL,
DS_CRITICIDADE => NULL,
IBGE_UF => a.ibge_uf,
IBGE_MUNICIPIO => a.ibge_municipio)
from GESTAOCARGAS.CONTATOS_INT A
INNER JOIN GESTAOCARGAS.GC_CUSTOMER C ON A.ID_CLIENTE_ORIGEM =
C.ID_CLIENTE_ORIGEM
and c.ID_CLIENTE like SIS_ORIGEM||'%'
LEFT JOIN GESTAOCARGAS.GC_PROCON_CONTATOS_BLOQUEADOS P ON
(REGEXP_REPLACE(A.NO_TELEFONE_FIXO, '[^0-9]', '') = P.NU_TELEFONE OR
REGEXP_REPLACE(A.NO_TELEFONE_CELULAR, '[^0-9]', '')= P.NU_TELEFONE)
WHERE A.ID_PROCESSAMENTO = P_IDPROCESSAMENTO;
RETURN V_CURSOR;
END GET_CONTATO;
FUNCTION GET_FATURA(P_IDPROCESSAMENTO IN
GESTAOCARGAS.PROCESSAMENTO.IDPROCESSAMENTO%TYPE)
RETURN TCURSOR IS
V_CURSOR TCURSOR;
BEGIN
open V_CURSOR for
select GESTAOCARGAS.TP_TITULO_STG(ID_REGISTRO => A.ID_REGISTRO,
ID_PROCESSAMENTO =>
A.ID_PROCESSAMENTO,
SIS_ORIGEM => A.SIS_ORIGEM,
ID_FATURA => A.SIS_ORIGEM ||
'-' || CASE
WHEN
A.SIS_ORIGEM = 'SAP' AND A.TP_NATUREZA_TITULO = 'AP' THEN
'ACORDO RAID'
WHEN
A.SIS_ORIGEM = 'SAP' AND A.TP_NATUREZA_TITULO != 'AP' THEN
'FA'
ELSE
A.TP_NATUREZA_TITULO
END || '-' ||
A.NU_TITULO ||
'-' ||
NVL(A.NO_PARCELA,
1),
ID_FATURA_ORIGEM => A.ID_FATURA,
ID_CONTRATO => ACT.ID_CONTRATO,
ID_CONTRATO_ORIGEM => A.ID_CONTRATO,
ID_CLIENTE => C.ID_CLIENTE,
ID_CLIENTE_ORIGEM =>
TO_CHAR(A.ID_CLIENTE),
NU_TITULO => A.NU_TITULO,
TP_NATUREZA_TITULO => CASE WHEN
A.SIS_ORIGEM = 'SAP' AND A.TP_NATUREZA_TITULO = 'AP' THEN
'ACORDO RAID'
WHEN
A.SIS_ORIGEM = 'SAP' AND A.TP_NATUREZA_TITULO != 'AP' THEN
'FA'
ELSE
A.TP_NATUREZA_TITULO
END,
DS_NATUREZA_TITULO =>
A.DS_NATUREZA_TITULO,
NR_MES_COMPETENCIA =>
A.NR_MES_COMPETENCIA,
NR_ANO_COMPETENCIA =>
A.NR_ANO_COMPETENCIA,
VL_LIQUIDO => A.VL_LIQUIDO,
VL_BRUTO => A.VL_BRUTO,
DT_VENCIMENTO => A.DT_VENCIMENTO,
NO_PARCELA =>
DECODE(A.SIS_ORIGEM,'SAP',A.NO_PARCELA,NULL),
ID_PARCELAMENTO =>
DECODE(A.SIS_ORIGEM,'SAP',A.ID_PARCELAMENTO,NULL),
DT_EMISSAO => A.DT_EMISSAO,
IC_NATUREZAREMAT =>
A.IC_NATUREZAREMAT,
DT_PAGAMENTO => A.DT_PAGAMENTO,
VL_PAGAMENTO => A.VL_PAGAMENTO,
ST_FATURA =>
DECODE(A.SIS_ORIGEM,'SAP',NVL(A.ST_FATURA,'ABERTO'),A.ST_FATURA),
DT_CADASTRO => A.DT_CADASTRO,
DT_MODIFICACAO => A.DT_MODIFICACAO,
ST_PROCESSAMENTO =>
A.ST_PROCESSAMENTO,
DT_PROCESSAMENTO =>
A.DT_PROCESSAMENTO,
US_CRIACAO => A.US_CRIACAO,
US_MODIFICACAO => A.US_MODIFICACAO,
VL_PONTUALIDADE =>
DECODE(A.SIS_ORIGEM,
'SAP',
ABS(A.VL_PONTUALIDADE),
A.VL_PONTUALIDADE),
DT_PONTUALIDADE =>
A.DT_PONTUALIDADE,
IC_CARTEIRAVERTIA =>
A.IC_CARTEIRAVERTIA,
NO_PARCELA_ACADEMICO => CASE
WHEN
TRIM(A.NO_PARCELA_ACADEMICO) IS NULL THEN
NVL(A.NO_PARCELA, 1)
ELSE
A.NO_PARCELA_ACADEMICO
END,
NO_MATRICULA_ACADEMICO =>
A.NO_MATRICULA_ACADEMICO)
from GESTAOCARGAS.TITULOS_INT A
INNER JOIN GESTAOCARGAS.GC_CUSTOMER C
ON NVL(A.Id_Cliente, A.ID_CLIENTE_ORIGEM) = C.ID_CLIENTE_ORIGEM
and c.ID_CLIENTE like SIS_ORIGEM || '%'
INNER JOIN GESTAOCARGAS.GC_ACCOUNT ACT
ON A.ID_CONTRATO = ACT.ID_CONTRATO_ORIGEM
and NVL(A.Id_Cliente, A.ID_CLIENTE_ORIGEM) = ACT.ID_CLIENTE_ORIGEM
and ACT.ID_CONTRATO like SIS_ORIGEM || '%'
WHERE A.ID_PROCESSAMENTO = P_IDPROCESSAMENTO
AND NOT EXISTS
(SELECT 1
FROM GESTAOCARGAS.TITULOS_STG T
WHERE T.ID_REGISTRO = A.ID_REGISTRO
AND T.ID_PROCESSAMENTO = A.ID_PROCESSAMENTO);
RETURN V_CURSOR;
END GET_FATURA;
FUNCTION GET_ACERTO(P_IDPROCESSAMENTO IN
GESTAOCARGAS.PROCESSAMENTO.IDPROCESSAMENTO%TYPE)
RETURN TCURSOR IS
V_CURSOR TCURSOR;
BEGIN
open V_CURSOR for
select GESTAOCARGAS.TP_ACERTO_STG(ID_REGISTRO =>
A.ID_REGISTRO,
ID_PROCESSAMENTO =>
A.ID_PROCESSAMENTO,
SIS_ORIGEM =>
SUBSTR(A.ID_CLIENTE,0, INSTR(A.ID_CLIENTE,'-',1)-1),
ID_CLIENTE => A.ID_CLIENTE,
ID_CLIENTE_ORIGEM =>
REPLACE(ACT.ID_CLIENTE_ORIGEM,'X',''),
ID_CONTRATO =>
A.ID_CONTRATO,
ID_CONTRATO_ORIGEM =>
REPLACE(ACT.ID_CONTRATO_ORIGEM,'X',''),
ID_PARCELAMENTO =>
A.ID_PARCELAMENTO,
TP_PARCELAMENTO =>
A.TP_PARCELAMENTO,
QTDE_PARCELAS =>
A.QTDE_PARCELAS,
VL_TOTAL => A.VL_TOTAL,
VL_DIVIDA => A.VL_DIVIDA,
VL_PRINCIPAL =>
A.VL_PRINCIPAL,
VL_DESC_PRINCIPAL =>
A.VL_DESC_PRINCIPAL,
VL_MULTA => A.VL_MULTA,
VL_DESC_MULTA =>
A.VL_DESC_MULTA,
VL_JUROS_MORA =>
A.VL_JUROS_MORA,
VL_DESC_JUROS_MORA =>
A.VL_DESC_JUROS_MORA,
VL_JUROS_FINANC =>
A.VL_JUROS_FINANC,
VL_DESC_JUROS_FINANC =>
A.VL_DESC_JUROS_FINANC,
VL_CORRECAO_MONETARIA =>
A.VL_CORRECAO_MONETARIA,
VL_DESC_CORRECAO_MONETARIA =>
A.VL_DESC_CORRECAO_MONETARIA,
VL_TAXA_NEGOCIACAO =>
A.VL_TAXA_NEGOCIACAO,
VL_DESC_TAXA_NEGOCIACAO =>
A.VL_DESC_TAXA_NEGOCIACAO,
DT_CANCELAMENTO =>
A.DT_CANCELAMENTO,
ST_PARCELAMENTO =>
A.ST_PARCELAMENTO,
ST_PROCESSAMENTO =>
V_ST_PROCESSAMENTO,
US_CRIACAO_PARCELAMENTO =>
A.US_CRIACAO_PARCELAMENTO,
DT_CRIACAO_PARCELAMENTO =>
A.DT_CRIACAO_PARCELAMENTO,
GRUPO_USUARIO =>
A.GRUPO_USUARIO,
AGENCIA_EXTERNA =>
A.AGENCIA_EXTERNA,
ID_PAGAMENTO_ENTRADA =>
A.ID_PAGAMENTO_ENTRADA,
DT_CRIACAO => A.DT_CRIACAO,
US_CRIACAO => A.US_CRIACAO,
DT_MODIFICACAO =>
A.DT_MODIFICACAO,
US_MODIFICACAO =>
A.US_MODIFICACAO,
CD_FILIAL =>
ACT.CD_FILIAL,
ST_CANCELAMENTO =>
A.ST_CANCELAMENTO,
BP_ALUNO_SAP =>
ACT.BP_ALUNO_SAP,
CD_CONTA_CONTRATO =>
ACT.CD_CONTA_CONTRATO,
CD_EMPRESA_SAP =>
ACT.CD_EMPRESA_SAP,
CD_DIVISAO =>
ACT.CD_DIVISAO,
CD_CENTRO_LUCRO =>
ACT.CD_CENTRO_LUCRO,
CD_CURSO => ACT.CD_CURSO)
FROM GESTAOCARGAS.GC_AGREEMENT_INT A
LEFT JOIN GESTAOCARGAS.GC_ACCOUNT ACT
ON A.ID_CLIENTE = ACT.ID_CLIENTE
AND A.ID_CONTRATO = ACT.ID_CONTRATO
WHERE A.ID_PROCESSAMENTO = P_IDPROCESSAMENTO;
RETURN V_CURSOR;
END GET_ACERTO;
FUNCTION GET_NOVAS(P_IDPROCESSAMENTO IN
GESTAOCARGAS.PROCESSAMENTO.IDPROCESSAMENTO%TYPE)
RETURN TCURSOR IS
V_CURSOR TCURSOR;
BEGIN
open V_CURSOR for
select GESTAOCARGAS.TP_NOVAS_STG(ID_REGISTRO => A.ID_REGISTRO,
ID_PROCESSAMENTO =>
A.ID_PROCESSAMENTO,
SIS_ORIGEM =>
SUBSTR(A.ID_CLIENTE,0, INSTR(A.ID_CLIENTE,'-',1)-1),
ID_CLIENTE => A.ID_CLIENTE,
ID_CLIENTE_ORIGEM =>
REPLACE(ACT.ID_CLIENTE_ORIGEM,'X',''),
ID_CONTRATO => A.ID_CONTRATO,
ID_CONTRATO_ORIGEM =>
REPLACE(ACT.ID_CONTRATO_ORIGEM,'X',''),
ID_PARCELAMENTO =>
A.ID_PARCELAMENTO,
ID_PARCELA => A.ID_PARCELA,
ID_PAGAMENTO_ENTRADA =>
A.ID_PAGAMENTO_ENTRADA,
DT_VENCIMENTO =>
A.DT_VENCIMENTO,
VL_PARCELA => A.VL_PARCELA,
VL_PRINCIPAL =>
A.VL_PRINCIPAL,
VL_DESC_PRINCIPAL =>
A.VL_DESC_PRINCIPAL,
VL_MULTA => A.VL_MULTA,
VL_DESC_MULTA =>
A.VL_DESC_MULTA,
VL_JUROS_MORA =>
A.VL_JUROS_MORA,
VL_DESC_JUROS_MORA =>
A.VL_DESC_JUROS_MORA,
VL_JUROS_FINANC =>
A.VL_JUROS_FINANC,
VL_DESC_JUROS_FINANC =>
A.VL_DESC_JUROS_FINANC,
VL_CORRECAO_MONETARIA =>
A.VL_CORRECAO_MONETARIA,
VL_DESC_CORRECAO_MONETARIA =>
A.VL_DESC_CORRECAO_MONETARIA,
VL_TAXA_NEGOCIACAO =>
A.VL_TAXA_NEGOCIACAO,
VL_DESC_TAXA_NEGOCIACAO =>
A.VL_DESC_TAXA_NEGOCIACAO,
ST_PROCESSAMENTO =>
V_ST_PROCESSAMENTO,
DT_CRIACAO => A.DT_CRIACAO,
US_CRIACAO => A.US_CRIACAO,
DT_MODIFICACAO =>
A.DT_MODIFICACAO,
US_MODIFICACAO =>
A.US_MODIFICACAO)
from GESTAOCARGAS.GC_AGREEMENT_DETAIL_INT A
LEFT JOIN GESTAOCARGAS.GC_ACCOUNT ACT
ON A.ID_CLIENTE = ACT.ID_CLIENTE
AND A.ID_CONTRATO = ACT.ID_CONTRATO
WHERE A.ID_PROCESSAMENTO = P_IDPROCESSAMENTO;
RETURN V_CURSOR;
END GET_NOVAS;
FUNCTION GET_ORIGINAIS(P_IDPROCESSAMENTO IN
GESTAOCARGAS.PROCESSAMENTO.IDPROCESSAMENTO%TYPE)
RETURN TCURSOR IS
V_CURSOR TCURSOR;
BEGIN
open V_CURSOR for
select GESTAOCARGAS.TP_ORIGINAIS_STG(ID_REGISTRO =>
A.ID_REGISTRO,
ID_PROCESSAMENTO =>
A.ID_PROCESSAMENTO,
SIS_ORIGEM =>
SUBSTR(A.ID_CLIENTE,0, INSTR(A.ID_CLIENTE,'-',1)-1),
ID_CLIENTE =>
A.ID_CLIENTE,
ID_CLIENTE_ORIGEM =>
REPLACE(ACT.ID_CLIENTE_ORIGEM,'X',''),
ID_CONTRATO =>
A.ID_CONTRATO,
ID_CONTRATO_ORIGEM =>
REPLACE(ACT.ID_CONTRATO_ORIGEM,'X',''),
ID_PARCELAMENTO =>
A.ID_PARCELAMENTO,
ID_TITULO =>
A.ID_TITULO,
NU_TITULO =>
B.NO_TITULO,
TP_NATUREZA_TITULO =>
B.NATUREZA_TITULO,
DS_NATUREZA_TITULO =>
B.DESC_NATUREZA_TITULO,
NR_MES_COMPETENCIA =>
B.MES_COMPETENCIA,
NR_ANO_COMPETENCIA =>
B.ANO_COMPETENCIA,
VL_TITULO =>
A.VL_TITULO,
VL_PRINCIPAL =>
A.VL_PRINCIPAL,
VL_DESC_PRINCIPAL =>
A.VL_DESC_PRINCIPAL,
VL_MULTA =>
A.VL_MULTA,
VL_DESC_MULTA =>
A.VL_DESC_MULTA,
VL_JUROS_MORA =>
A.VL_JUROS_MORA,
VL_DESC_JUROS_MORA =>
A.VL_DESC_JUROS_MORA,
VL_CORRECAO_MONETARIA =>
A.VL_CORRECAO_MONETARIA,
VL_DESC_CORRECAO_MONETARIA =>
A.VL_DESC_CORRECAO_MONETARIA,
ST_PROCESSAMENTO =>
V_ST_PROCESSAMENTO,
DT_CRIACAO =>
A.DT_CRIACAO,
US_CRIACAO =>
A.US_CRIACAO,
DT_MODIFICACAO =>
A.DT_MODIFICACAO,
US_MODIFICACAO =>
A.US_MODIFICACAO,
VL_DESC_PONTUALIDADE =>
A.VL_DESC_PONTUALIDADE)
FROM GESTAOCARGAS.GC_AGREEMENT_BILL_INT A
LEFT JOIN GESTAOCARGAS.GC_ACCOUNT ACT
ON A.ID_CLIENTE = ACT.ID_CLIENTE
AND A.ID_CONTRATO = ACT.ID_CONTRATO
LEFT JOIN GESTAOCARGAS.GC_BILL B
ON A.ID_TITULO = B.ID_TITULO
WHERE A.ID_PROCESSAMENTO = P_IDPROCESSAMENTO;
RETURN V_CURSOR;
END GET_ORIGINAIS;
FUNCTION GET_PAGAMENTOS(P_IDPROCESSAMENTO IN
GESTAOCARGAS.PROCESSAMENTO.IDPROCESSAMENTO%TYPE)
RETURN TCURSOR IS
V_CURSOR TCURSOR;
BEGIN
open V_CURSOR for
select GESTAOCARGAS.TP_PAGAMENTOS_STG(id_registro =>
ID_REGISTRO,
id_processamento =>
ID_PROCESSAMENTO,
sis_origem =>
SIS_ORIGEM,
id_parcelamento =>
ID_PARCELAMENTO,
no_parcela =>
NO_PARCELA,
tp_pagamento =>
TP_PAGAMENTO,
t_01_cd_banco_compensa =>
T_01_CD_BANCO_COMPENSA,
t_02_no_lote_retorno =>
T_02_NO_LOTE_RETORNO,
t_03_tp_registro_retorno =>
T_03_TP_REGISTRO_RETORNO,
t_04_nr_seq_lote_retorno =>
T_04_NR_SEQ_LOTE_RETORNO,
t_05_cd_segmento_detalhe =>
T_05_CD_SEGMENTO_DETALHE,
t_06_ds_reservado =>
T_06_DS_RESERVADO,
t_07_cd_movimento =>
T_07_CD_MOVIMENTO,
t_08_cd_ag_benefiriciario =>
T_08_CD_AG_BENEFIRICIARIO,
t_09_cd_digito_ag_beneficiario =>
T_09_CD_DIGITO_AG_BENEFICIARIO,
t_10_nr_conta_corrente =>
T_10_NR_CONTA_CORRENTE,
t_11_cd_digito_conta =>
T_11_CD_DIGITO_CONTA,
t_12_ds_reservado =>
T_12_DS_RESERVADO,
t_13_nr_id_titulo_bnco =>
T_13_NR_ID_TITULO_BNCO,
t_14_cd_carteira =>
T_14_CD_CARTEIRA,
t_15_nr_documento_cobranca =>
T_15_NR_DOCUMENTO_COBRANCA,
t_16_dt_vencimeno =>
T_16_DT_VENCIMENO,
t_17_vl_nominal_titulo =>
T_17_VL_NOMINAL_TITULO,
t_18_nr_banco_cobradora =>
T_18_NR_BANCO_COBRADORA,
t_19_cod_ag_cobradora =>
T_19_COD_AG_COBRADORA,
t_20_cd_digito_ag_cedente =>
T_20_CD_DIGITO_AG_CEDENTE,
t_21_nr_titulo_empresa =>
T_21_NR_TITULO_EMPRESA,
t_22_cd_moeda =>
T_22_CD_MOEDA,
t_23_tp_inscricao_pagador =>
T_23_TP_INSCRICAO_PAGADOR,
t_24_nr_inscricao_pagador =>
T_24_NR_INSCRICAO_PAGADOR,
t_25_nm_pagador =>
T_25_NM_PAGADOR,
t_26_cd_conta_cobranca =>
T_26_CD_CONTA_COBRANCA,
t_27_vl_tarifa_custas =>
T_27_VL_TARIFA_CUSTAS,
t_28_id_operacao =>
T_28_ID_OPERACAO,
t_29_ds_reservado =>
T_29_DS_RESERVADO,
u_01_cd_banco_compensacao =>
U_01_CD_BANCO_COMPENSACAO,
u_02_lt_servico =>
U_02_LT_SERVICO,
u_03_tp_registtro_servico =>
U_03_TP_REGISTTRO_SERVICO,
u_04_nr_seq_lote =>
U_04_NR_SEQ_LOTE,
u_05_cd_segmento_detalhe =>
U_05_CD_SEGMENTO_DETALHE,
u_06_ds_reservado =>
U_06_DS_RESERVADO,
u_07_cd_movimento_ocorrencia =>
U_07_CD_MOVIMENTO_OCORRENCIA,
u_08_vl_juro_multa_encargo =>
U_08_VL_JURO_MULTA_ENCARGO,
u_09_vl_desconto_concediro =>
U_09_VL_DESCONTO_CONCEDIRO,
u_10_vl_abatido =>
U_10_VL_ABATIDO,
u_11_vl_iof_recolhido =>
U_11_VL_IOF_RECOLHIDO,
u_12_vl_pago_pagador =>
U_12_VL_PAGO_PAGADOR,
u_13_vl_liquito_creditado =>
U_13_VL_LIQUITO_CREDITADO,
u_14_vl_outras_despesas =>
U_14_VL_OUTRAS_DESPESAS,
u_15_vl_outros_creditos =>
U_15_VL_OUTROS_CREDITOS,
u_16_dt_ocorrencia =>
U_16_DT_OCORRENCIA,
u_17_dt_efetivacao_credito =>
U_17_DT_EFETIVACAO_CREDITO,
u_18_cd_ocorrencia_pagador =>
U_18_CD_OCORRENCIA_PAGADOR,
u_19_dt_ocorrencia_pagador =>
U_19_DT_OCORRENCIA_PAGADOR,
u_20_vl_ocorrencia_pagador =>
U_20_VL_OCORRENCIA_PAGADOR,
u_21_ds_complemento_pagador =>
U_21_DS_COMPLEMENTO_PAGADOR,
u_22_cd_banco_compensacao =>
U_22_CD_BANCO_COMPENSACAO,
u_23_ds_reservado =>
U_23_DS_RESERVADO,
st_processamento =>
V_ST_PROCESSAMENTO,
dt_criacao =>
DT_CRIACAO,
us_criacao =>
US_CRIACAO,
dt_modificacao =>
DT_MODIFICACAO,
us_modificacao =>
US_MODIFICACAO,
id_vendor =>
ID_VENDOR,
vl_cartao_1 =>
VL_CARTAO_1,
nm_adquerente_1 =>
NM_ADQUERENTE_1,
nr_tid_1 =>
NR_TID_1,
nr_nsu_1 =>
NR_NSU_1,
nr_authcode_1 =>
NR_AUTHCODE_1,
vl_cartao_2 =>
VL_CARTAO_2,
nm_adquerente_2 =>
NM_ADQUERENTE_2,
nr_tid_2 =>
NR_TID_2,
nr_nsu_2 =>
NR_NSU_2,
nr_authcode_2 =>
NR_AUTHCODE_2,
QT_parcelas =>
QT_parcelas,
cd_order_reference =>
cd_order_reference,
fl_duplicidade => 'N',
DS_CHANNEL_ID =>
DS_CHANNEL_ID,
DS_CHANNEL_NAME =>
DS_CHANNEL_NAME,
DS_STORE_ID =>
DS_STORE_ID,
NM_ARQUIVO_ORIGEM =>
NM_ARQUIVO_ORIGEM,
QR_CODE =>
QR_CODE,
QR_CODE_URL =>
QR_CODE_URL,
VENDOR_TRANSACTION_ID =>
VENDOR_TRANSACTION_ID,
TRANSACTION_ID =>
TRANSACTION_ID)
from GESTAOCARGAS.GC_PAYMENT_BILLING_INT A
WHERE A.ID_PROCESSAMENTO = P_IDPROCESSAMENTO
AND (A.T_07_CD_MOVIMENTO IN (06,17) OR A.TP_PAGAMENTO in
('Credit','Debit','Pix'));
RETURN V_CURSOR;
END GET_PAGAMENTOS;
FUNCTION GET_PAGAMENTOS_CREDITO(P_ID_PROCESSAMENTO IN
GESTAOCARGAS.PROCESSAMENTO.IDPROCESSAMENTO%TYPE)
RETURN TCURSOR IS
V_CURSOR TCURSOR;
BEGIN
OPEN V_CURSOR FOR
SELECT AC.SIS_ORIGEM,
AC.ID_PARCELAMENTO,
AC.TP_PARCELAMENTO,
AC.DT_CRIACAO_PARCELAMENTO,
AC.US_CRIACAO,
AC.DT_MODIFICACAO,
AC.US_MODIFICACAO,
AC.ST_PARCELAMENTO,
AC.ST_PROCESSAMENTO,
PN.VL_PARCELA,
PN.ID_PARCELA
FROM GESTAOCARGAS.ACERTO_OUT AC, GESTAOCARGAS.Gc_Agreement_Detail_Int PN
WHERE AC.ID_PARCELAMENTO = PN.ID_PARCELAMENTO
AND AC.TP_PARCELAMENTO = 'Back Office'
AND AC.ST_PARCELAMENTO IN ('Payment', 'Approved')
AND PN.ID_PARCELA = 1
AND AC.ID_PARCELAMENTO IN (SELECT ID_PARCELAMENTO FROM
GESTAOCARGAS.ACERTO_STG WHERE ID_PROCESSAMENTO = P_ID_PROCESSAMENTO)
AND NOT EXISTS (SELECT 1
FROM GESTAOCARGAS.PAGAMENTOS_OUT PG
WHERE PG.ID_PARCELAMENTO = AC.ID_PARCELAMENTO
AND PG.NO_PARCELA = 1)
AND NOT EXISTS (SELECT 1
FROM GESTAOCARGAS.GC_AGREEMENT_TO_CANCEL_INT ATC
WHERE ATC.ID_PARCELAMENTO = AC.ID_PARCELAMENTO);
RETURN V_CURSOR;
END GET_PAGAMENTOS_CREDITO;
FUNCTION GET_PAGAMENTOS_DUPLICADOS(P_IDPROCESSAMENTO IN
GESTAOCARGAS.PROCESSAMENTO.IDPROCESSAMENTO%TYPE)
RETURN TCURSOR IS
V_CURSOR TCURSOR;
BEGIN
COMMIT;
EXCEPTION
WHEN P_DML_ERROR THEN
FOR I IN 1 .. SQL%BULK_EXCEPTIONS.COUNT LOOP
BEGIN
SP_LOG_INICIO_PROCESSO(P_IDPROCESSAMENTO => P_IDPROCESSAMENTO,
P_IDREGRA => P_IDREGRA,
P_DTINICIO => sysdate,
P_STATUSPROCESSAMENTO => 'INTEGRADOR',
P_DESCRICAO => 'Erro ao inserir Aluno
STG: ' || P_LISTA_CLIENTES(sql%bulk_exceptions(i).error_index).ID_CLIENTE_ORIGEM ||
' - ' || 'ID_REGISTRO: '
|| P_LISTA_CLIENTES(sql%bulk_exceptions(i).error_index).ID_REGISTRO ||
' - ' ||
'ID_PROCESSAMENTO: ' || P_LISTA_CLIENTES(sql
%bulk_exceptions(i).error_index).ID_PROCESSAMENTO ||
' - ' || sqlerrm(-(sql
%bulk_exceptions(i).error_code)),
P_COMMIT => 'N',
P_IDLOG => v_idlog,
P_OK => v_ok,
P_RETORNO => v_retorno);
END;
END LOOP;
END INSERIR_CLIENTES;
COMMIT;
EXCEPTION
WHEN P_DML_ERROR THEN
FOR I IN 1 .. SQL%BULK_EXCEPTIONS.COUNT LOOP
BEGIN
SP_LOG_INICIO_PROCESSO(P_IDPROCESSAMENTO => P_IDPROCESSAMENTO,
P_IDREGRA => P_IDREGRA,
P_DTINICIO => sysdate,
P_STATUSPROCESSAMENTO => 'INTEGRADOR',
P_DESCRICAO => 'Erro ao inserir Contrato
STG: ' || P_LISTA_CONTRATOS(sql%bulk_exceptions(i).error_index).ID_CONTRATO_ORIGEM
||
' - ' || 'ID_REGISTRO: '
|| P_LISTA_CONTRATOS(sql%bulk_exceptions(i).error_index).ID_REGISTRO ||
' - ' ||
'ID_PROCESSAMENTO: ' || P_LISTA_CONTRATOS(sql
%bulk_exceptions(i).error_index).ID_PROCESSAMENTO ||
' - ' || sqlerrm(-(sql
%bulk_exceptions(i).error_code)),
P_COMMIT => 'N',
P_IDLOG => v_idlog,
P_OK => v_ok,
P_RETORNO => v_retorno);
END;
END LOOP;
END INSERIR_CONTRATOS;
COMMIT;
EXCEPTION
WHEN P_DML_ERROR THEN
FOR I IN 1 .. SQL%BULK_EXCEPTIONS.COUNT LOOP
BEGIN
SP_LOG_INICIO_PROCESSO(P_IDPROCESSAMENTO => P_IDPROCESSAMENTO,
P_IDREGRA => P_IDREGRA,
P_DTINICIO => sysdate,
P_STATUSPROCESSAMENTO => 'INTEGRADOR',
P_DESCRICAO => 'Erro ao inserir Aluno
STG: ' || P_LISTA_CONTATOS(sql%bulk_exceptions(i).error_index).ID_CLIENTE_ORIGEM ||
' - ' || 'ID_REGISTRO: '
|| P_LISTA_CONTATOS(sql%bulk_exceptions(i).error_index).ID_REGISTRO ||
' - ' ||
'ID_PROCESSAMENTO: ' || P_LISTA_CONTATOS(sql
%bulk_exceptions(i).error_index).ID_PROCESSAMENTO ||
' - ' || sqlerrm(-(sql
%bulk_exceptions(i).error_code)),
P_COMMIT => 'N',
P_IDLOG => v_idlog,
P_OK => v_ok,
P_RETORNO => v_retorno);
END;
END LOOP;
END INSERIR_CONTATOS;
COMMIT;
EXCEPTION
WHEN P_DML_ERROR THEN
FOR I IN 1 .. SQL%BULK_EXCEPTIONS.COUNT LOOP
BEGIN
SP_LOG_INICIO_PROCESSO(P_IDPROCESSAMENTO => P_IDPROCESSAMENTO,
P_IDREGRA => P_IDREGRA,
P_DTINICIO => sysdate,
P_STATUSPROCESSAMENTO => 'INTEGRADOR',
P_DESCRICAO => 'Erro ao inserir Fatura
STG ID_FATURA: ' || P_LISTA_FATURAS(sql
%bulk_exceptions(i).error_index).ID_FATURA_ORIGEM ||
'ID_CLIENTE : ' ||
P_LISTA_FATURAS(sql%bulk_exceptions(i).error_index).ID_CLIENTE ||
' - ' || 'ID_REGISTRO: '
|| P_LISTA_FATURAS(sql%bulk_exceptions(i).error_index).ID_REGISTRO ||
' - ' ||
'ID_PROCESSAMENTO: ' || P_LISTA_FATURAS(sql
%bulk_exceptions(i).error_index).ID_PROCESSAMENTO ||
' - ' || sqlerrm(-(sql
%bulk_exceptions(i).error_code)),
P_COMMIT => 'N',
P_IDLOG => v_idlog,
P_OK => v_ok,
P_RETORNO => v_retorno);
END;
END LOOP;
END INSERIR_FATURAS;
COMMIT;
EXCEPTION
WHEN P_DML_ERROR THEN
FOR I IN 1 .. SQL%BULK_EXCEPTIONS.COUNT LOOP
BEGIN
SP_LOG_INICIO_PROCESSO(P_IDPROCESSAMENTO => P_IDPROCESSAMENTO,
P_IDREGRA => P_IDREGRA,
P_DTINICIO => sysdate,
P_STATUSPROCESSAMENTO => 'INTEGRADOR',
P_DESCRICAO => 'Erro ao inserir Acerto
STG: ' || P_LISTA_ACERTOS(sql%bulk_exceptions(i).error_index).ID_PARCELAMENTO ||
' - ' || 'ID_REGISTRO: '
|| P_LISTA_ACERTOS(sql%bulk_exceptions(i).error_index).ID_REGISTRO ||
' - ' ||
'ID_PROCESSAMENTO: ' || P_LISTA_ACERTOS(sql
%bulk_exceptions(i).error_index).ID_PROCESSAMENTO ||
' - ' || sqlerrm(-(sql
%bulk_exceptions(i).error_code)),
P_COMMIT => 'N',
P_IDLOG => v_idlog,
P_OK => v_ok,
P_RETORNO => v_retorno);
END;
END LOOP;
END INSERIR_ACERTOS;
COMMIT;
EXCEPTION
WHEN P_DML_ERROR THEN
FOR I IN 1 .. SQL%BULK_EXCEPTIONS.COUNT LOOP
BEGIN
SP_LOG_INICIO_PROCESSO(P_IDPROCESSAMENTO => P_IDPROCESSAMENTO,
P_IDREGRA => P_IDREGRA,
P_DTINICIO => sysdate,
P_STATUSPROCESSAMENTO => 'INTEGRADOR',
P_DESCRICAO => 'Erro ao inserir Parcelas
Novas STG: ' || P_LISTA_NOVAS(sql%bulk_exceptions(i).error_index).ID_PARCELAMENTO
||
' - ' || 'ID_PARCELA: '
|| P_LISTA_NOVAS(sql%bulk_exceptions(i).error_index).ID_PARCELA ||
' - ' || 'ID_REGISTRO: '
|| P_LISTA_NOVAS(sql%bulk_exceptions(i).error_index).ID_REGISTRO ||
' - ' ||
'ID_PROCESSAMENTO: ' || P_LISTA_NOVAS(sql
%bulk_exceptions(i).error_index).ID_PROCESSAMENTO ||
' - ' || sqlerrm(-(sql
%bulk_exceptions(i).error_code)),
P_COMMIT => 'N',
P_IDLOG => v_idlog,
P_OK => v_ok,
P_RETORNO => v_retorno);
END;
END LOOP;
END INSERIR_NOVAS;
COMMIT;
EXCEPTION
WHEN P_DML_ERROR THEN
FOR I IN 1 .. SQL%BULK_EXCEPTIONS.COUNT LOOP
BEGIN
SP_LOG_INICIO_PROCESSO(P_IDPROCESSAMENTO => P_IDPROCESSAMENTO,
P_IDREGRA => P_IDREGRA,
P_DTINICIO => sysdate,
P_STATUSPROCESSAMENTO => 'INTEGRADOR',
P_DESCRICAO => 'Erro ao inserir Parcelas
Originais STG: ' || P_LISTA_ORIGINAIS(sql
%bulk_exceptions(i).error_index).ID_PARCELAMENTO ||
' - ' || 'ID_TITULO: ' ||
P_LISTA_ORIGINAIS(sql%bulk_exceptions(i).error_index).ID_TITULO ||
' - ' || 'ID_REGISTRO: '
|| P_LISTA_ORIGINAIS(sql%bulk_exceptions(i).error_index).ID_REGISTRO ||
' - ' ||
'ID_PROCESSAMENTO: ' || P_LISTA_ORIGINAIS(sql
%bulk_exceptions(i).error_index).ID_PROCESSAMENTO ||
' - ' || sqlerrm(-(sql
%bulk_exceptions(i).error_code)),
P_COMMIT => 'N',
P_IDLOG => v_idlog,
P_OK => v_ok,
P_RETORNO => v_retorno);
END;
END LOOP;
END INSERIR_ORIGINAIS;
COMMIT;
EXCEPTION
WHEN P_DML_ERROR THEN
FOR I IN 1 .. SQL%BULK_EXCEPTIONS.COUNT LOOP
BEGIN
SP_LOG_INICIO_PROCESSO(P_IDPROCESSAMENTO => P_IDPROCESSAMENTO,
P_IDREGRA => P_IDREGRA,
P_DTINICIO => sysdate,
P_STATUSPROCESSAMENTO => 'INTEGRADOR',
P_DESCRICAO => 'Erro ao inserir
Pagamento STG: ' || P_LISTA_PAGAMENTOS(sql
%bulk_exceptions(i).error_index).ID_PARCELAMENTO ||
' - ' || 'ID_REGISTRO: '
|| P_LISTA_PAGAMENTOS(sql%bulk_exceptions(i).error_index).ID_REGISTRO ||
' - ' ||
'ID_PROCESSAMENTO: ' || P_LISTA_PAGAMENTOS(sql
%bulk_exceptions(i).error_index).ID_PROCESSAMENTO ||
' - ' || sqlerrm(-(sql
%bulk_exceptions(i).error_code)),
P_COMMIT => 'N',
P_IDLOG => v_idlog,
P_OK => v_ok,
P_RETORNO => v_retorno);
END;
END LOOP;
END INSERIR_PAGAMENTOS;
V_INDICE INT;
V_LISTA_PAGAMENTOS LIST_DADOS_PGTO := LIST_DADOS_PGTO();
V_LIBERADO_OLIMPO VARCHAR2(50);
V_LIBERADO_COLABORAR VARCHAR2(50);
V_LIBERADO_SAP VARCHAR2(50);
BEGIN
SELECT VALOR INTO V_LIBERADO_OLIMPO FROM GESTAOCARGAS.CONFIGURACAO WHERE CHAVE
= 'GERA_PAGAMENTO_BACKOFFICE_OLIMPO';
SELECT VALOR INTO V_LIBERADO_COLABORAR FROM GESTAOCARGAS.CONFIGURACAO WHERE
CHAVE = 'GERA_PAGAMENTO_BACKOFFICE_COLABORAR';
SELECT VALOR INTO V_LIBERADO_SAP FROM gestaocargas.CONFIGURACAO WHERE CHAVE =
'GERA_PAGAMENTO_BACKOFFICE_SAP';
SELECT *
BULK COLLECT
INTO V_LISTA_PAGAMENTOS
FROM TABLE(P_LISTA_PAGAMENTOS) A;
V_INDICE := V_LISTA_PAGAMENTOS.FIRST;
ELSE
INSERT INTO GESTAOCARGAS.GC_AGREEMENT_TO_CANCEL_INT I
(ID_PROCESSAMENTO,
SIS_ORIGEM,
ID_PARCELAMENTO,
ST_PROCESSAMENTO,
DT_CRIACAO,
US_CRIACAO,
DT_MODIFICACAO,
US_MODIFICACAO)
VALUES
(1,
V_LISTA_PAGAMENTOS(V_INDICE).SIS_ORIGEM,
V_LISTA_PAGAMENTOS(V_INDICE).ID_PARCELAMENTO,
1,
SYSDATE,
'BACKOFFICE',
SYSDATE,
'KROTON');
END IF;
COMMIT;
V_INDICE := V_LISTA_PAGAMENTOS.NEXT(V_INDICE);
END LOOP;
END IF;
EXCEPTION
WHEN OTHERS THEN
RAISE_APPLICATION_ERROR(-20000,
'Não foi possível gerar o pagamento por crédito - '
||
SQLERRM);
END INSERIR_PAGAMENTOS_CREDITO;
PROCEDURE CONTROLADORA(P_IDPROCESSAMENTO IN
GESTAOCARGAS.PROCESSAMENTO.IDPROCESSAMENTO%TYPE) IS
v_procedure varchar2(100);
v_idRegra number;
v_idlog number;
v_idsistema number;
v_idprocessamento number;
v_idtipoinformacao number;
v_ok char(1);
v_retorno varchar2(100);
CURSOR C_PARAM(p_idsistema number, p_idtipoinformacao number) IS
PROCEDURE SP_INT_CLIENTE(P_IDPROCESSAMENTO IN
GESTAOCARGAS.PROCESSAMENTO.IDPROCESSAMENTO%TYPE,
P_IDREGRA IN GESTAOCARGAS.REGRA.IDREGRA%TYPE) IS
V_CURSOR_INT TCURSOR;
V_LISTA_INT GESTAOCARGAS.TL_CLIENTES_STG;
v_ok varchar2(1);
v_retorno varchar2(100);
v_idlog number;
BEGIN
BEGIN
V_CURSOR_INT := GET_CLIENTE(P_IDPROCESSAMENTO => P_IDPROCESSAMENTO);
LOOP
FETCH V_CURSOR_INT BULK COLLECT
INTO V_LISTA_INT LIMIT FL_BULK_LIMIT;
EXIT WHEN V_LISTA_INT.COUNT = 0;
INSERIR_CLIENTES(P_LISTA_CLIENTES => V_LISTA_INT,
P_IDPROCESSAMENTO => P_IDPROCESSAMENTO,
P_IDREGRA => P_IDREGRA);
END LOOP;
EXCEPTION
WHEN OTHERS THEN
SP_LOG_INICIO_PROCESSO(P_IDPROCESSAMENTO => P_IDPROCESSAMENTO,
P_IDREGRA => P_IDREGRA,
P_DTINICIO => sysdate,
P_STATUSPROCESSAMENTO => 'INTEGRADOR',
P_DESCRICAO => 'ERRO NA INTEGRAÇÃO DE
CLIENTE_INT -> CLIENTE_STG: ' ||
sqlerrm,
P_COMMIT => 'N',
P_IDLOG => v_idlog,
P_OK => v_ok,
P_RETORNO => v_retorno);
END;
END SP_INT_CLIENTE;
PROCEDURE SP_INT_CONTRATO(P_IDPROCESSAMENTO IN
GESTAOCARGAS.PROCESSAMENTO.IDPROCESSAMENTO%TYPE,
P_IDREGRA IN GESTAOCARGAS.REGRA.IDREGRA%TYPE)
IS
V_CURSOR_INT TCURSOR;
V_LISTA_CON GESTAOCARGAS.TL_CONTRATOS_STG;
v_ok varchar2(1);
v_retorno varchar2(100);
v_idlog number;
begin
BEGIN
END LOOP;
EXCEPTION
WHEN OTHERS THEN
SP_LOG_INICIO_PROCESSO(P_IDPROCESSAMENTO => P_IDPROCESSAMENTO,
P_IDREGRA => P_IDREGRA,
P_DTINICIO => sysdate,
P_STATUSPROCESSAMENTO => 'INTEGRADOR',
P_DESCRICAO => 'ERRO NA INTEGRAÇÃO DE
CONTATO_INT -> CONTATO_STG: ' ||
sqlerrm,
P_COMMIT => 'N',
P_IDLOG => v_idlog,
P_OK => v_ok,
P_RETORNO => v_retorno);
END;
END SP_INT_CONTATO;
PROCEDURE SP_INT_FATURA(P_IDPROCESSAMENTO IN
GESTAOCARGAS.PROCESSAMENTO.IDPROCESSAMENTO%TYPE,
P_IDREGRA IN GESTAOCARGAS.REGRA.IDREGRA%TYPE) IS
V_CURSOR_TIT TCURSOR;
V_LISTA_TIT GESTAOCARGAS.TL_TITULOS_STG;
v_ok varchar2(1);
v_retorno varchar2(100);
v_idlog number;
BEGIN
BEGIN
V_CURSOR_TIT := GET_FATURA(P_IDPROCESSAMENTO => P_IDPROCESSAMENTO);
LOOP
FETCH V_CURSOR_TIT BULK COLLECT
INTO V_LISTA_TIT LIMIT FL_BULK_LIMIT;
EXIT WHEN V_LISTA_TIT.COUNT = 0;
INSERIR_FATURAS(P_LISTA_FATURAS => V_LISTA_TIT,
P_IDPROCESSAMENTO => P_IDPROCESSAMENTO,
P_IDREGRA => P_IDREGRA);
END LOOP;
EXCEPTION
WHEN OTHERS THEN
SP_LOG_INICIO_PROCESSO(P_IDPROCESSAMENTO => P_IDPROCESSAMENTO,
P_IDREGRA => P_IDREGRA,
P_DTINICIO => sysdate,
P_STATUSPROCESSAMENTO => 'INTEGRADOR',
P_DESCRICAO => 'ERRO NA INTEGRAÇÃO DE
TITULOS_INT -> TITULOS_STG: ' ||
sqlerrm,
P_COMMIT => 'N',
P_IDLOG => v_idlog,
P_OK => v_ok,
P_RETORNO => v_retorno);
END;
END SP_INT_FATURA;
PROCEDURE SP_INT_PEP(P_IDPROCESSAMENTO IN
GESTAOCARGAS.PROCESSAMENTO.IDPROCESSAMENTO%TYPE,
P_IDREGRA IN GESTAOCARGAS.REGRA.IDREGRA%TYPE) IS
V_OK VARCHAR2(1);
V_RETORNO VARCHAR2(100);
V_IDLOG NUMBER;
BEGIN
EXCEPTION
WHEN OTHERS THEN
SP_LOG_INICIO_PROCESSO(P_IDPROCESSAMENTO => P_IDPROCESSAMENTO,
P_IDREGRA => P_IDREGRA,
P_DTINICIO => sysdate,
P_STATUSPROCESSAMENTO => 'INTEGRADOR',
P_DESCRICAO => 'ERRO NA INTEGRAÇÃO DE
PEP_INT -> PEP_STG: ' ||
SQLERRM,
P_COMMIT => 'N',
P_IDLOG => v_idlog,
P_OK => v_ok,
P_RETORNO => v_retorno);
END SP_INT_PEP;
PROCEDURE SP_INT_ACERTO(P_IDPROCESSAMENTO IN
GESTAOCARGAS.PROCESSAMENTO.IDPROCESSAMENTO%TYPE,
P_IDREGRA IN GESTAOCARGAS.REGRA.IDREGRA%TYPE) IS
V_CURSOR_INT TCURSOR;
V_LISTA_INT GESTAOCARGAS.TL_ACERTO_STG;
v_ok varchar2(1);
v_retorno varchar2(100);
v_idlog number;
BEGIN
BEGIN
V_CURSOR_INT := GET_ACERTO(P_IDPROCESSAMENTO => P_IDPROCESSAMENTO);
LOOP
FETCH V_CURSOR_INT BULK COLLECT
INTO V_LISTA_INT LIMIT FL_BULK_LIMIT;
EXIT WHEN V_LISTA_INT.COUNT = 0;
INSERIR_ACERTOS(P_LISTA_ACERTOS => V_LISTA_INT,
P_IDPROCESSAMENTO => P_IDPROCESSAMENTO,
P_IDREGRA => P_IDREGRA);
END LOOP;
EXCEPTION
WHEN OTHERS THEN
SP_LOG_INICIO_PROCESSO(P_IDPROCESSAMENTO => P_IDPROCESSAMENTO,
P_IDREGRA => P_IDREGRA,
P_DTINICIO => sysdate,
P_STATUSPROCESSAMENTO => 'INTEGRADOR',
P_DESCRICAO => 'ERRO NA INTEGRAÇÃO DE
GC_AGREEMENT_INT -> ACERTO_STG: ' ||
sqlerrm,
P_COMMIT => 'N',
P_IDLOG => v_idlog,
P_OK => v_ok,
P_RETORNO => v_retorno);
END;
END SP_INT_ACERTO;
PROCEDURE SP_INT_NOVAS(P_IDPROCESSAMENTO IN
GESTAOCARGAS.PROCESSAMENTO.IDPROCESSAMENTO%TYPE,
P_IDREGRA IN GESTAOCARGAS.REGRA.IDREGRA%TYPE) IS
V_CURSOR_INT TCURSOR;
V_LISTA_INT GESTAOCARGAS.TL_NOVAS_STG;
v_ok varchar2(1);
v_retorno varchar2(100);
v_idlog number;
BEGIN
BEGIN
V_CURSOR_INT := GET_NOVAS(P_IDPROCESSAMENTO => P_IDPROCESSAMENTO);
LOOP
FETCH V_CURSOR_INT BULK COLLECT
INTO V_LISTA_INT LIMIT FL_BULK_LIMIT;
EXIT WHEN V_LISTA_INT.COUNT = 0;
INSERIR_NOVAS(P_LISTA_NOVAS => V_LISTA_INT,
P_IDPROCESSAMENTO => P_IDPROCESSAMENTO,
P_IDREGRA => P_IDREGRA);
END LOOP;
EXCEPTION
WHEN OTHERS THEN
SP_LOG_INICIO_PROCESSO(P_IDPROCESSAMENTO => P_IDPROCESSAMENTO,
P_IDREGRA => P_IDREGRA,
P_DTINICIO => sysdate,
P_STATUSPROCESSAMENTO => 'INTEGRADOR',
P_DESCRICAO => 'ERRO NA INTEGRAÇÃO DE
GC_AGREEMENT_DETAIL_INT -> NOVAS_STG: ' ||
sqlerrm,
P_COMMIT => 'N',
P_IDLOG => v_idlog,
P_OK => v_ok,
P_RETORNO => v_retorno);
END;
END SP_INT_NOVAS;
PROCEDURE SP_INT_ORIGINAIS(P_IDPROCESSAMENTO IN
GESTAOCARGAS.PROCESSAMENTO.IDPROCESSAMENTO%TYPE,
P_IDREGRA IN GESTAOCARGAS.REGRA.IDREGRA%TYPE)
IS
V_CURSOR_INT TCURSOR;
V_LISTA_INT GESTAOCARGAS.TL_ORIGINAIS_STG;
v_ok varchar2(1);
v_retorno varchar2(100);
v_idlog number;
BEGIN
BEGIN
V_CURSOR_INT := GET_ORIGINAIS(P_IDPROCESSAMENTO => P_IDPROCESSAMENTO);
LOOP
FETCH V_CURSOR_INT BULK COLLECT
INTO V_LISTA_INT LIMIT FL_BULK_LIMIT;
EXIT WHEN V_LISTA_INT.COUNT = 0;
INSERIR_ORIGINAIS(P_LISTA_ORIGINAIS => V_LISTA_INT,
P_IDPROCESSAMENTO => P_IDPROCESSAMENTO,
P_IDREGRA => P_IDREGRA);
END LOOP;
EXCEPTION
WHEN OTHERS THEN
SP_LOG_INICIO_PROCESSO(P_IDPROCESSAMENTO => P_IDPROCESSAMENTO,
P_IDREGRA => P_IDREGRA,
P_DTINICIO => sysdate,
P_STATUSPROCESSAMENTO => 'INTEGRADOR',
P_DESCRICAO => 'ERRO NA INTEGRAÇÃO DE
GC_AGREEMENT_BILL_INT -> ORIGINAIS_STG: ' ||
sqlerrm,
P_COMMIT => 'N',
P_IDLOG => v_idlog,
P_OK => v_ok,
P_RETORNO => v_retorno);
END;
END SP_INT_ORIGINAIS;
PROCEDURE SP_INT_PAGAMENTOS(P_IDPROCESSAMENTO IN
GESTAOCARGAS.PROCESSAMENTO.IDPROCESSAMENTO%TYPE,
P_IDREGRA IN GESTAOCARGAS.REGRA.IDREGRA%TYPE)
IS
V_CURSOR_INT TCURSOR;
V_LISTA_INT GESTAOCARGAS.TL_PAGAMENTOS_STG;
v_ok varchar2(1);
v_retorno varchar2(100);
v_idlog number;
BEGIN
BEGIN
V_CURSOR_INT := GET_PAGAMENTOS(P_IDPROCESSAMENTO => P_IDPROCESSAMENTO);
LOOP
FETCH V_CURSOR_INT BULK COLLECT
INTO V_LISTA_INT LIMIT FL_BULK_LIMIT;
EXIT WHEN V_LISTA_INT.COUNT = 0;
INSERIR_PAGAMENTOS(P_LISTA_PAGAMENTOS => V_LISTA_INT,
P_IDPROCESSAMENTO => P_IDPROCESSAMENTO,
P_IDREGRA => P_IDREGRA);
END LOOP;
EXCEPTION
WHEN OTHERS THEN
SP_LOG_INICIO_PROCESSO(P_IDPROCESSAMENTO => P_IDPROCESSAMENTO,
P_IDREGRA => P_IDREGRA,
P_DTINICIO => sysdate,
P_STATUSPROCESSAMENTO => 'INTEGRADOR',
P_DESCRICAO => 'ERRO NA INTEGRAÇÃO DE
GC_PAYMENT_BILLING_INT -> PAGAMENTOS_STG: ' ||
sqlerrm,
P_COMMIT => 'N',
P_IDLOG => v_idlog,
P_OK => v_ok,
P_RETORNO => v_retorno);
END;
END SP_INT_PAGAMENTOS;
PROCEDURE SP_COMP_CLIENTECPF(P_IDPROCESSAMENTO IN
GESTAOCARGAS.PROCESSAMENTO.IDPROCESSAMENTO%TYPE,
P_IDREGRA IN GESTAOCARGAS.REGRA.IDREGRA
%TYPE) IS
v_procedure varchar2(100);
BEGIN
select 'SP_COMP_CLIENTECPF' into v_procedure from dual;
dbms_output.put_line(v_procedure || ' - ' || P_IDPROCESSAMENTO ||
' - ' || p_idregra);
END SP_COMP_CLIENTECPF;
PROCEDURE SP_VAL_CLIENTECHAVE(P_IDPROCESSAMENTO IN
GESTAOCARGAS.PROCESSAMENTO.IDPROCESSAMENTO%TYPE,
P_IDREGRA IN GESTAOCARGAS.REGRA.IDREGRA
%TYPE) IS
v_procedure varchar2(100);
BEGIN
select 'SP_VAL_CLIENTECHAVE' into v_procedure from dual;
dbms_output.put_line(v_procedure || ' - ' || P_IDPROCESSAMENTO ||
' - ' || p_idregra);
END SP_VAL_CLIENTECHAVE;
PROCEDURE SP_ATU_CLIENTE(P_IDPROCESSAMENTO IN
GESTAOCARGAS.PROCESSAMENTO.IDPROCESSAMENTO%TYPE,
P_IDREGRA IN GESTAOCARGAS.REGRA.IDREGRA%TYPE) IS
V_OK VARCHAR(10);
V_RETORNO VARCHAR(1010);
V_IDLOG NUMBER;
BEGIN
MERGE INTO GESTAOCARGAS.GC_CUSTOMER CUS
USING (SELECT CL.ID_REGISTRO,
CL.ID_PROCESSAMENTO,
CL.SIS_ORIGEM,
CL.ID_CLIENTE,
CL.ID_CLIENTE_ORIGEM,
CL.NM_CLIENTE,
CL.TP_PESSOA,
CL.NO_CPFCNPJ,
CL.DT_NASCIMENTO,
CL.DT_CADASTRO,
CL.IC_SEXO,
SUBSTR(CL.NO_RG,0,20) NO_RG,
CL.IC_ESTADOCIVIL,
CL.NM_PAI,
CL.NM_MAE,
CL.DS_NACIONALIDADE,
CL.DS_NATURALIDADE,
CL.DT_MODIFICACAO
FROM GESTAOCARGAS.CLIENTES_STG CL
WHERE CL.ID_PROCESSAMENTO = P_IDPROCESSAMENTO
AND NOT EXISTS
(SELECT 1
FROM GESTAOCARGAS.LOGVALIDACAO LP
WHERE LP.ID_PROCESSAMENTO = CL.ID_PROCESSAMENTO
AND LP.ID_REGISTRO = CL.ID_REGISTRO
AND LP.CRITICIDADE = ERRO_VALIDACAO)) CLI
ON (CLI.ID_CLIENTE = CUS.ID_CLIENTE)
WHEN MATCHED THEN
UPDATE
SET CUS.NM_CLIENTE = CLI.NM_CLIENTE,
CUS.TP_PESSOA = CLI.TP_PESSOA,
CUS.CPF_CNPJ = CLI.NO_CPFCNPJ,
CUS.DT_NASCIMENTO = CLI.DT_NASCIMENTO,
CUS.DT_CADASTRO = CLI.DT_CADASTRO,
CUS.SEXO = CLI.IC_SEXO,
CUS.RG = CLI.NO_RG,
CUS.ESTADO_CIVIL = CLI.IC_ESTADOCIVIL,
CUS.NM_PAI = CLI.NM_PAI,
CUS.NM_MAE = CLI.NM_MAE,
CUS.NACIONALIDADE = CLI.DS_NACIONALIDADE,
CUS.NATURALIDADE = CLI.DS_NATURALIDADE,
CUS.DT_MODIFICACAO_ORIGEM = CLI.DT_MODIFICACAO,
CUS.ID_CLIENTE_ORIGEM = CLI.ID_CLIENTE_ORIGEM,
CUS.ST_PROCESSAMENTO = V_ST_PROCESSAMENTO,
CUS.DT_MODIFICACAO = SYSDATE,
CUS.US_MODIFICACAO = V_USR_KROTON
PROCEDURE SP_ATU_CONTATO(P_IDPROCESSAMENTO IN
GESTAOCARGAS.PROCESSAMENTO.IDPROCESSAMENTO%TYPE,
P_IDREGRA IN GESTAOCARGAS.REGRA.IDREGRA%TYPE) IS
V_OK VARCHAR(10);
V_RETORNO VARCHAR(1010);
V_IDLOG NUMBER;
CURSOR C1 IS
SELECT COT.ID_CLIENTE,
COT.ID_REGISTRO,
COT.TP_CONTATO,
COT.ST_CONTATO,
COT.END_LOGRADOURO,
COT.END_COMPLEMENTO,
COT.END_BAIRRO,
COT.END_CIDADE,
COT.END_UF,
COT.END_CEP,
COT.DS_EMAIL,
COT.NO_TELEFONE_FIXO,
COT.NO_TELEFONE_CELULAR,
SYSDATE DT_CADASTRO,
COT.DT_MODIFICACAO DT_MODIFICACAO_ORIGEM,
V_ST_PROCESSAMENTO ST_PROCESSAMENTO,
SYSDATE DT_CRIACAO,
V_USR_KROTON US_CRIACAO,
SYSDATE DT_MODIFICACAO,
V_USR_KROTON US_MODIFICACAO,
COT.PF_CONTATO,
COT.IBGE_UF,
COT.IBGE_MUNICIPIO
FROM GESTAOCARGAS.CONTATOS_STG COT
WHERE COT.ID_PROCESSAMENTO = P_IDPROCESSAMENTO
AND (COT.FL_CRITICIDADE != ERRO_VALIDACAO OR COT.FL_CRITICIDADE IS NULL)
AND NOT EXISTS
(SELECT 1
FROM GESTAOCARGAS.GC_CONTACT GC
WHERE GC.ID_CLIENTE = COT.ID_CLIENTE
AND GC.TP_CONTATO = COT.TP_CONTATO
AND GC.ST_CONTATO = COT.ST_CONTATO
AND GC.PF_CONTATO = COT.PF_CONTATO
AND NVL(GC.LOGRADOURO,' ') = NVL(COT.END_LOGRADOURO,' ')
AND NVL(GC.COMPLEMENTO,' ') = NVL(COT.END_COMPLEMENTO,' ')
AND NVL(GC.BAIRRO,' ') = NVL(COT.END_BAIRRO,' ')
AND NVL(GC.CIDADE,' ') = NVL(COT.END_CIDADE,' ')
AND NVL(GC.UF,' ') = NVL(COT.END_UF,' ')
AND NVL(GC.CEP,' ') = NVL(COT.END_CEP,' ')
AND NVL(GC.EMAIL,' ') = NVL(COT.DS_EMAIL,' ')
AND NVL(GC.TELEFONE_FIXO,' ') = NVL(COT.NO_TELEFONE_FIXO,' ')
AND NVL(GC.TELEFONE_CELULAR,' ')= NVL(COT.NO_TELEFONE_CELULAR,' ')
AND NVL(GC.IBGE_UF,' ') = NVL(COT.IBGE_UF,' ')
AND NVL(GC.IBGE_MUNICIPIO,' ') = NVL(COT.IBGE_MUNICIPIO,' '));
BEGIN
OPEN C1;
LOOP
-- the following statement fetches 10 rows or less in each iteration
FETCH C1 BULK COLLECT
INTO V_LIST_GC_CONTACT LIMIT FL_BULK_LIMIT;
EXIT WHEN V_LIST_GC_CONTACT.COUNT = 0;
END SP_ATU_CONTATO;
PROCEDURE SP_ATU_PEP(P_IDPROCESSAMENTO IN
GESTAOCARGAS.PROCESSAMENTO.IDPROCESSAMENTO%TYPE,
P_IDREGRA IN GESTAOCARGAS.REGRA.IDREGRA%TYPE) IS
V_OK VARCHAR2(1);
V_RETORNO VARCHAR2(100);
V_IDLOG NUMBER;
BEGIN
EXCEPTION
WHEN OTHERS THEN
SP_LOG_INICIO_PROCESSO(P_IDPROCESSAMENTO => P_IDPROCESSAMENTO,
P_IDREGRA => P_IDREGRA,
P_DTINICIO => SYSDATE,
P_STATUSPROCESSAMENTO => 'ATUALIZADOR',
P_DESCRICAO => 'ERRO NA ATUALIZAÇÃO DE
CONTRATO PEP: ' ||
SQLERRM,
P_COMMIT => 'N',
P_IDLOG => V_IDLOG,
P_OK => V_OK,
P_RETORNO => V_RETORNO);
END SP_ATU_PEP;
PROCEDURE SP_ATU_FATURA_ABERTO(P_IDPROCESSAMENTO IN
GESTAOCARGAS.PROCESSAMENTO.IDPROCESSAMENTO%TYPE,
P_IDREGRA IN GESTAOCARGAS.REGRA.IDREGRA
%TYPE) AS
V_OK VARCHAR2(10);
V_RETORNO VARCHAR2(100);
V_IDLOG NUMBER;
V_COUNT NUMBER;
BEGIN
-- Processo de atualização da tabela GESTAOCARGAS.GC_BILL
FOR TI IN (SELECT TIT.*
FROM GESTAOCARGAS.TITULOS_STG TIT
WHERE TIT.ID_PROCESSAMENTO = P_IDPROCESSAMENTO
AND TIT.ST_FATURA = 'ABERTO'
AND NOT EXISTS
(SELECT 1
FROM GESTAOCARGAS.LOGVALIDACAO LV
WHERE LV.ID_PROCESSAMENTO = TIT.ID_PROCESSAMENTO
AND LV.ID_REGISTRO = TIT.ID_REGISTRO
AND LV.CRITICIDADE = ERRO_VALIDACAO)) LOOP
-- Verifica se o registro já existe na tabela GESTAOCARGAS.GC_BILL
SELECT COUNT(*)
INTO V_COUNT
FROM GESTAOCARGAS.GC_BILL BIL
WHERE BIL.ID_TITULO = TI.ID_FATURA;
OR NVL(BIL.ANO_COMPETENCIA,0) != NVL(TI.NR_ANO_COMPETENCIA,0)
OR NVL(BIL.VL_LIQUIDO,0) != NVL(TI.VL_LIQUIDO,0)
OR NVL(BIL.VL_SEM_DESC_PONTUAL,0) != NVL(TI.VL_BRUTO,0)
OR NVL(BIL.NATUREZA_REMATRICULA,' ') != NVL(TI.IC_NATUREZAREMAT,' ')
OR NVL(BIL.ST_TITULO,' ') != NVL(TI.ST_FATURA,' ')
OR NVL(TO_CHAR(BIL.DT_VENCIMENTO,'MM/DD/YYYY'),' ') !=
NVL(TO_CHAR(TI.DT_VENCIMENTO,'MM/DD/YYYY'),' ')
);
END IF;
END LOOP;
BEGIN
SELECT COUNT(*)
INTO V_COUNT
FROM GESTAOCARGAS.GC_BILL_DETAIL BILL
WHERE BILL.ID_TITULO = TI.ID_FATURA;
END IF;
END;
END LOOP;
EXCEPTION
WHEN OTHERS THEN
SP_LOG_INICIO_PROCESSO(P_IDPROCESSAMENTO => P_IDPROCESSAMENTO,
P_IDREGRA => P_IDREGRA,
P_DTINICIO => SYSDATE,
P_STATUSPROCESSAMENTO => 'ATUALIZADOR',
P_DESCRICAO => 'Erro ao ATUALIZAR
SP_ATU_FATURA_ABERTO GC_BILL ' ||
' - ' || SQLERRM,
P_COMMIT => 'N',
P_IDLOG => V_IDLOG,
P_OK => V_OK,
P_RETORNO => V_RETORNO);
END SP_ATU_FATURA_ABERTO;
PROCEDURE SP_ATU_FATURA_BAIXA_CANC(P_IDPROCESSAMENTO IN
GESTAOCARGAS.PROCESSAMENTO.IDPROCESSAMENTO % TYPE,
P_IDREGRA IN GESTAOCARGAS.REGRA.IDREGRA
% TYPE) AS
V_OK VARCHAR2(10);
V_RETORNO VARCHAR2(100);
V_IDLOG NUMBER;
V_COUNT NUMBER;
BEGIN
-- Processo de atualização da tabela GESTAOCARGAS.GC_BILL
FOR TI IN (SELECT TIT.*,
PAG.ID_PAGAMENTO,
PAG.TP_PAGAMENTO,
CASE
WHEN UPPER(PAG.TP_PAGAMENTO) = 'BOLETO' THEN
PAG.t_15_nr_documento_cobranca
WHEN UPPER(PAG.TP_PAGAMENTO) = 'PIX' THEN
PAG.Transaction_Id
ELSE
PAG.NR_TID_1
END NR_DOCUMENTO
FROM GESTAOCARGAS.TITULOS_STG TIT
LEFT JOIN GESTAOCARGAS.PAGAMENTOS_OUT PAG
ON TIT.ID_PARCELAMENTO = PAG.ID_PARCELAMENTO
AND TIT.NO_PARCELA = PAG.NO_PARCELA
WHERE TIT.ID_PROCESSAMENTO = P_IDPROCESSAMENTO
AND TIT.ST_FATURA <> 'ABERTO'
/*
AND TIT.ID_REGISTRO =
(SELECT MAX(ID_REGISTRO)
FROM GESTAOCARGAS.TITULOS_STG TIT2
WHERE TIT2.ID_PROCESSAMENTO = P_IDPROCESSAMENTO
AND TIT.ID_FATURA = TIT2.ID_FATURA)
*/
AND NOT EXISTS
(SELECT 1
FROM GESTAOCARGAS.LOGVALIDACAO LV
WHERE LV.ID_PROCESSAMENTO = TIT.ID_PROCESSAMENTO
AND LV.ID_REGISTRO = TIT.ID_REGISTRO
AND LV.CRITICIDADE = ERRO_VALIDACAO)) LOOP
-- Verifica se o registro já existe na tabela GESTAOCARGAS.GC_BILL
SELECT COUNT(*)
INTO V_COUNT
FROM GESTAOCARGAS.GC_BILL BIL
WHERE BIL.ID_TITULO = TI.ID_FATURA;
END IF;
END LOOP;
BEGIN
SELECT COUNT(*)
INTO V_COUNT
FROM GESTAOCARGAS.GC_BILL_DETAIL BILL
WHERE BILL.ID_TITULO = TI.ID_FATURA;
END IF;
END;
END LOOP;
EXCEPTION
WHEN OTHERS THEN
SP_LOG_INICIO_PROCESSO(P_IDPROCESSAMENTO => P_IDPROCESSAMENTO,
P_IDREGRA => P_IDREGRA,
P_DTINICIO => SYSDATE,
P_STATUSPROCESSAMENTO => 'ATUALIZADOR',
P_DESCRICAO => 'Erro ao ATUALIZAR
SP_ATU_FATURA_BAIXA_CANC GC_BILL ' ||
' - ' || SQLERRM,
P_COMMIT => 'N',
P_IDLOG => V_IDLOG,
P_OK => V_OK,
P_RETORNO => V_RETORNO);
END SP_ATU_FATURA_BAIXA_CANC;
PROCEDURE SP_ATU_FATURA_SERV_OLIMPO(P_IDPROCESSAMENTO IN
GESTAOCARGAS.PROCESSAMENTO.IDPROCESSAMENTO%TYPE,
P_IDREGRA IN
GESTAOCARGAS.REGRA.IDREGRA%TYPE) AS
V_OK VARCHAR2(10);
V_RETORNO VARCHAR2(100);
V_IDLOG NUMBER;
BEGIN
EXCEPTION
WHEN OTHERS THEN
SP_LOG_INICIO_PROCESSO(P_IDPROCESSAMENTO => P_IDPROCESSAMENTO,
P_IDREGRA => P_IDREGRA,
P_DTINICIO => SYSDATE,
P_STATUSPROCESSAMENTO => 'ATUALIZADOR',
P_DESCRICAO => 'ERRO AO ATUALIZAR
SP_ATU_FATURA_SERV_OLIMPO: ' ||
TI.ID_TITULO_GC_BILL ||
' - ' || SQLERRM,
P_COMMIT => 'N',
P_IDLOG => V_IDLOG,
P_OK => V_OK,
P_RETORNO => V_RETORNO);
END;
END LOOP;
EXCEPTION
WHEN OTHERS THEN
SP_LOG_INICIO_PROCESSO(P_IDPROCESSAMENTO => P_IDPROCESSAMENTO,
P_IDREGRA => P_IDREGRA,
P_DTINICIO => SYSDATE,
P_STATUSPROCESSAMENTO => 'ATUALIZADOR',
P_DESCRICAO => 'Erro ao ATUALIZAR
SP_ATU_FATURA_SERV_OLIMPO GC_BILL ' ||
' - ' || SQLERRM,
P_COMMIT => 'N',
P_IDLOG => V_IDLOG,
P_OK => V_OK,
P_RETORNO => V_RETORNO);
END SP_ATU_FATURA_SERV_OLIMPO;
PROCEDURE SP_ATU_CONTRATO(P_IDPROCESSAMENTO IN
GESTAOCARGAS.PROCESSAMENTO.IDPROCESSAMENTO%TYPE,
P_IDREGRA IN GESTAOCARGAS.REGRA.IDREGRA%TYPE)
IS
V_OK VARCHAR(10);
V_RETORNO VARCHAR(1010);
V_IDLOG NUMBER;
V_COUNT NUMBER;
BEGIN
FOR TI IN (SELECT *
FROM GESTAOCARGAS.CONTRATOS_STG CT
WHERE CT.ID_PROCESSAMENTO = P_IDPROCESSAMENTO
AND NOT EXISTS
(SELECT 1
FROM GESTAOCARGAS.LOGVALIDACAO LV
WHERE LV.ID_PROCESSAMENTO = CT.ID_PROCESSAMENTO
AND LV.ID_REGISTRO = CT.ID_REGISTRO
AND LV.CRITICIDADE =
ERRO_VALIDACAO)) LOOP
SELECT COUNT(*)
INTO V_COUNT
FROM GESTAOCARGAS.GC_ACCOUNT AC
WHERE AC.ID_CONTRATO = TI.ID_CONTRATO AND AC.ID_CLIENTE = TI.ID_CLIENTE;
IF V_COUNT > 0 THEN
UPDATE GESTAOCARGAS.GC_ACCOUNT AC
SET AC.IC_FNU = TI.IC_FINU,
AC.IC_FIES = TI.IC_FIES,
AC.DT_INICIO_CURSO = TI.DT_INICIO_CURSO,
AC.DT_FIM_CURSO = TI.DT_FIM_CURSO,
AC.DT_INICIO_MATRICULA = TI.DT_INICIO_MATRICULA,
AC.DT_FIM_MATRICULA = TI.DT_FIM_MATRICULA,
AC.TP_CURSO = TI.TP_CURSO,
AC.CD_CURSO = TI.COD_CURSO,
AC.NM_CURSO = TI.NM_CURSO,
AC.TP_MATRICULA = TI.TP_MATRICULA,
AC.MODALIDADE_MATRICULA = TI.COD_MODALIDADE_MATRICULA,
AC.CD_FILIAL = TI.COD_FILIAL,
AC.DESC_FILIAL = TI.DS_NOME_FILIAL,
AC.CNPJ_FILIAL = TI.CNPJ_FILIAL,
AC.ENDERECO_FILIAL = TI.END_FILIAL_LOGRADOURO,
AC.BAIRRO_FILIAL = TI.END_FILIAL_BAIRRO,
AC.CIDADE_FILIAL = TI.END_FILIAL_CIDADE,
AC.UF_FILIAL = TI.END_FILIAL_UF,
AC.CEP_FILIAL = TI.END_FILIAL_CEP,
AC.DESC_MATRIZ = TI.DS_MATRIZ,
AC.CNPJ_MATRIZ = TI.CNPJ_MATRIZ,
AC.ENDERECO_MATRIZ = TI.END_COMPLETO_MATRIZ,
AC.SITUACAO_CONTRATO = TI.ST_CONTRATO,
AC.MARCA_CONTRATO = TI.TP_MARCA_CONTRATO,
AC.SERIE_ACADEMICA = TI.COD_SERIE_ACADEMICA,
AC.SALDO_CREDITO = TI.VL_SALDO_CREDITO,
AC.DT_CADASTRO = TI.DT_CADASTRO,
AC.SISTEMA_ORIGEM = TI.SIS_ORIGEM,
AC.ST_PROCESSAMENTO = V_ST_PROCESSAMENTO,
AC.DT_MODIFICACAO = SYSDATE,
AC.US_MODIFICACAO = V_USR_KROTON,
AC.NM_RESPONSAVEL = TI.NM_RESPONSAVEL,
AC.CPF_RESPONSAVEL = TI.NO_CPFRESPONSAVEL,
AC.CNPJ_PRINCIPAL = TI.CNPJ_PRINCIPAL,
AC.DESC_PRINCIPAL = TI.DESC_PRINCIPAL,
AC.ID_CLIENTE_ORIGEM = TI.ID_CLIENTE_ORIGEM,
AC.ID_CONTRATO_ORIGEM = TI.ID_CONTRATO_ORIGEM,
AC.DESC_SITUACAO_CONTRATO = TI.DS_ST_CONTRATO,
AC.ID_SERVICE_NOW = TI.ID_SERVICE_NOW,
AC.NM_FANTASIA_UNIDADE = TI.NM_FANTASIA_UNIDADE,
AC.BP_ALUNO_SAP = TI.BP_ALUNO_SAP,
AC.IBGE_UF = TI.IBGE_UF,
AC.IBGE_MUNICIPIO = TI.IBGE_MUNICIPIO,
AC.CD_CONTA_CONTRATO = TI.CD_CONTA_CONTRATO,
AC.CD_EMPRESA_SAP = TI.CD_EMPRESA_SAP,
AC.CD_DIVISAO = TI.CD_DIVISAO,
AC.CD_CENTRO_LUCRO = TI.CD_CENTRO_LUCRO
WHERE AC.ID_CONTRATO = TI.ID_CONTRATO
AND AC.ID_CLIENTE = TI.ID_CLIENTE;
ELSE
INSERT INTO GESTAOCARGAS.GC_ACCOUNT AC
(AC.ID_CLIENTE,
AC.ID_CONTRATO,
AC.PRODUTO_PEP,
AC.IC_FNU,
AC.IC_FIES,
AC.DT_INICIO_CURSO,
AC.DT_FIM_CURSO,
AC.DT_INICIO_MATRICULA,
AC.DT_FIM_MATRICULA,
AC.TP_CURSO,
AC.CD_CURSO,
AC.NM_CURSO,
AC.TP_MATRICULA,
AC.MODALIDADE_MATRICULA,
AC.CD_FILIAL,
AC.DESC_FILIAL,
AC.CNPJ_FILIAL,
AC.ENDERECO_FILIAL,
AC.BAIRRO_FILIAL,
AC.CIDADE_FILIAL,
AC.UF_FILIAL,
AC.CEP_FILIAL,
AC.DESC_MATRIZ,
AC.CNPJ_MATRIZ,
AC.ENDERECO_MATRIZ,
AC.CLASSE_DEBITO,
AC.SCORE_COLLECTION,
AC.SCORE_GLOBAL,
AC.SCORE_ENGAJAMENTO,
AC.DESC_CLUSTER,
AC.SITUACAO_CONTRATO,
AC.MARCA_CONTRATO,
AC.SERIE_ACADEMICA,
AC.SALDO_CREDITO,
AC.DT_CADASTRO,
AC.SISTEMA_ORIGEM,
AC.BOLETAGEM,
AC.ORIGEM,
AC.SAFRA,
AC.IC_ASSINATURA_CONTRATO,
AC.IC_PGTO_TITULO_POS_FORMADO,
AC.ST_PEP,
AC.DEFINICAO_ACAO,
AC.IC_ACEITE,
AC.MES_EVASAO,
AC.MGP_EVADIDO,
AC.DT_MODIFICACAO_ORIGEM,
AC.ST_PROCESSAMENTO,
AC.DT_CRIACAO,
AC.US_CRIACAO,
AC.DT_MODIFICACAO,
AC.US_MODIFICACAO,
AC.NM_RESPONSAVEL,
AC.CPF_RESPONSAVEL,
AC.CNPJ_PRINCIPAL,
AC.DESC_PRINCIPAL,
AC.ID_CLIENTE_ORIGEM,
AC.ID_CONTRATO_ORIGEM,
AC.DESC_SITUACAO_CONTRATO,
AC.ID_SERVICE_NOW,
AC.NM_FANTASIA_UNIDADE,
AC.BP_ALUNO_SAP,
AC.IBGE_UF,
AC.IBGE_MUNICIPIO,
AC.CD_CONTA_CONTRATO,
AC.CD_EMPRESA_SAP,
AC.CD_DIVISAO,
AC.CD_CENTRO_LUCRO)
VALUES
(TI.ID_CLIENTE,
TI.ID_CONTRATO,
TI.NM_PRODUTO_PEP,
TI.IC_FINU,
TI.IC_FIES,
TI.DT_INICIO_CURSO,
TI.DT_FIM_CURSO,
TI.DT_INICIO_MATRICULA,
TI.DT_FIM_MATRICULA,
TI.TP_CURSO,
TI.COD_CURSO,
TI.NM_CURSO,
TI.TP_MATRICULA,
TI.COD_MODALIDADE_MATRICULA,
TI.COD_FILIAL,
TI.DS_NOME_FILIAL,
TI.CNPJ_FILIAL,
TI.END_FILIAL_LOGRADOURO,
TI.END_FILIAL_BAIRRO,
TI.END_FILIAL_CIDADE,
TI.END_FILIAL_UF,
TI.END_FILIAL_CEP,
TI.DS_MATRIZ,
TI.CNPJ_MATRIZ,
TI.END_COMPLETO_MATRIZ,
NULL,
NULL,
NULL,
NULL,
NULL,
TI.ST_CONTRATO,
TI.TP_MARCA_CONTRATO,
TI.COD_SERIE_ACADEMICA,
TI.VL_SALDO_CREDITO,
TI.DT_CADASTRO,
TI.SIS_ORIGEM,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
V_ST_PROCESSAMENTO,
SYSDATE,
V_USR_KROTON,
SYSDATE,
V_USR_KROTON,
TI.NM_RESPONSAVEL,
TI.NO_CPFRESPONSAVEL,
TI.CNPJ_PRINCIPAL,
TI.DESC_PRINCIPAL,
TI.ID_CLIENTE_ORIGEM,
TI.ID_CONTRATO_ORIGEM,
TI.DS_ST_CONTRATO,
TI.ID_SERVICE_NOW,
TI.NM_FANTASIA_UNIDADE,
TI.BP_ALUNO_SAP,
TI.IBGE_UF,
TI.IBGE_MUNICIPIO,
TI.CD_CONTA_CONTRATO,
TI.CD_EMPRESA_SAP,
TI.CD_DIVISAO,
TI.CD_CENTRO_LUCRO
);
END IF;
END LOOP;
EXCEPTION
WHEN OTHERS THEN
SP_LOG_INICIO_PROCESSO(P_IDPROCESSAMENTO => P_IDPROCESSAMENTO,
P_IDREGRA => P_IDREGRA,
P_DTINICIO => SYSDATE,
P_STATUSPROCESSAMENTO => 'ATUALIZADOR',
P_DESCRICAO => 'Erro ao ATUALIZAR GC_ACCOUNT
' ||
' - ' || SQLERRM,
P_COMMIT => 'N',
P_IDLOG => V_IDLOG,
P_OK => V_OK,
P_RETORNO => V_RETORNO);
END SP_ATU_CONTRATO;
PROCEDURE SP_ATU_CONTRATO_POLITICAS(P_IDPROCESSAMENTO IN
GESTAOCARGAS.PROCESSAMENTO.IDPROCESSAMENTO%TYPE,
P_IDREGRA IN
GESTAOCARGAS.REGRA.IDREGRA%TYPE) IS
V_OK VARCHAR(10);
V_RETORNO VARCHAR(1010);
V_IDLOG NUMBER;
BEGIN
UPDATE GESTAOCARGAS.GC_ACCOUNT AC
SET POLITICA_PADRAO_S_EMPAC = NULL,
POLITICA_N1_S_EMPAC = NULL,
POLITICA_N2_S_EMPAC = NULL,
POLITICA_N3_S_EMPAC = NULL,
POLITICA_PADRAO_C_EMPAC = NULL,
POLITICA_N1_C_EMPAC = NULL,
POLITICA_N2_C_EMPAC = NULL,
POLITICA_N3_C_EMPAC = NULL
WHERE NOT EXISTS (SELECT 1
FROM GESTAOCARGAS.POLICY_FILE_DATA PD,
GESTAOCARGAS.POLICY_FILE PF
WHERE PD.ID_ARQUIVO = PF.ID_ARQUIVO
AND PF.DT_PROCESSAMENTO =
(SELECT MAX(DT_PROCESSAMENTO) FROM GESTAOCARGAS.POLICY_FILE)
AND AC.ID_CONTRATO_ORIGEM = PD.ID_CONTRATO)
AND (POLITICA_N1_S_EMPAC IS NOT NULL OR
POLITICA_N2_S_EMPAC IS NOT NULL OR
POLITICA_N3_S_EMPAC IS NOT NULL OR
POLITICA_PADRAO_C_EMPAC IS NOT NULL OR
POLITICA_N1_C_EMPAC IS NOT NULL OR
POLITICA_N2_C_EMPAC IS NOT NULL OR
POLITICA_N3_C_EMPAC IS NOT NULL);
EXCEPTION
WHEN OTHERS THEN
SP_LOG_INICIO_PROCESSO(P_IDPROCESSAMENTO => P_IDPROCESSAMENTO,
P_IDREGRA => P_IDREGRA,
P_DTINICIO => SYSDATE,
P_STATUSPROCESSAMENTO => 'ATUALIZADOR',
P_DESCRICAO => 'Erro ao
SP_ATU_CONTRATO_POLITICAS ' ||
' - ' || SQLERRM,
P_COMMIT => 'N',
P_IDLOG => V_IDLOG,
P_OK => V_OK,
P_RETORNO => V_RETORNO);
END SP_ATU_CONTRATO_POLITICAS;
PROCEDURE SP_ATU_ACERTO(P_IDPROCESSAMENTO IN
GESTAOCARGAS.PROCESSAMENTO.IDPROCESSAMENTO%TYPE,
P_IDREGRA IN GESTAOCARGAS.REGRA.IDREGRA%TYPE) IS
V_OK VARCHAR(10);
V_RETORNO VARCHAR(1010);
V_IDLOG NUMBER;
BEGIN
UPDATE GESTAOCARGAS.PAGAMENTOS_OUT P
SET FL_DUPLICIDADE = 'S'
WHERE EXISTS (SELECT 1
FROM GESTAOCARGAS.ACERTO_STG A
WHERE UPPER(A.ST_PARCELAMENTO) = 'CANCELLED'
AND P.ID_PARCELAMENTO = A.ID_PARCELAMENTO
AND A.ID_PROCESSAMENTO = P_IDPROCESSAMENTO)
AND P.ST_PROCESSAMENTO = 1
AND P.NO_PARCELA = 1 -- DEAG-11426 - Comentado pois todo pagamento deve
descer para os acadêmicos, cancelado ou não
AND P.TP_PAGAMENTO != 'Back Office';
EXCEPTION
WHEN OTHERS THEN
SP_LOG_INICIO_PROCESSO(P_IDPROCESSAMENTO => P_IDPROCESSAMENTO,
P_IDREGRA => P_IDREGRA,
P_DTINICIO => sysdate,
P_STATUSPROCESSAMENTO => 'ATUALIZADOR',
P_DESCRICAO => 'Erro ao ATUALIZAR ACERTO_OUT
' ||
' - ' || SQLERRM,
P_COMMIT => 'N',
P_IDLOG => v_idlog,
P_OK => v_ok,
P_RETORNO => v_retorno);
END SP_ATU_ACERTO;
PROCEDURE SP_ATU_NOVAS(P_IDPROCESSAMENTO IN
GESTAOCARGAS.PROCESSAMENTO.IDPROCESSAMENTO%TYPE,
P_IDREGRA IN GESTAOCARGAS.REGRA.IDREGRA%TYPE) IS
V_OK VARCHAR(10);
V_RETORNO VARCHAR(1010);
V_IDLOG NUMBER;
BEGIN
PROCEDURE SP_ATU_ORIGINAIS(P_IDPROCESSAMENTO IN
GESTAOCARGAS.PROCESSAMENTO.IDPROCESSAMENTO%TYPE,
P_IDREGRA IN GESTAOCARGAS.REGRA.IDREGRA%TYPE)
IS
V_OK VARCHAR(10);
V_RETORNO VARCHAR(1010);
V_IDLOG NUMBER;
BEGIN
PROCEDURE SP_ATU_PERMUTA_CLIENTE(P_IDPROCESSAMENTO IN
GESTAOCARGAS.PROCESSAMENTO.IDPROCESSAMENTO%TYPE,
P_IDREGRA IN GESTAOCARGAS.REGRA.IDREGRA%TYPE)
IS
V_OK VARCHAR(10);
V_RETORNO VARCHAR(1010);
V_IDLOG NUMBER;
CURSOR C1 IS
SELECT CL.ID_CLIENTE_ORIGEM,
CL.ST_PROCESSAMENTO,
CL.DT_MODIFICACAO,
CL.US_MODIFICACAO,
CL.ID_CLIENTE,
P.ID_CLIENTE_NOVO
FROM GESTAOCARGAS.GC_CUSTOMER CL
,GESTAOCARGAS.PERMUTA_INT P
WHERE CL.ID_CLIENTE_ORIGEM = TO_CHAR(P.ID_CLIENTE_ANTIGO)
AND P.ID_PROCESSAMENTO = P_IDPROCESSAMENTO
AND P.ST_PROCESSAMENTO = 2
AND CL.ID_CLIENTE LIKE 'OLIMPO%'
AND P.DATA_PERMUTA =
(SELECT MAX(DATA_PERMUTA)
FROM GESTAOCARGAS.PERMUTA_INT P1
WHERE P1.ID_CLIENTE_ANTIGO = P.ID_CLIENTE_ANTIGO
AND P1.ID_PROCESSAMENTO = P.ID_PROCESSAMENTO)
AND NOT EXISTS
(SELECT 1
FROM GESTAOCARGAS.LOGVALIDACAO LP
WHERE LP.ID_PROCESSAMENTO = P.ID_PROCESSAMENTO
AND LP.ID_REGISTRO = P.ID_REGISTRO
AND LP.CRITICIDADE = ERRO_VALIDACAO)
ORDER BY P.DATA_PERMUTA;
Reg_Cli C1%Rowtype;
BEGIN
OPEN C1;
LOOP
FETCH C1
INTO Reg_Cli;
EXIT WHEN
C1%NotFound;
UPDATE GESTAOCARGAS.GC_CUSTOMER
SET ID_CLIENTE_ORIGEM = TO_CHAR(Reg_Cli.ID_CLIENTE_NOVO),
ST_PROCESSAMENTO = V_ST_PROCESSAMENTO,
DT_MODIFICACAO = SYSDATE,
US_MODIFICACAO = V_USR_KROTON
WHERE ID_CLIENTE = Reg_Cli.ID_CLIENTE;
COMMIT;
END LOOP;
CLOSE C1;
EXCEPTION
WHEN OTHERS THEN
SP_LOG_INICIO_PROCESSO(P_IDPROCESSAMENTO => P_IDPROCESSAMENTO,
P_IDREGRA => P_IDREGRA,
P_DTINICIO => sysdate,
P_STATUSPROCESSAMENTO => 'ATUALIZADOR',
P_DESCRICAO => 'Erro ao ATUALIZAR GC_CONTACT ' ||
' - ' || SQLERRM,
P_COMMIT => 'N',
P_IDLOG => v_idlog,
P_OK => v_ok,
P_RETORNO => v_retorno);
END SP_ATU_PERMUTA_CLIENTE;
PROCEDURE SP_ATU_PERMUTA_CONTRATO(P_IDPROCESSAMENTO IN
GESTAOCARGAS.PROCESSAMENTO.IDPROCESSAMENTO%TYPE,
P_IDREGRA IN GESTAOCARGAS.REGRA.IDREGRA%TYPE)
IS
V_OK VARCHAR(10);
V_RETORNO VARCHAR(1010);
V_IDLOG NUMBER;
CURSOR C1 IS
SELECT PI.ID_CLIENTE_ANTIGO,
PI.ID_CLIENTE_NOVO,
PI.CD_CURSO_NOVO,
PI.CD_FILIAL_NOVO,
PI.SIS_ORIGEM,
A.ID_CLIENTE,
A.ID_CONTRATO,
PI.ID_REGISTRO
FROM GESTAOCARGAS.PERMUTA_INT PI,GESTAOCARGAS.GC_ACCOUNT A
WHERE TO_CHAR(PI.ID_CLIENTE_ANTIGO) = A.ID_CLIENTE_ORIGEM
AND LPAD(PI.ID_CLIENTE_ANTIGO,10,'0')||LPAD(PI.CD_CURSO_ANTIGO,6,'0') =
A.ID_CONTRATO_ORIGEM
AND PI.ID_PROCESSAMENTO = P_IDPROCESSAMENTO
AND A.ID_CLIENTE LIKE 'OLIMPO%'
AND PI.DATA_PERMUTA =
(SELECT MAX(DATA_PERMUTA)
FROM GESTAOCARGAS.PERMUTA_INT P1
WHERE P1.ID_CLIENTE_ANTIGO = PI.ID_CLIENTE_ANTIGO
AND P1.ID_PROCESSAMENTO = PI.ID_PROCESSAMENTO)
AND NOT EXISTS
(SELECT 1
FROM GESTAOCARGAS.LOGVALIDACAO LP
WHERE LP.ID_PROCESSAMENTO = PI.ID_PROCESSAMENTO
AND LP.ID_REGISTRO = PI.ID_REGISTRO
AND LP.CRITICIDADE = ERRO_VALIDACAO)
ORDER BY PI.DATA_PERMUTA;
Reg_Cli C1%Rowtype;
BEGIN
OPEN C1;
LOOP
FETCH C1
INTO Reg_Cli;
EXIT WHEN
C1%NotFound;
UPDATE GESTAOCARGAS.GC_ACCOUNT
SET ID_CLIENTE_ORIGEM = TO_CHAR(Reg_Cli.ID_CLIENTE_NOVO),
ID_CONTRATO_ORIGEM = LPAD(Reg_Cli.ID_CLIENTE_NOVO, 10,0)||
lPAD(Reg_Cli.CD_CURSO_NOVO,6,0),
CD_FILIAL = Reg_Cli.CD_FILIAL_NOVO,
CD_CURSO = Reg_Cli.CD_CURSO_NOVO,
ID_SERVICE_NOW = Reg_Cli.SIS_ORIGEM || '-' ||
Reg_Cli.CD_FILIAL_NOVO || '-' || Reg_Cli.ID_CLIENTE_NOVO || '-' ||
Reg_Cli.CD_CURSO_NOVO,
ST_PROCESSAMENTO = V_ST_PROCESSAMENTO,
DT_MODIFICACAO = SYSDATE,
US_MODIFICACAO = V_USR_KROTON
WHERE ID_CLIENTE = Reg_Cli.ID_CLIENTE
AND ID_CONTRATO = Reg_Cli.ID_CONTRATO;
END LOOP;
COMMIT;
CLOSE C1;
EXCEPTION
WHEN OTHERS THEN
SP_LOG_INICIO_PROCESSO(P_IDPROCESSAMENTO => P_IDPROCESSAMENTO,
P_IDREGRA => P_IDREGRA,
P_DTINICIO => sysdate,
P_STATUSPROCESSAMENTO => 'ATUALIZADOR',
P_DESCRICAO => 'Erro ao ATUALIZAR GC_CONTACT ' ||
' - ' || SQLERRM,
P_COMMIT => 'N',
P_IDLOG => v_idlog,
P_OK => v_ok,
P_RETORNO => v_retorno);
END SP_ATU_PERMUTA_CONTRATO;
PROCEDURE SP_ATU_PERMUTA_OUT(P_IDPROCESSAMENTO IN
GESTAOCARGAS.PROCESSAMENTO.IDPROCESSAMENTO%TYPE,
P_IDREGRA IN GESTAOCARGAS.REGRA.IDREGRA%TYPE) IS
V_OK VARCHAR(10);
V_RETORNO VARCHAR(1010);
V_IDLOG NUMBER;
CURSOR C1 IS
SELECT PI.ID_CLIENTE_ANTIGO,
PI.ID_CLIENTE_NOVO,
PI.CD_CURSO_NOVO,
PI.CD_FILIAL_NOVO,
PI.SIS_ORIGEM,
A.ID_CLIENTE,
A.ID_CONTRATO,
PI.ID_REGISTRO
FROM GESTAOCARGAS.PERMUTA_INT PI
INNER JOIN GESTAOCARGAS.ACERTO_OUT A ON A.ID_CLIENTE_ORIGEM =
TO_CHAR(PI.ID_CLIENTE_ANTIGO)
AND LPAD(PI.ID_CLIENTE_ANTIGO,10,'0')||LPAD(PI.CD_CURSO_ANTIGO,6,'0') =
A.ID_CONTRATO_ORIGEM
INNER JOIN GESTAOCARGAS.NOVAS_OUT N ON N.ID_CLIENTE_ORIGEM =
TO_CHAR(PI.ID_CLIENTE_ANTIGO)
AND LPAD(PI.ID_CLIENTE_ANTIGO,10,'0')||LPAD(PI.CD_CURSO_ANTIGO,6,'0') =
N.ID_CONTRATO_ORIGEM
INNER JOIN GESTAOCARGAS.ORIGINAIS_OUT O ON O.ID_CLIENTE_ORIGEM =
TO_CHAR(PI.ID_CLIENTE_ANTIGO)
AND LPAD(PI.ID_CLIENTE_ANTIGO,10,'0')||LPAD(PI.CD_CURSO_ANTIGO,6,'0') =
O.ID_CONTRATO_ORIGEM
WHERE TO_CHAR(PI.ID_CLIENTE_ANTIGO) = A.ID_CLIENTE_ORIGEM
AND PI.ID_PROCESSAMENTO = P_IDPROCESSAMENTO
AND PI.DATA_PERMUTA =
(SELECT MAX(DATA_PERMUTA)
FROM GESTAOCARGAS.PERMUTA_INT P1
WHERE P1.ID_CLIENTE_ANTIGO = PI.ID_CLIENTE_ANTIGO
AND P1.ID_PROCESSAMENTO = PI.ID_PROCESSAMENTO)
AND NOT EXISTS
(SELECT 1
FROM GESTAOCARGAS.LOGVALIDACAO LP
WHERE LP.ID_PROCESSAMENTO = PI.ID_PROCESSAMENTO
AND LP.ID_REGISTRO = PI.ID_REGISTRO
AND LP.CRITICIDADE = ERRO_VALIDACAO)
ORDER BY PI.DATA_PERMUTA;
Reg_Cli C1%Rowtype;
BEGIN
OPEN C1;
LOOP
FETCH C1
INTO Reg_Cli;
EXIT WHEN
C1%NotFound;
UPDATE GESTAOCARGAS.ACERTO_OUT
SET ID_CLIENTE_ORIGEM = TO_CHAR(Reg_Cli.ID_CLIENTE_NOVO),
ID_CONTRATO_ORIGEM = LPAD(Reg_Cli.ID_CLIENTE_NOVO, 10,0)||
lPAD(Reg_Cli.CD_CURSO_NOVO,6,0),
CD_FILIAL = Reg_Cli.CD_FILIAL_NOVO,
DT_MODIFICACAO = SYSDATE,
US_MODIFICACAO = V_USR_KROTON
WHERE ID_CLIENTE = Reg_Cli.ID_CLIENTE
AND ID_CONTRATO = Reg_Cli.ID_CONTRATO;
UPDATE GESTAOCARGAS.NOVAS_OUT
SET ID_CLIENTE_ORIGEM = TO_CHAR(Reg_Cli.ID_CLIENTE_NOVO),
ID_CONTRATO_ORIGEM = LPAD(Reg_Cli.ID_CLIENTE_NOVO, 10,0)||
lPAD(Reg_Cli.CD_CURSO_NOVO,6,0),
DT_MODIFICACAO = SYSDATE,
US_MODIFICACAO = V_USR_KROTON
WHERE ID_CLIENTE = Reg_Cli.ID_CLIENTE
AND ID_CONTRATO = Reg_Cli.ID_CONTRATO;
UPDATE GESTAOCARGAS.ORIGINAIS_OUT
SET ID_CLIENTE_ORIGEM = TO_CHAR(Reg_Cli.ID_CLIENTE_NOVO),
ID_CONTRATO_ORIGEM = LPAD(Reg_Cli.ID_CLIENTE_NOVO, 10,0)||
lPAD(Reg_Cli.CD_CURSO_NOVO,6,0),
DT_MODIFICACAO = SYSDATE,
US_MODIFICACAO = V_USR_KROTON
WHERE ID_CLIENTE = Reg_Cli.ID_CLIENTE
AND ID_CONTRATO = Reg_Cli.ID_CONTRATO;
UPDATE GESTAOCARGAS.PERMUTA_INT
SET ST_PROCESSAMENTO = 3
WHERE ID_REGISTRO = Reg_Cli.ID_REGISTRO;
END LOOP;
COMMIT;
CLOSE C1;
EXCEPTION
WHEN OTHERS THEN
SP_LOG_INICIO_PROCESSO(P_IDPROCESSAMENTO => P_IDPROCESSAMENTO,
P_IDREGRA => P_IDREGRA,
P_DTINICIO => sysdate,
P_STATUSPROCESSAMENTO => 'ATUALIZADOR',
P_DESCRICAO => 'Erro ao ATUALIZAR GC_CONTACT ' ||
' - ' || SQLERRM,
P_COMMIT => 'N',
P_IDLOG => v_idlog,
P_OK => v_ok,
P_RETORNO => v_retorno);
END SP_ATU_PERMUTA_OUT;
PROCEDURE SP_ATU_PAGAMENTO(P_IDPROCESSAMENTO IN
GESTAOCARGAS.PROCESSAMENTO.IDPROCESSAMENTO%TYPE,
P_IDREGRA IN GESTAOCARGAS.REGRA.IDREGRA%TYPE) IS
V_OK VARCHAR(10);
V_RETORNO VARCHAR(1010);
V_IDLOG NUMBER;
BEGIN
INSERT INTO GESTAOCARGAS.PAGAMENTOS_OUT
(sis_origem,
id_parcelamento,
no_parcela,
tp_pagamento,
t_01_cd_banco_compensa,
t_02_no_lote_retorno,
t_03_tp_registro_retorno,
t_04_nr_seq_lote_retorno,
t_05_cd_segmento_detalhe,
t_06_ds_reservado,
t_07_cd_movimento,
t_08_cd_ag_benefiriciario,
t_09_cd_digito_ag_beneficiario,
t_10_nr_conta_corrente,
t_11_cd_digito_conta,
t_12_ds_reservado,
t_13_nr_id_titulo_bnco,
t_14_cd_carteira,
t_15_nr_documento_cobranca,
t_16_dt_vencimeno,
t_17_vl_nominal_titulo,
t_18_nr_banco_cobradora,
t_19_cod_ag_cobradora,
t_20_cd_digito_ag_cedente,
t_21_nr_titulo_empresa,
t_22_cd_moeda,
t_23_tp_inscricao_pagador,
t_24_nr_inscricao_pagador,
t_25_nm_pagador,
t_26_cd_conta_cobranca,
t_27_vl_tarifa_custas,
t_28_id_operacao,
t_29_ds_reservado,
u_01_cd_banco_compensacao,
u_02_lt_servico,
u_03_tp_registtro_servico,
u_04_nr_seq_lote,
u_05_cd_segmento_detalhe,
u_06_ds_reservado,
u_07_cd_movimento_ocorrencia,
u_08_vl_juro_multa_encargo,
u_09_vl_desconto_concediro,
u_10_vl_abatido,
u_11_vl_iof_recolhido,
u_12_vl_pago_pagador,
u_13_vl_liquito_creditado,
u_14_vl_outras_despesas,
u_15_vl_outros_creditos,
u_16_dt_ocorrencia,
u_17_dt_efetivacao_credito,
u_18_cd_ocorrencia_pagador,
u_19_dt_ocorrencia_pagador,
u_20_vl_ocorrencia_pagador,
u_21_ds_complemento_pagador,
u_22_cd_banco_compensacao,
u_23_ds_reservado,
st_processamento,
dt_criacao,
us_criacao,
dt_modificacao,
us_modificacao,
id_vendor,
vl_cartao_1,
nm_adquerente_1,
nr_tid_1,
nr_nsu_1,
nr_authcode_1,
vl_cartao_2,
nm_adquerente_2,
nr_tid_2,
nr_nsu_2,
nr_authcode_2,
QT_parcelas,
cd_order_reference,
fl_duplicidade,
ds_channel_id ,
ds_channel_name,
ds_store_id,
NM_ARQUIVO_ORIGEM,
QR_CODE,
QR_CODE_URL,
VENDOR_TRANSACTION_ID,
TRANSACTION_ID)
SELECT sis_origem,
id_parcelamento,
no_parcela,
tp_pagamento,
t_01_cd_banco_compensa,
t_02_no_lote_retorno,
t_03_tp_registro_retorno,
t_04_nr_seq_lote_retorno,
t_05_cd_segmento_detalhe,
t_06_ds_reservado,
t_07_cd_movimento,
t_08_cd_ag_benefiriciario,
t_09_cd_digito_ag_beneficiario,
t_10_nr_conta_corrente,
t_11_cd_digito_conta,
t_12_ds_reservado,
t_13_nr_id_titulo_bnco,
t_14_cd_carteira,
t_15_nr_documento_cobranca,
t_16_dt_vencimeno,
t_17_vl_nominal_titulo,
t_18_nr_banco_cobradora,
t_19_cod_ag_cobradora,
t_20_cd_digito_ag_cedente,
t_21_nr_titulo_empresa,
t_22_cd_moeda,
t_23_tp_inscricao_pagador,
t_24_nr_inscricao_pagador,
t_25_nm_pagador,
t_26_cd_conta_cobranca,
t_27_vl_tarifa_custas,
t_28_id_operacao,
t_29_ds_reservado,
u_01_cd_banco_compensacao,
u_02_lt_servico,
u_03_tp_registtro_servico,
u_04_nr_seq_lote,
u_05_cd_segmento_detalhe,
u_06_ds_reservado,
u_07_cd_movimento_ocorrencia,
u_08_vl_juro_multa_encargo,
u_09_vl_desconto_concediro,
u_10_vl_abatido,
u_11_vl_iof_recolhido,
u_12_vl_pago_pagador,
u_13_vl_liquito_creditado,
u_14_vl_outras_despesas,
u_15_vl_outros_creditos,
u_16_dt_ocorrencia,
u_17_dt_efetivacao_credito,
u_18_cd_ocorrencia_pagador,
u_19_dt_ocorrencia_pagador,
u_20_vl_ocorrencia_pagador,
u_21_ds_complemento_pagador,
u_22_cd_banco_compensacao,
u_23_ds_reservado,
st_processamento,
dt_criacao,
us_criacao,
dt_modificacao,
us_modificacao,
id_vendor,
vl_cartao_1,
nm_adquerente_1,
nr_tid_1,
nr_nsu_1,
nr_authcode_1,
vl_cartao_2,
nm_adquerente_2,
nr_tid_2,
nr_nsu_2,
nr_authcode_2,
QT_parcelas,
cd_order_reference,
fl_duplicidade,
ds_channel_id ,
ds_channel_name,
ds_store_id,
NM_ARQUIVO_ORIGEM,
QR_CODE,
QR_CODE_URL,
VENDOR_TRANSACTION_ID,
PG1.TRANSACTION_ID
FROM GESTAOCARGAS.PAGAMENTOS_STG PG1
WHERE PG1.ID_PROCESSAMENTO = P_IDPROCESSAMENTO
AND NOT EXISTS
(SELECT 1
FROM GESTAOCARGAS.LOGVALIDACAO LV
WHERE LV.ID_PROCESSAMENTO = PG1.ID_PROCESSAMENTO
AND LV.ID_REGISTRO = PG1.ID_REGISTRO
AND LV.CRITICIDADE = ERRO_VALIDACAO);
EXCEPTION
WHEN OTHERS THEN
SP_LOG_INICIO_PROCESSO(P_IDPROCESSAMENTO => P_IDPROCESSAMENTO,
P_IDREGRA => P_IDREGRA,
P_DTINICIO => SYSDATE,
P_STATUSPROCESSAMENTO => 'ATUALIZADOR',
P_DESCRICAO => 'Erro ao ATUALIZAR
PAGAMENTOS_OUT ' ||
' - ' || SQLERRM,
P_COMMIT => 'N',
P_IDLOG => V_IDLOG,
P_OK => V_OK,
P_RETORNO => V_RETORNO);
END SP_ATU_PAGAMENTO;
PROCEDURE SP_ATU_PAGAMENTO_COLCHAO(P_IDPROCESSAMENTO IN
GESTAOCARGAS.PROCESSAMENTO.IDPROCESSAMENTO%TYPE,
P_IDREGRA IN GESTAOCARGAS.REGRA.IDREGRA
%TYPE) IS
V_OK VARCHAR(10);
V_RETORNO VARCHAR(1010);
V_IDLOG NUMBER;
BEGIN
END SP_ATU_PAGAMENTO_COLCHAO;
PROCEDURE SP_ATU_PAGAMENTOS_CREDITO(P_ID_PROCESSAMENTO IN
GESTAOCARGAS.ACERTO_STG.ID_PROCESSAMENTO%TYPE,
P_IDREGRA IN
GESTAOCARGAS.REGRA.IDREGRA%TYPE) IS
V_CURSOR_INT TCURSOR;
V_IDLOG NUMBER;
V_ID_PROCESSAMENTO INT;
V_RETORNO VARCHAR2(100);
V_OK VARCHAR2(1);
BEGIN
BEGIN
LOOP
FETCH V_CURSOR_INT BULK COLLECT
INTO V_LIST_DADOS_PGTO LIMIT FL_BULK_LIMIT;
EXIT WHEN V_LIST_DADOS_PGTO.COUNT = 0;
END LOOP;
EXCEPTION
WHEN OTHERS THEN
SP_LOG_INICIO_PROCESSO(P_IDPROCESSAMENTO => V_ID_PROCESSAMENTO,
P_IDREGRA => P_IDREGRA,
P_DTINICIO => SYSDATE,
P_STATUSPROCESSAMENTO => 'INTEGRADOR',
P_DESCRICAO => 'ERRO NA GERAÇÃO DE
PAGAMENTO POR CRÉDITO: ' ||
SQLERRM,
P_COMMIT => 'N',
P_IDLOG => V_IDLOG,
P_OK => V_OK,
P_RETORNO => V_RETORNO);
END;
END SP_ATU_PAGAMENTOS_CREDITO;
FUNCTION RET_IDPROCESSAMENTO(P_NMSISTEMA IN
GESTAOCARGAS.SISTEMAORIGEM.NMSISTEMA%TYPE,
P_CDTIPOINFORMACAO IN
GESTAOCARGAS.TIPOINFORMACAO.CDTIPOINFORMACAO%TYPE,
P_NMPROCESSO IN
GESTAOCARGAS.PROCESSO.NMPROCESSO%TYPE)
RETURN NUMBER IS
v_idprocessamento GESTAOCARGAS.PROCESSO.IDPROCESSO%type;
BEGIN
SELECT P.IDPROCESSO
INTO v_idprocessamento
FROM GESTAOCARGAS.SISTEMAORIGEM SO
INNER JOIN GESTAOCARGAS.SISTEMATIPOINFORMACAO STI
ON STI.IDSISTEMA = SO.IDSISTEMA
INNER JOIN GESTAOCARGAS.TIPOINFORMACAO TI
ON TI.IDTIPOINFORMACAO = STI.IDTIPOINFORMACAO
INNER JOIN GESTAOCARGAS.PROCESSOREGRASISTEMA PRS
ON PRS.IDSISTEMA = SO.IDSISTEMA
INNER JOIN GESTAOCARGAS.PROCESSO P
ON P.IDPROCESSO = PRS.IDPROCESSO
INNER JOIN GESTAOCARGAS.REGRA R
ON R.IDREGRA = PRS.IDREGRA
AND R.IDTIPOINFORMACAO = TI.IDTIPOINFORMACAO
WHERE SO.NMSISTEMA = P_NMSISTEMA
AND TI.CDTIPOINFORMACAO = P_CDTIPOINFORMACAO
AND P.NMPROCESSO = P_NMPROCESSO
AND SO.IC_ATIVO = 'S'
AND TI.IC_ATIVO = 'S'
AND PRS.IC_ATIVO = 'S'
AND P.IC_ATIVO = 'S'
AND R.IC_ATIVO = 'S';
return v_idprocessamento;
exception
when others then
return 0;
END RET_IDPROCESSAMENTO;
COMMIT;
end SP_INTEGRA_SISTEMA;
-----------------------------------------------------------------------------------
-----------------------
-- REGION : COMPLEMENTACAO
-- OBJETIVO: SUBSISTEMA RAID
-- EQUIPE : EAGLES - PI10.SP03
-----------------------------------------------------------------------------------
-----------------------
PROCEDURE SP_COMP_CLIENTE_MASCARAS(P_IDPROCESSAMENTO IN
GESTAOCARGAS.PROCESSAMENTO.IDPROCESSAMENTO%TYPE,
P_IDREGRA IN
GESTAOCARGAS.REGRA.IDREGRA%TYPE) IS
V_OK VARCHAR2(1);
V_RETORNO VARCHAR2(100);
V_IDLOG NUMBER;
BEGIN
UPDATE GESTAOCARGAS.CLIENTES_STG
SET NO_CPFCNPJ = LPAD(REGEXP_REPLACE(NO_CPFCNPJ, '[^0-9]', ''),11,'0'),
NO_RG = REGEXP_REPLACE(NO_RG, '[^0-9]', '')
WHERE ID_PROCESSAMENTO = P_IDPROCESSAMENTO;
EXCEPTION
WHEN OTHERS THEN
SP_LOG_INICIO_PROCESSO(P_IDPROCESSAMENTO => P_IDPROCESSAMENTO,
P_IDREGRA => P_IDREGRA,
P_DTINICIO => sysdate,
P_STATUSPROCESSAMENTO => 'COMPLEMENTADOR',
P_DESCRICAO => 'Erro ao ATUALIZAR
CLIENTES_STG ' ||
' - ' || sqlerrm,
P_COMMIT => 'N',
P_IDLOG => v_idlog,
P_OK => v_ok,
P_RETORNO => v_retorno);
END SP_COMP_CLIENTE_MASCARAS;
PROCEDURE SP_COMP_CLIENTE_NORMALIZA(P_IDPROCESSAMENTO IN
GESTAOCARGAS.PROCESSAMENTO.IDPROCESSAMENTO%TYPE,
P_IDREGRA IN
GESTAOCARGAS.REGRA.IDREGRA%TYPE) IS
V_OK VARCHAR2(1);
V_RETORNO VARCHAR2(100);
V_IDLOG NUMBER;
BEGIN
UPDATE GESTAOCARGAS.CLIENTES_STG CLI
SET IC_SEXO = NVL((SELECT SEX.PADRAO
FROM GESTAOCARGAS.NORMATIZA_STG SEX
WHERE UPPER(CLI.IC_SEXO) = UPPER(SEX.CONTEUDO)
AND ROWNUM = 1
AND SEX.DOMINIO = 'SEXO_CLIENTE'),
IC_SEXO),
TP_PESSOA = NVL((SELECT PES.PADRAO
FROM GESTAOCARGAS.NORMATIZA_STG PES
WHERE UPPER(CLI.TP_PESSOA) = UPPER(PES.CONTEUDO)
AND ROWNUM = 1
AND PES.DOMINIO = 'TIPO_PESSOA'),
TP_PESSOA),
IC_ESTADOCIVIL = NVL((SELECT PES.PADRAO
FROM GESTAOCARGAS.NORMATIZA_STG PES
WHERE UPPER(CLI.IC_ESTADOCIVIL) =
UPPER(PES.CONTEUDO)
AND CLI.SIS_ORIGEM = PES.SIS_ORIGEM
AND ROWNUM = 1
AND PES.DOMINIO = 'ESTADO_CIVIL'),
IC_ESTADOCIVIL)
WHERE CLI.ID_PROCESSAMENTO = P_IDPROCESSAMENTO;
EXCEPTION
WHEN OTHERS THEN
SP_LOG_INICIO_PROCESSO(P_IDPROCESSAMENTO => P_IDPROCESSAMENTO,
P_IDREGRA => P_IDREGRA,
P_DTINICIO => sysdate,
P_STATUSPROCESSAMENTO => 'COMPLEMENTADOR',
P_DESCRICAO => 'Erro ao ATUALIZAR
CLIENTES_STG ' ||
' - ' || sqlerrm,
P_COMMIT => 'N',
P_IDLOG => v_idlog,
P_OK => v_ok,
P_RETORNO => v_retorno);
END SP_COMP_CLIENTE_NORMALIZA;
PROCEDURE SP_COMP_CONTATO_MASCARAS(P_IDPROCESSAMENTO IN
GESTAOCARGAS.PROCESSAMENTO.IDPROCESSAMENTO%TYPE,
P_IDREGRA IN
GESTAOCARGAS.REGRA.IDREGRA%TYPE) IS
V_OK VARCHAR2(1);
V_RETORNO VARCHAR2(100);
V_IDLOG NUMBER;
BEGIN
UPDATE GESTAOCARGAS.CONTATOS_STG
SET END_CEP = REGEXP_REPLACE(END_CEP, '[^0-9]', ''),
NO_TELEFONE_FIXO = REGEXP_REPLACE(NO_TELEFONE_FIXO, '[^0-9]', ''),
NO_TELEFONE_CELULAR = REGEXP_REPLACE(NO_TELEFONE_CELULAR, '[^0-9]', '')
WHERE ID_PROCESSAMENTO = P_IDPROCESSAMENTO;
EXCEPTION
WHEN OTHERS THEN
SP_LOG_INICIO_PROCESSO(P_IDPROCESSAMENTO => P_IDPROCESSAMENTO,
P_IDREGRA => P_IDREGRA,
P_DTINICIO => sysdate,
P_STATUSPROCESSAMENTO => 'COMPLEMENTADOR',
P_DESCRICAO => 'Erro ao ATUALIZAR
CONTATOS_STG ' ||
' - ' || sqlerrm,
P_COMMIT => 'N',
P_IDLOG => v_idlog,
P_OK => v_ok,
P_RETORNO => v_retorno);
END SP_COMP_CONTATO_MASCARAS;
PROCEDURE SP_COMP_CONTATO_NORMALIZA(P_IDPROCESSAMENTO IN
GESTAOCARGAS.PROCESSAMENTO.IDPROCESSAMENTO%TYPE,
P_IDREGRA IN
GESTAOCARGAS.REGRA.IDREGRA%TYPE) IS
V_OK VARCHAR2(1);
V_RETORNO VARCHAR2(100);
V_IDLOG NUMBER;
BEGIN
UPDATE GESTAOCARGAS.CONTATOS_STG CON
SET ST_CONTATO = NVL((SELECT TIC.PADRAO
FROM GESTAOCARGAS.NORMATIZA_STG TIC
WHERE UPPER(NVL(CON.ST_CONTATO,' ')) =
UPPER(TIC.CONTEUDO)
AND ROWNUM = 1
AND TIC.DOMINIO = 'SITUACAO_CONTATO'),
ST_CONTATO),
TP_CONTATO = NVL((SELECT TIC.PADRAO
FROM GESTAOCARGAS.NORMATIZA_STG TIC
WHERE UPPER(CON.TP_CONTATO) =
UPPER(TIC.CONTEUDO)
AND CON.SIS_ORIGEM = TIC.SIS_ORIGEM
AND ROWNUM = 1
AND TIC.DOMINIO = 'TIPO_CONTATO'),
TP_CONTATO),
PF_CONTATO = NVL((SELECT PEC.PADRAO
FROM GESTAOCARGAS.NORMATIZA_STG PEC
WHERE UPPER(DECODE(CON.SIS_ORIGEM,
'OLIMPO',
CON.PF_CONTATO,
CON.TP_CONTATO)) =
UPPER(PEC.CONTEUDO)
AND PEC.SIS_ORIGEM = CON.SIS_ORIGEM
AND ROWNUM = 1
AND PEC.DOMINIO = 'PERFIL_CONTATO'),
PF_CONTATO)
WHERE ID_PROCESSAMENTO = P_IDPROCESSAMENTO;
EXCEPTION
WHEN OTHERS THEN
SP_LOG_INICIO_PROCESSO(P_IDPROCESSAMENTO => P_IDPROCESSAMENTO,
P_IDREGRA => P_IDREGRA,
P_DTINICIO => sysdate,
P_STATUSPROCESSAMENTO => 'COMPLEMENTADOR',
P_DESCRICAO => 'Erro ao NORMALIZAR
CONTATOS_STG ' ||
' - ' || sqlerrm,
P_COMMIT => 'N',
P_IDLOG => v_idlog,
P_OK => v_ok,
P_RETORNO => v_retorno);
END SP_COMP_CONTATO_NORMALIZA;
PROCEDURE SP_COMP_FATURA_NORMALIZA(P_IDPROCESSAMENTO IN
GESTAOCARGAS.PROCESSAMENTO.IDPROCESSAMENTO%TYPE,
P_IDREGRA IN
GESTAOCARGAS.REGRA.IDREGRA%TYPE) IS
V_OK VARCHAR2(1);
V_RETORNO VARCHAR2(100);
V_IDLOG NUMBER;
BEGIN
UPDATE GESTAOCARGAS.TITULOS_STG TIT
SET ST_FATURA = NVL(CASE
WHEN TP_NATUREZA_TITULO IN ('NP', 'DP','CH') THEN
(SELECT SIT.PADRAO
FROM GESTAOCARGAS.NORMATIZA_STG SIT
WHERE UPPER(TIT.TP_NATUREZA_TITULO ||
TIT.ST_FATURA) =
UPPER(SIT.CONTEUDO)
AND TIT.SIS_ORIGEM = SIT.SIS_ORIGEM
AND ROWNUM = 1
AND SIT.DOMINIO = 'SITUACAO_TITULO')
ELSE
(SELECT SIT.PADRAO
FROM GESTAOCARGAS.NORMATIZA_STG SIT
WHERE UPPER(TIT.ST_FATURA) = UPPER(SIT.CONTEUDO)
AND TIT.SIS_ORIGEM = SIT.SIS_ORIGEM
AND ROWNUM = 1
AND SIT.DOMINIO = 'SITUACAO_TITULO')
END,
ST_FATURA),
TP_NATUREZA_TITULO = NVL((SELECT NAT.PADRAO
FROM GESTAOCARGAS.NORMATIZA_STG NAT
WHERE UPPER(TIT.TP_NATUREZA_TITULO) =
UPPER(NAT.CONTEUDO)
AND ROWNUM = 1
AND TIT.SIS_ORIGEM = NAT.SIS_ORIGEM
AND NAT.DOMINIO = 'NATUREZA_TITULO'),
TP_NATUREZA_TITULO),
DS_NATUREZA_TITULO = NVL((SELECT NAT.PADRAO
FROM GESTAOCARGAS.NORMATIZA_STG NAT
WHERE UPPER(TIT.DS_NATUREZA_TITULO) =
UPPER(NAT.CONTEUDO)
AND ROWNUM = 1
AND TIT.SIS_ORIGEM = NAT.SIS_ORIGEM
AND NAT.DOMINIO =
'DESCRICAO_NATUREZA_TITULO'),
TIT.DS_NATUREZA_TITULO),
IC_NATUREZAREMAT = NVL((SELECT NAT.PADRAO
FROM GESTAOCARGAS.NORMATIZA_STG NAT
WHERE UPPER(TIT.IC_NATUREZAREMAT) =
UPPER(NAT.CONTEUDO)
AND ROWNUM = 1
AND TIT.SIS_ORIGEM = NAT.SIS_ORIGEM
AND NAT.DOMINIO = 'NATUREZA_REMATRICULA'),
TIT.IC_NATUREZAREMAT)
PROCEDURE SP_COMP_CONTRATO_MASCARAS(P_IDPROCESSAMENTO IN
GESTAOCARGAS.PROCESSAMENTO.IDPROCESSAMENTO%TYPE,
P_IDREGRA IN
GESTAOCARGAS.REGRA.IDREGRA%TYPE) IS
V_OK VARCHAR2(1);
V_RETORNO VARCHAR2(100);
V_IDLOG NUMBER;
BEGIN
UPDATE GESTAOCARGAS.CONTRATOS_STG S
SET CNPJ_FILIAL = LPAD(REGEXP_REPLACE(CNPJ_FILIAL, '[^0-9]',
''),14,'0'),
CNPJ_MATRIZ = LPAD(REGEXP_REPLACE(CNPJ_MATRIZ, '[^0-9]',
''),14,'0'),
NO_CPFRESPONSAVEL = REGEXP_REPLACE(NO_CPFRESPONSAVEL,
'[^0-9]',
''),
END_FILIAL_CEP = REGEXP_REPLACE(REGEXP_REPLACE(END_FILIAL_CEP, '[^0-9]',
''),
'([0-9]{5})([0-9]{3})', '\1-\2')
WHERE ID_PROCESSAMENTO = P_IDPROCESSAMENTO;
EXCEPTION
WHEN OTHERS THEN
SP_LOG_INICIO_PROCESSO(P_IDPROCESSAMENTO => P_IDPROCESSAMENTO,
P_IDREGRA => P_IDREGRA,
P_DTINICIO => sysdate,
P_STATUSPROCESSAMENTO => 'COMPLEMENTADOR',
P_DESCRICAO => 'Erro ao ATUALIZAR
CONTRATOS_STG ' ||
' - ' || sqlerrm,
P_COMMIT => 'N',
P_IDLOG => v_idlog,
P_OK => v_ok,
P_RETORNO => v_retorno);
END SP_COMP_CONTRATO_MASCARAS;
PROCEDURE SP_COMP_CONTRATO_NORMALIZA(P_IDPROCESSAMENTO IN
GESTAOCARGAS.PROCESSAMENTO.IDPROCESSAMENTO%TYPE,
P_IDREGRA IN
GESTAOCARGAS.REGRA.IDREGRA%TYPE) IS
V_OK VARCHAR2(1);
V_RETORNO VARCHAR2(100);
V_IDLOG NUMBER;
BEGIN
EXCEPTION
WHEN OTHERS THEN
SP_LOG_INICIO_PROCESSO(P_IDPROCESSAMENTO => P_IDPROCESSAMENTO,
P_IDREGRA => P_IDREGRA,
P_DTINICIO => sysdate,
P_STATUSPROCESSAMENTO => 'COMPLEMENTADOR',
P_DESCRICAO => 'Erro ao NORMALIZAR
CONTRATOS_STG ' ||
' - ' || sqlerrm,
P_COMMIT => 'N',
P_IDLOG => v_idlog,
P_OK => v_ok,
P_RETORNO => v_retorno);
END SP_COMP_CONTRATO_NORMALIZA;
PROCEDURE SP_COMP_CONTRATO_CNPJ(P_IDPROCESSAMENTO IN
GESTAOCARGAS.PROCESSAMENTO.IDPROCESSAMENTO%TYPE,
P_IDREGRA IN GESTAOCARGAS.REGRA.IDREGRA
%TYPE) IS
V_OK VARCHAR2(1);
V_RETORNO VARCHAR2(100);
V_IDLOG NUMBER;
V_NMSISTEMA GESTAOCARGAS.SISTEMAORIGEM.NMSISTEMA%TYPE;
BEGIN
SELECT NMSISTEMA
INTO V_NMSISTEMA
FROM GESTAOCARGAS.PROCESSAMENTO P, GESTAOCARGAS.SISTEMAORIGEM S
WHERE P.IDSISTEMA = S.IDSISTEMA
AND IDPROCESSAMENTO = P_IDPROCESSAMENTO;
END IF;
EXCEPTION
WHEN OTHERS THEN
SP_LOG_INICIO_PROCESSO(P_IDPROCESSAMENTO => P_IDPROCESSAMENTO,
P_IDREGRA => P_IDREGRA,
P_DTINICIO => sysdate,
P_STATUSPROCESSAMENTO => 'COMPLEMENTADOR',
P_DESCRICAO => 'Erro SP_COMP_CONTRATO_CNPJ '
||
' - ' || sqlerrm,
P_COMMIT => 'N',
P_IDLOG => v_idlog,
P_OK => v_ok,
P_RETORNO => v_retorno);
END SP_COMP_CONTRATO_CNPJ;
PROCEDURE SP_COMP_CONTRATO_POLITICAS(P_IDPROCESSAMENTO IN
GESTAOCARGAS.PROCESSAMENTO.IDPROCESSAMENTO%TYPE,
P_IDREGRA IN
GESTAOCARGAS.REGRA.IDREGRA%TYPE) IS
V_OK VARCHAR2(1);
V_RETORNO VARCHAR2(100);
V_IDLOG NUMBER;
BEGIN
EXCEPTION
WHEN OTHERS THEN
SP_LOG_INICIO_PROCESSO(P_IDPROCESSAMENTO => P_IDPROCESSAMENTO,
P_IDREGRA => P_IDREGRA,
P_DTINICIO => sysdate,
P_STATUSPROCESSAMENTO => 'COMPLEMENTADOR',
P_DESCRICAO => 'Erro
SP_COMP_CONTRATO_POLITICAS ' ||
' - ' || sqlerrm,
P_COMMIT => 'N',
P_IDLOG => v_idlog,
P_OK => v_ok,
P_RETORNO => v_retorno);
END SP_COMP_CONTRATO_POLITICAS;
PROCEDURE SP_COMP_ACORDO_NORMALIZA(P_IDPROCESSAMENTO IN
GESTAOCARGAS.PROCESSAMENTO.IDPROCESSAMENTO%TYPE,
P_IDREGRA IN
GESTAOCARGAS.REGRA.IDREGRA%TYPE) IS
V_OK VARCHAR2(1);
V_RETORNO VARCHAR2(100);
V_IDLOG NUMBER;
BEGIN
UPDATE GESTAOCARGAS.ACERTO_STG ACT
SET --ACT.ID_CONTRATO = LTRIM(TRANSLATE(ACT.ID_CONTRATO,
TRANSLATE(ACT.ID_CONTRATO, '1234567890', ' ') , ' ')),
--ACT.ID_CLIENTE = LTRIM(TRANSLATE(ACT.ID_CLIENTE,
TRANSLATE(ACT.ID_CLIENTE, '1234567890', ' ') , ' ')),
EXCEPTION
WHEN OTHERS THEN
SP_LOG_INICIO_PROCESSO(P_IDPROCESSAMENTO => P_IDPROCESSAMENTO,
P_IDREGRA => P_IDREGRA,
P_DTINICIO => sysdate,
P_STATUSPROCESSAMENTO => 'COMPLEMENTADOR',
P_DESCRICAO => 'Erro ao NORMALIZAR
ACERTO_STG ' ||
' - ' || sqlerrm,
P_COMMIT => 'N',
P_IDLOG => v_idlog,
P_OK => v_ok,
P_RETORNO => v_retorno);
END SP_COMP_ACORDO_NORMALIZA;
PROCEDURE SP_COMP_NOVAS_NORMALIZA(P_IDPROCESSAMENTO IN
GESTAOCARGAS.PROCESSAMENTO.IDPROCESSAMENTO%TYPE,
P_IDREGRA IN GESTAOCARGAS.REGRA.IDREGRA
%TYPE) IS
V_OK VARCHAR2(1);
V_RETORNO VARCHAR2(100);
V_IDLOG NUMBER;
BEGIN
/*
UPDATE GESTAOCARGAS.NOVAS_STG NVT
SET NVT.ID_CONTRATO = LTRIM(TRANSLATE(NVT.ID_CONTRATO,
TRANSLATE(NVT.ID_CONTRATO, '1234567890', ' ') , ' ')),
NVT.ID_CLIENTE = LTRIM(TRANSLATE(NVT.ID_CLIENTE,
TRANSLATE(NVT.ID_CLIENTE, '1234567890', ' ') , ' '))
WHERE ID_PROCESSAMENTO = P_IDPROCESSAMENTO;
*/
NULL;
EXCEPTION
WHEN OTHERS THEN
SP_LOG_INICIO_PROCESSO(P_IDPROCESSAMENTO => P_IDPROCESSAMENTO,
P_IDREGRA => P_IDREGRA,
P_DTINICIO => sysdate,
P_STATUSPROCESSAMENTO => 'COMPLEMENTADOR',
P_DESCRICAO => 'Erro ao NORMALIZAR NOVAS_STG
' ||
' - ' || sqlerrm,
P_COMMIT => 'N',
P_IDLOG => v_idlog,
P_OK => v_ok,
P_RETORNO => v_retorno);
END SP_COMP_NOVAS_NORMALIZA;
PROCEDURE SP_COMP_ORIGINAIS_NORMALIZA(P_IDPROCESSAMENTO IN
GESTAOCARGAS.PROCESSAMENTO.IDPROCESSAMENTO%TYPE,
P_IDREGRA IN
GESTAOCARGAS.REGRA.IDREGRA%TYPE) IS
V_OK VARCHAR2(1);
V_RETORNO VARCHAR2(100);
V_IDLOG NUMBER;
BEGIN
/*
UPDATE GESTAOCARGAS.ORIGINAIS_STG NVT
SET NVT.ID_CONTRATO = LTRIM(TRANSLATE(NVT.ID_CONTRATO,
TRANSLATE(NVT.ID_CONTRATO, '1234567890', ' ') , ' ')),
NVT.ID_CLIENTE = LTRIM(TRANSLATE(NVT.ID_CLIENTE,
TRANSLATE(NVT.ID_CLIENTE, '1234567890', ' ') , ' '))
WHERE ID_PROCESSAMENTO = P_IDPROCESSAMENTO;
*/
NULL;
EXCEPTION
WHEN OTHERS THEN
SP_LOG_INICIO_PROCESSO(P_IDPROCESSAMENTO => P_IDPROCESSAMENTO,
P_IDREGRA => P_IDREGRA,
P_DTINICIO => sysdate,
P_STATUSPROCESSAMENTO => 'COMPLEMENTADOR',
P_DESCRICAO => 'Erro ao NORMALIZAR
ORIGINAIS_STG ' ||
' - ' || sqlerrm,
P_COMMIT => 'N',
P_IDLOG => v_idlog,
P_OK => v_ok,
P_RETORNO => v_retorno);
END SP_COMP_ORIGINAIS_NORMALIZA;
-----------------------------------------------------------------------------------
-----------------------
-- ENDREGION : COMPLEMENTACAO
-- OBJETIVO: SUBSISTEMA RAID
-- EQUIPE : EAGLES - PI10.SP03
-----------------------------------------------------------------------------------
-----------------------
-----------------------------------------------------------------------------------
-----------------------
-- REGION : VALIDACAO
-- OBJETIVO: SUBSISTEMA RAID
-- EQUIPE : EAGLES - PI10.SP03
-----------------------------------------------------------------------------------
-----------------------
PROCEDURE SP_VAL_CLIENTE_OBRIGATORIEDADE(P_IDPROCESSAMENTO IN
GESTAOCARGAS.PROCESSAMENTO.IDPROCESSAMENTO%TYPE,
P_IDREGRA IN
GESTAOCARGAS.REGRA.IDREGRA%TYPE) AS
V_IDTIPOINFORMACAO GESTAOCARGAS.TIPOINFORMACAO.IDTIPOINFORMACAO%TYPE;
V_OK VARCHAR(100);
V_RETORNO VARCHAR(2000);
V_IDLOG NUMBER;
BEGIN
V_IDTIPOINFORMACAO := GET_IDTIPOINFORMACAO('CLIENTE');
PROCEDURE SP_VAL_CLIENTE_DUPLICIDADE(P_IDPROCESSAMENTO IN
GESTAOCARGAS.PROCESSAMENTO.IDPROCESSAMENTO%TYPE,
P_IDREGRA IN
GESTAOCARGAS.REGRA.IDREGRA%TYPE) AS
V_IDTIPOINFORMACAO GESTAOCARGAS.TIPOINFORMACAO.IDTIPOINFORMACAO%TYPE;
V_OK VARCHAR2(1);
V_RETORNO VARCHAR2(100);
V_IDLOG NUMBER;
BEGIN
V_OK := 'S';
V_RETORNO := '';
V_IDTIPOINFORMACAO := GET_IDTIPOINFORMACAO('CLIENTE');
EXCEPTION
WHEN OTHERS THEN
V_OK := 'N';
V_RETORNO := 'Erro na validação dos dados de clientes';
SP_LOG_INICIO_PROCESSO(P_IDPROCESSAMENTO => P_IDPROCESSAMENTO,
P_IDREGRA => P_IDREGRA,
P_DTINICIO => sysdate,
P_STATUSPROCESSAMENTO => 'VALIDADOR',
P_DESCRICAO => 'Erro ao VALIDAR CLIENTES_STG
' ||
' - ' || SQLERRM,
P_COMMIT => 'N',
P_IDLOG => v_idlog,
P_OK => v_ok,
P_RETORNO => v_retorno);
END SP_VAL_CLIENTE_DUPLICIDADE;
PROCEDURE SP_VAL_CLIENTE_DOMINIOS(P_IDPROCESSAMENTO IN
GESTAOCARGAS.PROCESSAMENTO.IDPROCESSAMENTO%TYPE,
P_IDREGRA IN GESTAOCARGAS.REGRA.IDREGRA
%TYPE) AS
V_IDTIPOINFORMACAO GESTAOCARGAS.TIPOINFORMACAO.IDTIPOINFORMACAO%TYPE;
V_OK VARCHAR2(1);
V_RETORNO VARCHAR2(100);
V_IDLOG NUMBER;
BEGIN
V_OK := 'S';
V_RETORNO := '';
V_IDTIPOINFORMACAO := GET_IDTIPOINFORMACAO('CLIENTE');
EXCEPTION
WHEN OTHERS THEN
V_OK := 'N';
V_RETORNO := 'Erro na validação dos dados de clientes';
SP_LOG_INICIO_PROCESSO(P_IDPROCESSAMENTO => P_IDPROCESSAMENTO,
P_IDREGRA => P_IDREGRA,
P_DTINICIO => sysdate,
P_STATUSPROCESSAMENTO => 'VALIDADOR',
P_DESCRICAO => 'Erro ao VALIDAR CLIENTES_STG
' ||
' - ' || SQLERRM,
P_COMMIT => 'N',
P_IDLOG => v_idlog,
P_OK => v_ok,
P_RETORNO => v_retorno);
END SP_VAL_CLIENTE_DOMINIOS;
PROCEDURE SP_VAL_CONTATO_OBRIGATORIEDADE(P_IDPROCESSAMENTO IN
GESTAOCARGAS.PROCESSAMENTO.IDPROCESSAMENTO%TYPE,
P_IDREGRA IN
GESTAOCARGAS.REGRA.IDREGRA%TYPE) AS
P_OK VARCHAR2(1);
P_RETORNO VARCHAR2(100);
V_IDLOG NUMBER;
CURSOR C1 IS
SELECT CL.ROWID
FROM GESTAOCARGAS.CONTATOS_STG CL
WHERE CL.ID_PROCESSAMENTO = P_IDPROCESSAMENTO
AND (ID_REGISTRO IS NULL OR ID_PROCESSAMENTO IS NULL OR
SIS_ORIGEM IS NULL OR ID_CLIENTE_ORIGEM IS NULL OR
ST_CONTATO IS NULL OR TP_CONTATO IS NULL OR
PF_CONTATO IS NULL);
CURSOR C2 IS
SELECT CL.ROWID
FROM GESTAOCARGAS.CONTATOS_STG CL
WHERE CL.ID_PROCESSAMENTO = P_IDPROCESSAMENTO
AND ((CL.TP_CONTATO = 'E-MAIL' AND CL.DS_EMAIL IS NULL) OR
(CL.TP_CONTATO = 'TELEFONE' AND
(CL.NO_TELEFONE_FIXO IS NULL AND
CL.NO_TELEFONE_CELULAR IS NULL)) OR
(CL.TP_CONTATO = 'ENDERECO' AND
(END_LOGRADOURO IS NULL OR END_BAIRRO IS NULL OR
END_CIDADE IS NULL OR END_UF IS NULL OR END_CEP IS NULL)));
BEGIN
P_OK := 'S';
P_RETORNO := '';
OPEN C1;
LOOP
FETCH C1 BULK COLLECT
INTO TP_TAB LIMIT FL_BULK_LIMIT;
EXIT WHEN TP_TAB.COUNT = 0;
OPEN C2;
LOOP
FETCH C2 BULK COLLECT
INTO TP_TAB LIMIT FL_BULK_LIMIT;
EXIT WHEN TP_TAB.COUNT = 0;
EXCEPTION
WHEN OTHERS THEN
P_OK := 'N';
P_RETORNO := 'Erro na validação dos dados de contato';
SP_LOG_INICIO_PROCESSO(P_IDPROCESSAMENTO => P_IDPROCESSAMENTO,
P_IDREGRA => P_IDREGRA,
P_DTINICIO => sysdate,
P_STATUSPROCESSAMENTO => 'VALIDADOR',
P_DESCRICAO => 'Erro ao VALIDAR
CONTATOS_STG ' ||
' - ' || SQLERRM,
P_COMMIT => 'N',
P_IDLOG => v_idlog,
P_OK => p_ok,
P_RETORNO => p_retorno);
END SP_VAL_CONTATO_OBRIGATORIEDADE;
PROCEDURE SP_VAL_CONTATO_DUPLICIDADE(P_IDPROCESSAMENTO IN
GESTAOCARGAS.PROCESSAMENTO.IDPROCESSAMENTO%TYPE,
P_IDREGRA IN
GESTAOCARGAS.REGRA.IDREGRA%TYPE) AS
P_OK VARCHAR2(1);
P_RETORNO VARCHAR2(100);
V_IDLOG NUMBER;
CURSOR C1 IS
SELECT C1.ROWID
FROM GESTAOCARGAS.CONTATOS_STG C1,
(SELECT ID_CLIENTE_ORIGEM,
NO_TELEFONE_FIXO,
MAX(ID_REGISTRO) ID_REGISTRO
FROM GESTAOCARGAS.CONTATOS_STG C2
WHERE C2.TP_CONTATO = 'TELEFONE'
AND C2.ID_PROCESSAMENTO+0 = P_IDPROCESSAMENTO
GROUP BY ID_CLIENTE_ORIGEM, NO_TELEFONE_FIXO
HAVING COUNT(1) > 1) C3
WHERE C1.ID_PROCESSAMENTO+0 = P_IDPROCESSAMENTO -- +0 utilizado para não
utilizar indice neste ponto
AND C1.ID_CLIENTE_ORIGEM = C3.ID_CLIENTE_ORIGEM
AND C1.NO_TELEFONE_FIXO = C3.NO_TELEFONE_FIXO
AND C1.ID_REGISTRO <> C3.ID_REGISTRO
AND C1.TP_CONTATO = 'TELEFONE';
CURSOR C2 IS
SELECT C1.ROWID
FROM GESTAOCARGAS.CONTATOS_STG C1,
(SELECT ID_CLIENTE_ORIGEM,
DS_EMAIL,
MAX(ID_REGISTRO) ID_REGISTRO
FROM GESTAOCARGAS.CONTATOS_STG C2
WHERE C2.TP_CONTATO = 'E-MAIL'
AND C2.ID_PROCESSAMENTO+0 = P_IDPROCESSAMENTO
GROUP BY ID_CLIENTE_ORIGEM, DS_EMAIL
HAVING COUNT(1) > 1) C3
WHERE C1.ID_PROCESSAMENTO+0 = P_IDPROCESSAMENTO -- +0 utilizado para não
utilizar indice neste ponto
AND C1.ID_CLIENTE_ORIGEM = C3.ID_CLIENTE_ORIGEM
AND C1.DS_EMAIL = C3.DS_EMAIL
AND C1.ID_REGISTRO <> C3.ID_REGISTRO
AND C1.TP_CONTATO = 'E-MAIL';
CURSOR C3 IS
SELECT C1.ROWID
FROM GESTAOCARGAS.CONTATOS_STG C1,
(SELECT ID_CLIENTE_ORIGEM,
END_LOGRADOURO,
MAX(ID_REGISTRO) ID_REGISTRO
FROM GESTAOCARGAS.CONTATOS_STG C2
WHERE C2.TP_CONTATO = 'ENDERECO'
AND C2.ID_PROCESSAMENTO+0 = P_IDPROCESSAMENTO
GROUP BY ID_CLIENTE_ORIGEM, END_LOGRADOURO
HAVING COUNT(1) > 1) C3
WHERE C1.ID_PROCESSAMENTO+0 = P_IDPROCESSAMENTO -- +0 utilizado para não
utilizar indice neste ponto
AND C1.ID_CLIENTE_ORIGEM = C3.ID_CLIENTE_ORIGEM
AND C1.END_LOGRADOURO = C3.END_LOGRADOURO
AND C1.ID_REGISTRO <> C3.ID_REGISTRO
AND C1.TP_CONTATO = 'ENDERECO';
BEGIN
P_OK := 'S';
P_RETORNO := '';
OPEN C1;
LOOP
FETCH C1 BULK COLLECT
INTO TP_TAB LIMIT FL_BULK_LIMIT;
EXIT WHEN TP_TAB.COUNT = 0;
OPEN C2;
LOOP
FETCH C2 BULK COLLECT
INTO TP_TAB LIMIT FL_BULK_LIMIT;
EXIT WHEN TP_TAB.COUNT = 0;
OPEN C3;
LOOP
FETCH C3 BULK COLLECT
INTO TP_TAB LIMIT FL_BULK_LIMIT;
EXIT WHEN TP_TAB.COUNT = 0;
EXCEPTION
WHEN OTHERS THEN
P_OK := 'N';
P_RETORNO := 'Erro na validação dos dados de contato';
SP_LOG_INICIO_PROCESSO(P_IDPROCESSAMENTO => P_IDPROCESSAMENTO,
P_IDREGRA => P_IDREGRA,
P_DTINICIO => sysdate,
P_STATUSPROCESSAMENTO => 'VALIDADOR',
P_DESCRICAO => 'Erro ao VALIDAR CONTATOS_STG
' ||
' - ' || SQLERRM,
P_COMMIT => 'N',
P_IDLOG => v_idlog,
P_OK => p_ok,
P_RETORNO => p_retorno);
END SP_VAL_CONTATO_DUPLICIDADE;
PROCEDURE SP_VAL_CONTATO_DOMINIOS(P_IDPROCESSAMENTO IN
GESTAOCARGAS.PROCESSAMENTO.IDPROCESSAMENTO%TYPE,
P_IDREGRA IN GESTAOCARGAS.REGRA.IDREGRA
%TYPE) AS
P_OK VARCHAR2(1);
P_RETORNO VARCHAR2(100);
V_IDLOG NUMBER;
CURSOR C1 IS
SELECT CL.ROWID
FROM GESTAOCARGAS.CONTATOS_STG CL
WHERE CL.ID_PROCESSAMENTO = P_IDPROCESSAMENTO
AND (NOT EXISTS
(SELECT 1
FROM GESTAOCARGAS.NORMATIZA_STG NOR
WHERE NOR.PADRAO = CL.TP_CONTATO
AND NOR.CAMPO = 'TP_CONTATO') OR NOT EXISTS
(SELECT 1
FROM GESTAOCARGAS.NORMATIZA_STG NOR
WHERE NOR.PADRAO = CL.PF_CONTATO
AND NOR.CAMPO = 'PF_CONTATO'));
BEGIN
P_OK := 'S';
P_RETORNO := '';
OPEN C1;
LOOP
FETCH C1 BULK COLLECT
INTO TP_TAB LIMIT FL_BULK_LIMIT;
EXIT WHEN TP_TAB.COUNT = 0;
EXCEPTION
WHEN OTHERS THEN
P_OK := 'N';
P_RETORNO := 'Erro na validação dos dados de contato';
SP_LOG_INICIO_PROCESSO(P_IDPROCESSAMENTO => P_IDPROCESSAMENTO,
P_IDREGRA => P_IDREGRA,
P_DTINICIO => sysdate,
P_STATUSPROCESSAMENTO => 'VALIDADOR',
P_DESCRICAO => 'Erro ao VALIDAR CONTATOS_STG
' ||
' - ' || SQLERRM,
P_COMMIT => 'N',
P_IDLOG => v_idlog,
P_OK => p_ok,
P_RETORNO => p_retorno);
END SP_VAL_CONTATO_DOMINIOS;
PROCEDURE SP_VAL_CONTATO_ORFAO(P_IDPROCESSAMENTO IN
GESTAOCARGAS.PROCESSAMENTO.IDPROCESSAMENTO%TYPE,
P_IDREGRA IN GESTAOCARGAS.REGRA.IDREGRA
%TYPE) AS
P_OK VARCHAR2(1);
P_RETORNO VARCHAR2(100);
V_IDLOG NUMBER;
CURSOR C1 IS
SELECT CO.ROWID
FROM GESTAOCARGAS.CONTATOS_STG CO
WHERE CO.ID_PROCESSAMENTO = P_IDPROCESSAMENTO
AND NOT EXISTS
(SELECT 1
FROM GESTAOCARGAS.GC_CUSTOMER CL
WHERE CL.ID_CLIENTE = CO.ID_CLIENTE);
BEGIN
P_OK := 'S';
P_RETORNO := '';
OPEN C1;
LOOP
FETCH C1 BULK COLLECT
INTO TP_TAB LIMIT FL_BULK_LIMIT;
EXIT WHEN TP_TAB.COUNT = 0;
EXCEPTION
WHEN OTHERS THEN
P_OK := 'N';
P_RETORNO := 'Erro na validação dos dados de contato';
SP_LOG_INICIO_PROCESSO(P_IDPROCESSAMENTO => P_IDPROCESSAMENTO,
P_IDREGRA => P_IDREGRA,
P_DTINICIO => sysdate,
P_STATUSPROCESSAMENTO => 'VALIDADOR',
P_DESCRICAO => 'Erro ao VALIDAR CONTATOS_STG
' ||
' - ' || SQLERRM,
P_COMMIT => 'N',
P_IDLOG => v_idlog,
P_OK => p_ok,
P_RETORNO => p_retorno);
END SP_VAL_CONTATO_ORFAO;
PROCEDURE SP_VAL_CONTRATO_OBRIGATORIEDAD(P_IDPROCESSAMENTO IN
GESTAOCARGAS.PROCESSAMENTO.IDPROCESSAMENTO%TYPE,
P_IDREGRA IN
GESTAOCARGAS.REGRA.IDREGRA%TYPE) AS
P_OK VARCHAR2(1);
P_RETORNO VARCHAR2(100);
V_IDLOG NUMBER;
BEGIN
P_OK := 'S';
P_RETORNO := '';
PROCEDURE SP_VAL_CONTRATO_DUPLICIDADE(P_IDPROCESSAMENTO IN
GESTAOCARGAS.PROCESSAMENTO.IDPROCESSAMENTO%TYPE,
P_IDREGRA IN
GESTAOCARGAS.REGRA.IDREGRA%TYPE) AS
P_OK VARCHAR2(1);
P_RETORNO VARCHAR2(100);
V_IDLOG NUMBER;
BEGIN
P_OK := 'S';
P_RETORNO := '';
EXCEPTION
WHEN OTHERS THEN
P_OK := 'N';
P_RETORNO := 'Erro na validação dos dados de contrato';
SP_LOG_INICIO_PROCESSO(P_IDPROCESSAMENTO => P_IDPROCESSAMENTO,
P_IDREGRA => P_IDREGRA,
P_DTINICIO => sysdate,
P_STATUSPROCESSAMENTO => 'VALIDADOR',
P_DESCRICAO => 'Erro ao VALIDAR
CONTRATOS_STG ' ||
' - ' || SQLERRM,
P_COMMIT => 'N',
P_IDLOG => v_idlog,
P_OK => p_ok,
P_RETORNO => p_retorno);
END SP_VAL_CONTRATO_DUPLICIDADE;
PROCEDURE SP_VAL_CONTRATO_DOMINIOS(P_IDPROCESSAMENTO IN
GESTAOCARGAS.PROCESSAMENTO.IDPROCESSAMENTO%TYPE,
P_IDREGRA IN
GESTAOCARGAS.REGRA.IDREGRA%TYPE) AS
P_OK VARCHAR2(1);
P_RETORNO VARCHAR2(100);
V_IDLOG NUMBER;
BEGIN
P_OK := 'S';
P_RETORNO := '';
EXCEPTION
WHEN OTHERS THEN
P_OK := 'N';
P_RETORNO := 'Erro na validação dos dados de contratos';
SP_LOG_INICIO_PROCESSO(P_IDPROCESSAMENTO => P_IDPROCESSAMENTO,
P_IDREGRA => P_IDREGRA,
P_DTINICIO => sysdate,
P_STATUSPROCESSAMENTO => 'VALIDADOR',
P_DESCRICAO => 'Erro ao VALIDAR CONTATOS_STG
' ||
' - ' || SQLERRM,
P_COMMIT => 'N',
P_IDLOG => v_idlog,
P_OK => p_ok,
P_RETORNO => p_retorno);
END SP_VAL_CONTRATO_DOMINIOS;
PROCEDURE SP_VAL_CONTRATO_ORFAO(P_IDPROCESSAMENTO IN
GESTAOCARGAS.PROCESSAMENTO.IDPROCESSAMENTO%TYPE,
P_IDREGRA IN GESTAOCARGAS.REGRA.IDREGRA
%TYPE) AS
P_OK VARCHAR2(1);
P_RETORNO VARCHAR2(100);
V_IDLOG NUMBER;
V_IDTIPOINFORMACAO GESTAOCARGAS.TIPOINFORMACAO.IDTIPOINFORMACAO%TYPE;
BEGIN
P_OK := 'S';
P_RETORNO := '';
V_IDTIPOINFORMACAO := GET_IDTIPOINFORMACAO('CONTATO');
EXCEPTION
WHEN OTHERS THEN
P_OK := 'N';
P_RETORNO := 'Erro na validacao dos dados de contratos';
SP_LOG_INICIO_PROCESSO(P_IDPROCESSAMENTO => P_IDPROCESSAMENTO,
P_IDREGRA => P_IDREGRA,
P_DTINICIO => sysdate,
P_STATUSPROCESSAMENTO => 'VALIDADOR',
P_DESCRICAO => 'Erro ao VALIDAR
CONTRATOS_STG ' ||
' - ' || SQLERRM,
P_COMMIT => 'N',
P_IDLOG => v_idlog,
P_OK => p_ok,
P_RETORNO => p_retorno);
END SP_VAL_CONTRATO_ORFAO;
PROCEDURE SP_VAL_FATURA_OBRIGATORIEDADE(P_IDPROCESSAMENTO IN
GESTAOCARGAS.PROCESSAMENTO.IDPROCESSAMENTO%TYPE,
P_IDREGRA IN
GESTAOCARGAS.REGRA.IDREGRA%TYPE) AS
P_OK VARCHAR2(1);
P_RETORNO VARCHAR2(100);
V_IDLOG NUMBER;
BEGIN
P_OK := 'S';
P_RETORNO := '';
EXCEPTION
WHEN OTHERS THEN
P_OK := 'N';
P_RETORNO := 'Erro na validação da obrigatoriedade dos dados de t?tulos';
SP_LOG_INICIO_PROCESSO(P_IDPROCESSAMENTO => P_IDPROCESSAMENTO,
P_IDREGRA => P_IDREGRA,
P_DTINICIO => SYSDATE,
P_STATUSPROCESSAMENTO => 'VALIDADOR',
P_DESCRICAO => 'Erro ao VALIDAR TITULOS_STG
' ||
' - ' || SQLERRM,
P_COMMIT => 'N',
P_IDLOG => V_IDLOG,
P_OK => P_OK,
P_RETORNO => P_RETORNO);
END SP_VAL_FATURA_OBRIGATORIEDADE;
PROCEDURE SP_VAL_FATURA_DUPLICIDADE(P_IDPROCESSAMENTO IN
GESTAOCARGAS.PROCESSAMENTO.IDPROCESSAMENTO%TYPE,
P_IDREGRA IN
GESTAOCARGAS.REGRA.IDREGRA%TYPE) AS
V_OK VARCHAR2(1);
V_RETORNO VARCHAR2(100);
V_IDLOG NUMBER;
BEGIN
V_OK := 'S';
V_RETORNO := '';
EXCEPTION
WHEN OTHERS THEN
V_OK := 'N';
V_RETORNO := 'Erro na validação de duplicidade dos dados de t?tulos';
SP_LOG_INICIO_PROCESSO(P_IDPROCESSAMENTO => P_IDPROCESSAMENTO,
P_IDREGRA => P_IDREGRA,
P_DTINICIO => SYSDATE,
P_STATUSPROCESSAMENTO => 'VALIDADOR',
P_DESCRICAO => 'Erro ao VALIDAR TITULOS_STG
' ||
' - ' || sqlerrm,
P_COMMIT => 'N',
P_IDLOG => V_IDLOG,
P_OK => V_OK,
P_RETORNO => V_RETORNO);
END SP_VAL_FATURA_DUPLICIDADE;
PROCEDURE SP_VAL_FATURA_DOMINIOS(P_IDPROCESSAMENTO IN
GESTAOCARGAS.PROCESSAMENTO.IDPROCESSAMENTO%TYPE,
P_IDREGRA IN GESTAOCARGAS.REGRA.IDREGRA
%TYPE) AS
P_OK VARCHAR2(1);
P_RETORNO VARCHAR2(100);
V_IDLOG NUMBER;
BEGIN
P_OK := 'S';
P_RETORNO := '';
EXCEPTION
WHEN OTHERS THEN
P_OK := 'N';
P_RETORNO := 'Erro na validação dos dom?nios de dados de t?tulos';
SP_LOG_INICIO_PROCESSO(P_IDPROCESSAMENTO => P_IDPROCESSAMENTO,
P_IDREGRA => P_IDREGRA,
P_DTINICIO => sysdate,
P_STATUSPROCESSAMENTO => 'VALIDADOR',
P_DESCRICAO => 'Erro ao VALIDAR TITULOS_STG
' ||
' - ' || SQLERRM,
P_COMMIT => 'N',
P_IDLOG => v_idlog,
P_OK => p_ok,
P_RETORNO => p_retorno);
END SP_VAL_FATURA_DOMINIOS;
PROCEDURE SP_VAL_FATURA_ORFAO(P_IDPROCESSAMENTO IN
GESTAOCARGAS.PROCESSAMENTO.IDPROCESSAMENTO%TYPE,
P_IDREGRA IN GESTAOCARGAS.REGRA.IDREGRA
%TYPE) AS
P_OK VARCHAR2(1);
P_RETORNO VARCHAR2(100);
V_IDLOG NUMBER;
BEGIN
P_OK := 'S';
P_RETORNO := '';
TP_VAL_REGISTRO_ORFAO,
ERRO_VALIDACAO,
'AND NOT EXISTS
(SELECT 1
FROM GESTAOCARGAS.GC_ACCOUNT ACC
WHERE ACC.ID_CONTRATO = TIT.ID_CONTRATO)'
FROM GESTAOCARGAS.TITULOS_STG TIT
WHERE TIT.ID_PROCESSAMENTO = P_IDPROCESSAMENTO
AND NOT EXISTS
(SELECT 1
FROM GESTAOCARGAS.GC_CUSTOMER COS
WHERE COS.ID_CLIENTE = TIT.ID_CLIENTE)
AND NOT EXISTS
(SELECT 1
FROM GESTAOCARGAS.GC_ACCOUNT ACC
WHERE ACC.ID_CONTRATO = TIT.ID_CONTRATO)
UNION
--VALIDA TÍTULOS CANCELADOS QUE NÃO POSSUEM ORIGINAIS NA GC_BILL
SELECT P_IDPROCESSAMENTO,
TIT.ID_REGISTRO,
P_IDREGRA,
GET_IDTIPOINFORMACAO('FATURA'),
TP_VAL_REGISTRO_ORFAO,
ERRO_VALIDACAO,
'AND NOT EXISTS (SELECT 1 FROM GESTAOCARGAS.GC_BILL B
WHERE B.ID_TITULO = TIT.ID_FATURA);'
FROM GESTAOCARGAS.TITULOS_STG TIT
WHERE TIT.ID_PROCESSAMENTO = P_IDPROCESSAMENTO
AND TIT.ST_FATURA = 'CANCELADO'
AND NOT EXISTS (SELECT 1 FROM GESTAOCARGAS.GC_BILL B
WHERE B.ID_TITULO = TIT.ID_FATURA);
EXCEPTION
WHEN OTHERS THEN
P_OK := 'N';
P_RETORNO := 'Erro na validação de registros orfãos de t?tulos';
SP_LOG_INICIO_PROCESSO(P_IDPROCESSAMENTO => P_IDPROCESSAMENTO,
P_IDREGRA => P_IDREGRA,
P_DTINICIO => sysdate,
P_STATUSPROCESSAMENTO => 'VALIDADOR',
P_DESCRICAO => 'Erro ao VALIDAR TITULOS_STG
' ||
' - ' || SQLERRM,
P_COMMIT => 'N',
P_IDLOG => v_idlog,
P_OK => p_ok,
P_RETORNO => p_retorno);
END SP_VAL_FATURA_ORFAO;
PROCEDURE SP_VAL_PEP_OBRIGATORIEDADE(P_IDPROCESSAMENTO IN
GESTAOCARGAS.PROCESSAMENTO.IDPROCESSAMENTO%TYPE,
P_IDREGRA IN
GESTAOCARGAS.REGRA.IDREGRA%TYPE) AS
P_OK VARCHAR2(1);
P_RETORNO VARCHAR2(100);
V_IDLOG NUMBER;
BEGIN
P_OK := 'S';
P_RETORNO := '';
PROCEDURE SP_VAL_PEP_DUPLICIDADE(P_IDPROCESSAMENTO IN
GESTAOCARGAS.PROCESSAMENTO.IDPROCESSAMENTO%TYPE,
P_IDREGRA IN GESTAOCARGAS.REGRA.IDREGRA
%TYPE) AS
V_OK VARCHAR2(1);
V_RETORNO VARCHAR2(100);
V_IDLOG NUMBER;
TYPE V_TL_LOG IS TABLE OF GESTAOCARGAS.LOGVALIDACAO%ROWTYPE;
V_LIST_LOG V_TL_LOG;
CURSOR C1 IS
SELECT P_IDPROCESSAMENTO,
PS1.ID_REGISTRO,
P_IDREGRA,
GET_IDTIPOINFORMACAO('CONTRATOPEP'),
SYSDATE,
TP_VAL_DUPLICACAO,
ERRO_VALIDACAO,
'PS1.ID_PROCESSAMENTO =
AND PS1.CD_UNIDADE = TI2.CD_UNIDADE
AND PS1.CD_ALUNO = TI2.CD_ALUNO
AND PS1.CD_ESPECIALIDADE = TI2.CD_ESPECIALIDADE'
FROM (SELECT PS.CD_UNIDADE,
PS.CD_ALUNO,
PS.CD_ESPECIALIDADE,
MAX(PS.ID_REGISTRO) ID_REGISTRO
FROM GESTAOCARGAS.PEP_STG PS
WHERE PS.ID_PROCESSAMENTO = P_IDPROCESSAMENTO
GROUP BY PS.CD_UNIDADE, PS.CD_ALUNO, PS.CD_ESPECIALIDADE
HAVING COUNT(1) > 1) PS2,
GESTAOCARGAS.PEP_STG PS1
WHERE PS2.CD_UNIDADE || '-' || PS2.CD_ALUNO ||'-'|| PS2.CD_ESPECIALIDADE =
PS1.CD_UNIDADE|| '-' || PS1.CD_ALUNO ||'-'|| PS1.CD_ESPECIALIDADE
AND PS1.ID_PROCESSAMENTO = P_IDPROCESSAMENTO
AND PS2.ID_REGISTRO <> PS1.ID_REGISTRO;
BEGIN
V_OK := 'S';
V_RETORNO := '';
OPEN C1;
LOOP
FETCH C1 BULK COLLECT
INTO V_LIST_LOG LIMIT FL_BULK_LIMIT;
EXIT WHEN V_LIST_LOG.COUNT = 0;
EXCEPTION
WHEN OTHERS THEN
V_OK := 'N';
V_RETORNO := 'Erro na validação de duplicidade dos dados de t?tulos';
SP_LOG_INICIO_PROCESSO(P_IDPROCESSAMENTO => P_IDPROCESSAMENTO,
P_IDREGRA => P_IDREGRA,
P_DTINICIO => SYSDATE,
P_STATUSPROCESSAMENTO => 'VALIDADOR',
P_DESCRICAO => 'Erro ao VALIDAR TITULOS_STG
' ||
' - ' || SQLERRM,
P_COMMIT => 'N',
P_IDLOG => V_IDLOG,
P_OK => V_OK,
P_RETORNO => V_RETORNO);
END SP_VAL_PEP_DUPLICIDADE;
PROCEDURE SP_VAL_PEP_ORFAO(P_IDPROCESSAMENTO IN
GESTAOCARGAS.PROCESSAMENTO.IDPROCESSAMENTO%TYPE,
P_IDREGRA IN GESTAOCARGAS.REGRA.IDREGRA%TYPE)
AS
P_OK VARCHAR2(1);
P_RETORNO VARCHAR2(100);
V_IDLOG NUMBER;
CURSOR C1 IS
SELECT P_IDPROCESSAMENTO,
PS.ID_REGISTRO,
P_IDREGRA,
GET_IDTIPOINFORMACAO('CONTRATOPEP'),
SYSDATE,
TP_VAL_REGISTRO_ORFAO,
ERRO_VALIDACAO,
'AND NOT EXISTS
(SELECT 1
FROM GESTAOCARGAS.GC_ACCOUNT AC
WHERE AC.CD_FILIAL = TO_CHAR(PS.CD_UNIDADE)
AC.ID_CONTRATO = LPAD(PS.CD_ALUNO, 10, 0) || LPAD(PS.CD_ESPECIALIDADE,
6, 0))'
FROM GESTAOCARGAS.PEP_STG PS
WHERE ID_PROCESSAMENTO = P_IDPROCESSAMENTO
AND NOT EXISTS
(SELECT 1
FROM GESTAOCARGAS.GC_ACCOUNT AC
WHERE AC.CD_FILIAL = TO_CHAR(PS.CD_UNIDADE)
AND AC.ID_CONTRATO_ORIGEM = LPAD(PS.CD_ALUNO, 10, 0) ||
LPAD(PS.CD_ESPECIALIDADE, 6, 0));
BEGIN
P_OK := 'S';
P_RETORNO := '';
OPEN C1;
LOOP
FETCH C1 BULK COLLECT
INTO V_LIST_LOG LIMIT FL_BULK_LIMIT;
EXIT WHEN V_LIST_LOG.COUNT = 0;
EXCEPTION
WHEN OTHERS THEN
P_OK := 'N';
P_RETORNO := 'Erro na validação de registros orfãos de PEP';
SP_LOG_INICIO_PROCESSO(P_IDPROCESSAMENTO => P_IDPROCESSAMENTO,
P_IDREGRA => P_IDREGRA,
P_DTINICIO => SYSDATE,
P_STATUSPROCESSAMENTO => 'VALIDADOR',
P_DESCRICAO => 'Erro ao VALIDAR TITULOS_STG
' ||
' - ' || SQLERRM,
P_COMMIT => 'N',
P_IDLOG => V_IDLOG,
P_OK => P_OK,
P_RETORNO => P_RETORNO);
END SP_VAL_PEP_ORFAO;
PROCEDURE SP_VAL_ACERTO_OBRIGATORIEDADE(P_IDPROCESSAMENTO IN
GESTAOCARGAS.PROCESSAMENTO.IDPROCESSAMENTO%TYPE,
P_IDREGRA IN
GESTAOCARGAS.REGRA.IDREGRA%TYPE) AS
V_IDTIPOINFORMACAO GESTAOCARGAS.TIPOINFORMACAO.IDTIPOINFORMACAO%TYPE;
V_OK VARCHAR(100);
V_RETORNO VARCHAR(2000);
V_IDLOG NUMBER;
BEGIN
V_IDTIPOINFORMACAO := GET_IDTIPOINFORMACAO('PARCELAMENTO');
EXCEPTION
WHEN OTHERS THEN
V_OK := 'N';
V_RETORNO := 'Erro na validação dos dados de acertos';
SP_LOG_INICIO_PROCESSO(P_IDPROCESSAMENTO => P_IDPROCESSAMENTO,
P_IDREGRA => P_IDREGRA,
P_DTINICIO => sysdate,
P_STATUSPROCESSAMENTO => 'VALIDADOR',
P_DESCRICAO => 'Erro ao VALIDAR ACERTO_STG '
||
' - ' || SQLERRM,
P_COMMIT => 'N',
P_IDLOG => v_idlog,
P_OK => v_ok,
P_RETORNO => v_retorno);
END SP_VAL_ACERTO_OBRIGATORIEDADE;
PROCEDURE SP_VAL_ACERTO_QTD_PARCELAS(P_IDPROCESSAMENTO IN
GESTAOCARGAS.PROCESSAMENTO.IDPROCESSAMENTO%TYPE,
P_IDREGRA IN
GESTAOCARGAS.REGRA.IDREGRA%TYPE) AS
--V_IDTIPOINFORMACAO GESTAOCARGAS.TIPOINFORMACAO.IDTIPOINFORMACAO%TYPE;
V_OK VARCHAR(100);
V_RETORNO VARCHAR(2000);
V_IDLOG NUMBER;
BEGIN
--V_IDTIPOINFORMACAO := GET_IDTIPOINFORMACAO('PARCELAMENTO');
V_OK := '';
/*
INSERT INTO GESTAOCARGAS.LOGVALIDACAO
(ID_PROCESSAMENTO,
ID_REGISTRO,
IDREGRA,
IDTIPOINFORMACAO,
TIPOVALIDACAO,
CRITICIDADE,
FILTROUSADO)
-- VALIDA CAMPOS OBRIGATORIOS
SELECT P_IDPROCESSAMENTO,
AC.ID_REGISTRO,
P_IDREGRA,
V_IDTIPOINFORMACAO,
TP_VAL_OBRIGATORIEDADE,
ERRO_VALIDACAO,
'(SELECT COUNT(1)
FROM ACERTO_STG
WHERE ID_PARCELAMENTO = AC.ID_PARCELAMENTO)'
FROM GESTAOCARGAS.ACERTO_STG AC
WHERE AC.ID_PROCESSAMENTO = P_IDPROCESSAMENTO
AND AC.QTDE_PARCELAS <> (SELECT COUNT(1)
FROM NOVAS_STG
WHERE ID_PARCELAMENTO = AC.ID_PARCELAMENTO);
*/
EXCEPTION
WHEN OTHERS THEN
V_OK := 'N';
V_RETORNO := 'Erro na validação dos dados de acertos';
SP_LOG_INICIO_PROCESSO(P_IDPROCESSAMENTO => P_IDPROCESSAMENTO,
P_IDREGRA => P_IDREGRA,
P_DTINICIO => sysdate,
P_STATUSPROCESSAMENTO => 'VALIDADOR',
P_DESCRICAO => 'Erro ao VALIDAR ACERTO_STG '
||
' - ' || SQLERRM,
P_COMMIT => 'N',
P_IDLOG => v_idlog,
P_OK => v_ok,
P_RETORNO => v_retorno);
END SP_VAL_ACERTO_QTD_PARCELAS;
PROCEDURE SP_VAL_NOVAS_OBRIGATORIEDADE(P_IDPROCESSAMENTO IN
GESTAOCARGAS.PROCESSAMENTO.IDPROCESSAMENTO%TYPE,
P_IDREGRA IN
GESTAOCARGAS.REGRA.IDREGRA%TYPE) AS
V_IDTIPOINFORMACAO GESTAOCARGAS.TIPOINFORMACAO.IDTIPOINFORMACAO%TYPE;
V_OK VARCHAR(100);
V_RETORNO VARCHAR(2000);
V_IDLOG NUMBER;
BEGIN
V_IDTIPOINFORMACAO := GET_IDTIPOINFORMACAO('FATURAPARCELAMENTO');
EXCEPTION
WHEN OTHERS THEN
V_OK := 'N';
V_RETORNO := 'Erro na validação dos dados de novas parcelas';
SP_LOG_INICIO_PROCESSO(P_IDPROCESSAMENTO => P_IDPROCESSAMENTO,
P_IDREGRA => P_IDREGRA,
P_DTINICIO => sysdate,
P_STATUSPROCESSAMENTO => 'VALIDADOR',
P_DESCRICAO => 'Erro ao VALIDAR NOVAS_STG '
||
' - ' || SQLERRM,
P_COMMIT => 'N',
P_IDLOG => v_idlog,
P_OK => v_ok,
P_RETORNO => v_retorno);
END SP_VAL_NOVAS_OBRIGATORIEDADE;
PROCEDURE SP_VAL_NOVAS_ORFAO(P_IDPROCESSAMENTO IN
GESTAOCARGAS.PROCESSAMENTO.IDPROCESSAMENTO%TYPE,
P_IDREGRA IN GESTAOCARGAS.REGRA.IDREGRA
%TYPE) AS
P_OK VARCHAR2(1);
P_RETORNO VARCHAR2(100);
V_IDLOG NUMBER;
BEGIN
P_OK := 'S';
P_RETORNO := '';
EXCEPTION
WHEN OTHERS THEN
P_OK := 'N';
P_RETORNO := 'Erro na validação dos dados de novas parcelas';
SP_LOG_INICIO_PROCESSO(P_IDPROCESSAMENTO => P_IDPROCESSAMENTO,
P_IDREGRA => P_IDREGRA,
P_DTINICIO => sysdate,
P_STATUSPROCESSAMENTO => 'VALIDADOR',
P_DESCRICAO => 'Erro ao VALIDAR NOVAS_STG '
||
' - ' || SQLERRM,
P_COMMIT => 'N',
P_IDLOG => v_idlog,
P_OK => p_ok,
P_RETORNO => p_retorno);
END SP_VAL_NOVAS_ORFAO;
PROCEDURE SP_VAL_ORIGINAIS_ORFAO(P_IDPROCESSAMENTO IN
GESTAOCARGAS.PROCESSAMENTO.IDPROCESSAMENTO%TYPE,
P_IDREGRA IN GESTAOCARGAS.REGRA.IDREGRA
%TYPE) AS
P_OK VARCHAR2(1);
P_RETORNO VARCHAR2(100);
V_IDLOG NUMBER;
BEGIN
P_OK := 'S';
P_RETORNO := '';
EXCEPTION
WHEN OTHERS THEN
P_OK := 'N';
P_RETORNO := 'Erro na validação dos dados de parcelas originais';
SP_LOG_INICIO_PROCESSO(P_IDPROCESSAMENTO => P_IDPROCESSAMENTO,
P_IDREGRA => P_IDREGRA,
P_DTINICIO => sysdate,
P_STATUSPROCESSAMENTO => 'VALIDADOR',
P_DESCRICAO => 'Erro ao VALIDAR
ORIGINAIS_STG ' ||
' - ' || SQLERRM,
P_COMMIT => 'N',
P_IDLOG => v_idlog,
P_OK => p_ok,
P_RETORNO => p_retorno);
END SP_VAL_ORIGINAIS_ORFAO;
PROCEDURE SP_VAL_PAGAMENTO_OBRIGATORI(P_IDPROCESSAMENTO IN
GESTAOCARGAS.PROCESSAMENTO.IDPROCESSAMENTO%TYPE,
P_IDREGRA IN
GESTAOCARGAS.REGRA.IDREGRA%TYPE) AS
P_OK VARCHAR2(1);
P_RETORNO VARCHAR2(100);
V_IDLOG NUMBER;
BEGIN
P_OK := 'S';
P_RETORNO := '';
PROCEDURE SP_VAL_PAGAMENTO_DUPLICIDADE(P_IDPROCESSAMENTO IN
GESTAOCARGAS.PROCESSAMENTO.IDPROCESSAMENTO%TYPE,
P_IDREGRA IN
GESTAOCARGAS.REGRA.IDREGRA%TYPE) AS
P_OK VARCHAR2(1);
P_RETORNO VARCHAR2(100);
V_IDLOG NUMBER;
V_CURSOR_INT TCURSOR;
V_LIST_DADOS_DUPLICADOS LIST_PAGAMENTOS_DUPLICADOS :=
LIST_PAGAMENTOS_DUPLICADOS();
V_INDICE INT;
V_LIMITE NUMBER := 500;
V_QTD_PAGAMENTOS INT;
BEGIN
P_OK := 'S';
P_RETORNO := '';
COMMIT;
-- Percorrendo o cursor
FETCH V_CURSOR_INT BULK COLLECT
INTO V_LIST_DADOS_DUPLICADOS LIMIT V_LIMITE;
IF V_QTD_PAGAMENTOS = 0 THEN
UPDATE GESTAOCARGAS.PAGAMENTOS_STG T1
SET T1.NO_PARCELA = V_LIST_DADOS_DUPLICADOS(V_INDICE).NO_PARCELA,
T1.FL_DUPLICIDADE = 'N',
T1.ST_PROCESSAMENTO = 1,
T1.DT_MODIFICACAO = SYSDATE,
T1.US_MODIFICACAO = 'KROTON'
WHERE ROWID = V_LIST_DADOS_DUPLICADOS(V_INDICE).ROW_ID;
COMMIT;
ELSE
DELETE FROM GESTAOCARGAS.PAGAMENTOS_STG P
WHERE ROWID = V_LIST_DADOS_DUPLICADOS(V_INDICE).ROW_ID;
UPDATE GESTAOCARGAS.GC_PAYMENT_BILLING_INT GC
SET GC.ST_PROCESSAMENTO = 1,
GC.DT_MODIFICACAO = SYSDATE,
GC.US_MODIFICACAO = 'KROTON'
WHERE GC.ID_REGISTRO = V_LIST_DADOS_DUPLICADOS(V_INDICE).ID_REGISTRO;
COMMIT;
END IF;
END LOOP;
END IF;
EXCEPTION
WHEN OTHERS THEN
P_OK := 'N';
P_RETORNO := 'Erro na validação dos dados de Pagamentos';
SP_LOG_INICIO_PROCESSO(P_IDPROCESSAMENTO => P_IDPROCESSAMENTO,
P_IDREGRA => P_IDREGRA,
P_DTINICIO => sysdate,
P_STATUSPROCESSAMENTO => 'VALIDADOR',
P_DESCRICAO => 'Erro ao VALIDAR
PAGAMENTOS_STG ' ||
' - ' || SQLERRM,
P_COMMIT => 'N',
P_IDLOG => v_idlog,
P_OK => p_ok,
P_RETORNO => p_retorno);
END SP_VAL_PAGAMENTO_DUPLICIDADE;
PROCEDURE SP_ATU_PAGAMENTO_CANCELADO(P_IDPROCESSAMENTO IN
GESTAOCARGAS.PROCESSAMENTO.IDPROCESSAMENTO%TYPE,
P_IDREGRA IN
GESTAOCARGAS.REGRA.IDREGRA%TYPE) AS
P_OK VARCHAR2(1);
P_RETORNO VARCHAR2(100);
V_IDLOG NUMBER;
BEGIN
P_OK := 'S';
P_RETORNO := '';
UPDATE GESTAOCARGAS.PAGAMENTOS_OUT P
SET FL_DUPLICIDADE = 'S'
WHERE EXISTS (SELECT 1
FROM GESTAOCARGAS.ACERTO_OUT A
WHERE UPPER(A.ST_PARCELAMENTO) = 'CANCELLED'
AND P.ID_PARCELAMENTO = A.ID_PARCELAMENTO)
AND P.TP_PAGAMENTO != 'Back Office'
AND (ID_PARCELAMENTO, NO_PARCELA) IN
(SELECT ID_PARCELAMENTO, NO_PARCELA
FROM GESTAOCARGAS.PAGAMENTOS_STG
WHERE ID_PROCESSAMENTO = P_IDPROCESSAMENTO);
EXCEPTION
WHEN OTHERS THEN
P_OK := 'N';
P_RETORNO := 'Erro na validação dos dados de Pagamentos Canelados';
SP_LOG_INICIO_PROCESSO(P_IDPROCESSAMENTO => P_IDPROCESSAMENTO,
P_IDREGRA => P_IDREGRA,
P_DTINICIO => sysdate,
P_STATUSPROCESSAMENTO => 'VALIDADOR',
P_DESCRICAO => 'Erro ao VALIDAR
SP_ATU_PAGAMENTO_CANCELADO ' ||
' - ' || SQLERRM,
P_COMMIT => 'N',
P_IDLOG => v_idlog,
P_OK => p_ok,
P_RETORNO => p_retorno);
END SP_ATU_PAGAMENTO_CANCELADO;
PROCEDURE SP_VAL_PAGAMENTO_ORFAO(P_IDPROCESSAMENTO IN
GESTAOCARGAS.PROCESSAMENTO.IDPROCESSAMENTO%TYPE,
P_IDREGRA IN GESTAOCARGAS.REGRA.IDREGRA
%TYPE) AS
P_OK VARCHAR2(1);
P_RETORNO VARCHAR2(100);
V_IDLOG NUMBER;
BEGIN
P_OK := 'S';
P_RETORNO := '';
EXCEPTION
WHEN OTHERS THEN
P_OK := 'N';
P_RETORNO := 'Erro na validação de registros orfãos de PAGAMENTOS';
SP_LOG_INICIO_PROCESSO(P_IDPROCESSAMENTO => P_IDPROCESSAMENTO,
P_IDREGRA => P_IDREGRA,
P_DTINICIO => sysdate,
P_STATUSPROCESSAMENTO => 'VALIDADOR',
P_DESCRICAO => 'Erro ao VALIDAR
PAGAMENTOS_STG ' ||
' - ' || SQLERRM,
P_COMMIT => 'N',
P_IDLOG => v_idlog,
P_OK => p_ok,
P_RETORNO => p_retorno);
END SP_VAL_PAGAMENTO_ORFAO;
-----------------------------------------------------------------------------------
-----------------------
-- ENDREGION : VALIDACAO
-- OBJETIVO: SUBSISTEMA RAID
-- EQUIPE : EAGLES - PI10.SP03
-----------------------------------------------------------------------------------
-----------------------
PROCEDURE PROCESSA_RETORNO_RAID IS
V_ID_PROCESSAMENTO INT;
V_ID_LOG INT;
V_OK VARCHAR2(1);
V_RETORNO VARCHAR2(100);
V_ID_REGRA INT;
V_QTD NUMBER(10);
BEGIN
SELECT IDREGRA
INTO V_ID_REGRA
FROM GESTAOCARGAS.REGRA
WHERE NMPROCEDURE = 'SP_INT_ACERTO';
SELECT COUNT(1)
INTO V_QTD
FROM GESTAOCARGAS.GC_AGREEMENT_DETAIL_INT
WHERE ST_PROCESSAMENTO = 1;
IF (V_QTD > 0) THEN
SP_LOG_INICIO_PROCESSO(P_IDPROCESSAMENTO => V_ID_PROCESSAMENTO,
P_IDREGRA => V_ID_REGRA,
P_DTINICIO => SYSDATE,
P_STATUSPROCESSAMENTO => 'PROCESSANDO',
P_DESCRICAO => 'EXECUÇÃO DA
PROCESSA_RETORNO_RAID',
P_COMMIT => 'N',
P_IDLOG => V_ID_LOG,
P_OK => V_OK,
P_RETORNO => V_RETORNO);
UPDATE GESTAOCARGAS.GC_AGREEMENT_DETAIL_INT
SET ID_PROCESSAMENTO = V_ID_PROCESSAMENTO, ST_PROCESSAMENTO = 0
WHERE ST_PROCESSAMENTO = 1;
CONTROLADORA(V_ID_PROCESSAMENTO);
END IF;
SELECT COUNT(1)
INTO V_QTD
FROM GESTAOCARGAS.GC_AGREEMENT_BILL_INT
WHERE ST_PROCESSAMENTO = 1;
UPDATE GESTAOCARGAS.GC_AGREEMENT_BILL_INT
SET ID_PROCESSAMENTO = V_ID_PROCESSAMENTO, ST_PROCESSAMENTO = 0
WHERE ST_PROCESSAMENTO = 1;
CONTROLADORA(V_ID_PROCESSAMENTO);
END IF;
SELECT COUNT(1)
INTO V_QTD
FROM GESTAOCARGAS.GC_AGREEMENT_INT
WHERE ST_PROCESSAMENTO = 1;
UPDATE GESTAOCARGAS.GC_AGREEMENT_INT
SET ID_PROCESSAMENTO = V_ID_PROCESSAMENTO, ST_PROCESSAMENTO = 0
WHERE ST_PROCESSAMENTO = 1;
CONTROLADORA(V_ID_PROCESSAMENTO);
END IF;
SELECT COUNT(1)
INTO V_QTD
FROM GESTAOCARGAS.GC_PAYMENT_BILLING_INT
WHERE ST_PROCESSAMENTO = 1;
UPDATE GESTAOCARGAS.GC_PAYMENT_BILLING_INT
SET ID_PROCESSAMENTO = V_ID_PROCESSAMENTO, ST_PROCESSAMENTO = 0
WHERE ST_PROCESSAMENTO = 1;
CONTROLADORA(V_ID_PROCESSAMENTO);
END IF;
SELECT COUNT(1)
INTO V_QTD
FROM GESTAOCARGAS.PEP_INT
WHERE ID_PROCESSAMENTO IS NULL;
UPDATE GESTAOCARGAS.PEP_INT
SET ID_PROCESSAMENTO = V_ID_PROCESSAMENTO, DT_ATUALIZACAO = SYSDATE
WHERE ID_PROCESSAMENTO IS NULL;
CONTROLADORA(V_ID_PROCESSAMENTO);
END IF;
-- CASO EXISTA ALGUM ACORDO QUE NÃO CHEGOU NAS TAELAS OUT, MARCA PARA PROXIMO
PROCESSAMENTO;
FOR REG IN (SELECT ID_PARCELAMENTO
FROM GESTAOCARGAS.GC_AGREEMENT_INT G
WHERE ID_PROCESSAMENTO IS NOT NULL
AND NOT EXISTS
(SELECT 1
FROM GESTAOCARGAS.ACERTO_OUT A
WHERE A.ID_PARCELAMENTO = G.ID_PARCELAMENTO)) LOOP
UPDATE GESTAOCARGAS.GC_AGREEMENT_BILL_INT G
SET ID_PROCESSAMENTO = NULL, ST_PROCESSAMENTO = 1
WHERE ID_PARCELAMENTO = REG.ID_PARCELAMENTO;
END LOOP;
COMMIT;
UPDATE GESTAOCARGAS.GC_AGREEMENT_DETAIL_INT G
SET ID_PROCESSAMENTO = NULL, ST_PROCESSAMENTO = 1
WHERE ID_PARCELAMENTO = REG.ID_PARCELAMENTO;
END LOOP;
COMMIT;
UPDATE GESTAOCARGAS.GC_AGREEMENT_BILL_INT G
SET ID_PROCESSAMENTO = NULL, ST_PROCESSAMENTO = 1
WHERE ID_PARCELAMENTO = REG.ID_PARCELAMENTO;
END LOOP;
COMMIT;
DECLARE
BEGIN
FOR REG IN (SELECT G.ID_PARCELAMENTO
FROM GESTAOCARGAS.GC_AGREEMENT_INT G,
GESTAOCARGAS.ACERTO_OUT A
WHERE ID_PROCESSAMENTO IS NOT NULL
AND A.ID_PARCELAMENTO = G.ID_PARCELAMENTO
AND G.ST_PARCELAMENTO != A.ST_PARCELAMENTO) LOOP
UPDATE GESTAOCARGAS.GC_AGREEMENT_INT G
SET ID_PROCESSAMENTO = NULL, ST_PROCESSAMENTO = 1
WHERE ID_PARCELAMENTO = REG.ID_PARCELAMENTO;
END LOOP;
COMMIT;
END;
END PROCESSA_RETORNO_RAID;
PROCEDURE SP_INSERE_PEP_INT(P_ID_PROCESSAMENTO IN
GESTAOCARGAS.PEP_INT.ID_PROCESSAMENTO%TYPE,
P_CD_UNIDADE IN
GESTAOCARGAS.PEP_INT.CD_UNIDADE%TYPE,
P_CD_ALUNO IN
GESTAOCARGAS.PEP_INT.CD_ALUNO%TYPE,
P_CD_ESPECIALIDADE IN
GESTAOCARGAS.PEP_INT.CD_ESPECIALIDADE%TYPE,
P_RA_COB IN
GESTAOCARGAS.PEP_INT.RA_COB%TYPE,
P_DS_BOLETAGEM IN
GESTAOCARGAS.PEP_INT.DS_BOLETAGEM%TYPE,
P_CD_ORIGEM_PEP IN
GESTAOCARGAS.PEP_INT.CD_ORIGEM_PEP%TYPE,
P_NM_SAFRA IN
GESTAOCARGAS.PEP_INT.NM_SAFRA%TYPE,
P_CD_PRODUTO IN
GESTAOCARGAS.PEP_INT.CD_PRODUTO%TYPE,
P_CD_SISTEMA_ORIGEM IN
GESTAOCARGAS.PEP_INT.CD_SISTEMA_ORIGEM%TYPE,
P_IC_CONTRATO_ASSINADO IN
GESTAOCARGAS.PEP_INT.IC_CONTRATO_ASSINADO%TYPE,
P_IC_PAGAMENTO_POS_FORMATURA IN
GESTAOCARGAS.PEP_INT.IC_PAGAMENTO_POS_FORMATURA%TYPE,
P_CD_STATUS IN
GESTAOCARGAS.PEP_INT.CD_STATUS%TYPE,
P_DS_DEFINICAO IN
GESTAOCARGAS.PEP_INT.DS_DEFINICAO%TYPE,
P_IC_ACEITE IN
GESTAOCARGAS.PEP_INT.IC_ACEITE%TYPE,
P_NM_MES_EVASAO IN
GESTAOCARGAS.PEP_INT.NM_MES_EVASAO%TYPE,
P_CD_SITUACAO_ALUNO IN
GESTAOCARGAS.PEP_INT.CD_SITUACAO_ALUNO%TYPE,
P_IC_MGP_EVADIDO IN
GESTAOCARGAS.PEP_INT.IC_MGP_EVADIDO%TYPE,
P_DT_INCLUSAO IN
GESTAOCARGAS.PEP_INT.DT_INCLUSAO%TYPE,
P_DT_ATUALIZACAO IN
GESTAOCARGAS.PEP_INT.DT_ATUALIZACAO%TYPE) IS
BEGIN
END SP_INSERE_PEP_INT;
-----------------------------------------------------------------------------------
------------------------
-- Atualiza a natureza de rematricula para colaborar
--
PROCEDURE SP_ATU_FATURA_NATUREZA_REMAT(P_IDPROCESSAMENTO IN
GESTAOCARGAS.PROCESSAMENTO.IDPROCESSAMENTO%TYPE,
P_IDREGRA IN
GESTAOCARGAS.REGRA.IDREGRA%TYPE)
AS
V_OK VARCHAR2(10);
V_RETORNO VARCHAR2(100);
V_IDLOG NUMBER;
CURSOR C_ATUALIZAR_TITULOS IS
WITH TITULOS
AS
(SELECT
TIT.ID_FATURA,
TIT.NO_PARCELA_ACADEMICO,
TIT.NO_MATRICULA_ACADEMICO
FROM GESTAOCARGAS.TITULOS_STG TIT
WHERE TIT.ID_PROCESSAMENTO = P_IDPROCESSAMENTO
AND TIT.TP_NATUREZA_TITULO = 'MENSALIDADE'
AND TIT.ST_FATURA = 'ABERTO'
AND TIT.SIS_ORIGEM = 'COLABORAR'
AND NOT EXISTS(SELECT 1 FROM GESTAOCARGAS.GC_BILL_COMPLEMENTARY BC
WHERE BC.ID_TITULO = TIT.ID_FATURA)
AND TIT.ID_REGISTRO =
(SELECT MAX(ID_REGISTRO)
FROM GESTAOCARGAS.TITULOS_STG TIT2
WHERE TIT2.ID_PROCESSAMENTO = P_IDPROCESSAMENTO
AND TIT.ID_FATURA = TIT2.ID_FATURA)
AND NOT EXISTS
(SELECT 1
FROM GESTAOCARGAS.LOGVALIDACAO LV
WHERE LV.ID_PROCESSAMENTO = TIT.ID_PROCESSAMENTO
AND LV.ID_REGISTRO = TIT.ID_REGISTRO
AND LV.CRITICIDADE = ERRO_VALIDACAO)
)
SELECT * FROM TITULOS;
BEGIN
OPEN C_ATUALIZAR_TITULOS;
LOOP
FETCH C_ATUALIZAR_TITULOS BULK COLLECT
INTO LISTA_ALUNOS_TITULOS LIMIT 10000;
EXIT WHEN LISTA_ALUNOS_TITULOS.COUNT = 0;
BEGIN
FORALL IDX IN INDICES OF LISTA_ALUNOS_TITULOS SAVE EXCEPTIONS
INSERT INTO GESTAOCARGAS.GC_BILL_COMPLEMENTARY VALUES
LISTA_ALUNOS_TITULOS(IDX);
COMMIT;
EXCEPTION
WHEN OTHERS THEN
SP_LOG_INICIO_PROCESSO(P_IDPROCESSAMENTO => P_IDPROCESSAMENTO,
P_IDREGRA => P_IDREGRA,
P_DTINICIO => SYSDATE,
P_STATUSPROCESSAMENTO => 'ATUALIZADOR',
P_DESCRICAO => 'Erro ao ATUALIZAR
SP_ATU_FATURA_NATUREZA_REMAT GC_BILL_COMPLEMENTARY ' ||
' - ' || SQLERRM,
P_COMMIT => 'N',
P_IDLOG => V_IDLOG,
P_OK => V_OK,
P_RETORNO => V_RETORNO);
END;
END LOOP;
END SP_ATU_FATURA_NATUREZA_REMAT;
PROCEDURE SP_VAL_ACORDO_TEMPORARIO(P_IDPROCESSAMENTO IN
GESTAOCARGAS.PROCESSAMENTO.IDPROCESSAMENTO%TYPE,
P_IDREGRA IN
GESTAOCARGAS.REGRA.IDREGRA%TYPE) IS
V_OK VARCHAR2(1);
V_RETORNO VARCHAR2(100);
V_IDLOG NUMBER;
BEGIN
EXCEPTION
WHEN OTHERS THEN
SP_LOG_INICIO_PROCESSO(P_IDPROCESSAMENTO => P_IDPROCESSAMENTO,
P_IDREGRA => P_IDREGRA,
P_DTINICIO => SYSDATE,
P_STATUSPROCESSAMENTO => 'INTEGRADOR',
P_DESCRICAO => 'ERRO
SP_VAL_ACORDO_TEMPORARIO' ||
SQLERRM,
P_COMMIT => 'N',
P_IDLOG => V_IDLOG,
P_OK => V_OK,
P_RETORNO => V_RETORNO);
END SP_VAL_ACORDO_TEMPORARIO;
PROCEDURE SP_VAL_PAGAMENTO_TEMPORARIO(P_IDPROCESSAMENTO IN
GESTAOCARGAS.PROCESSAMENTO.IDPROCESSAMENTO%TYPE,
P_IDREGRA IN
GESTAOCARGAS.REGRA.IDREGRA%TYPE) IS
V_OK VARCHAR2(1);
V_RETORNO VARCHAR2(100);
V_IDLOG NUMBER;
V_TABLE T_TABLE_PAGTO_DUPLICADO;
V_IDS_PARCELAMENTO T_TABLE_ID_PARCELAMENTO;
V_IDS_UPDATE T_TABLE_ID_PARCELAMENTO;
V_INDICE INT;
BEGIN
BEGIN
SELECT MIN(ID_PARCELAMENTO)
BULK COLLECT
INTO V_IDS_PARCELAMENTO
FROM TABLE(V_TABLE) T
WHERE T.FL_CANCELADO <> 'S'
GROUP BY ID_CONTRATO;
SELECT ID_PARCELAMENTO
BULK COLLECT
INTO V_IDS_UPDATE
FROM TABLE(V_TABLE) T
WHERE ID_PARCELAMENTO NOT IN
(SELECT ID_PARCELAMENTO FROM TABLE(V_IDS_PARCELAMENTO));
UPDATE GESTAOCARGAS.PAGAMENTOS_STG P
SET FL_DUPLICIDADE = 'S'
WHERE ID_PROCESSAMENTO = P_IDPROCESSAMENTO
AND EXISTS
(SELECT 1
FROM GESTAOCARGAS.GC_AGREEMENT_TO_CANCEL_INT C
WHERE P.ID_PARCELAMENTO = C.ID_PARCELAMENTO);
*/
/*
-- Passa pagamento para a parcela aberta mais baixa
UPDATE (SELECT
(SELECT MIN(NO_PARCELA)
FROM GESTAOCARGAS.GC_BILL GC
WHERE GC.ID_PARCELAMENTO = P.ID_PARCELAMENTO
AND GC.ST_TITULO = 'ABERTO') MENOR_PARCELA_ABERTA,
P.NO_PARCELA PARCELA_SENDO_PAGA,
P.*
FROM GESTAOCARGAS.PAGAMENTOS_STG P
WHERE P.ID_PROCESSAMENTO = P_IDPROCESSAMENTO
AND P.FL_DUPLICIDADE = 'N'
AND EXISTS (SELECT 1
FROM GESTAOCARGAS.ACERTO_OUT A
WHERE UPPER(A.ST_PARCELAMENTO) IN ('CANCELLED', 'APPROVED',
'PAYMENT')
AND P.ID_PARCELAMENTO = A.ID_PARCELAMENTO)
AND P.TP_PAGAMENTO != 'Back Office'
AND P.NO_PARCELA > 1)
SET PARCELA_SENDO_PAGA = MENOR_PARCELA_ABERTA
WHERE MENOR_PARCELA_ABERTA IS NOT NULL
AND PARCELA_SENDO_PAGA <> MENOR_PARCELA_ABERTA;
*/
UPDATE GESTAOCARGAS.PAGAMENTOS_STG
SET NO_PARCELA = PAGAMENTO.MENOR_PARCELA_ABERTA
WHERE ID_REGISTRO = PAGAMENTO.ID_REGISTRO;
END LOOP;
EXCEPTION
WHEN OTHERS THEN
SP_LOG_INICIO_PROCESSO(P_IDPROCESSAMENTO => P_IDPROCESSAMENTO,
P_IDREGRA => P_IDREGRA,
P_DTINICIO => SYSDATE,
P_STATUSPROCESSAMENTO => 'INTEGRADOR',
P_DESCRICAO => 'ERRO
SP_VAL_PAGAMENTO_TEMPORARIO' ||
SQLERRM,
P_COMMIT => 'N',
P_IDLOG => V_IDLOG,
P_OK => V_OK,
P_RETORNO => V_RETORNO);
END;
BEGIN
-- ENVIA PARA CANCELAMENTO DEMAIS ACORDOS DO MESMO CONTRATO QUE ESTÃO EM ABERTO
INSERT INTO GESTAOCARGAS.GC_AGREEMENT_TO_CANCEL_INT
(ID_PROCESSAMENTO,
SIS_ORIGEM,
ID_PARCELAMENTO,
ST_PROCESSAMENTO,
DT_CRIACAO,
US_CRIACAO,
DT_MODIFICACAO,
US_MODIFICACAO)
SELECT DISTINCT 1,
A_CONTRATO.SIS_ORIGEM,
A_CONTRATO.ID_PARCELAMENTO,
1,
SYSDATE,
'TEMPORARIO2',
SYSDATE,
'KROTON'
FROM GESTAOCARGAS.PAGAMENTOS_STG P
JOIN GESTAOCARGAS.GC_AGREEMENT_INT A_STATUS
ON A_STATUS.ID_PARCELAMENTO = P.ID_PARCELAMENTO
JOIN GESTAOCARGAS.GC_AGREEMENT_INT A_CONTRATO
ON A_CONTRATO.ID_CONTRATO = A_STATUS.ID_CONTRATO
LEFT JOIN GESTAOCARGAS.PAGAMENTOS_STG P2
ON P2.ID_PARCELAMENTO = A_CONTRATO.ID_PARCELAMENTO
WHERE A_STATUS.ST_PARCELAMENTO IN ('Temporary', 'Approved')
AND A_CONTRATO.ST_PARCELAMENTO IN ('Temporary', 'Approved')
AND A_STATUS.ID_PARCELAMENTO <> A_CONTRATO.ID_PARCELAMENTO
AND P.ID_PROCESSAMENTO = P_IDPROCESSAMENTO
AND (P2.ID_REGISTRO IS NULL OR P2.FL_DUPLICIDADE = 'S')
AND NOT EXISTS
(SELECT 1
FROM GESTAOCARGAS.GC_AGREEMENT_TO_CANCEL_INT C
WHERE C.ID_PARCELAMENTO = P2.ID_PARCELAMENTO);
EXCEPTION
WHEN OTHERS THEN
SP_LOG_INICIO_PROCESSO(P_IDPROCESSAMENTO => P_IDPROCESSAMENTO,
P_IDREGRA => P_IDREGRA,
P_DTINICIO => SYSDATE,
P_STATUSPROCESSAMENTO => 'INTEGRADOR',
P_DESCRICAO => 'ERRO AO CANCELAR PAGAMENTO
PAGAMENTOS_STG' ||
SQLERRM,
P_COMMIT => 'N',
P_IDLOG => V_IDLOG,
P_OK => V_OK,
P_RETORNO => V_RETORNO);
END;
END SP_VAL_PAGAMENTO_TEMPORARIO;
FUNCTION GET_TITULOS_DETAIL(P_IDPROCESSAMENTO IN
GESTAOCARGAS.PROCESSAMENTO.IDPROCESSAMENTO%TYPE)
RETURN TCURSOR IS
V_CURSOR TCURSOR;
BEGIN
OPEN V_CURSOR FOR
SELECT GESTAOCARGAS.TP_TITULOS_DETAIL_STG(ID_REGISTRO =>
TD.ID_REGISTRO,
ID_PROCESSAMENTO =>
TD.ID_PROCESSAMENTO,
ID_TITULO =>
T.ID_TITULO,
NU_TITULO =>
TD.NU_TITULO,
ID_ITEM =>
TD.ID_ITEM,
DS_ITEM => CASE
WHEN
REGEXP_SUBSTR(TD.DS_ITEM, '(\S*)(\s)+(\D)(\d)') = REGEXP_SUBSTR(TD.DS_ITEM, '(\S*)
(\s)+(\D)(\d)')
AND
LENGTH(REGEXP_SUBSTR(TD.DS_ITEM, '(\S*)(\s)+(\D)(\d)')) > 11 THEN
'Juros/Multa'
ELSE
TD.DS_ITEM
END,
VL_LIQUIDO =>
TD.VL_LIQUIDO,
DT_CADASTRO =>
TD.DT_CADASTRO,
DT_MODIFICACAO_ORIGEM =>
TD.DT_MODIFICACAO_ORIGEM,
ST_PROCESSAMENTO =>
TD.ST_PROCESSAMENTO,
US_CRIACAO =>
TD.US_CRIACAO,
US_MODIFICACAO =>
TD.US_MODIFICACAO,
DT_PROCESSAMENTO =>
TD.DT_PROCESSAMENTO,
SIS_ORIGEM =>
TD.SIS_ORIGEM,
VL_DEDUCOES =>
TD.VL_DEDUCOES,
DESC_DEDUCOES =>
TD.DESC_DEDUCOES)
FROM GESTAOCARGAS.TITULOS_DETAIL_INT TD
INNER JOIN GESTAOCARGAS.GC_BILL T
ON T.NO_TITULO = TD.NU_TITULO
AND T.ID_TITULO LIKE TD.SIS_ORIGEM || '%'
AND T.NATUREZA_TITULO != 'ACORDO RAID'
WHERE TD.ID_PROCESSAMENTO = P_IDPROCESSAMENTO;
RETURN V_CURSOR;
END GET_TITULOS_DETAIL;
PROCEDURE SP_INT_TITULOS_DETAIL(P_IDPROCESSAMENTO IN
GESTAOCARGAS.PROCESSAMENTO.IDPROCESSAMENTO%TYPE,
P_IDREGRA IN GESTAOCARGAS.REGRA.IDREGRA
%TYPE) IS
V_CURSOR_TIT TCURSOR;
V_LISTA_TIT GESTAOCARGAS.TL_TITULOS_DETAIL_STG;
V_OK VARCHAR2(1);
V_RETORNO VARCHAR2(100);
V_IDLOG NUMBER;
BEGIN
BEGIN
V_CURSOR_TIT := GET_TITULOS_DETAIL(P_IDPROCESSAMENTO => P_IDPROCESSAMENTO);
LOOP
FETCH V_CURSOR_TIT BULK COLLECT
INTO V_LISTA_TIT LIMIT FL_BULK_LIMIT;
EXIT WHEN V_LISTA_TIT.COUNT = 0;
INSERIR_TITULOS_DETAIL(P_LISTA_TITULOS_DETAIL => V_LISTA_TIT,
P_IDPROCESSAMENTO => P_IDPROCESSAMENTO,
P_IDREGRA => P_IDREGRA);
END LOOP;
EXCEPTION
WHEN OTHERS THEN
SP_LOG_INICIO_PROCESSO(P_IDPROCESSAMENTO => P_IDPROCESSAMENTO,
P_IDREGRA => P_IDREGRA,
P_DTINICIO => SYSDATE,
P_STATUSPROCESSAMENTO => 'INTEGRADOR',
P_DESCRICAO => 'ERRO NA INTEGRAÇÃO DE
TITULOS_DETAIL_INT -> TITULOS_DETAIL_STG: ' ||
SQLERRM,
P_COMMIT => 'N',
P_IDLOG => V_IDLOG,
P_OK => V_OK,
P_RETORNO => V_RETORNO);
END;
END SP_INT_TITULOS_DETAIL;
PROCEDURE INSERIR_TITULOS_DETAIL(P_LISTA_TITULOS_DETAIL IN
GESTAOCARGAS.TL_TITULOS_DETAIL_STG,
P_IDPROCESSAMENTO IN
GESTAOCARGAS.PROCESSAMENTO.IDPROCESSAMENTO%TYPE,
P_IDREGRA IN
GESTAOCARGAS.REGRA.IDREGRA%TYPE) IS
TYPE TP_LISTA IS TABLE OF GESTAOCARGAS.TITULOS_DETAIL_STG%ROWTYPE;
V_LISTA_TITULOS_DETAIL TP_LISTA := TP_LISTA();
V_OK VARCHAR2(1);
V_RETORNO VARCHAR2(100);
V_IDLOG NUMBER;
BEGIN
SELECT ID_REGISTRO,
ID_PROCESSAMENTO,
ID_TITULO,
ID_ITEM,
VL_LIQUIDO,
DT_CADASTRO,
DT_MODIFICACAO_ORIGEM,
ST_PROCESSAMENTO,
US_CRIACAO,
US_MODIFICACAO,
DT_PROCESSAMENTO,
SIS_ORIGEM,
NU_TITULO,
DS_ITEM,
VL_DEDUCOES,
DESC_DEDUCOES
BULK COLLECT
INTO V_LISTA_TITULOS_DETAIL
FROM TABLE(P_LISTA_TITULOS_DETAIL) A;
COMMIT;
EXCEPTION
WHEN P_DML_ERROR THEN
FOR I IN 1 .. SQL%BULK_EXCEPTIONS.COUNT LOOP
BEGIN
SP_LOG_INICIO_PROCESSO(P_IDPROCESSAMENTO => P_IDPROCESSAMENTO,
P_IDREGRA => P_IDREGRA,
P_DTINICIO => SYSDATE,
P_STATUSPROCESSAMENTO => 'INTEGRADOR',
P_DESCRICAO => 'Erro ao inserir
TITULOS_DETAIL_STG Id_Fatura: ' || P_LISTA_TITULOS_DETAIL(I).ID_TITULO ||
' ID_ITEM: ' ||
P_LISTA_TITULOS_DETAIL(I).ID_ITEM ||
' - ' || SQL
%BULK_EXCEPTIONS(I).ERROR_CODE ||
' - ' ||
SQLERRM(SQL
%BULK_EXCEPTIONS(I).ERROR_CODE) ||
' - ' || SQLERRM ||
CHR(13) || ' - ' ||
SYS.DBMS_UTILITY.FORMAT_CALL_STACK,
P_COMMIT => 'N',
P_IDLOG => V_IDLOG,
P_OK => V_OK,
P_RETORNO => V_RETORNO);
END;
END LOOP;
END INSERIR_TITULOS_DETAIL;
PROCEDURE SP_VAL_TITULOS_DETAIL_DUPLICID(P_IDPROCESSAMENTO IN
GESTAOCARGAS.PROCESSAMENTO.IDPROCESSAMENTO%TYPE,
P_IDREGRA IN
GESTAOCARGAS.REGRA.IDREGRA%TYPE) AS
V_OK VARCHAR2(1);
V_RETORNO VARCHAR2(100);
V_IDLOG NUMBER;
BEGIN
V_OK := 'S';
V_RETORNO := '';
EXCEPTION
WHEN OTHERS THEN
V_OK := 'N';
V_RETORNO := 'Erro na validação de duplicidade dos detalhes dos titulos SAP';
SP_LOG_INICIO_PROCESSO(P_IDPROCESSAMENTO => P_IDPROCESSAMENTO,
P_IDREGRA => P_IDREGRA,
P_DTINICIO => SYSDATE,
P_STATUSPROCESSAMENTO => 'VALIDADOR',
P_DESCRICAO => 'Erro ao VALIDAR
TITULOS_DETAIL_STG ' ||
' - ' || SQLERRM,
P_COMMIT => 'N',
P_IDLOG => V_IDLOG,
P_OK => V_OK,
P_RETORNO => V_RETORNO);
END SP_VAL_TITULOS_DETAIL_DUPLICID;
PROCEDURE SP_VAL_TITULOS_DETAIL_ORFAO(P_IDPROCESSAMENTO IN
GESTAOCARGAS.PROCESSAMENTO.IDPROCESSAMENTO%TYPE,
P_IDREGRA IN
GESTAOCARGAS.REGRA.IDREGRA%TYPE) AS
V_OK VARCHAR2(1);
V_RETORNO VARCHAR2(100);
V_IDLOG NUMBER;
BEGIN
V_OK := 'S';
V_RETORNO := '';
EXCEPTION
WHEN OTHERS THEN
V_OK := 'N';
V_RETORNO := 'Erro na validação de duplicidade dos detalhes dos titulos SAP';
SP_LOG_INICIO_PROCESSO(P_IDPROCESSAMENTO => P_IDPROCESSAMENTO,
P_IDREGRA => P_IDREGRA,
P_DTINICIO => SYSDATE,
P_STATUSPROCESSAMENTO => 'VALIDADOR',
P_DESCRICAO => 'Erro ao VALIDAR
TITULOS_DETAIL_STG ' ||
' - ' || SQLERRM,
P_COMMIT => 'N',
P_IDLOG => V_IDLOG,
P_OK => V_OK,
P_RETORNO => V_RETORNO);
END SP_VAL_TITULOS_DETAIL_ORFAO;
PROCEDURE SP_ATU_TITULOS_DETAIL(P_IDPROCESSAMENTO IN
GESTAOCARGAS.PROCESSAMENTO.IDPROCESSAMENTO%TYPE,
P_IDREGRA IN GESTAOCARGAS.REGRA.IDREGRA
%TYPE) AS
V_OK VARCHAR2(10);
V_RETORNO VARCHAR2(2000);
V_IDLOG NUMBER;
BEGIN
SELECT COUNT(1)
INTO V_QTD
FROM GESTAOCARGAS.CLIENTES_INT
WHERE SIS_ORIGEM LIKE '%' || SISTEMA || '%'
AND ID_PROCESSAMENTO IS NULL;
SELECT IDREGRA
INTO V_ID_REGRA
FROM GESTAOCARGAS.REGRA
WHERE NMPROCEDURE = 'SP_INT_CLIENTE';
UPDATE GESTAOCARGAS.CLIENTES_INT
SET ID_PROCESSAMENTO = V_ID_PROCESSAMENTO
WHERE SIS_ORIGEM LIKE '%' || SISTEMA || '%'
AND ID_PROCESSAMENTO IS NULL;
CONTROLADORA(V_ID_PROCESSAMENTO);
END IF;
SELECT COUNT(1)
INTO V_QTD
FROM GESTAOCARGAS.CONTRATOS_INT
WHERE SIS_ORIGEM LIKE '%' || SISTEMA || '%'
AND ID_PROCESSAMENTO IS NULL;
UPDATE GESTAOCARGAS.CONTRATOS_INT
SET ID_PROCESSAMENTO = V_ID_PROCESSAMENTO
WHERE SIS_ORIGEM LIKE '%' || SISTEMA || '%'
AND ID_PROCESSAMENTO IS NULL;
CONTROLADORA(V_ID_PROCESSAMENTO);
END IF;
SELECT COUNT(1)
INTO V_QTD
FROM GESTAOCARGAS.CONTATOS_INT
WHERE SIS_ORIGEM LIKE '%' || SISTEMA || '%'
AND ID_PROCESSAMENTO IS NULL;
UPDATE GESTAOCARGAS.CONTATOS_INT
SET ID_PROCESSAMENTO = V_ID_PROCESSAMENTO
WHERE SIS_ORIGEM LIKE '%' || SISTEMA || '%'
AND ID_PROCESSAMENTO IS NULL;
CONTROLADORA(V_ID_PROCESSAMENTO);
END IF;
SELECT COUNT(1)
INTO V_QTD
FROM GESTAOCARGAS.TITULOS_INT
WHERE SIS_ORIGEM LIKE '%' || SISTEMA || '%'
AND ID_PROCESSAMENTO IS NULL;
UPDATE GESTAOCARGAS.TITULOS_INT
SET ID_PROCESSAMENTO = V_ID_PROCESSAMENTO, ST_PROCESSAMENTO = 1
WHERE SIS_ORIGEM LIKE '%' || SISTEMA || '%'
AND ID_PROCESSAMENTO IS NULL;
CONTROLADORA(V_ID_PROCESSAMENTO);
END IF;
SELECT COUNT(1)
INTO V_QTD
FROM GESTAOCARGAS.TITULOS_DETAIL_INT
WHERE SIS_ORIGEM LIKE '%' || SISTEMA || '%'
AND ID_PROCESSAMENTO IS NULL;
UPDATE GESTAOCARGAS.TITULOS_DETAIL_INT
SET ID_PROCESSAMENTO = V_ID_PROCESSAMENTO, ST_PROCESSAMENTO = 1
WHERE SIS_ORIGEM LIKE '%' || SISTEMA || '%'
AND ID_PROCESSAMENTO IS NULL;
CONTROLADORA(V_ID_PROCESSAMENTO);
END IF;
END LOOP;
END ENVIO_RAID;
END MOTOR_DE_REGRAS;