Ir para conteúdo

Histórico função e salário


Edivan

Posts Recomendados


  • Tópicos Que Criei:  22
  • Tópicos/Dia:  0.00
  • Meu Conteúdo:  76
  • Conteúdo/Dia:  0.01
  • Reputação:   1
  • Pontos/Conquistas:  602
  • Conteúdo Resolvido:  0
  • Dias Ganho:  0
  • Status:  Offline
  • Idade:  52

Pessoal, preciso de um relatório (planilha) que gere o histórico de alterações (por data), de salário e função e quem fez a alteração.

Tenho uma sentença que gera somente o histórico do salário atual e anterior. Precisaria incluir também a função (nome) anterior e a atual. Alguém poderia dar um help na sentença abaixo:

SELECT 
IDLOG, DTHORA, USUARIO, VALORANTIGO AS "VALOR ANTINGO",
VALOR AS "VALOR ATUAL", TIPOSQL AS "TIPO ALTERACAO", 
RIGHT(CHAVE,6), NOME,PROCESSO 
FROM ZLOG,PFUNC 
WHERE COLUNA = 'SALARIO'
AND RIGHT(CHAVE,6)=CHAPA
AND DATEPART(YEAR,DTHORA)=:PLN_$B$3_N
AND DATEPART(MONTH,DTHORA)=:PLN_$B$4_N
ORDER BY CHAVE, DTHORA, IDLOG

Segue exemplo

ALTERAÇÕES SALARIAIS                                    
Ano    2018                                
Mês    1                                
IDLOG    DATA    USUARIO    SAL.ANTIGO    SAL.NOVO    T    MATRÍCULA    NOME    FUNÇÃO ANTERIOR   FUNÇÃO ATUAL
 

Agradeço.

 

Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  7
  • Tópicos/Dia:  0.00
  • Meu Conteúdo:  26
  • Conteúdo/Dia:  0.01
  • Reputação:   1
  • Pontos/Conquistas:  202
  • Conteúdo Resolvido:  0
  • Dias Ganho:  1
  • Status:  Offline
  • Idade:  34

Olá Edivan! Bom dia!

Se quer analisar o campo mesmo alterado você está certo vendo pela ZLOG, caso não necessite saber o campo exato e sim se teve uma mudança naquele processo poderá consultar nas tabelas de históricos:

Salário: PFHSTSAL

Função: PFHSTFCO

No seu script acho que se incluir a tabela PFUNCAO e na condição unir os campos da tabela PFUNC e PFUNCAO acho que funcionará.

SELECT 
IDLOG, DTHORA, USUARIO, VALORANTIGO AS "VALOR ANTINGO",
VALOR AS "VALOR ATUAL", TIPOSQL AS "TIPO ALTERACAO", 
RIGHT(CHAVE,6), NOME,PROCESSO 
FROM ZLOG,PFUNC, PFUNCAO
WHERE COLUNA = 'SALARIO'
AND RIGHT(CHAVE,6)=CHAPA
AND DATEPART(YEAR,DTHORA)=:PLN_$B$3_N
AND DATEPART(MONTH,DTHORA)=:PLN_$B$4_N
AND PFUNC.CODFUNCAO = PFUNCAO.CODIGO
ORDER BY CHAVE, DTHORA, IDLOG

 

E também vi que compara a chapa com parte do campo CHAVE da tabela ZLOG, talvez não seja tão eficiente fazer dessa maneira.

Veja aí e qq coisa retorna!

Abraços.

Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  7
  • Tópicos/Dia:  0.00
  • Meu Conteúdo:  26
  • Conteúdo/Dia:  0.01
  • Reputação:   1
  • Pontos/Conquistas:  202
  • Conteúdo Resolvido:  0
  • Dias Ganho:  1
  • Status:  Offline
  • Idade:  34

Converti aqui pra minha base ORACLE e acho que funcionou do jeito que precisa.

SELECT 
IDLOG, DTHORA, USUARIO, VALORANTIGO AS "VALOR ANTINGO",
VALOR AS "VALOR ATUAL", TIPOSQL AS "TIPO ALTERACAO",
SUBSTR(CHAVE, GREATEST(-LENGTH(CHAVE),-6)), PFUNC.NOME,PROCESSO, PFUNCAO.NOME
FROM ZLOG,PFUNC, PFUNCAO
WHERE COLUNA = 'SALARIO'
AND SUBSTR(CHAVE, GREATEST(-LENGTH(CHAVE),-6))=CHAPA
AND TO_CHAR(DTHORA, 'YYYY')='2018'
AND TO_CHAR(DTHORA, 'MM')='02'
AND PFUNC.CODFUNCAO = PFUNCAO.CODIGO
ORDER BY CHAVE, DTHORA, IDLOG

Link para comentar
Compartilhar em outros sites

  • 1 ano depois...

  • Tópicos Que Criei:  1
  • Tópicos/Dia:  0.00
  • Meu Conteúdo:  10
  • Conteúdo/Dia:  0.00
  • Reputação:   0
  • Pontos/Conquistas:  78
  • Conteúdo Resolvido:  0
  • Dias Ganho:  0
  • Status:  Offline
  • Idade:  60
  • Dispositivo:  Windows

Deu erro na variável LENGTH

image.png

Link para comentar
Compartilhar em outros sites

  • 1 mês depois...

  • Tópicos Que Criei:  885
  • Tópicos/Dia:  0.13
  • Meu Conteúdo:  8.802
  • Conteúdo/Dia:  1.34
  • Reputação:   291
  • Pontos/Conquistas:  106.268
  • Conteúdo Resolvido:  0
  • Dias Ganho:  185
  • Status:  Offline
  • Idade:  51
  • Dispositivo:  Windows

Em 22/08/2019 at 20:23, LUIZ ALBERTO FONSECA disse:

Deu erro na variável LENGTH

image.png

Sua base é Oracle Luiz? Esse comando é específico para bases em Oracle. Para SQL Server é o LEN(campo) ou no caso desta linha AND RIGHT(CHAVE,6)=CHAPA

Link para comentar
Compartilhar em outros sites

Participe da conversa

Você pode postar agora, e se registrar mais tarde. Se você tiver uma conta, faça o login agora para postar com sua conta.

Visitante
Responder esse tópico

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

  Only 75 emoji are allowed.

×   Seu link foi automaticamente inserido no corpo do post.   Exibir como um link

×   Seu conteúdo anterior foi restaurado.   Limpar conteúdo do editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Criar Novo...

Informação Importante

Usando este site, você concorda com nossos Termos de Uso e nossa Política de Privacidade.