[SP-pm] a minha duvida passo a passo

Thiago Rondon thiago at aware.com.br
Mon Nov 3 08:53:44 PST 2008


Danilo de souza lima escreveu:
> Esse é um baita select onde para cada consulta feita armazeno numa variavel perl
>
>
> 	my $qry = $Db->prepare(qq(
> 	select date_format(curdate(), '%d/%m/%Y'),upper(left(dayname(curdate()),3))
> 	,FE.id,FE.FINAN_SERVICO_id,upper(FS.codigo),upper(FS.descr)
> 	,upper(FS.CENTRO_DE_CUSTOS_codigo),(select upper(CC.descr) from
> CENTRO_DE_CUSTOS as CC where CC.codigo=FS.CENTRO_DE_CUSTOS_codigo
> limit 1)
> 	,FE.EVENTO_PROC_SELETIVOS_INSCR_id
> 	
> 	,(select upper(I.nome) from EVENTO_PROC_SELETIVOS_INSCR as I where
> I.id=FE.EVENTO_PROC_SELETIVOS_INSCR_id limit 1)
> 	,RMC.nome
> 	,FE.CURSOS_id,(select upper(CC.sigla) from CURSOS as CC where
> CC.id=FE.CURSOS_id limit 1)
> 	,FE.ano,FE.semestre,FE.mes,upper(FE.descr)
> 	,FE.total_parcelas,FE.parcela_atual,FE.valor_total,FE.valor_com_deconto,FE.valor_pago,FE.dias_tolerancia
> 	,FE.juros_mora_percent,FE.juros_pro_rata_percent,FE.juros_mora_pago_valor,FE.juros_pro_rata_pago_valor
> 	,date_format(FE.pgto_data_previsto,
> '%d/%m/%Y'),upper(left(dayname(FE.pgto_data_previsto),3))
> 	,date_format(FE.pgto_data_efetivado,
> '%d/%m/%Y'),upper(left(dayname(FE.pgto_data_efetivado),3))
> 	,datediff(curdate(),FE.pgto_data_previsto),datediff(FE.pgto_data_efetivado,FE.pgto_data_previsto)
> 	,FE.pgto_dinh_valor,FE.pgto_boleto_valor,FE.pgto_cheque_valor,FE.total_de_cheques,FE.pgto_deposito_valor
> 	,FE.total_de_depositos,FE.pgto_negociacao_valor,FE.total_de_negociacao,FE.negociacao_justif
> 	,FE.promissoria,upper(FE.obs),date_format(FE.data_reg,
> '%d/%m/%Y'),left(dayname(FE.data_reg),3),upper(FE.resp_nome)
> 	,FE.cancelado_data,left(dayname(FE.cancelado_data),3),FE.cancelado_justif
> 	 from  FINAN_SERVICO as FS , FINAN_ENTRADA as FE ,REQ_MATR_CTRL as
> RMC where RMC.id = FE.REQ_MATR_CTRL_id and FE.id='$IN_ALVO'
> 	))or die ("Incapaz de executar sql em 'FINAN_ENTRADA as FE,
> FINAN_SERVICO as FS'". $Db->errstr);
> 	# execute our query
> 	if (! $qry->execute()) { my $err = $DBI::errstr; $qry->finish(); $ret
> = 0; } else {
> 		##Separa dados das colunas ##
> 		$qry->bind_columns(
> 			\$DATA_ATUAL,\$DATA_ATUAL_NOME
> 			,\$ARQ_ID,\$ARQ_SERV_ID,\$ARQ_SERV_CODIGO,\$ARQ_SERV_DESCR,\$ARQ_CENTRO_CUSTOS_CODIGO,\$ARQ_CENTRO_CUSTOS_DESCR
> 			,\$ARQ_EVENTO_INSCR_ID
> 			,\$ARQ_EVENTO_INSCR_NOME,\$ARQ_MATR_NOME
> 			,\$ARQ_CURSO_ID,\$ARQ_CURSO_SIGLA
> 			,\$ARQ_ANO,\$ARQ_SEMESTRE,\$ARQ_MES,\$ARQ_DESCR
> 			,\$ARQ_TOTAL_PARCELAS,\$ARQ_PARCELA_ATUAL,\$ARQ_VALOR_TOTAL,\$ARQ_VALOR_COM_DESC,\$ARQ_VALOR_PAGO,\$ARQ_DIAS_TOLERANCIA
> 			,\$ARQ_VALOR_JUROS_MORA_PERC,\$ARQ_VALOR_JUROS_RATA_PERC
> 			,\$ARQ_VALOR_JUROS_MORA_PAGO_VALOR,\$ARQ_VALOR_JUROS_RATA_PAGO_VALOR
> 			,\$ARQ_PGTO_DATA_PREV,\$ARQ_PGTO_DATA_PREV_NOME
> 			,\$ARQ_PGTO_DATA_EFET,\$ARQ_PGTO_DATA_EFET_NOME,\$ARQ_PGTO_DIAS_EM_ATRASO_PREV,\$ARQ_PGTO_DIAS_EM_ATRASO_EFET
> 			,\$ARQ_PGTO_DINH_VALOR,\$ARQ_PGTO_BOL_VALOR,\$ARQ_PGTO_CHQ_VALOR,\$ARQ_PGTO_CHQ_TOTAL,\$ARQ_PGTO_DEP_VALOR,\$ARQ_PGTO_DEP_TOTAL
> 			,\$ARQ_PGTO_NEG_VALOR,\$ARQ_PGTO_NEG_TOTAL,\$ARQ_PGTO_NEG_JUST
> 			,\$ARQ_PROM,\$ARQ_OBS,\$ARQ_DATA_REG,\$ARQ_DATA_REG_NOME,\$ARQ_RESP_NOME
> 			,\$ARQ_CANC_DATA,\$ARQ_CANC_DATA_NOME,\$ARQ_CANC_JUST
> 			 );
> 		$qry->fetchrow();
> 	}#endif
> 	$qry->finish();
>
>
> $ARQ_PGTO_DINH_VALOR
>
> $ARQ_PGTO_BOL_VALOR
>
> $ARQ_VALOR_TOTAL
>
> tenho q efetuar a seguinte operacao ARQ_VALOR_DEVIDO =
> ($ARQ_PGTO_DINH_VALOR+$ARQ_PGTO_BOL_VALOR) - $ARQ_VALOR_TOTAL
>
> preciso fazer com q esse valor calculado va para o html por meio de
> javascript,ou sera qnao precisa de javascritp
>
>   

Danilo,

Uma coisa é você efetuar a consulta em Perl, como você esta fazendo.

A outra, é o metodo de apresentação que você vai utilizar, que nada tem 
haver com tua consulta.

Aparentimente sua dúvida, não é com a consulta, e sim com o metodo de 
apresentação.

Leia sobre Ajax, existe um modulo que não é tão bonito, mas pode te 
ajudar para começar com esta tarefa CGI::Ajax.

Att,
-Thiago Rondon





More information about the SaoPaulo-pm mailing list