Você está na página 1de 2

PROMPT CREATE OR REPLACE TRIGGER trg_i_criar_doc_clinico CREATE OR REPLACE TRIGGER trg_i_criar_doc_clinico BEFORE INSERT ON registro_documento REFERENCING NEW AS NEW

OLD AS OLD FOR EACH ROW DECLARE pCD_TIPO_DOCUMENTO DBAMV.PW_TIPO_DOCUMENTO.CD_TIPO_DOCUMENTO%type; pCD_PACIENTE DBAMV.PACIENTE.CD_PACIENTE%Type; pCD_PRESTADOR DBAMV.ATENDIME.CD_PRESTADOR%Type; pCD_SETOR DBAMV.SETOR.CD_SETOR%Type; vCD_DOCUMENTO_CLINICO DBAMV.PW_DOCUMENTO_CLINICO.CD_DOCUMENTO_CLINICO%Type ; vCD_OBJETO DBAMV.PW_DOCUMENTO_CLINICO.CD_OBJETO%Type; vEmpresa Number := Dbamv.Pkg_Mv2000.Le_Empresa; -- OP 3197 BEGIN SELECT NVL(MAX(CD_TIPO_DOCUMENTO), 0) INTO pCD_TIPO_DOCUMENTO FROM DBAMV.PW_TIPO_DOCUMENTO WHERE TP_DOCUMENTO = 'ARQPDF'; SELECT CD_OBJETO INTO vCD_OBJETO FROM DBAMV.DOCUMENTO WHERE CD_DOCUMENTO = :NEW.CD_DOCUMENTO; --CARREGANDO AS INFORMAES CODIGO DO PACIENTE E PRESTADOR dbamv.pkg_mv2000.desliga_view('ATENDIME'); -dbamv.pkg_mv2000.atribui_empresa(Null); -SELECT NVL(CD_PACIENTE, 0), NVL(CD_PRESTADOR, 0), FNC_PAGU_SETOR_ATENDIMENTO(CD _ATENDIMENTO, TP_ATENDIMENTO) INTO pCD_PACIENTE, pCD_PRESTADOR, pCD_SETOR FROM DBAMV.ATENDIME WHERE CD_ATENDIMENTO = :NEW.CD_ATENDIMENTO; -dbamv.pkg_mv2000.atribui_empresa(vEmpresa); -- OP 3197 -Pkg_Pagu.Pr_Prestador; pCd_Prestador := Pkg_Pagu.Fn_Prestador().Cd_Prestador; SELECT DBAMV.SEQ_PW_DOCUMENTO_CLINICO.NEXTVAL INTO vCD_DOCUMENTO_CLINICO FROM DUAL; :NEW.CD_DOCUMENTO_CLINICO := vCD_DOCUMENTO_CLINICO; INSERT INTO DBAMV.PW_DOCUMENTO_CLINICO( CD_DOCUMENTO_CLINICO , CD_TIPO_DOCUMENTO , CD_DOCUMENTO_DIGITAL , CD_PACIENTE , CD_ATENDIMENTO , CD_USUARIO , CD_PRESTADOR , TP_STATUS , DH_REFERENCIA , DH_CRIACAO , DH_FECHAMENTO , DH_IMPRESSO , CD_SETOR , TP_EXTENSAO

, CD_OBJETO) VALUES ( , , , , , , , , , , , , , vCD_DOCUMENTO_CLINICO pCD_TIPO_DOCUMENTO NULL pCD_PACIENTE :NEW.CD_ATENDIMENTO :NEW.NM_USUARIO pCD_PRESTADOR 'ABERTO' SYSDATE SYSDATE :NEW.DT_REGISTRO :NEW.DT_REGISTRO pCD_SETOR 'PDF'

, vCD_OBJETO); EXCEPTION WHEN NO_DATA_FOUND THEN --CASO NA TABELA PW_TIPO_DOCUMENTO NO EXISTA O TIPO ARQPDF RAISE_APPLICATION_ERROR (-20001,'TIPO DOCUMENTO NO CONFIIGURADAO - [ARQP DF]'); END; /

Você também pode gostar