EXEMPLO_1212310
Database
Tables
(current)
Columns
Constraints
Relationships
Orphan Tables
Anomalies
Routines
COPIAPRESCRICAOMODELO
Parameters
Name
Type
Mode
@P_COLIGADA
int
IN
@P_USER
varchar
IN
@P_CODPRESCORIGEM
int
IN
@P_CODPRESCDESTINO
int
IN
Definition
CREATE PROCEDURE COPIAPRESCRICAOMODELO @P_COLIGADA INTEGER, @P_USER VARCHAR(30), @P_CODPRESCORIGEM INTEGER, @P_CODPRESCDESTINO INTEGER AS BEGIN DECLARE /* VARIAVEIS DE INSERCAO */ @V_CODPRESCRICAO INTEGER, @V_SEQUENCIAL INTEGER, @V_SEQ INTEGER, @V_SEQPARENT INTEGER, @V_DESCESTOQUE VARCHAR(200), @V_CODCUIDADO INTEGER, @V_CODUNIDESTOQUE VARCHAR(5), @V_CODUNIDFATURAMENTO VARCHAR(5), @V_FATORCONVERSAO NUMERIC(15,4), @V_QUANTIDADE NUMERIC(15,4), @V_VALORUNITARIO NUMERIC(15,4), @V_VALORTOTAL NUMERIC(15,2), @V_PRECOMEDIO NUMERIC(15,4), @V_BAIXAESTOQUE VARCHAR(1), @V_CODGRPCLINICA INT, @V_DESCESPECIFICA VARCHAR(100), @V_CODESPECIFICO VARCHAR(8), @V_QTDESTOQUE NUMERIC(15,4), @V_GRATIS CHAR(1), @V_VLRUNITESTOQUE NUMERIC(15,4), @V_CODFABRICANTE INT, @V_VALIDADE VARCHAR(7), @V_LOTE VARCHAR(10), @V_ATUALIZAVALIDADE VARCHAR(1), @V_UNITARIOORIGINAL NUMERIC(15,4), @V_DATADEVOLUCAO DATETIME, @V_CODAPLICACAO INT, @V_CODFREQUENCIA INT, @V_OBSERVACAO VARCHAR(255), @V_HORARIO VARCHAR(255), @V_HORAINICIO VARCHAR(4), @V_NECESSARIO VARCHAR(1), @V_TIPOITEM VARCHAR(1), @V_MATMEDOUT VARCHAR(1), @V_QTDDOSE NUMERIC(15,4), @V_CODDILUICAO INT, @V_VELOCINFUSAO NUMERIC(15,2), @V_TIPOVELOC VARCHAR(1), @V_TIPOHORARIO VARCHAR(1), @V_CODOBSERVACAO INT, @V_SUSPENDER VARCHAR(1), @V_DATPRESCRICAO DATETIME, @V_HORA VARCHAR(4), @V_CODPRESTADOR INT, @V_CODREQUISICAO INT, @V_SEQPRESCRICAO INT, @V_CODCOLIGADA INT, @V_IDREQPA INT, @V_IDITEMREQPA INT, @V_SEQASSOCIADO INT, @V_IDCOMPITEMPRESCR INT, @V_SEQESTRUTURADO VARCHAR(5), @V_CODUSUARIO VARCHAR(20), @V_IDPRD INT, @V_IDKIT INT, @V_QTDEKIT NUMERIC(15,4), @V_IDPRDCOMPOSTO INT, @V_DOSAGEM NUMERIC(15,4), @V_IDDOSAGEM INT, @V_UNDDOSAGEM VARCHAR(5), @V_DOSEPORAPLIC NUMERIC(15,4), @V_UNDDOSEPORAPLIC VARCHAR(5), @V_ACM VARCHAR(1), @V_RECCREATEDBY VARCHAR(50), @V_RECCREATEDON DATETIME, @V_RECMODIFIEDBY VARCHAR(50), @V_RECMODIFIEDON DATETIME, @V_RECCREATEDUTC DDATETIME, @V_CODGRPCUIDADO INT, @V_CODPRESCRICAOORIGEM INT, @V_INATIVO DLOGICONULL, @V_ATIVO VARCHAR(1), @V_HORAPART VARCHAR(4), @V_MULTIPLICA CHAR(1), @V_IDPRDASSOC INTEGER, @V_QUANT_ASSOC NUMERIC(15,4), @V_ESTR_ASSOC INTEGER, @V_QTDDOSE_ASSOC NUMERIC(15,4), @V_DATAPRESCRICAO DATETIME DECLARE /*CURSOR DOS ITENS DE ORIGEM */ C_ORIGEM CURSOR FOR SELECT A.CODPRESCRICAO, A.DESCESTOQUE, A.CODCUIDADO, A.CODUNIDESTOQUE, A.CODUNIDFATURAMENTO, A.FATORCONVERSAO, A.QUANTIDADE , A.VALORUNITARIO , A.VALORTOTAL , A.PRECOMEDIO , A.BAIXAESTOQUE , A.CODGRPCLINICA , A.DESCESPECIFICA , A.CODESPECIFICO , A.QTDESTOQUE , A.GRATIS , A.VLRUNITESTOQUE, A.CODFABRICANTE, A.VALIDADE, A.LOTE, A.ATUALIZAVALIDADE, A.UNITARIOORIGINAL, NULL , A.CODAPLICACAO, A.CODFREQUENCIA, A.OBSERVACAO, A.HORARIO , A.HORAINICIO, A.NECESSARIO , A.TIPOITEM, A.MATMEDOUT , A.QTDDOSE , A.CODDILUICAO, A.VELOCINFUSAO, A.TIPOVELOC, A.TIPOHORARIO , A.CODOBSERVACAO, A.SUSPENDER , A.DATPRESCRICAO , A.HORA , A.CODPRESTADOR , A.CODREQUISICAO , A.SEQPRESCRICAO , A.CODCOLIGADA , A.IDREQPA, A.IDITEMREQPA , A.SEQASSOCIADO , A.IDCOMPITEMPRESCR, A.SEQESTRUTURADO, A.CODUSUARIO, A.IDPRD, A.IDKIT , A.QTDEKIT , A.IDPRDCOMPOSTO , A.DOSAGEM , A.IDDOSAGEM , A.UNDDOSAGEM , A.DOSEPORAPLIC , A.UNDDOSEPORAPLIC , A.ACM , A.RECCREATEDBY , A.RECCREATEDON, A.RECMODIFIEDBY, A.RECMODIFIEDON, A.RECCREATEDUTC , A.CODGRPCUIDADO, A.CODPRESCRICAOORIGEM, B.INATIVO, C.ATIVO FROM SZITEMPRESCRICAO A LEFT JOIN TPRD B ON B.CODCOLIGADA = A.CODCOLIGADA AND B.IDPRD = A.IDPRD LEFT JOIN SZCUIDADOPROC C ON C.CODCOLIGADA = A.CODCOLIGADA AND C.ITEM = A.CODCUIDADO AND C.GRUPO = 1 WHERE A.CODCOLIGADA = @P_COLIGADA AND A.CODPRESCRICAO = @P_CODPRESCORIGEM AND A.SEQASSOCIADO IS NULL AND A.SEQESTRUTURADO NOT LIKE '%.%' /* so traz os itens principais */ OPEN C_ORIGEM FETCH NEXT FROM C_ORIGEM INTO @V_CODPRESCRICAO, @V_DESCESTOQUE, @V_CODCUIDADO, @V_CODUNIDESTOQUE, @V_CODUNIDFATURAMENTO, @V_FATORCONVERSAO, @V_QUANTIDADE , @V_VALORUNITARIO , @V_VALORTOTAL , @V_PRECOMEDIO , @V_BAIXAESTOQUE , @V_CODGRPCLINICA , @V_DESCESPECIFICA , @V_CODESPECIFICO , @V_QTDESTOQUE , @V_GRATIS , @V_VLRUNITESTOQUE, @V_CODFABRICANTE, @V_VALIDADE, @V_LOTE, @V_ATUALIZAVALIDADE, @V_UNITARIOORIGINAL, @V_DATADEVOLUCAO , @V_CODAPLICACAO, @V_CODFREQUENCIA, @V_OBSERVACAO, @V_HORARIO , @V_HORAINICIO, @V_NECESSARIO , @V_TIPOITEM, @V_MATMEDOUT , @V_QTDDOSE , @V_CODDILUICAO, @V_VELOCINFUSAO, @V_TIPOVELOC, @V_TIPOHORARIO , @V_CODOBSERVACAO, @V_SUSPENDER , @V_DATPRESCRICAO , @V_HORA , @V_CODPRESTADOR , @V_CODREQUISICAO , @V_SEQPRESCRICAO , @V_CODCOLIGADA , @V_IDREQPA, @V_IDITEMREQPA , @V_SEQASSOCIADO , @V_IDCOMPITEMPRESCR, @V_SEQESTRUTURADO, @V_CODUSUARIO, @V_IDPRD, @V_IDKIT , @V_QTDEKIT , @V_IDPRDCOMPOSTO , @V_DOSAGEM , @V_IDDOSAGEM , @V_UNDDOSAGEM , @V_DOSEPORAPLIC , @V_UNDDOSEPORAPLIC , @V_ACM , @V_RECCREATEDBY , @V_RECCREATEDON, @V_RECMODIFIEDBY, @V_RECMODIFIEDON, @V_RECCREATEDUTC , @V_CODGRPCUIDADO, @V_CODPRESCRICAOORIGEM , @V_INATIVO, @V_ATIVO SET @V_SEQ = 1; /* Para cada item um valor */ /* sequencial do item principal */ SET @V_SEQUENCIAL = 0; SELECT @V_DATAPRESCRICAO = DATPRESCRICAO FROM SZPRESCRICAO WHERE CODCOLIGADA = @P_COLIGADA AND CODPRESCRICAO = @P_CODPRESCDESTINO; BEGIN TRANSACTION WHILE @@FETCH_STATUS = 0 BEGIN IF (ISNULL(@V_INATIVO, 0) <> 1 AND ISNULL(@V_ATIVO, 'T') <> 'F') BEGIN IF ((((SELECT TEXTO FROM SZPARAM WHERE IDPARAM = 682 AND CODCOLIGADA = @P_COLIGADA) = 'F') AND (DateAdd(day, DateDiff(day, 0, GETDATE()), 0) = @V_DATAPRESCRICAO)) OR (((SELECT TEXTO FROM SZPARAM WHERE IDPARAM = 683 AND CODCOLIGADA = @P_COLIGADA) = 'F') AND (@V_DATAPRESCRICAO > DateAdd(day, DateDiff(day, 0, GETDATE()), 0)))) BEGIN IF (((SELECT TEXTO FROM SZPARAM WHERE IDPARAM = 562 AND CODCOLIGADA = @P_COLIGADA) = 'T') AND (@V_TIPOITEM = 'E') AND ((@V_DATAPRESCRICAO) > DateAdd(day, DateDiff(day, 0, GETDATE()), 0))) BEGIN SET @V_TIPOHORARIO = 'A'; END ELSE BEGIN IF (DateAdd(day, DateDiff(day, 0, GETDATE()), 0) = @V_DATAPRESCRICAO) SELECT @V_TIPOHORARIO = TEXTO FROM SZPARAM WHERE CODCOLIGADA = @P_COLIGADA AND IDPARAM = 455 ELSE SELECT @V_TIPOHORARIO = TEXTO FROM SZPARAM WHERE CODCOLIGADA = @P_COLIGADA AND IDPARAM = 456 END END SET @V_ESTR_ASSOC = 0; SET @V_HORAPART = (SELECT CONVERT(VARCHAR(2), getdate(), 108) + SUBSTRING(CONVERT(VARCHAR(5), getdate(), 108),4,2)); SET @V_SEQUENCIAL = @V_SEQUENCIAL + 1; /* Código estruturado. Ex. 01, 01.01, 01.02 ... */ SET @V_SEQESTRUTURADO = (SELECT RIGHT(REPLICATE('0', 2) + CONVERT(VARCHAR(2), @V_SEQUENCIAL), 2)); INSERT INTO SZITEMPRESCRICAO (CODCOLIGADA, CODPRESCRICAO, SEQUENCIAL, DESCESTOQUE, CODCUIDADO, CODUNIDESTOQUE, CODUNIDFATURAMENTO, FATORCONVERSAO, QUANTIDADE, VALORUNITARIO, VALORTOTAL, PRECOMEDIO, BAIXAESTOQUE, CODGRPCLINICA, DESCESPECIFICA, CODESPECIFICO, QTDESTOQUE, GRATIS, VLRUNITESTOQUE, CODFABRICANTE, VALIDADE, LOTE, ATUALIZAVALIDADE, UNITARIOORIGINAL, DATADEVOLUCAO, CODAPLICACAO, CODFREQUENCIA, OBSERVACAO, HORARIO, HORAINICIO, NECESSARIO, TIPOITEM, MATMEDOUT, QTDDOSE, CODDILUICAO, VELOCINFUSAO, TIPOVELOC, TIPOHORARIO, CODOBSERVACAO, SUSPENDER, DATPRESCRICAO, HORA, CODPRESTADOR, CODREQUISICAO, SEQPRESCRICAO, IDREQPA, IDITEMREQPA, SEQASSOCIADO, IDCOMPITEMPRESCR, SEQESTRUTURADO, CODUSUARIO, IDPRD, IDKIT, QTDEKIT, IDPRDCOMPOSTO, ACM, DOSAGEM, IDDOSAGEM, UNDDOSAGEM, DOSEPORAPLIC, UNDDOSEPORAPLIC, RECCREATEDBY, RECCREATEDON, RECMODIFIEDBY, RECMODIFIEDON, CODPRESCRICAOORIGEM, MEDTRAZIDOSPACIENTE) VALUES (@P_COLIGADA, @P_CODPRESCDESTINO, @V_SEQ, @V_DESCESTOQUE, @V_CODCUIDADO, @V_CODUNIDESTOQUE, @V_CODUNIDFATURAMENTO, @V_FATORCONVERSAO, @V_QUANTIDADE, @V_VALORUNITARIO, @V_VALORTOTAL, @V_PRECOMEDIO, @V_BAIXAESTOQUE, @V_CODGRPCLINICA, @V_DESCESPECIFICA, @V_CODESPECIFICO, @V_QTDESTOQUE, @V_GRATIS, @V_VLRUNITESTOQUE, @V_CODFABRICANTE, @V_VALIDADE, @V_LOTE, @V_ATUALIZAVALIDADE, @V_UNITARIOORIGINAL, @V_DATADEVOLUCAO, @V_CODAPLICACAO, @V_CODFREQUENCIA, @V_OBSERVACAO, @V_HORARIO, @V_HORAINICIO, @V_NECESSARIO, @V_TIPOITEM, @V_MATMEDOUT, @V_QTDDOSE, @V_CODDILUICAO, @V_VELOCINFUSAO, @V_TIPOVELOC, @V_TIPOHORARIO, @V_CODOBSERVACAO, @V_SUSPENDER, GETDATE(), @V_HORAPART, @V_CODPRESTADOR, null, null, @V_IDREQPA, @V_IDITEMREQPA, @V_SEQASSOCIADO, @V_IDCOMPITEMPRESCR, @V_SEQESTRUTURADO, @P_USER, @V_IDPRD, @V_IDKIT, @V_QTDEKIT, @V_IDPRDCOMPOSTO, @V_ACM, @V_DOSAGEM, @V_IDDOSAGEM, @V_UNDDOSAGEM, @V_DOSEPORAPLIC, @V_UNDDOSEPORAPLIC, @P_USER, getdate(), @P_USER, getdate(), @P_CODPRESCORIGEM, 'F'); SET @V_SEQPARENT = @V_SEQ; SET @V_SEQ = @V_SEQ + 1; /* TPFECL - DIEGO FEIJO - VERIFICA ITEM ASSOCIADO DENTRO DO MODELO */ /* O MODELO DE PRESCRIÇÃO FICA DENTRO DA MESMA TABELA COM O CODPRESCRICAO NEGATIVO */ DECLARE C_ASSOCIADO_MODELO CURSOR FOR SELECT A.CODPRESCRICAO, A.DESCESTOQUE, A.CODCUIDADO, A.CODUNIDESTOQUE, A.CODUNIDFATURAMENTO, A.FATORCONVERSAO, A.QUANTIDADE , A.VALORUNITARIO , A.VALORTOTAL , A.PRECOMEDIO , A.BAIXAESTOQUE , A.CODGRPCLINICA , A.DESCESPECIFICA , A.CODESPECIFICO , A.QTDESTOQUE , A.GRATIS , A.VLRUNITESTOQUE, A.CODFABRICANTE, A.VALIDADE, A.LOTE, A.ATUALIZAVALIDADE, A.UNITARIOORIGINAL, NULL , A.CODAPLICACAO, A.CODFREQUENCIA, A.OBSERVACAO, A.HORARIO , A.HORAINICIO, A.NECESSARIO , A.TIPOITEM, A.MATMEDOUT , A.QTDDOSE , A.CODDILUICAO, A.VELOCINFUSAO, A.TIPOVELOC, A.TIPOHORARIO , A.CODOBSERVACAO, A.SUSPENDER , A.DATPRESCRICAO , A.HORA , A.CODPRESTADOR , A.CODREQUISICAO , A.SEQPRESCRICAO , A.CODCOLIGADA , A.IDREQPA, A.IDITEMREQPA , A.SEQASSOCIADO , A.IDCOMPITEMPRESCR, A.SEQESTRUTURADO, A.CODUSUARIO, A.IDPRD, A.IDKIT , A.QTDEKIT , A.IDPRDCOMPOSTO , A.DOSAGEM , A.IDDOSAGEM , A.UNDDOSAGEM , A.DOSEPORAPLIC , A.UNDDOSEPORAPLIC , A.ACM , A.RECCREATEDBY , A.RECCREATEDON, A.RECMODIFIEDBY, A.RECMODIFIEDON, A.RECCREATEDUTC , A.CODGRPCUIDADO, A.CODPRESCRICAOORIGEM, B.INATIVO, C.ATIVO FROM SZITEMPRESCRICAO A LEFT JOIN TPRD B ON B.CODCOLIGADA = A.CODCOLIGADA AND B.IDPRD = A.IDPRD LEFT JOIN SZCUIDADOPROC C ON C.CODCOLIGADA = A.CODCOLIGADA AND C.ITEM = A.CODCUIDADO AND C.GRUPO = 1 WHERE A.CODCOLIGADA = @P_COLIGADA AND A.CODPRESCRICAO = @P_CODPRESCORIGEM AND A.SEQESTRUTURADO LIKE @V_SEQESTRUTURADO+'.%' AND ( A.SEQASSOCIADO IS NULL OR A.IDCOMPITEMPRESCR = 3 ); /* Busca os associados ao item principal */ OPEN C_ASSOCIADO_MODELO FETCH NEXT FROM C_ASSOCIADO_MODELO INTO @V_CODPRESCRICAO, @V_DESCESTOQUE, @V_CODCUIDADO, @V_CODUNIDESTOQUE, @V_CODUNIDFATURAMENTO, @V_FATORCONVERSAO, @V_QUANTIDADE , @V_VALORUNITARIO , @V_VALORTOTAL , @V_PRECOMEDIO , @V_BAIXAESTOQUE , @V_CODGRPCLINICA , @V_DESCESPECIFICA , @V_CODESPECIFICO , @V_QTDESTOQUE , @V_GRATIS , @V_VLRUNITESTOQUE, @V_CODFABRICANTE, @V_VALIDADE, @V_LOTE, @V_ATUALIZAVALIDADE, @V_UNITARIOORIGINAL, @V_DATADEVOLUCAO , @V_CODAPLICACAO, @V_CODFREQUENCIA, @V_OBSERVACAO, @V_HORARIO , @V_HORAINICIO, @V_NECESSARIO , @V_TIPOITEM, @V_MATMEDOUT , @V_QTDDOSE , @V_CODDILUICAO, @V_VELOCINFUSAO, @V_TIPOVELOC, @V_TIPOHORARIO , @V_CODOBSERVACAO, @V_SUSPENDER , @V_DATPRESCRICAO , @V_HORA , @V_CODPRESTADOR , @V_CODREQUISICAO , @V_SEQPRESCRICAO , @V_CODCOLIGADA , @V_IDREQPA, @V_IDITEMREQPA , @V_SEQASSOCIADO , @V_IDCOMPITEMPRESCR, @V_SEQESTRUTURADO, @V_CODUSUARIO, @V_IDPRD, @V_IDKIT , @V_QTDEKIT , @V_IDPRDCOMPOSTO , @V_DOSAGEM , @V_IDDOSAGEM , @V_UNDDOSAGEM , @V_DOSEPORAPLIC , @V_UNDDOSEPORAPLIC , @V_ACM , @V_RECCREATEDBY , @V_RECCREATEDON, @V_RECMODIFIEDBY, @V_RECMODIFIEDON, @V_RECCREATEDUTC , @V_CODGRPCUIDADO, @V_CODPRESCRICAOORIGEM , @V_INATIVO, @V_ATIVO WHILE @@FETCH_STATUS = 0 BEGIN SET @V_ESTR_ASSOC = @V_ESTR_ASSOC + 1; SET @V_SEQESTRUTURADO = (SELECT RIGHT(REPLICATE('0', 2) + CONVERT(VARCHAR(2), (@V_SEQUENCIAL)), 2) + '.' + RIGHT(REPLICATE('0', 2) + CONVERT(VARCHAR(2), @V_ESTR_ASSOC), 2)); SET @V_IDCOMPITEMPRESCR = 2; SET @V_DESCESTOQUE = @V_DESCESTOQUE; IF ISNULL(@V_MULTIPLICA, 'F') = 'T' BEGIN SET @V_QTDDOSE_ASSOC = (@V_QUANT_ASSOC * @V_QUANTIDADE); SET @V_QUANT_ASSOC = @V_QUANT_ASSOC * @V_QTDDOSE; END ELSE BEGIN SET @V_QTDDOSE_ASSOC = (@V_QUANT_ASSOC * (@V_QUANTIDADE / @V_QTDDOSE)); END INSERT INTO SZITEMPRESCRICAO (CODCOLIGADA, CODPRESCRICAO, SEQUENCIAL, DESCESTOQUE, CODCUIDADO, CODUNIDESTOQUE, CODUNIDFATURAMENTO, FATORCONVERSAO, QUANTIDADE, VALORUNITARIO, VALORTOTAL, PRECOMEDIO, BAIXAESTOQUE, CODGRPCLINICA, DESCESPECIFICA, CODESPECIFICO, QTDESTOQUE, GRATIS, VLRUNITESTOQUE, CODFABRICANTE, VALIDADE, LOTE, ATUALIZAVALIDADE, UNITARIOORIGINAL, DATADEVOLUCAO, CODAPLICACAO, CODFREQUENCIA, OBSERVACAO, HORARIO, HORAINICIO, NECESSARIO, TIPOITEM, MATMEDOUT, QTDDOSE, CODDILUICAO, VELOCINFUSAO, TIPOVELOC, TIPOHORARIO, CODOBSERVACAO, SUSPENDER, DATPRESCRICAO, HORA, CODPRESTADOR, CODREQUISICAO, SEQPRESCRICAO, IDREQPA, IDITEMREQPA, SEQASSOCIADO, IDCOMPITEMPRESCR, SEQESTRUTURADO, CODUSUARIO, IDPRD, IDKIT, QTDEKIT, IDPRDCOMPOSTO, ACM, DOSAGEM, IDDOSAGEM, UNDDOSAGEM, DOSEPORAPLIC, UNDDOSEPORAPLIC, RECCREATEDBY, RECCREATEDON, RECMODIFIEDBY, RECMODIFIEDON, CODPRESCRICAOORIGEM, MEDTRAZIDOSPACIENTE) VALUES (@P_COLIGADA, @P_CODPRESCDESTINO, @V_SEQ, @V_DESCESTOQUE, @V_CODCUIDADO, @V_CODUNIDESTOQUE, @V_CODUNIDFATURAMENTO, @V_FATORCONVERSAO, @V_QUANTIDADE, @V_VALORUNITARIO, @V_VALORTOTAL, @V_PRECOMEDIO, @V_BAIXAESTOQUE, @V_CODGRPCLINICA, @V_DESCESPECIFICA, @V_CODESPECIFICO, @V_QTDESTOQUE, @V_GRATIS, @V_VLRUNITESTOQUE, @V_CODFABRICANTE, @V_VALIDADE, @V_LOTE, @V_ATUALIZAVALIDADE, @V_UNITARIOORIGINAL, @V_DATADEVOLUCAO, @V_CODAPLICACAO, @V_CODFREQUENCIA, @V_OBSERVACAO, @V_HORARIO, @V_HORAINICIO, @V_NECESSARIO, @V_TIPOITEM, @V_MATMEDOUT, @V_QTDDOSE, @V_CODDILUICAO, @V_VELOCINFUSAO, @V_TIPOVELOC, @V_TIPOHORARIO, @V_CODOBSERVACAO, @V_SUSPENDER, GETDATE(), @V_HORAPART, @V_CODPRESTADOR, null, null, @V_IDREQPA, @V_IDITEMREQPA, @V_SEQPARENT, @V_IDCOMPITEMPRESCR, @V_SEQESTRUTURADO, @P_USER, @V_IDPRD, @V_IDKIT, @V_QTDEKIT, @V_IDPRDCOMPOSTO, @V_ACM, @V_DOSAGEM, @V_IDDOSAGEM, @V_UNDDOSAGEM, @V_DOSEPORAPLIC, @V_UNDDOSEPORAPLIC, @P_USER, getdate(), @P_USER, getdate(), @P_CODPRESCORIGEM, 'F'); SET @V_SEQ = @V_SEQ + 1; /* INSERE OS ITENS DO DILUENTE */ IF (ISNULL(@V_CODDILUICAO, 0) <> 0) BEGIN DECLARE C_DILUENTES CURSOR FOR SELECT B.NOMEFANTASIA, A.IDPRD, A.QTD, A.TIPO FROM SZDILUICAOITM A, TPRD B WHERE A.CODDILUICAO = @V_CODDILUICAO AND A.CODCOLIGADA = @P_COLIGADA AND A.IDPRD = B.IDPRD AND A.CODCOLIGADA = B.CODCOLIGADA OPEN C_DILUENTES; FETCH NEXT FROM C_DILUENTES INTO @V_DESCESTOQUE, @V_IDPRDASSOC, @V_QUANT_ASSOC, @V_TIPOITEM WHILE @@FETCH_STATUS=0 BEGIN IF @V_QUANT_ASSOC > 0 BEGIN SET @V_ESTR_ASSOC = @V_ESTR_ASSOC + 1; SET @V_SEQESTRUTURADO = (SELECT RIGHT(REPLICATE('0', 2) + CONVERT(VARCHAR(2), @V_SEQUENCIAL), 2) + '.' + RIGHT(REPLICATE('0', 2) + CONVERT(VARCHAR(2), @V_ESTR_ASSOC), 2)); SET @V_IDCOMPITEMPRESCR = 1; INSERT INTO SZITEMPRESCRICAO (CODCOLIGADA, CODPRESCRICAO, SEQUENCIAL, DESCESTOQUE, CODUNIDESTOQUE, CODUNIDFATURAMENTO, FATORCONVERSAO, QUANTIDADE, VALORUNITARIO, VALORTOTAL, PRECOMEDIO, BAIXAESTOQUE, CODGRPCLINICA, DESCESPECIFICA, CODESPECIFICO, QTDESTOQUE, GRATIS, VLRUNITESTOQUE, CODFABRICANTE, VALIDADE, ATUALIZAVALIDADE, UNITARIOORIGINAL, DATADEVOLUCAO, CODAPLICACAO, CODFREQUENCIA, OBSERVACAO, HORARIO, HORAINICIO, NECESSARIO, TIPOITEM, MATMEDOUT, QTDDOSE, CODDILUICAO, VELOCINFUSAO, TIPOVELOC, TIPOHORARIO, CODOBSERVACAO, SUSPENDER, DATPRESCRICAO, HORA, CODPRESTADOR, CODREQUISICAO, SEQPRESCRICAO, IDREQPA, IDITEMREQPA, SEQASSOCIADO, IDCOMPITEMPRESCR, SEQESTRUTURADO, CODUSUARIO, IDPRD, IDKIT, QTDEKIT, IDPRDCOMPOSTO, ACM, DOSAGEM, IDDOSAGEM, UNDDOSAGEM, DOSEPORAPLIC, UNDDOSEPORAPLIC, RECCREATEDBY, RECCREATEDON, RECMODIFIEDBY, RECMODIFIEDON, CODPRESCRICAOORIGEM, MEDTRAZIDOSPACIENTE) VALUES (@P_COLIGADA, @P_CODPRESCDESTINO, @V_SEQ, @V_DESCESTOQUE, @V_CODUNIDESTOQUE, @V_CODUNIDFATURAMENTO, @V_FATORCONVERSAO, @V_QUANTIDADE, @V_VALORUNITARIO, @V_VALORTOTAL, @V_PRECOMEDIO, 'T', @V_CODGRPCLINICA, @V_DESCESPECIFICA, @V_CODESPECIFICO, @V_QTDESTOQUE, @V_GRATIS, @V_VLRUNITESTOQUE, @V_CODFABRICANTE, @V_VALIDADE, @V_ATUALIZAVALIDADE, @V_UNITARIOORIGINAL, @V_DATADEVOLUCAO, @V_CODAPLICACAO, @V_CODFREQUENCIA, @V_OBSERVACAO, @V_HORARIO, @V_HORAINICIO, @V_NECESSARIO, @V_TIPOITEM, @V_MATMEDOUT, @V_QUANT_ASSOC, null, @V_VELOCINFUSAO, @V_TIPOVELOC, @V_TIPOHORARIO, @V_CODOBSERVACAO, 'F', GETDATE(), @V_HORAPART, @V_CODPRESTADOR, null, null, @V_IDREQPA, @V_IDITEMREQPA, @V_SEQPARENT, @V_IDCOMPITEMPRESCR, @V_SEQESTRUTURADO, @P_USER, @V_IDPRDASSOC, @V_IDKIT, @V_QTDEKIT, @V_IDPRDCOMPOSTO, @V_ACM, @V_DOSAGEM, @V_IDDOSAGEM, @V_UNDDOSAGEM, @V_DOSEPORAPLIC, @V_UNDDOSEPORAPLIC, @P_USER, getdate(), @P_USER, getdate(), @P_CODPRESCORIGEM, 'F'); SET @V_SEQ = @V_SEQ + 1; END FETCH NEXT FROM C_DILUENTES INTO @V_DESCESTOQUE, @V_IDPRDASSOC, @V_QUANT_ASSOC, @V_TIPOITEM END CLOSE C_DILUENTES DEALLOCATE C_DILUENTES END /* FIM ITENS DILUENTE */ /*ITEM ASSOCIADO */ DECLARE C_ASSOCIADO CURSOR FOR SELECT QUANTIDADE, IDPRDASSOC, MULTIPLICA FROM SZITEMESTOQASSOC WHERE IDPRD = @V_IDPRD AND CODCOLIGADA = @P_COLIGADA OPEN C_ASSOCIADO FETCH NEXT FROM C_ASSOCIADO INTO @V_QUANT_ASSOC, @V_IDPRDASSOC, @V_MULTIPLICA WHILE @@FETCH_STATUS = 0 BEGIN SET @V_ESTR_ASSOC = @V_ESTR_ASSOC + 1; SET @V_SEQESTRUTURADO = (SELECT RIGHT(REPLICATE('0', 2) + CONVERT(VARCHAR(2), @V_SEQUENCIAL), 2) + '.' + RIGHT(REPLICATE('0', 2) + CONVERT(VARCHAR(2), @V_ESTR_ASSOC), 2)); SET @V_IDCOMPITEMPRESCR = 2; SET @V_DESCESTOQUE = @V_DESCESTOQUE; IF ISNULL(@V_MULTIPLICA, 'F') = 'T' BEGIN SET @V_QTDDOSE_ASSOC = (@V_QUANT_ASSOC * @V_QUANTIDADE); SET @V_QUANT_ASSOC = @V_QUANT_ASSOC * @V_QTDDOSE; END ELSE BEGIN SET @V_QTDDOSE_ASSOC = (@V_QUANT_ASSOC * (@V_QUANTIDADE / @V_QTDDOSE)); END INSERT INTO SZITEMPRESCRICAO (CODCOLIGADA, CODPRESCRICAO, SEQUENCIAL, DESCESTOQUE, CODUNIDESTOQUE, CODUNIDFATURAMENTO, FATORCONVERSAO, QUANTIDADE, VALORUNITARIO, VALORTOTAL, PRECOMEDIO, BAIXAESTOQUE, CODGRPCLINICA, DESCESPECIFICA, CODESPECIFICO, QTDESTOQUE, GRATIS, VLRUNITESTOQUE, CODFABRICANTE, VALIDADE, ATUALIZAVALIDADE, UNITARIOORIGINAL, DATADEVOLUCAO, CODAPLICACAO, CODFREQUENCIA, OBSERVACAO, HORARIO, HORAINICIO, NECESSARIO, TIPOITEM, MATMEDOUT, QTDDOSE, CODDILUICAO, VELOCINFUSAO, TIPOVELOC, TIPOHORARIO, CODOBSERVACAO, SUSPENDER, DATPRESCRICAO, HORA, CODPRESTADOR, CODREQUISICAO, SEQPRESCRICAO, IDREQPA, IDITEMREQPA, SEQASSOCIADO, IDCOMPITEMPRESCR, SEQESTRUTURADO, CODUSUARIO, IDPRD, IDKIT, QTDEKIT, IDPRDCOMPOSTO, ACM, DOSAGEM, IDDOSAGEM, UNDDOSAGEM, DOSEPORAPLIC, UNDDOSEPORAPLIC, RECCREATEDBY, RECCREATEDON, RECMODIFIEDBY, RECMODIFIEDON, CODPRESCRICAOORIGEM, MEDTRAZIDOSPACIENTE) VALUES (@P_COLIGADA, @P_CODPRESCDESTINO, @V_SEQ, @V_DESCESTOQUE, @V_CODUNIDESTOQUE, @V_CODUNIDFATURAMENTO, @V_FATORCONVERSAO, @V_QTDDOSE_ASSOC, @V_VALORUNITARIO, @V_VALORTOTAL, @V_PRECOMEDIO, 'T', @V_CODGRPCLINICA, @V_DESCESPECIFICA, @V_CODESPECIFICO, @V_QTDESTOQUE, @V_GRATIS, @V_VLRUNITESTOQUE, @V_CODFABRICANTE, @V_VALIDADE, @V_ATUALIZAVALIDADE, @V_UNITARIOORIGINAL, @V_DATADEVOLUCAO, @V_CODAPLICACAO, @V_CODFREQUENCIA, @V_OBSERVACAO, @V_HORARIO, @V_HORAINICIO, @V_NECESSARIO, @V_TIPOITEM, @V_MATMEDOUT, @V_QUANT_ASSOC, null, @V_VELOCINFUSAO, @V_TIPOVELOC, @V_TIPOHORARIO, @V_CODOBSERVACAO, 'F', GETDATE(), @V_HORAPART, @V_CODPRESTADOR, null, null, @V_IDREQPA, @V_IDITEMREQPA, @V_SEQPARENT, @V_IDCOMPITEMPRESCR, @V_SEQESTRUTURADO, @P_USER, @V_IDPRDASSOC, @V_IDKIT, @V_QTDEKIT, @V_IDPRDCOMPOSTO, @V_ACM, @V_DOSAGEM, @V_IDDOSAGEM, @V_UNDDOSAGEM, @V_DOSEPORAPLIC, @V_UNDDOSEPORAPLIC, @P_USER, getdate(), @P_USER, getdate(), @P_CODPRESCORIGEM, 'F'); SET @V_SEQ = @V_SEQ + 1; FETCH NEXT FROM C_ASSOCIADO INTO @V_QUANT_ASSOC, @V_IDPRDASSOC, @V_MULTIPLICA END CLOSE C_ASSOCIADO DEALLOCATE C_ASSOCIADO /* FIM ITEM ASSOCIADO */ /* PERCORRE TODOS OS ITENS ASSOCIADOS NO MODELO */ FETCH NEXT FROM C_ASSOCIADO_MODELO INTO @V_CODPRESCRICAO, @V_DESCESTOQUE, @V_CODCUIDADO, @V_CODUNIDESTOQUE, @V_CODUNIDFATURAMENTO, @V_FATORCONVERSAO, @V_QUANTIDADE , @V_VALORUNITARIO , @V_VALORTOTAL , @V_PRECOMEDIO , @V_BAIXAESTOQUE , @V_CODGRPCLINICA , @V_DESCESPECIFICA , @V_CODESPECIFICO , @V_QTDESTOQUE , @V_GRATIS , @V_VLRUNITESTOQUE, @V_CODFABRICANTE, @V_VALIDADE, @V_LOTE, @V_ATUALIZAVALIDADE, @V_UNITARIOORIGINAL, @V_DATADEVOLUCAO , @V_CODAPLICACAO, @V_CODFREQUENCIA, @V_OBSERVACAO, @V_HORARIO , @V_HORAINICIO, @V_NECESSARIO , @V_TIPOITEM, @V_MATMEDOUT , @V_QTDDOSE , @V_CODDILUICAO, @V_VELOCINFUSAO, @V_TIPOVELOC, @V_TIPOHORARIO , @V_CODOBSERVACAO, @V_SUSPENDER , @V_DATPRESCRICAO , @V_HORA , @V_CODPRESTADOR , @V_CODREQUISICAO , @V_SEQPRESCRICAO , @V_CODCOLIGADA , @V_IDREQPA, @V_IDITEMREQPA , @V_SEQASSOCIADO , @V_IDCOMPITEMPRESCR, @V_SEQESTRUTURADO, @V_CODUSUARIO, @V_IDPRD, @V_IDKIT , @V_QTDEKIT , @V_IDPRDCOMPOSTO , @V_DOSAGEM , @V_IDDOSAGEM , @V_UNDDOSAGEM , @V_DOSEPORAPLIC , @V_UNDDOSEPORAPLIC , @V_ACM , @V_RECCREATEDBY , @V_RECCREATEDON, @V_RECMODIFIEDBY, @V_RECMODIFIEDON, @V_RECCREATEDUTC , @V_CODGRPCUIDADO, @V_CODPRESCRICAOORIGEM , @V_INATIVO, @V_ATIVO END /* FIM LAÇO CURSOR C_ASSOCIADO_MODELO */ CLOSE C_ASSOCIADO_MODELO DEALLOCATE C_ASSOCIADO_MODELO /* INSERE OS DILUENTES E ITENS ASSOCIADOS AO ITEM PRINCIPAL */ /* INSERE OS ITENS DO DILUENTE */ IF (ISNULL(@V_CODDILUICAO, 0) <> 0) BEGIN DECLARE C_DILUENTES CURSOR FOR SELECT B.NOMEFANTASIA, A.IDPRD, A.QTD, A.TIPO FROM SZDILUICAOITM A, TPRD B WHERE A.CODDILUICAO = @V_CODDILUICAO AND A.CODCOLIGADA = @P_COLIGADA AND A.IDPRD = B.IDPRD AND A.CODCOLIGADA = B.CODCOLIGADA OPEN C_DILUENTES; FETCH NEXT FROM C_DILUENTES INTO @V_DESCESTOQUE, @V_IDPRDASSOC, @V_QUANT_ASSOC, @V_TIPOITEM WHILE @@FETCH_STATUS=0 BEGIN IF @V_QUANT_ASSOC > 0 BEGIN SET @V_ESTR_ASSOC = @V_ESTR_ASSOC + 1; SET @V_SEQESTRUTURADO = (SELECT RIGHT(REPLICATE('0', 2) + CONVERT(VARCHAR(2), @V_SEQUENCIAL), 2) + '.' + RIGHT(REPLICATE('0', 2) + CONVERT(VARCHAR(2), @V_ESTR_ASSOC), 2)); SET @V_IDCOMPITEMPRESCR = 1; INSERT INTO SZITEMPRESCRICAO (CODCOLIGADA, CODPRESCRICAO, SEQUENCIAL, DESCESTOQUE, CODUNIDESTOQUE, CODUNIDFATURAMENTO, FATORCONVERSAO, QUANTIDADE, VALORUNITARIO, VALORTOTAL, PRECOMEDIO, BAIXAESTOQUE, CODGRPCLINICA, DESCESPECIFICA, CODESPECIFICO, QTDESTOQUE, GRATIS, VLRUNITESTOQUE, CODFABRICANTE, VALIDADE, ATUALIZAVALIDADE, UNITARIOORIGINAL, DATADEVOLUCAO, CODAPLICACAO, CODFREQUENCIA, OBSERVACAO, HORARIO, HORAINICIO, NECESSARIO, TIPOITEM, MATMEDOUT, QTDDOSE, CODDILUICAO, VELOCINFUSAO, TIPOVELOC, TIPOHORARIO, CODOBSERVACAO, SUSPENDER, DATPRESCRICAO, HORA, CODPRESTADOR, CODREQUISICAO, SEQPRESCRICAO, IDREQPA, IDITEMREQPA, SEQASSOCIADO, IDCOMPITEMPRESCR, SEQESTRUTURADO, CODUSUARIO, IDPRD, IDKIT, QTDEKIT, IDPRDCOMPOSTO, ACM, DOSAGEM, IDDOSAGEM, UNDDOSAGEM, DOSEPORAPLIC, UNDDOSEPORAPLIC, RECCREATEDBY, RECCREATEDON, RECMODIFIEDBY, RECMODIFIEDON, CODPRESCRICAOORIGEM, MEDTRAZIDOSPACIENTE) VALUES (@P_COLIGADA, @P_CODPRESCDESTINO, @V_SEQ, @V_DESCESTOQUE, @V_CODUNIDESTOQUE, @V_CODUNIDFATURAMENTO, @V_FATORCONVERSAO, @V_QUANTIDADE, @V_VALORUNITARIO, @V_VALORTOTAL, @V_PRECOMEDIO, 'T', @V_CODGRPCLINICA, @V_DESCESPECIFICA, @V_CODESPECIFICO, @V_QTDESTOQUE, @V_GRATIS, @V_VLRUNITESTOQUE, @V_CODFABRICANTE, @V_VALIDADE, @V_ATUALIZAVALIDADE, @V_UNITARIOORIGINAL, @V_DATADEVOLUCAO, @V_CODAPLICACAO, @V_CODFREQUENCIA, @V_OBSERVACAO, @V_HORARIO, @V_HORAINICIO, @V_NECESSARIO, @V_TIPOITEM, @V_MATMEDOUT, @V_QUANT_ASSOC, null, @V_VELOCINFUSAO, @V_TIPOVELOC, @V_TIPOHORARIO, @V_CODOBSERVACAO, 'F', GETDATE(), @V_HORAPART, @V_CODPRESTADOR, null, null, @V_IDREQPA, @V_IDITEMREQPA, @V_SEQPARENT, @V_IDCOMPITEMPRESCR, @V_SEQESTRUTURADO, @P_USER, @V_IDPRDASSOC, @V_IDKIT, @V_QTDEKIT, @V_IDPRDCOMPOSTO, @V_ACM, @V_DOSAGEM, @V_IDDOSAGEM, @V_UNDDOSAGEM, @V_DOSEPORAPLIC, @V_UNDDOSEPORAPLIC, @P_USER, getdate(), @P_USER, getdate(), @P_CODPRESCORIGEM, 'F'); SET @V_SEQ = @V_SEQ + 1; END FETCH NEXT FROM C_DILUENTES INTO @V_DESCESTOQUE, @V_IDPRDASSOC, @V_QUANT_ASSOC, @V_TIPOITEM END CLOSE C_DILUENTES DEALLOCATE C_DILUENTES END /* FIM ITENS DILUENTE */ /*ITEM ASSOCIADO */ DECLARE C_ASSOCIADO CURSOR FOR SELECT QUANTIDADE, IDPRDASSOC, MULTIPLICA FROM SZITEMESTOQASSOC WHERE IDPRD = @V_IDPRD AND CODCOLIGADA = @P_COLIGADA OPEN C_ASSOCIADO FETCH NEXT FROM C_ASSOCIADO INTO @V_QUANT_ASSOC, @V_IDPRDASSOC, @V_MULTIPLICA WHILE @@FETCH_STATUS = 0 BEGIN SET @V_ESTR_ASSOC = @V_ESTR_ASSOC + 1; SET @V_SEQESTRUTURADO = (SELECT RIGHT(REPLICATE('0', 2) + CONVERT(VARCHAR(2), @V_SEQUENCIAL), 2) + '.' + RIGHT(REPLICATE('0', 2) + CONVERT(VARCHAR(2), @V_ESTR_ASSOC), 2)); SET @V_IDCOMPITEMPRESCR = 2; SET @V_DESCESTOQUE = @V_DESCESTOQUE; IF ISNULL(@V_MULTIPLICA, 'F') = 'T' BEGIN SET @V_QTDDOSE_ASSOC = (@V_QUANT_ASSOC * @V_QUANTIDADE); SET @V_QUANT_ASSOC = @V_QUANT_ASSOC * @V_QTDDOSE; END ELSE BEGIN SET @V_QTDDOSE_ASSOC = (@V_QUANT_ASSOC * (@V_QUANTIDADE / @V_QTDDOSE)); END INSERT INTO SZITEMPRESCRICAO (CODCOLIGADA, CODPRESCRICAO, SEQUENCIAL, DESCESTOQUE, CODUNIDESTOQUE, CODUNIDFATURAMENTO, FATORCONVERSAO, QUANTIDADE, VALORUNITARIO, VALORTOTAL, PRECOMEDIO, BAIXAESTOQUE, CODGRPCLINICA, DESCESPECIFICA, CODESPECIFICO, QTDESTOQUE, GRATIS, VLRUNITESTOQUE, CODFABRICANTE, VALIDADE, ATUALIZAVALIDADE, UNITARIOORIGINAL, DATADEVOLUCAO, CODAPLICACAO, CODFREQUENCIA, OBSERVACAO, HORARIO, HORAINICIO, NECESSARIO, TIPOITEM, MATMEDOUT, QTDDOSE, CODDILUICAO, VELOCINFUSAO, TIPOVELOC, TIPOHORARIO, CODOBSERVACAO, SUSPENDER, DATPRESCRICAO, HORA, CODPRESTADOR, CODREQUISICAO, SEQPRESCRICAO, IDREQPA, IDITEMREQPA, SEQASSOCIADO, IDCOMPITEMPRESCR, SEQESTRUTURADO, CODUSUARIO, IDPRD, IDKIT, QTDEKIT, IDPRDCOMPOSTO, ACM, DOSAGEM, IDDOSAGEM, UNDDOSAGEM, DOSEPORAPLIC, UNDDOSEPORAPLIC, RECCREATEDBY, RECCREATEDON, RECMODIFIEDBY, RECMODIFIEDON, CODPRESCRICAOORIGEM, MEDTRAZIDOSPACIENTE) VALUES (@P_COLIGADA, @P_CODPRESCDESTINO, @V_SEQ, @V_DESCESTOQUE, @V_CODUNIDESTOQUE, @V_CODUNIDFATURAMENTO, @V_FATORCONVERSAO, @V_QTDDOSE_ASSOC, @V_VALORUNITARIO, @V_VALORTOTAL, @V_PRECOMEDIO, 'T', @V_CODGRPCLINICA, @V_DESCESPECIFICA, @V_CODESPECIFICO, @V_QTDESTOQUE, @V_GRATIS, @V_VLRUNITESTOQUE, @V_CODFABRICANTE, @V_VALIDADE, @V_ATUALIZAVALIDADE, @V_UNITARIOORIGINAL, @V_DATADEVOLUCAO, @V_CODAPLICACAO, @V_CODFREQUENCIA, @V_OBSERVACAO, @V_HORARIO, @V_HORAINICIO, @V_NECESSARIO, @V_TIPOITEM, @V_MATMEDOUT, @V_QUANT_ASSOC, null, @V_VELOCINFUSAO, @V_TIPOVELOC, @V_TIPOHORARIO, @V_CODOBSERVACAO, 'F', GETDATE(), @V_HORAPART, @V_CODPRESTADOR, null, null, @V_IDREQPA, @V_IDITEMREQPA, @V_SEQPARENT, @V_IDCOMPITEMPRESCR, @V_SEQESTRUTURADO, @P_USER, @V_IDPRDASSOC, @V_IDKIT, @V_QTDEKIT, @V_IDPRDCOMPOSTO, @V_ACM, @V_DOSAGEM, @V_IDDOSAGEM, @V_UNDDOSAGEM, @V_DOSEPORAPLIC, @V_UNDDOSEPORAPLIC, @P_USER, getdate(), @P_USER, getdate(), @P_CODPRESCORIGEM, 'F'); SET @V_SEQ = @V_SEQ + 1; FETCH NEXT FROM C_ASSOCIADO INTO @V_QUANT_ASSOC, @V_IDPRDASSOC, @V_MULTIPLICA END CLOSE C_ASSOCIADO DEALLOCATE C_ASSOCIADO /* FIM ITEM ASSOCIADO */ END FETCH NEXT FROM C_ORIGEM INTO @V_CODPRESCRICAO, @V_DESCESTOQUE, @V_CODCUIDADO, @V_CODUNIDESTOQUE, @V_CODUNIDFATURAMENTO, @V_FATORCONVERSAO, @V_QUANTIDADE , @V_VALORUNITARIO , @V_VALORTOTAL , @V_PRECOMEDIO , @V_BAIXAESTOQUE , @V_CODGRPCLINICA , @V_DESCESPECIFICA , @V_CODESPECIFICO , @V_QTDESTOQUE , @V_GRATIS , @V_VLRUNITESTOQUE, @V_CODFABRICANTE, @V_VALIDADE, @V_LOTE, @V_ATUALIZAVALIDADE, @V_UNITARIOORIGINAL, @V_DATADEVOLUCAO , @V_CODAPLICACAO, @V_CODFREQUENCIA, @V_OBSERVACAO, @V_HORARIO , @V_HORAINICIO, @V_NECESSARIO , @V_TIPOITEM, @V_MATMEDOUT , @V_QTDDOSE , @V_CODDILUICAO, @V_VELOCINFUSAO, @V_TIPOVELOC, @V_TIPOHORARIO , @V_CODOBSERVACAO, @V_SUSPENDER , @V_DATPRESCRICAO , @V_HORA , @V_CODPRESTADOR , @V_CODREQUISICAO , @V_SEQPRESCRICAO , @V_CODCOLIGADA , @V_IDREQPA, @V_IDITEMREQPA , @V_SEQASSOCIADO , @V_IDCOMPITEMPRESCR, @V_SEQESTRUTURADO, @V_CODUSUARIO, @V_IDPRD, @V_IDKIT , @V_QTDEKIT , @V_IDPRDCOMPOSTO , @V_DOSAGEM , @V_IDDOSAGEM , @V_UNDDOSAGEM , @V_DOSEPORAPLIC , @V_UNDDOSEPORAPLIC , @V_ACM , @V_RECCREATEDBY , @V_RECCREATEDON, @V_RECMODIFIEDBY, @V_RECMODIFIEDON, @V_RECCREATEDUTC , @V_CODGRPCUIDADO, @V_CODPRESCRICAOORIGEM , @V_INATIVO, @V_ATIVO END /* FIM LAÇO CURSOR C_ORIGEM */ COMMIT TRANSACTION CLOSE C_ORIGEM DEALLOCATE C_ORIGEM END