
Alguém conhece alguma forma de importar arquivos xml de notas fiscais para o banco de dados?
Por
alextdssouza, em Oracle
-
Conteúdo Similar
-
Por lsantgo
Estou a dois dias tentando resolver esse problema, se alguém puder me ajudar eu agradeço de mais. Possuo a seguinte consulta:
Ela serve para que eu possa captar o próximo numero disponível para orçamento e já fazer um update adicionando 1 unidade a esse numero antes que que a aplicação quando usada por outro usuário capte o mesmo numero que outro.
A consulta funciona perfeitamente, o banco usado é oracle 11g.
Porém não consigo aplicar isso na linguagem php, pois a query não aceita 2 consultas. Já tentei usar cursores utilizando de oci_new_cursor, porém sem exito. Alguns trechos de código tentei adaptar de exemplos desse site PHP oci_new_cursor Examples Se alguém puder me ajudar por favor. Já nem sei mais o que tentar
Seguem abaixo 2 exemplos de códigos (um com cursor e outro sem) :
<?php include "config.php"; //arquivo de configuração //------------------------------------------------------------------------------------------------------// $query2 = "BEGIN SELECT proxnum FROM orcamento FOR UPDATE of proxnum; UPDATE orcamento SET proxnum = proxnum + 1; end;"; $s2 = oci_parse($c, $query2); if (!$s2) { $m2 = oci_error($c); trigger_error('Could not parse statement: ' . $m['message'], E_USER_ERROR); } //prepara para a execução $refcur = oci_new_cursor($c); $r2 = oci_execute($s2); if (!$r2){ $m2 = oci_error($s2); trigger_error('Could not execute statement: ' . $m['message'], E_USER_ERROR); }// executa a consulta oci_execute($refcur); ?> <?php include "config.php"; //arquivo de configuração //------------------------------------------------------------------------------------------------------// $query2 = " SELECT proxnum FROM orcamento FOR UPDATE of proxnum; UPDATE orcamento SET proxnum = proxnum + 1; "; $s2 = oci_parse($c, $query2); if (!$s2) { $m2 = oci_error($c); trigger_error('Could not parse statement: ' . $m['message'], E_USER_ERROR); } //prepara para a execução $r2 = oci_execute($s2); if (!$r2){ $m2 = oci_error($s2); trigger_error('Could not execute statement: ' . $m['message'], E_USER_ERROR); }// executa a consulta ?>
-
Por nicolasbessa
Galera,
Uma ajuda, Por gentileza!
Tenho a query abaixo para ser trabalhada a performance. A mesma é uma view, realiza consulta diversas vezes na mesma tabela para montar alguns campos.
Gostaria de ideias para melhorar a mesma, desde já agradeço!
CREATE OR REPLACE FORCE EDITIONABLE VIEW "LF"."VW_CTM_JNJ_ENTSAI_TABLEAU" ("TIPO_NF", "COD_HOLDING", "COD_MATRIZ", "COD_FILIAL", "ID_NF", "NUM_NF", "SERIE", "COD_MODELO", "COD_CFOP_LEGAL", "COD_CLIFOR", "DT_EMISSAO", "DT_LANCAMENTO", "DT_ENTRADA", "COD_STATUS", "COD_UF", "MUNICIPIO", "RAZAOSOCIAL", "CGC_CPF", "VLR_TOTAL_PRODUTOS", "TOTAL_ITEM", "ICMS_BASE_TOTAL", "ICMS_VALOR_TOTAL", "ICMS_ST_BASE_TOTAL", "ICMS_ST_VALOR_TOTAL", "VLR_FRETE", "VLR_SEGURO", "VLR_DESPESAS", "IPI_TRIBUTADO", "IPI_NAO_TRIBUTADO", "DOCNUM", "ID_ITEM", "COD_PRODUTO", "COD_UNID_MEDIDA", "COD_CLASSIF_FISCAL", "QUANTIDADE", "VLR_UNITARIO", "VLR_DESCONTO", "DESCRICAO_NOTA", "DIG_CFOP", "COD_GRP_PRODUTO", "COD_IVA", "COD_ORIGEM_PROD", "CTA_CTB_MATERIAL", "LANCTO_CONTABIL", "CHAVE_NF_E", "NUMERO_DI", "COD_TRIBUT_ICMS", "COD_SIT_TRIB_IPI", "COD_IMPOSTO", "BASE_CALCULO_1", "BASE_CALCULO_2", "BASE_CALCULO_3", "VLR_IMPOSTO_ICMS_1", "VLR_IMPOSTO_ICMS_2", "ALIQUOTA_ICMS_1", "ALIQUOTA_ICMS_2", "COD_TRIBUT_IPI", "BASE_CALCULO_IPI_1", "BASE_CALCULO_IPI_2", "BASE_CALCULO_IPI_3", "ALIQUOTA_IPI", "VLR_IMPOSTO_IPI", "BASE_CALCULO_ST_1", "BASE_CALCULO_ST_2", "BASE_CALCULO_ST_3", "ALIQUOTA_ST", "VLR_IMPOSTO_ST", "BASE_CALCULO_DIFAL", "ALIQUOTA_DIFAL", "VLR_IMPOSTO_DIFAL", "BASE_CALCULO_J6", "VLR_IMPOSTO_J6", "BASE_CALCULO_J7", "VLR_IMPOSTO_J7", "BASE_CALCULO_J8", "VLR_IMPOSTO_J8", "BASE_CALCULO_PIS_1", "BASE_CALCULO_PIS_2", "BASE_CALCULO_PIS_3", "ALIQUOTA_PIS", "VLR_IMPOSTO_PIS", "COD_SIT_TRIB_PIS", "BASE_CALCULO_COFINS_1", "BASE_CALCULO_COFINS_2", "BASE_CALCULO_COFINS_3", "ALIQUOTA_COFINS", "VLR_IMPOSTO_COFINS", "COD_SIT_TRIB_COF") AS
select distinct
'E' TIPO_NF,
a.COD_HOLDING,
a.COD_MATRIZ,
a.COD_FILIAL,
a.ID_NF_ENTRADA ID_NF,
A.NUM_NF,
A.SERIE,
A.COD_MODELO,
a.COD_CFOP_LEGAL,
a.COD_CLIFOR,
A.DT_EMISSAO,
a.DT_LANCAMENTO,
a.DT_ENTRADA,
a.COD_STATUS,
a.COD_UF,
A.MUNICIPIO,
A.RAZAOSOCIAL,
A.CGC_CPF,
A.VLR_TOTAL_PRODUTOS,
B.VLR_BRUTO TOTAL_ITEM,
A.ICMS_BASE_TOTAL,
A.ICMS_VALOR_TOTAL,
A.ICMS_ST_BASE_TOTAL,
A.ICMS_ST_VL_TOTAL ICMS_ST_VALOR_TOTAL,
A.VLR_FRETE,
A.VLR_SEGURO,
A.VLR_DESPESAS,
A.IPI_TRIBUTADO,
a.IPI_NAO_TRIBUTADO,
a.DOCNUM,
b.id_item,
b.COD_PRODUTO,
b.COD_UNID_MEDIDA,
b.COD_CLASSIF_FISCAL,
b.QUANTIDADE,
b.VLR_UNITARIO,
b.VLR_DESCONTO,
b.DESCRICAO_NOTA,
b.dig_cfop,
b.cod_grp_produto,
b.cod_iva,
C.COD_ORIGEM_PROD,
B.CTA_CTB_MATERIAL,
A.LANCTO_CONTABIL,
A.CHAVE_NF_E,
A.NUMERO_DI,
c.COD_TRIBUT_ICMS,
c.COD_SIT_TRIB_IPI,
-- DADOS DO IMPOSTO 01
c.COD_IMPOSTO,
(SELECT NVL(base_calculo,0)
FROM LF_NF_entrada_IMPOSTO
WHERE cod_holding = b.cod_holding
and cod_matriz = b.cod_matriz
and cod_filial = b.cod_filial
and id_nf_entrada = b.id_nf_entrada
AND id_item = b.id_item
AND COD_IMPOSTO = '01'
and cod_tp_lanc_imp = '1'
AND ROWNUM = 1) base_calculo_1,
--
(SELECT NVL(base_calculo,0)
FROM LF_NF_entrada_IMPOSTO
WHERE cod_holding = b.cod_holding
and cod_matriz = b.cod_matriz
and cod_filial = b.cod_filial
and id_nf_entrada = b.id_nf_entrada
AND id_item = b.id_item
AND COD_IMPOSTO = '01'
and cod_tp_lanc_imp = '2'
AND ROWNUM = 1) base_calculo_2,
--
(SELECT NVL(base_calculo,0)
FROM LF_NF_entrada_IMPOSTO
WHERE cod_holding = b.cod_holding
and cod_matriz = b.cod_matriz
and cod_filial = b.cod_filial
and id_nf_entrada = b.id_nf_entrada
AND id_item = b.id_item
AND COD_IMPOSTO = '01'
and cod_tp_lanc_imp = '3'
AND ROWNUM = 1) base_calculo_3,
--
(SELECT nvl(vlr_imposto, 0)
FROM LF_NF_entrada_IMPOSTO
WHERE cod_holding = b.cod_holding
and cod_matriz = b.cod_matriz
and cod_filial = b.cod_filial
and id_nf_entrada = b.id_nf_entrada
AND id_item = b.id_item
AND COD_IMPOSTO = '01'
and cod_tp_lanc_imp = '1'
AND ROWNUM = 1) vlr_imposto_icms_1,
--
(SELECT nvl(vlr_imposto, 0)
FROM LF_NF_entrada_IMPOSTO
WHERE cod_holding = b.cod_holding
and cod_matriz = b.cod_matriz
and cod_filial = b.cod_filial
and id_nf_entrada = b.id_nf_entrada
AND id_item = b.id_item
AND COD_IMPOSTO = '01'
and cod_tp_lanc_imp = '2'
AND ROWNUM = 1) vlr_imposto_icms_2,
--
-- Recupera a Aliquota do imposto IPI
(SELECT nvl(aliquota,0)
FROM LF_NF_entrada_IMPOSTO
WHERE cod_holding = b.cod_holding
and cod_matriz = b.cod_matriz
and cod_filial = b.cod_filial
and id_nf_entrada = b.id_nf_entrada
AND id_item = b.id_item
AND COD_IMPOSTO = '01'
and cod_tp_lanc_imp = '1'
AND ROWNUM = 1) aliquota_ICMS_1,
--
(SELECT nvl(aliquota,0)
FROM LF_NF_entrada_IMPOSTO
WHERE cod_holding = b.cod_holding
and cod_matriz = b.cod_matriz
and cod_filial = b.cod_filial
and id_nf_entrada = b.id_nf_entrada
AND id_item = b.id_item
AND COD_IMPOSTO = '01'
and cod_tp_lanc_imp = '2'
AND ROWNUM = 1) aliquota_ICMS_2,
--
--Recuperar o Valor do CST IPI
(SELECT cod_tribut_ipi
FROM LF_NF_entrada_IMPOSTO
WHERE cod_holding = b.cod_holding
and cod_matriz = b.cod_matriz
and cod_filial = b.cod_filial
and id_nf_entrada = b.id_nf_entrada
AND id_item = b.id_item
AND COD_TP_LANC_IMP = '1'
AND COD_IMPOSTO = '02'
AND ROWNUM = 1) cod_tribut_ipi,
-- Recupera o Valor da Base de Calculo do imposto IPI
(SELECT NVL(base_calculo,0)
FROM LF_NF_entrada_IMPOSTO
WHERE cod_holding = b.cod_holding
and cod_matriz = b.cod_matriz
and cod_filial = b.cod_filial
and id_nf_entrada = b.id_nf_entrada
AND id_item = b.id_item
AND COD_IMPOSTO = '02'
AND COD_TP_LANC_IMP = '1'
AND ROWNUM = 1) base_calculo_ipi_1,
-- Recupera o Valor da Base de Calculo do imposto IPI
(SELECT NVL(base_calculo,0)
FROM LF_NF_entrada_IMPOSTO
WHERE cod_holding = b.cod_holding
and cod_matriz = b.cod_matriz
and cod_filial = b.cod_filial
and id_nf_entrada = b.id_nf_entrada
AND id_item = b.id_item
AND COD_IMPOSTO = '02'
AND COD_TP_LANC_IMP = '2'
AND ROWNUM = 1) base_calculo_ipi_2,
-- Recupera o Valor da Base de Calculo do imposto IPI
(SELECT NVL(base_calculo,0)
FROM LF_NF_entrada_IMPOSTO
WHERE cod_holding = b.cod_holding
and cod_matriz = b.cod_matriz
and cod_filial = b.cod_filial
and id_nf_entrada = b.id_nf_entrada
AND id_item = b.id_item
AND COD_IMPOSTO = '02'
AND COD_TP_LANC_IMP = '3'
AND ROWNUM = 1) base_calculo_ipi_3, --
-- Recupera a Aliquota do imposto IPI
(SELECT nvl(aliquota,0)
FROM LF_NF_entrada_IMPOSTO
WHERE cod_holding = b.cod_holding
and cod_matriz = b.cod_matriz
and cod_filial = b.cod_filial
and id_nf_entrada = b.id_nf_entrada
AND id_item = b.id_item
AND COD_IMPOSTO = '02'
AND ROWNUM = 1) aliquota_ipi,
-- Recupera o Valor do imposto IPI
(SELECT nvl(vlr_imposto, 0)
FROM LF_NF_entrada_IMPOSTO
WHERE cod_holding = b.cod_holding
and cod_matriz = b.cod_matriz
and cod_filial = b.cod_filial
and id_nf_entrada = b.id_nf_entrada
AND id_item = b.id_item
AND COD_IMPOSTO = '02'
AND ROWNUM = 1) vlr_imposto_ipi,
--
-- Recuperar Valores do Imposto 03
--
-- Recupera o Valor da Base de Calculo do imposto 03
(SELECT NVL(base_calculo,0)
FROM LF_NF_entrada_IMPOSTO
WHERE cod_holding = b.cod_holding
and cod_matriz = b.cod_matriz
and cod_filial = b.cod_filial
and id_nf_entrada = b.id_nf_entrada
AND id_item = b.id_item
AND COD_IMPOSTO = '03'
AND COD_TP_LANC_IMP = '1'
AND ROWNUM = 1) base_calculo_st_1,
-- Recupera o Valor da Base de Calculo do imposto 03
(SELECT NVL(base_calculo,0)
FROM LF_NF_entrada_IMPOSTO
WHERE cod_holding = b.cod_holding
and cod_matriz = b.cod_matriz
and cod_filial = b.cod_filial
and id_nf_entrada = b.id_nf_entrada
AND id_item = b.id_item
AND COD_IMPOSTO = '03'
AND COD_TP_LANC_IMP = '2'
AND ROWNUM = 1) base_calculo_st_2,
--
-- Recupera o Valor da Base de Calculo do imposto 03
(SELECT NVL(base_calculo,0)
FROM LF_NF_entrada_IMPOSTO
WHERE cod_holding = b.cod_holding
and cod_matriz = b.cod_matriz
and cod_filial = b.cod_filial
and id_nf_entrada = b.id_nf_entrada
AND id_item = b.id_item
AND COD_IMPOSTO = '03'
AND COD_TP_LANC_IMP = '3'
AND ROWNUM = 1) base_calculo_st_3,
-- Recupera o Tipo de lancamento do imposto 03 - Substituicao Tributaria
(SELECT nvl(aliquota,0)
FROM LF_NF_entrada_IMPOSTO
WHERE cod_holding = b.cod_holding
and cod_matriz = b.cod_matriz
and cod_filial = b.cod_filial
and id_nf_entrada = b.id_nf_entrada
AND id_item = b.id_item
AND COD_IMPOSTO = '03'
AND ROWNUM = 1) aliquota_st,
-- Recupera o Valor do imposto 03 - Substituicao Tributaria
(SELECT nvl(vlr_imposto, 0)
FROM LF_NF_entrada_IMPOSTO
WHERE cod_holding = b.cod_holding
and cod_matriz = b.cod_matriz
and cod_filial = b.cod_filial
and id_nf_entrada = b.id_nf_entrada
AND id_item = b.id_item
AND COD_IMPOSTO = '03'
AND ROWNUM = 1) vlr_imposto_st,
--
-- Recuperar valores do Imposto 04
--
-- Recupera o Valor da Base de Calculo do imposto 04 - DIFAL
(SELECT NVL(base_calculo,0)
FROM LF_NF_entrada_IMPOSTO
WHERE cod_holding = b.cod_holding
and cod_matriz = b.cod_matriz
and cod_filial = b.cod_filial
and id_nf_entrada = b.id_nf_entrada
AND id_item = b.id_item
AND COD_IMPOSTO = '04'
AND ROWNUM = 1) base_calculo_difal,
--
-- Recupera a Aliquota do imposto 04 - DIFAL
(SELECT nvl(aliquota,0)
FROM LF_NF_entrada_IMPOSTO
WHERE cod_holding = b.cod_holding
and cod_matriz = b.cod_matriz
and cod_filial = b.cod_filial
and id_nf_entrada = b.id_nf_entrada
AND id_item = b.id_item
AND COD_IMPOSTO = '04'
AND ROWNUM = 1) aliquota_difal,
-- Recupera o Valor do imposto 04 - DIFAL
(SELECT nvl(vlr_imposto, 0)
FROM LF_NF_entrada_IMPOSTO
WHERE cod_holding = b.cod_holding
and cod_matriz = b.cod_matriz
and cod_filial = b.cod_filial
and id_nf_entrada = b.id_nf_entrada
AND id_item = b.id_item
AND COD_IMPOSTO = '04'
AND ROWNUM = 1) vlr_imposto_difal,
--
-- Recuperar valores do Imposto J6
--
-- Recupera o Valor da Base de Calculo do imposto J6 - DIFAL
(SELECT NVL(base_calculo,0)
FROM LF_NF_entrada_IMPOSTO
WHERE cod_holding = b.cod_holding
and cod_matriz = b.cod_matriz
and cod_filial = b.cod_filial
and id_nf_entrada = b.id_nf_entrada
AND id_item = b.id_item
AND COD_IMPOSTO = 'J6'
AND ROWNUM = 1) base_calculo_J6,
--
-- Recupera o Valor do imposto J6
(SELECT nvl(vlr_imposto, 0)
FROM LF_NF_entrada_IMPOSTO
WHERE cod_holding = b.cod_holding
and cod_matriz = b.cod_matriz
and cod_filial = b.cod_filial
and id_nf_entrada = b.id_nf_entrada
AND id_item = b.id_item
AND COD_IMPOSTO = 'J6'
AND ROWNUM = 1) vlr_imposto_J6,
--
-- Recuperar valores do Imposto J7
--
-- Recupera o Valor da Base de Calculo do imposto J7
(SELECT NVL(base_calculo,0)
FROM LF_NF_entrada_IMPOSTO
WHERE cod_holding = b.cod_holding
and cod_matriz = b.cod_matriz
and cod_filial = b.cod_filial
and id_nf_entrada = b.id_nf_entrada
AND id_item = b.id_item
AND COD_IMPOSTO = 'J7'
AND ROWNUM = 1) base_calculo_J7,
--
-- Recupera o Valor do imposto J7
(SELECT nvl(vlr_imposto, 0)
FROM LF_NF_entrada_IMPOSTO
WHERE cod_holding = b.cod_holding
and cod_matriz = b.cod_matriz
and cod_filial = b.cod_filial
and id_nf_entrada = b.id_nf_entrada
AND id_item = b.id_item
AND COD_IMPOSTO = 'J7'
AND ROWNUM = 1) vlr_imposto_J7,
--
-- Recuperar valores do Imposto J8
--
-- Recupera o Valor da Base de Calculo do imposto J8
(SELECT NVL(base_calculo,0)
FROM LF_NF_entrada_IMPOSTO
WHERE cod_holding = b.cod_holding
and cod_matriz = b.cod_matriz
and cod_filial = b.cod_filial
and id_nf_entrada = b.id_nf_entrada
AND id_item = b.id_item
AND COD_IMPOSTO = 'J8'
AND ROWNUM = 1) base_calculo_J8,
--
-- Recupera o Valor do imposto J8
(SELECT nvl(vlr_imposto, 0)
FROM LF_NF_entrada_IMPOSTO
WHERE cod_holding = b.cod_holding
and cod_matriz = b.cod_matriz
and cod_filial = b.cod_filial
and id_nf_entrada = b.id_nf_entrada
AND id_item = b.id_item
AND COD_IMPOSTO = 'J8'
AND ROWNUM = 1) vlr_imposto_J8,
--
-- Recuperar Valores do Imposto 09 - PIS
--
-- Recupera o Valor da Base de Calculo do imposto 09
(SELECT NVL(base_calculo,0)
FROM LF_NF_entrada_IMPOSTO
WHERE cod_holding = b.cod_holding
and cod_matriz = b.cod_matriz
and cod_filial = b.cod_filial
and id_nf_entrada = b.id_nf_entrada
AND id_item = b.id_item
AND COD_IMPOSTO = '09'
AND COD_TP_LANC_IMP = '1'
AND ROWNUM = 1) base_calculo_pis_1,
--
-- Recupera o Valor da Base de Calculo do imposto 09
(SELECT NVL(base_calculo,0)
FROM LF_NF_entrada_IMPOSTO
WHERE cod_holding = b.cod_holding
and cod_matriz = b.cod_matriz
and cod_filial = b.cod_filial
and id_nf_entrada = b.id_nf_entrada
AND id_item = b.id_item
AND COD_IMPOSTO = '09'
AND COD_TP_LANC_IMP = '2'
AND ROWNUM = 1) base_calculo_pis_2,
--
-- Recupera o Valor da Base de Calculo do imposto 09
(SELECT NVL(base_calculo,0)
FROM LF_NF_entrada_IMPOSTO
WHERE cod_holding = b.cod_holding
and cod_matriz = b.cod_matriz
and cod_filial = b.cod_filial
and id_nf_entrada = b.id_nf_entrada
AND id_item = b.id_item
AND COD_IMPOSTO = '09'
AND COD_TP_LANC_IMP = '3'
AND ROWNUM = 1) base_calculo_pis_3,
--
-- Recupera a Aliquota do imposto 09 - PIS
(SELECT nvl(aliquota,0)
FROM LF_NF_entrada_IMPOSTO
WHERE cod_holding = b.cod_holding
and cod_matriz = b.cod_matriz
and cod_filial = b.cod_filial
and id_nf_entrada = b.id_nf_entrada
AND id_item = b.id_item
AND COD_IMPOSTO = '09'
AND ROWNUM = 1) aliquota_pis,
-- Recupera o Valor do imposto 09 - PIS
(SELECT nvl(vlr_imposto, 0)
FROM LF_NF_entrada_IMPOSTO
WHERE cod_holding = b.cod_holding
and cod_matriz = b.cod_matriz
and cod_filial = b.cod_filial
and id_nf_entrada = b.id_nf_entrada
AND id_item = b.id_item
AND COD_IMPOSTO = '09'
AND ROWNUM = 1) vlr_imposto_pis,
-- Recupera o Codigo da situacao tributaria do imposto 09 - PIS
(SELECT cod_sit_trib_PIS
FROM LF_NF_entrada_IMPOSTO
WHERE cod_holding = b.cod_holding
and cod_matriz = b.cod_matriz
and cod_filial = b.cod_filial
and id_nf_entrada = b.id_nf_entrada
AND id_item = b.id_item
AND COD_IMPOSTO = '09'
AND ROWNUM = 1) cod_sit_trib_pis,
--
-- Recuperar Valores do Imposto 10 - COFINS
--
-- Recupera o Valor da Base de Calculo do imposto 10
(SELECT NVL(base_calculo,0)
FROM LF_NF_entrada_IMPOSTO
WHERE cod_holding = b.cod_holding
and cod_matriz = b.cod_matriz
and cod_filial = b.cod_filial
and id_nf_entrada = b.id_nf_entrada
AND id_item = b.id_item
AND COD_IMPOSTO = '10'
AND COD_TP_LANC_IMP = '1'
AND ROWNUM = 1) base_calculo_cofins_1,
-- Recupera o Valor da Base de Calculo do imposto 10
(SELECT NVL(base_calculo,0)
FROM LF_NF_entrada_IMPOSTO
WHERE cod_holding = b.cod_holding
and cod_matriz = b.cod_matriz
and cod_filial = b.cod_filial
and id_nf_entrada = b.id_nf_entrada
AND id_item = b.id_item
AND COD_IMPOSTO = '10'
AND COD_TP_LANC_IMP = '2'
AND ROWNUM = 1) base_calculo_cofins_2,
--
-- Recupera o Valor da Base de Calculo do imposto 10
(SELECT NVL(base_calculo,0)
FROM LF_NF_entrada_IMPOSTO
WHERE cod_holding = b.cod_holding
and cod_matriz = b.cod_matriz
and cod_filial = b.cod_filial
and id_nf_entrada = b.id_nf_entrada
AND id_item = b.id_item
AND COD_IMPOSTO = '10'
AND COD_TP_LANC_IMP = '3'
AND ROWNUM = 1) base_calculo_cofins_3,
--
-- Recupera a Aliquota do imposto 10 - COFINS
(SELECT nvl(aliquota,0)
FROM LF_NF_entrada_IMPOSTO
WHERE cod_holding = b.cod_holding
and cod_matriz = b.cod_matriz
and cod_filial = b.cod_filial
and id_nf_entrada = b.id_nf_entrada
AND id_item = b.id_item
AND COD_IMPOSTO = '10'
AND ROWNUM = 1) aliquota_cofins,
-- Recupera o Valor do imposto 10 - COFINS
(SELECT nvl(vlr_imposto, 0)
FROM LF_NF_entrada_IMPOSTO
WHERE cod_holding = b.cod_holding
and cod_matriz = b.cod_matriz
and cod_filial = b.cod_filial
and id_nf_entrada = b.id_nf_entrada
AND id_item = b.id_item
AND COD_IMPOSTO = '10'
AND ROWNUM = 1) vlr_imposto_cofins,
-- Recupera o Codigo da situacao tributaria do imposto 10 - COFINS
(SELECT cod_sit_trib_cof
FROM LF_NF_entrada_IMPOSTO
WHERE cod_holding = b.cod_holding
and cod_matriz = b.cod_matriz
and cod_filial = b.cod_filial
and id_nf_entrada = b.id_nf_entrada
AND id_item = b.id_item
AND COD_IMPOSTO = '10'
AND ROWNUM = 1) cod_sit_trib_cof
from lf_nf_entrada a,
lf_nf_entrada_item b,
lf_nf_entrada_imposto c
where a.cod_holding = 'JNJ BR'
and a.dt_entrada >= to_date('01/01/2013','dd/mm/yyyy')
and a.cod_status = '01'
and b.cod_holding = a.cod_holding
and b.cod_matriz = a.cod_matriz
and b.cod_filial = a.cod_filial
and b.id_nf_entrada = a.id_nf_entrada
and c.cod_holding = b.cod_holding
and c.cod_matriz = b.cod_matriz
and c.cod_filial = b.cod_filial
and c.id_nf_entrada = b.id_nf_entrada
and c.id_item = b.id_item
and c.cod_imposto = '01'
--
UNION ALL
--
select distinct
'S' TIPO_NF,
a.COD_HOLDING,
a.COD_MATRIZ,
a.COD_FILIAL,
NULL ID_NF,
a.NUM_NF,
A.SERIE,
A.COD_MODELO,
a.COD_CFOP_LEGAL,
a.COD_CLIFOR,
a.DT_EMISSAO,
NULL DT_LANCAMENTO,
a.dt_emissao DT_ENTRADA,
A.COD_STATUS,
A.COD_UF,
A.MUNICIPIO,
A.RAZAOSOCIAL,
A.CGC_CPF,
a.VLR_TOTAL_PRODUTOS,
b.VLR_BRUTO TOTAL_ITEM,
a.ICMS_BASE_TOTAL,
a.ICMS_VALOR_TOTAL,
a.ICMS_ST_BASE_TOTAL,
a.ICMS_ST_VALOR_TOTAL,
a.VLR_FRETE,
a.VLR_SEGURO,
a.VLR_DESPESAS,
a.IPI_TRIBUTADO,
a.IPI_NAO_TRIBUTADO,
A.DOCNUM,
b.id_item,
b.COD_PRODUTO,
b.COD_UNID_MEDIDA,
b.COD_CLASSIF_FISCAL,
b.QUANTIDADE,
b.VLR_UNITARIO,
b.VLR_DESCONTO,
b.DESCRICAO_NOTA,
b.dig_cfop,
b.cod_grp_produto,
b.cod_iva,
C.COD_ORIGEM_PROD,
B.CTA_CTB_MATERIAL,
A.LANCTO_CONTABIL,
A.CHAVE_NF_E,
NULL NUMERO_DI,
c.COD_TRIBUT_ICMS,
c.COD_SIT_TRIB_IPI,
c.COD_IMPOSTO,
--
(SELECT NVL(base_calculo,0)
FROM lf_nf_saida_imposto
WHERE cod_holding = b.cod_holding
and cod_matriz = b.cod_matriz
and cod_filial = b.cod_filial
and num_nf = b.num_nf
and serie = b.serie
and subserie = b.subserie
and dt_emissao = b.dt_emissao
and cod_municipio = b.cod_municipio
and cod_cfop_legal = b.cod_cfop_legal
AND id_item = b.id_item
AND COD_IMPOSTO = '01'
and cod_tp_lanc_imp = '1'
AND ROWNUM = 1 ) base_calculo_1,
--
(SELECT NVL(base_calculo,0)
FROM lf_nf_saida_imposto
WHERE cod_holding = b.cod_holding
and cod_matriz = b.cod_matriz
and cod_filial = b.cod_filial
and num_nf = b.num_nf
and serie = b.serie
and subserie = b.subserie
and dt_emissao = b.dt_emissao
and cod_municipio = b.cod_municipio
and cod_cfop_legal = b.cod_cfop_legal
AND id_item = b.id_item
AND COD_IMPOSTO = '01'
and cod_tp_lanc_imp = '2'
AND ROWNUM = 1) base_calculo_2,
--
(SELECT NVL(base_calculo,0)
FROM lf_nf_saida_imposto
WHERE cod_holding = b.cod_holding
and cod_matriz = b.cod_matriz
and cod_filial = b.cod_filial
and num_nf = b.num_nf
and serie = b.serie
and subserie = b.subserie
and dt_emissao = b.dt_emissao
and cod_municipio = b.cod_municipio
and cod_cfop_legal = b.cod_cfop_legal
AND id_item = b.id_item
AND COD_IMPOSTO = '01'
and cod_tp_lanc_imp = '3'
AND ROWNUM = 1) base_calculo_3,
--
(SELECT nvl(vlr_imposto, 0)
FROM lf_nf_saida_imposto
WHERE cod_holding = b.cod_holding
and cod_matriz = b.cod_matriz
and cod_filial = b.cod_filial
and num_nf = b.num_nf
and serie = b.serie
and subserie = b.subserie
and dt_emissao = b.dt_emissao
and cod_municipio = b.cod_municipio
and cod_cfop_legal = b.cod_cfop_legal
AND id_item = b.id_item
AND COD_IMPOSTO = '01'
and cod_tp_lanc_imp = '1'
AND ROWNUM = 1) vlr_imposto_icms_1,
--
(SELECT nvl(vlr_imposto, 0)
FROM lf_nf_saida_imposto
WHERE cod_holding = b.cod_holding
and cod_matriz = b.cod_matriz
and cod_filial = b.cod_filial
and num_nf = b.num_nf
and serie = b.serie
and subserie = b.subserie
and dt_emissao = b.dt_emissao
and cod_municipio = b.cod_municipio
and cod_cfop_legal = b.cod_cfop_legal
AND id_item = b.id_item
AND COD_IMPOSTO = '01'
and cod_tp_lanc_imp = '2'
AND ROWNUM = 1) vlr_imposto_icms_2,
--
-- Recupera a Aliquota do imposto IPI
(SELECT nvl(aliquota,0)
FROM lf_nf_saida_imposto
WHERE cod_holding = b.cod_holding
and cod_matriz = b.cod_matriz
and cod_filial = b.cod_filial
and num_nf = b.num_nf
and serie = b.serie
and subserie = b.subserie
and dt_emissao = b.dt_emissao
and cod_municipio = b.cod_municipio
and cod_cfop_legal = b.cod_cfop_legal
AND id_item = b.id_item
AND COD_IMPOSTO = '01'
and cod_tp_lanc_imp = '1'
AND ROWNUM = 1) aliquota_ICMS_1,
--
(SELECT nvl(aliquota,0)
FROM lf_nf_saida_imposto
WHERE cod_holding = b.cod_holding
and cod_matriz = b.cod_matriz
and cod_filial = b.cod_filial
and num_nf = b.num_nf
and serie = b.serie
and subserie = b.subserie
and dt_emissao = b.dt_emissao
and cod_municipio = b.cod_municipio
and cod_cfop_legal = b.cod_cfop_legal
AND id_item = b.id_item
AND COD_IMPOSTO = '01'
and cod_tp_lanc_imp = '2'
AND ROWNUM = 1) aliquota_ICMS_2,
--
--Recuperar o Valor do CST IPI
(SELECT cod_tribut_ipi
FROM lf_nf_saida_imposto
WHERE cod_holding = b.cod_holding
and cod_matriz = b.cod_matriz
and cod_filial = b.cod_filial
and num_nf = b.num_nf
and serie = b.serie
and subserie = b.subserie
and dt_emissao = b.dt_emissao
and cod_municipio = b.cod_municipio
and cod_cfop_legal = b.cod_cfop_legal
AND id_item = b.id_item
AND COD_IMPOSTO = '02'
and cod_tp_lanc_imp = '1'
AND ROWNUM = 1) cod_tribut_ipi,
--
-- Recupera o Valor da Base de Calculo do imposto IPI
(SELECT NVL(base_calculo,0)
FROM lf_nf_saida_imposto
WHERE cod_holding = b.cod_holding
and cod_matriz = b.cod_matriz
and cod_filial = b.cod_filial
and num_nf = b.num_nf
and serie = b.serie
and subserie = b.subserie
and dt_emissao = b.dt_emissao
and cod_municipio = b.cod_municipio
and cod_cfop_legal = b.cod_cfop_legal
AND id_item = b.id_item
AND COD_IMPOSTO = '02'
and cod_tp_lanc_imp = '1'
AND ROWNUM = 1) base_calculo_ipi_1,
--
-- Recupera o Valor da Base de Calculo do imposto IPI
(SELECT NVL(base_calculo,0)
FROM lf_nf_saida_imposto
WHERE cod_holding = b.cod_holding
and cod_matriz = b.cod_matriz
and cod_filial = b.cod_filial
and num_nf = b.num_nf
and serie = b.serie
and subserie = b.subserie
and dt_emissao = b.dt_emissao
and cod_municipio = b.cod_municipio
and cod_cfop_legal = b.cod_cfop_legal
AND id_item = b.id_item
AND COD_IMPOSTO = '02'
and cod_tp_lanc_imp = '2'
AND ROWNUM = 1) base_calculo_ipi_2,
--
-- Recupera o Valor da Base de Calculo do imposto IPI
(SELECT NVL(base_calculo,0)
FROM lf_nf_saida_imposto
WHERE cod_holding = b.cod_holding
and cod_matriz = b.cod_matriz
and cod_filial = b.cod_filial
and num_nf = b.num_nf
and serie = b.serie
and subserie = b.subserie
and dt_emissao = b.dt_emissao
and cod_municipio = b.cod_municipio
and cod_cfop_legal = b.cod_cfop_legal
AND id_item = b.id_item
AND COD_IMPOSTO = '02'
and cod_tp_lanc_imp = '3'
AND ROWNUM = 1) base_calculo_ipi_3,
-- Recupera o Tipo de lancamento do imposto IPI
-- Recupera a Aliquota do imposto IPI
(SELECT nvl(aliquota,0)
FROM lf_nf_saida_imposto
WHERE cod_holding = b.cod_holding
and cod_matriz = b.cod_matriz
and cod_filial = b.cod_filial
and num_nf = b.num_nf
and serie = b.serie
and subserie = b.subserie
and dt_emissao = b.dt_emissao
and cod_municipio = b.cod_municipio
and cod_cfop_legal = b.cod_cfop_legal
AND id_item = b.id_item
AND COD_IMPOSTO = '02'
AND ROWNUM = 1) aliquota_ipi,
-- Recupera o Valor do imposto IPI
(SELECT nvl(vlr_imposto, 0)
FROM lf_nf_saida_imposto
WHERE cod_holding = b.cod_holding
and cod_matriz = b.cod_matriz
and cod_filial = b.cod_filial
and num_nf = b.num_nf
and serie = b.serie
and subserie = b.subserie
and dt_emissao = b.dt_emissao
and cod_municipio = b.cod_municipio
and cod_cfop_legal = b.cod_cfop_legal
AND id_item = b.id_item
AND COD_IMPOSTO = '02'
AND ROWNUM = 1) vlr_imposto_ipi,
--
-- Recuperar Valores do Imposto 03
--
-- Recupera o Valor da Base de Calculo do imposto 03
(SELECT NVL(base_calculo,0)
FROM lf_nf_saida_imposto
WHERE cod_holding = b.cod_holding
and cod_matriz = b.cod_matriz
and cod_filial = b.cod_filial
and num_nf = b.num_nf
and serie = b.serie
and subserie = b.subserie
and dt_emissao = b.dt_emissao
and cod_municipio = b.cod_municipio
and cod_cfop_legal = b.cod_cfop_legal
AND id_item = b.id_item
AND COD_IMPOSTO = '03'
and cod_tp_lanc_imp = '1'
AND ROWNUM = 1) base_calculo_st_1,
--
-- Recupera o Valor da Base de Calculo do imposto 03
(SELECT NVL(base_calculo,0)
FROM lf_nf_saida_imposto
WHERE cod_holding = b.cod_holding
and cod_matriz = b.cod_matriz
and cod_filial = b.cod_filial
and num_nf = b.num_nf
and serie = b.serie
and subserie = b.subserie
and dt_emissao = b.dt_emissao
and cod_municipio = b.cod_municipio
and cod_cfop_legal = b.cod_cfop_legal
AND id_item = b.id_item
AND COD_IMPOSTO = '03'
and cod_tp_lanc_imp = '2'
AND ROWNUM = 1) base_calculo_st_2,
--
-- Recupera o Valor da Base de Calculo do imposto 03
(SELECT NVL(base_calculo,0)
FROM lf_nf_saida_imposto
WHERE cod_holding = b.cod_holding
and cod_matriz = b.cod_matriz
and cod_filial = b.cod_filial
and num_nf = b.num_nf
and serie = b.serie
and subserie = b.subserie
and dt_emissao = b.dt_emissao
and cod_municipio = b.cod_municipio
and cod_cfop_legal = b.cod_cfop_legal
AND id_item = b.id_item
AND COD_IMPOSTO = '03'
and cod_tp_lanc_imp = '3'
AND ROWNUM = 1) base_calculo_st_3,
--
-- Recupera o Tipo de lancamento do imposto 03 - Substituicao Tributaria
-- Recupera a Aliquota do imposto Substituicao Tributaria
(SELECT nvl(aliquota,0)
FROM lf_nf_saida_imposto
WHERE cod_holding = b.cod_holding
and cod_matriz = b.cod_matriz
and cod_filial = b.cod_filial
and num_nf = b.num_nf
and serie = b.serie
and subserie = b.subserie
and dt_emissao = b.dt_emissao
and cod_cfop_legal = b.cod_cfop_legal
and cod_municipio = b.cod_municipio
AND id_item = b.id_item
AND COD_IMPOSTO = '03'
AND ROWNUM = 1) aliquota_st,
-- Recupera o Valor do imposto 03 - Substituicao Tributaria
(SELECT nvl(vlr_imposto, 0)
FROM lf_nf_saida_imposto
WHERE cod_holding = b.cod_holding
and cod_matriz = b.cod_matriz
and cod_filial = b.cod_filial
and num_nf = b.num_nf
and serie = b.serie
and subserie = b.subserie
and dt_emissao = b.dt_emissao
and cod_cfop_legal = b.cod_cfop_legal
and cod_municipio = b.cod_municipio
AND id_item = b.id_item
AND COD_IMPOSTO = '03'
AND ROWNUM = 1) vlr_imposto_st,
--
-- Recuperar valores do Imposto 04
--
-- Recupera o Valor da Base de Calculo do imposto 04 - DIFAL
(SELECT NVL(base_calculo,0)
FROM lf_nf_saida_imposto
WHERE cod_holding = b.cod_holding
and cod_matriz = b.cod_matriz
and cod_filial = b.cod_filial
and num_nf = b.num_nf
and serie = b.serie
and subserie = b.subserie
and dt_emissao = b.dt_emissao
and cod_cfop_legal = a.cod_cfop_legal
and cod_municipio = b.cod_municipio
AND id_item = b.id_item
AND COD_IMPOSTO = '04'
AND ROWNUM = 1) base_calculo_difal,
--
-- Recupera a Aliquota do imposto 04 - DIFAL
(SELECT nvl(aliquota,0)
FROM lf_nf_saida_imposto
WHERE cod_holding = b.cod_holding
and cod_matriz = b.cod_matriz
and cod_filial = b.cod_filial
and num_nf = b.num_nf
and serie = b.serie
and subserie = b.subserie
and dt_emissao = b.dt_emissao
and cod_cfop_legal = b.cod_cfop_legal
and cod_municipio = b.cod_municipio
AND id_item = b.id_item
AND COD_IMPOSTO = '04'
AND ROWNUM = 1) aliquota_difal,
-- Recupera o Valor do imposto 04 - DIFAL
(SELECT nvl(vlr_imposto, 0)
FROM lf_nf_saida_imposto
WHERE cod_holding = b.cod_holding
and cod_matriz = b.cod_matriz
and cod_filial = b.cod_filial
and num_nf = b.num_nf
and serie = b.serie
and subserie = b.subserie
and dt_emissao = b.dt_emissao
and cod_cfop_legal = b.cod_cfop_legal
and cod_municipio = b.cod_municipio
AND id_item = b.id_item
AND COD_IMPOSTO = '04'
AND ROWNUM = 1) vlr_imposto_difal,
--
-- Recuperar valores do Imposto J6
--
-- Recupera o Valor da Base de Calculo do imposto J6 - DIFAL
(SELECT NVL(base_calculo,0)
FROM lf_nf_saida_imposto
WHERE cod_holding = b.cod_holding
and cod_matriz = b.cod_matriz
and cod_filial = b.cod_filial
and num_nf = b.num_nf
and serie = b.serie
and subserie = b.subserie
and dt_emissao = b.dt_emissao
and cod_cfop_legal = b.cod_cfop_legal
and cod_municipio = b.cod_municipio
AND id_item = b.id_item
AND COD_IMPOSTO = 'J6'
AND ROWNUM = 1) base_calculo_J6,
--
-- Recupera o Valor do imposto J6
(SELECT nvl(vlr_imposto, 0)
FROM lf_nf_saida_imposto
WHERE cod_holding = b.cod_holding
and cod_matriz = b.cod_matriz
and cod_filial = b.cod_filial
and num_nf = b.num_nf
and serie = b.serie
and subserie = b.subserie
and dt_emissao = b.dt_emissao
and cod_cfop_legal = b.cod_cfop_legal
and cod_municipio = b.cod_municipio
AND id_item = b.id_item
AND COD_IMPOSTO = 'J6'
AND ROWNUM = 1) vlr_imposto_J6,
--
-- Recuperar valores do Imposto J7
--
-- Recupera o Valor da Base de Calculo do imposto J7
(SELECT NVL(base_calculo,0)
FROM lf_nf_saida_imposto
WHERE cod_holding = b.cod_holding
and cod_matriz = b.cod_matriz
and cod_filial = b.cod_filial
and num_nf = b.num_nf
and serie = b.serie
and subserie = b.subserie
and dt_emissao = b.dt_emissao
and cod_cfop_legal = b.cod_cfop_legal
and cod_municipio = b.cod_municipio
AND id_item = b.id_item
AND COD_IMPOSTO = 'J7'
AND ROWNUM = 1) base_calculo_J7,
--
-- Recupera o Valor do imposto J7
(SELECT nvl(vlr_imposto, 0)
FROM lf_nf_saida_imposto
WHERE cod_holding = b.cod_holding
and cod_matriz = b.cod_matriz
and cod_filial = b.cod_filial
and num_nf = b.num_nf
and serie = b.serie
and subserie = b.subserie
and dt_emissao = b.dt_emissao
and cod_cfop_legal = b.cod_cfop_legal
and cod_municipio = b.cod_municipio
AND id_item = b.id_item
AND COD_IMPOSTO = 'J7'
AND ROWNUM = 1) vlr_imposto_J7,
--
-- Recuperar valores do Imposto J8
--
-- Recupera o Valor da Base de Calculo do imposto J8
(SELECT NVL(base_calculo,0)
FROM lf_nf_saida_imposto
WHERE cod_holding = b.cod_holding
and cod_matriz = b.cod_matriz
and cod_filial = b.cod_filial
and num_nf = b.num_nf
and serie = b.serie
and subserie = b.subserie
and dt_emissao = b.dt_emissao
and cod_cfop_legal = b.cod_cfop_legal
and cod_municipio = b.cod_municipio
AND id_item = b.id_item
AND COD_IMPOSTO = 'J8'
AND ROWNUM = 1) base_calculo_J8,
--
-- Recupera o Valor do imposto J8
(SELECT nvl(vlr_imposto, 0)
FROM lf_nf_saida_imposto
WHERE cod_holding = b.cod_holding
and cod_matriz = b.cod_matriz
and cod_filial = b.cod_filial
and num_nf = b.num_nf
and serie = b.serie
and subserie = b.subserie
and dt_emissao = b.dt_emissao
and cod_cfop_legal = b.cod_cfop_legal
and cod_municipio = b.cod_municipio
AND id_item = b.id_item
AND COD_IMPOSTO = 'J8'
AND ROWNUM = 1) vlr_imposto_J8,
--
-- Recuperar Valores do Imposto 09 - PIS
--
-- Recupera o Valor da Base de Calculo do imposto 09
(SELECT NVL(base_calculo,0)
FROM lf_nf_saida_imposto
WHERE cod_holding = b.cod_holding
and cod_matriz = b.cod_matriz
and cod_filial = b.cod_filial
and num_nf = b.num_nf
and serie = b.serie
and subserie = b.subserie
and dt_emissao = b.dt_emissao
and cod_cfop_legal = b.cod_cfop_legal
and cod_municipio = b.cod_municipio
AND id_item = b.id_item
AND COD_IMPOSTO = '09'
and cod_tp_lanc_imp = '1'
AND ROWNUM = 1) base_calculo_pis_1,
--
-- Recupera o Valor da Base de Calculo do imposto 09
(SELECT NVL(base_calculo,0)
FROM lf_nf_saida_imposto
WHERE cod_holding = b.cod_holding
and cod_matriz = b.cod_matriz
and cod_filial = b.cod_filial
and num_nf = b.num_nf
and serie = b.serie
and subserie = b.subserie
and dt_emissao = b.dt_emissao
and cod_cfop_legal = b.cod_cfop_legal
and cod_municipio = b.cod_municipio
AND id_item = b.id_item
AND COD_IMPOSTO = '09'
and cod_tp_lanc_imp = '2'
AND ROWNUM = 1) base_calculo_pis_2,
--
-- Recupera o Valor da Base de Calculo do imposto 09
(SELECT NVL(base_calculo,0)
FROM lf_nf_saida_imposto
WHERE cod_holding = b.cod_holding
and cod_matriz = b.cod_matriz
and cod_filial = b.cod_filial
and num_nf = b.num_nf
and serie = b.serie
and subserie = b.subserie
and dt_emissao = b.dt_emissao
and cod_cfop_legal = b.cod_cfop_legal
and cod_municipio = b.cod_municipio
AND id_item = b.id_item
AND COD_IMPOSTO = '09'
and cod_tp_lanc_imp = '3'
AND ROWNUM = 1) base_calculo_pis_3,
--
-- Recupera o Tipo de lancamento do imposto 09 - PIS
-- Recupera a Aliquota do imposto 09 - PIS
(SELECT nvl(aliquota,0)
FROM lf_nf_saida_imposto
WHERE cod_holding = b.cod_holding
and cod_matriz = b.cod_matriz
and cod_filial = b.cod_filial
and num_nf = b.num_nf
and serie = b.serie
and subserie = b.subserie
and dt_emissao = b.dt_emissao
and cod_cfop_legal = b.cod_cfop_legal
and cod_municipio = b.cod_municipio
AND id_item = b.id_item
AND COD_IMPOSTO = '09'
AND ROWNUM = 1) aliquota_pis,
-- Recupera o Valor do imposto 09 - PIS
(SELECT nvl(vlr_imposto, 0)
FROM lf_nf_saida_imposto
WHERE cod_holding = b.cod_holding
and cod_matriz = b.cod_matriz
and cod_filial = b.cod_filial
and num_nf = b.num_nf
and serie = b.serie
and subserie = b.subserie
and dt_emissao = b.dt_emissao
and cod_cfop_legal = b.cod_cfop_legal
and cod_municipio = b.cod_municipio
AND id_item = b.id_item
AND COD_IMPOSTO = '09'
AND ROWNUM = 1) vlr_imposto_pis,
-- Recupera o Codigo da situacao tributaria do imposto 09 - PIS
(SELECT cod_sit_trib_PIS
FROM lf_nf_saida_imposto
WHERE cod_holding = b.cod_holding
and cod_matriz = b.cod_matriz
and cod_filial = b.cod_filial
and num_nf = b.num_nf
and serie = b.serie
and subserie = b.subserie
and dt_emissao = b.dt_emissao
and cod_cfop_legal = b.cod_cfop_legal
and cod_municipio = b.cod_municipio
AND id_item = b.id_item
AND COD_IMPOSTO = '09'
AND ROWNUM = 1) cod_sit_trib_pis,
--
-- Recuperar Valores do Imposto 10 - COFINS
--
-- Recupera o Valor da Base de Calculo do imposto 10
(SELECT NVL(base_calculo,0)
FROM lf_nf_saida_imposto
WHERE cod_holding = b.cod_holding
and cod_matriz = b.cod_matriz
and cod_filial = b.cod_filial
and num_nf = b.num_nf
and serie = b.serie
and subserie = b.subserie
and dt_emissao = b.dt_emissao
and cod_cfop_legal = b.cod_cfop_legal
and cod_municipio = b.cod_municipio
AND id_item = b.id_item
AND COD_IMPOSTO = '10'
and cod_tp_lanc_imp = '1'
AND ROWNUM = 1) base_calculo_cofins_1,
--
--
-- Recupera o Valor da Base de Calculo do imposto 10
(SELECT NVL(base_calculo,0)
FROM lf_nf_saida_imposto
WHERE cod_holding = b.cod_holding
and cod_matriz = b.cod_matriz
and cod_filial = b.cod_filial
and num_nf = b.num_nf
and serie = b.serie
and subserie = b.subserie
and dt_emissao = b.dt_emissao
and cod_cfop_legal = b.cod_cfop_legal
and cod_municipio = b.cod_municipio
AND id_item = b.id_item
AND COD_IMPOSTO = '10'
and cod_tp_lanc_imp = '2'
AND ROWNUM = 1) base_calculo_cofins_2,
--
--
-- Recupera o Valor da Base de Calculo do imposto 10
(SELECT NVL(base_calculo,0)
FROM lf_nf_saida_imposto
WHERE cod_holding = b.cod_holding
and cod_matriz = b.cod_matriz
and cod_filial = b.cod_filial
and num_nf = b.num_nf
and serie = b.serie
and subserie = b.subserie
and dt_emissao = b.dt_emissao
and cod_cfop_legal = b.cod_cfop_legal
and cod_municipio = b.cod_municipio
AND id_item = b.id_item
AND COD_IMPOSTO = '10'
and cod_tp_lanc_imp = '3'
AND ROWNUM = 1) base_calculo_cofins_3,
-- Recupera a Aliquota do imposto 10 - COFINS
(SELECT nvl(aliquota,0)
FROM lf_nf_saida_imposto
WHERE cod_holding = b.cod_holding
and cod_matriz = b.cod_matriz
and cod_filial = b.cod_filial
and num_nf = b.num_nf
and serie = b.serie
and subserie = b.subserie
and dt_emissao = b.dt_emissao
and cod_cfop_legal = b.cod_cfop_legal
and cod_municipio = b.cod_municipio
AND id_item = b.id_item
AND COD_IMPOSTO = '10'
AND ROWNUM = 1) aliquota_cofins,
-- Recupera o Valor do imposto 10 - COFINS
(SELECT nvl(vlr_imposto, 0)
FROM lf_nf_saida_imposto
WHERE cod_holding = b.cod_holding
and cod_matriz = b.cod_matriz
and cod_filial = b.cod_filial
and num_nf = b.num_nf
and serie = b.serie
and subserie = b.subserie
and dt_emissao = b.dt_emissao
and cod_cfop_legal = b.cod_cfop_legal
and cod_municipio = b.cod_municipio
AND id_item = b.id_item
AND COD_IMPOSTO = '10'
AND ROWNUM = 1) vlr_imposto_cofins,
-- Recupera o Codigo da situacao tributaria do imposto 10 - COFINS
(SELECT cod_sit_trib_cof
FROM lf_nf_saida_imposto
WHERE cod_holding = b.cod_holding
and cod_matriz = b.cod_matriz
and cod_filial = b.cod_filial
and num_nf = b.num_nf
and serie = b.serie
and subserie = b.subserie
and dt_emissao = b.dt_emissao
and cod_cfop_legal = b.cod_cfop_legal
and cod_municipio = b.cod_municipio
AND id_item = b.id_item
AND COD_IMPOSTO = '10'
AND ROWNUM = 1) cod_sit_trib_cof
from lf_nf_saida a,
lf_nf_saida_item b,
lf_nf_saida_imposto c
where a.cod_holding = 'JNJ BR'
and a.dt_emissao >= to_date('01/01/2013','dd/mm/yyyy')
and a.cod_status = '01'
and b.cod_holding = a.cod_holding
AND b.cod_matriz = a.cod_matriz
AND b.cod_filial = a.cod_filial
AND b.num_nf = a.num_nf
AND b.serie = a.serie
AND b.subserie = a.subserie
AND b.dt_emissao = a.dt_emissao
AND b.cod_cfop_legal = a.cod_cfop_legal
AND b.cod_municipio = a.cod_municipio
AND c.cod_holding = b.cod_holding
AND c.cod_matriz = b.cod_matriz
AND c.cod_filial = b.cod_filial
AND c.num_nf = b.num_nf
AND c.serie = b.serie
AND c.subserie = b.subserie
AND c.dt_emissao = b.dt_emissao
AND c.cod_cfop_legal = b.cod_cfop_legal
AND c.cod_municipio = b.cod_municipio
AND c.id_item = b.id_item
and c.cod_imposto ='01';
-
Por luizfabianochaves
bom dia..
preciso fazer o calculo do prazo medio de recebimento da minha empresa, em relação ao periodo do ano passado.
já tenho a soma de tudo o que recebi com 30, 60, 90, 120 e mais de 120 dias.. como calcular o prazo medio do pl sql com essas informações?
-
Por mr22robot
Estou com uma dúvida. É possível determinar um select a partir de uma escolha?
Ex.
SELECT CASE WHEN a < b THEN select * from tabela1 WHEN d < e THEN select * form tabela2 END FROM tabela; Algo parecido. Se uma condição for atendida select1 , se outra condição for atendida: select2.
O que acontece: estou com um relatorio que preciso criar no winthor e não consigo melhorar isso. Tenho de fazer três relatorios como solução. Se eu consigo implantar isso, eu faria somente um relatorio.
Tipo se marcar um campo, sai um relatorio. Se marcar outro, saí outro relatorio.
-
Por asacap1000
Salve Galera, estou quase finalizando um relatório porém travei em um campo.
Este relatório consiste em subtrair hora de entrada e saída, trazer em dias horas e minutos de um período.
Depois preciso calcular a média destes resultados.
eu barrei na parte de dias não vem a informação correta.
Segue select se alguem puder me dar uma força.
SELECT io.id_in_out, IOP.DOCUMENT,IO.TIME_IN entrada, IO.TIME_RELEASE_PP saida, LPAD(TRUNC(((IO.TIME_RELEASE_PP - IO.TIME_IN) /24 )), 2, '0') || ':' || LPAD(TRUNC(((IO.TIME_RELEASE_PP - IO.TIME_IN) * 24 )), 2, '0') || ':' || LPAD(TRUNC(MOD((IO.TIME_RELEASE_PP - IO.TIME_IN) * 86400, 3600) / 60), 2, '0') || ':' || LPAD(TRUNC(MOD(MOD((IO.TIME_RELEASE_PP - IO.TIME_IN) * 86400, 3600), 60)), 2, '0') TEMPO FROM DESMEMBR DD, IN_OUT_POS IOP, IN_OUT IO, SPEDITEURE S, VEHICLE V, DRIVER D WHERE DD.TYP_PROCESS = 'DINACI' AND 'DI' = IOP.TYP_DOCUMENT AND DD.NR_DI = IOP.DOCUMENT AND IOP.ID_IN_OUT = IO.ID_IN_OUT AND IO.ART_IN_OUT IN ('CA', 'CC', 'CCE') AND IO.STAT <> '80' AND S.ID_SPEDITEUR = IO.ID_SPEDITEUR AND V.ID_VEHICLE = IO.ID_VEHICLE AND IO.TIME_IN >= TO_DATE('01/12/2018', 'dd/mm/yyyy') AND IO.TIME_IN <= TO_DATE('31/12/2018', 'dd/mm/yyyy') AND D.ID_DRIVER = IO.ID_DRIVER O resultado acima está vindo assim:
1 378470 1211942181 14/12/2017 09:35:41 14/12/2017 13:32:31 00:03:56:50
2 378470 1211942181 14/12/2017 09:35:41 14/12/2017 13:32:31 00:03:56:50
Depois de acertar isso preciso realizar a média que a principio eu utilizaria o AVG mas dá erro.
Agradeço quem puder me ajudar.
-