Select 	cod_plano,
		cod_contapl,	
		ocd_coddesembolso cod_desembolso,
		mes_recebimento,
		val_receber
From 	orca2003.t_orc_contasdesembolso,
		(	Select 	ocp_codplano cod_plano,
					ocp_codcontapl cod_contapl,	
					to_char(dat_vencimento,'mmyyyy') mes_recebimento,
					Sum(Round(val_receber * perc_nfs, 2)) val_receber
			From 	(	Select  Distinct
						        ocp_codempresa,		ocp_codfilial,
						        ocp_codgrupo,		ocp_codsubgrupo,
						        ocp_codproduto,		ocp_codcliente,
						        ocp_codfilcliente,	ocp_codplano,
						        ocp_codcontapl,		orc_dtinicio ocp_dtinicio,
						        orc_dtfim ocp_dtfim
						From    orca2003.t_orc_contas_produtos,
						        orca2003.t_orc_orcamentos
						Where   ocp_codempresa = 1
						And     ocp_codfilial = 5
						And     ocp_codplano = orc_codplano
						And     ocp_codorca = orc_codigo ) a,
					(	Select  inf.cod_empresa,
						        inf.cod_filial,
						        inf.cod_grupo,
						        inf.cod_subgrupo,
						        inf.cod_produto,
						        nfs.cod_cliente,
						        nfs.cod_filial_cliente,
						        dup.dat_vencimento,
						        nfs.num_nf,
						        dup.val_duplicata 	- Nvl(dup.val_csll,0) 
													- Nvl(dup.val_cofins,0) 
													- Nvl(dup.val_pis,0) 
													- Nvl(dup.val_ir,0) val_receber,
						        Round((inf.val_total_produto 	+ inf.val_outras_despesas 
																+ (inf.val_encargo - inf.val_desconto) 
																+ inf.val_ipi 
																+ NVL(inf.val_ipi_frete, 0) 
																+ inf.val_subst_icms 
																+ inf.val_frete) / fat.val_tot_fatura,8) perc_nfs
			        	From    vendas.t_nf nfs,
						        vendas.t_item_nf inf,
						        vendas.t_fatura fat,
						        vendas.t_duplicata dup
						Where   nfs.cod_empresa = 1
						And     nfs.cod_filial = 5
						And     nfs.cod_empresa = inf.cod_empresa
						And 	nfs.cod_filial = inf.cod_filial
						And     nfs.num_nf = inf.num_nf
						And     nfs.cod_serie = inf.cod_serie
						And     nfs.cod_empresa = fat.cod_empresa
						And     nfs.cod_filial = fat.cod_filial
						And     nfs.num_safra = fat.num_safra
						And     nfs.num_fatura = fat.num_fatura
						And     fat.cod_empresa = dup.cod_empresa
						And     fat.cod_filial = dup.cod_filial
						And     fat.num_safra = dup.num_safra
						And     fat.num_fatura = dup.num_fatura
						And 	nfs.sit_nf != 1
						And 	fat.sit_fatura != 1
						And 	dup.sit_duplicata != 1
						And     dup.dat_vencimento >= '01/01/2004'
						And 	dup.dat_vencimento <= '31/12/2005' )
			Where 	ocp_codempresa = cod_empresa
			And 	ocp_codfilial = cod_filial
			And 	ocp_codgrupo = cod_grupo
			And 	ocp_codsubgrupo = cod_subgrupo 
			And 	ocp_codproduto = cod_produto
			And 	(( ocp_codcliente = cod_cliente
			And 	ocp_codfilcliente = cod_filial_cliente )
			Or 		( ocp_codcliente is null
			And Not Exists ( 	Select  	*
								From 	orca2003.t_orc_contas_produtos b
								Where 	b.ocp_codplano = a.ocp_codplano
								And 	b.ocp_codempresa = cod_empresa
								And 	b.ocp_codfilial = cod_filial
								And 	b.ocp_codgrupo = cod_grupo
								And 	b.ocp_codsubgrupo = cod_subgrupo
								And 	b.ocp_codproduto = cod_produto
								And 	b.ocp_codcliente = cod_cliente
								And 	b.ocp_codfilcliente = cod_filial_cliente )))
			And 	dat_vencimento >= ocp_dtinicio
			And 	dat_vencimento <= ocp_dtfim 
			Group By ocp_codplano, ocp_codcontapl, to_char(dat_vencimento,'mmyyyy') )
Where 	cod_plano = ocd_codplano (+)
And 	cod_contapl = ocd_codcontapl (+)
