Ir para conteúdo
Fórum Script Brasil
  • 0

Stored Procedure


MartinsBios

Pergunta

Não sei se é o lugra certo para isso, mas talvez aqui consiga mais ajuda do que no forum para demais bancos.

é o seguinte:

vejam minha SP, ela funciona e atende a uma de minhas necessidades, mas tenho problemas para transformar em SP um código Delhpi q faz o q é mostrado nas figuras logo abaixo.

CREATE PROCEDURE MOVIMENTO ( 
    CODIGO INTEGER) 
RETURNS ( 
    PROVENTOS NUMERIC(15,2), 
    DESCONTOS NUMERIC(15,2), 
    LIQUIDO NUMERIC(15,2), 
    VLRINSS NUMERIC(15,2)) 
AS 
DECLARE VARIABLE INSS NUMERIC(15,2); 
DECLARE VARIABLE IRRF NUMERIC(15,2); 
DECLARE VARIABLE INSS2 NUMERIC(15,2); 
DECLARE VARIABLE ALIQ NUMERIC(15,2); 
DECLARE VARIABLE ALIQ2 NUMERIC(15,2); 
begin 
PROVENTOS = 0; 
DESCONTOS = 0; 
LIQUIDO = 0; 
INSS = 0; 
IRRF = 0; 

/* ACUMULA OS PROVENTOS*/ 
  SELECT SUM(VALOR) FROM DIGITA 
    WHERE (CODFUN=:CODIGO) and (TIPO='P') 
      INTO :PROVENTOS; 
  /* ACUMULAR DESCONTOS */ 
  SELECT SUM(VALOR) FROM DIGITA 
    WHERE (CODFUN =:CODIGO) AND (TIPO='D') 
      INTO :DESCONTOS; 

  SELECT VALOR,ALIQ, VALOR2, ALIQ2 FROM TABELAS 
      INTO :INSS, :ALIQ, :INSS2, :ALIQ2; 

  if (INSS IS NULL) then 
    INSS = 0; 
  if (IRRF IS NULL) then 
    IRRF = 0; 
  if (Proventos <= INSS2) then 
   begin 
    VLRINSS=(PROVENTOS*ALIQ)/100; 
   end 
  else 
   begin 
    VLRINSS=(PROVENTOS*ALIQ2)/100; 
   end 
  DESCONTOS = DESCONTOS + VLRINSS; 
  LIQUIDO = (PROVENTOS - DESCONTOS); 

SUSPEND; 

end

Agora vejam o q quero, quero uma SP em Interbase, q me faça os calculos para q fique igual as imagens abaixo:

user posted image

Tela de lançamento dos eventos manualmente, nada de INSS/IRRF/FGTS

user posted image

Tela com os funcionários e os eventos lançados manualmente e um evento calculado pelo sistema, isso foi feito via código 100% Delphi, quero q uma SP faça isso tb, mas não consigo ter uma idéia de como fazer isso.

user posted image

Aqui é o comprovante de pagamento com todos os calculos feitos pelo sistema, com códigos Delphi, fiz legal, mas quero rodar dentro do BD, em uma SP, pois ficará mais rápido.

Se alguém puder me ajudar.

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,2k
×
×
  • Criar Novo...