Edivan Posted February 23, 2018 Topic Count: 22 Topics Per Day: 0.00 Content Count: 76 Content Per Day: 0.01 Reputation: 1 Achievement Points: 602 Solved Content: 0 Days Won: 0 Status: Offline Age: 55 Report Posted February 23, 2018 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.
rteles Posted February 23, 2018 Topic Count: 7 Topics Per Day: 0.00 Content Count: 26 Content Per Day: 0.01 Reputation: 1 Achievement Points: 202 Solved Content: 0 Days Won: 1 Status: Offline Age: 36 Report Posted February 23, 2018 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.
rteles Posted February 23, 2018 Topic Count: 7 Topics Per Day: 0.00 Content Count: 26 Content Per Day: 0.01 Reputation: 1 Achievement Points: 202 Solved Content: 0 Days Won: 1 Status: Offline Age: 36 Report Posted February 23, 2018 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
LUIZ ALBERTO FONSECA Posted August 22, 2019 Topic Count: 2 Topics Per Day: 0.00 Content Count: 12 Content Per Day: 0.00 Reputation: 0 Achievement Points: 94 Solved Content: 0 Days Won: 0 Status: Offline Age: 62 Device: Windows Report Posted August 22, 2019 Deu erro na variável LENGTH
Jair - Fórmula Posted October 7, 2019 Topic Count: 946 Topics Per Day: 0.13 Content Count: 9,184 Content Per Day: 1.25 Reputation: 460 Achievement Points: 109,776 Solved Content: 0 Days Won: 267 Status: Offline Age: 54 Device: Windows Report Posted October 7, 2019 Em 22/08/2019 at 20:23, LUIZ ALBERTO FONSECA disse: Deu erro na variável LENGTH 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
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now