Ir para conteúdo
Seja Membro VIP - Remova Banners de Propagandas, Tenha Liberado Qualquer Download, Além de Acessos em Áreas Exclusivas!! ×
Quer acesso a todas as Áreas do Fórum, até aquelas só para membros VIPs? Também quer poder baixar qualquer ARQUIVO? ×

cleziano

Membros
  • Total de itens

    16
  • Registro em

  • Última visita

Sobre cleziano

  • Data de Nascimento 18-06-1979

Últimos Visitantes

723 visualizações

Conquistas de cleziano

Aprendiz

Aprendiz (3/10)

  • Colaborador
  • Primeiro Post
  • Iniciador de Conversa
  • Um Ano se Passou
  • Primeiro Mês Completo

Distintivos Recentes

0

Reputação

  1. No lugar de colocar um nome ou um codigo do movimento existente, coloque uma % que o sistema traz todos os registros existentes. Espero que tenha ajudado.
  2. Edson, Tu vai usar isto em um relatório? As vezes eu salvo um SQL com uma sentença simples como "SELECT 1 FROM DUAL" e depois, lá no relatório eu mudo o SQL para o que eu vou utilizar. Assim eu nunca tive problema com o PL/SQL do Oracle. Tenta ai pra ver se dá certo.
  3. Valeu pela apostila Fabricio, vai me ajudar bastante neste meu novo desafio.
  4. Jaime, No seu sistema funcionou assim? Aqui só funciona quando colocamos o _S e mesmo assim tem que trocar o primeiro caracter da chapa por "U" se não o RM não entende.
  5. Valeu Maffra, Deu certo porém tive que fazer um gambiarra... No SQL 'SS001' que eu cadastrei tive que formatar a chapa e ficou assim: SELECT T.DTFIM FROM PFVALETR T WHERE CONCAT('U',SUBSTR(T.CHAPA,2,5)) = :FRM_CHAPA_S vi que tinha que fazer isso pois no log da formula apareceu assim: Constante literal SS001 Chamada a funcao EXECSQL SS001 Constante literal U Variável CHAPA 003117 Constante literal 2,0000 Constante literal 5,0000 Chamada a funcao SUBSTR 003117 2,0000 5,0000 Resultado da funcao SUBSTR 03117 Chamada a funcao CONCAT U 03117 Resultado da funcao CONCAT U03117 Resultado da formula U03117 Isso acontece tudo dentro da função EXECSQL. Não sei se isso é só aqui
  6. Pelo visto o problema é o local onde esta função ocorre. Maffra usou a função em um relatório e a Jully está tentando usar a função em uma fórmula.
  7. Moderadores, Surgiu uma nova dúvida no uso do :FRM_CHAPA. - O retorno da função não é a chapa propriamente dita, o primeiro caracter da chapa está sendo trocado por 'U'. - O tipo do retorno da função :FRM_CHAPA não é conhecido. Coloquei mais detalhes na resposta da resposta que o Mauricio me mandou. Atenciosamente,
  8. Mauricio, Fiz da forma que vc me indicou porém não traz resultado. Fui depurar o sql dentro do RM e na hora que ele pede o contexto para execução da formula ele não passa a CHAPA propriamente dita. Minha chapa é formada de 6 caracteres numéricos porém é armazenada como string. Quando eu seleciono algum contexto ele me retorno U00001 onde deveria ser 000001. Tentei usar uma substring pegando só os 5 ultimos caracteres da string, porém o :FRM_CHAPA não tem tipo conhecido. Tem alguma noção de como solucionar isso?
  9. Muito obrigado pela solução Mauricio. Com certeza é bem mais eficiente do que a que eu fiz aqui. Alterei o SQL para que ele traga tudo sem filtro e na formula do RM fiz assim: EXECSQL ('INAFAST'); DECL(DATAAF); SE SFUNC = 'P' ENTAO REPITA SE RESULTSQL('INAFAST','CHAPA') = CHAPA ENTAO SETVAR(DATAAF,RESULTSQL('INAFAST','DTINICIO')) SENAO SE PROXREGSQL ('INAFAST') = 1 ENTAO SETVAR(DATAAF,MTDATA (01 , 01 , 0001)) FIMSE FIMSE ATE DATAAF <> MTDATA (01 , 01 , 0001) FIMSE; SE (TABCOMPL ('TICKET' , 'S') = 'N' OU TABCOMPL ('TICKET' , 'S') = '' ) E CODSECAO <> '1.2.002.002' E (N('0041') + N('0042')) <> 30 E DATAAF > MTDATA (1 , MES , ANO) ENTAO SE MV(MES,ANO,'0167') <= 0 ENTAO 'CRD06' SENAO '' FIMSE SENAO '' FIMSE
  10. Bom dia pessoal, Seguinte, estou elaborando um crítica para a folha de pagamento onde se o funcionário não estiver afastado pela previdencia então criticamos o valor do desconto de almoço e vale transporte. Vendo que não existia uma função que buscasse a data de afastamento final da tabela do histórico de afastamento (PFHSTAFT), onde esta data deveria ser nula, e a data inicial do afastamento, que deve ser menor que o dia inicial do mês, então resolvi criar um SQL para consultar esta tabela, e o fiz assim: SELECT A.* FROM PFHSTAFT A WHERE A.DTFINAL IS NULL AND A.CHAPA = :CHAPA Salvei como INAFAST nos sql's do RM Labore. Após isso fui ao cadastro de formulas do RM e tentei criar a critica da seguinte forma: EXECSQL ('INAFAST'); DECL(DATAAF); SE SFUNC = 'P' ENTAO SETVAR(DATAAF,RESULTSQL('INAFAST','DTINICIO')) FIMSE; SE (TABCOMPL ('TICKET' , 'S') = 'N' OU TABCOMPL ('TICKET' , 'S') = '' ) E CODSECAO <> '1.2.002.002' E (N('0041') + N('0042')) <> 30 E DATAAF < MTDATA (1 , MES , ANO) ENTAO SE MV(MES,ANO,'0167') <= 0 ENTAO 'CRD06' SENAO '' FIMSE SENAO '' FIMSE No SQL INAFAST é requerido a chapa do funcionário para que ele traga os campos referentes aos afastamentos que ainda não houveram retorno. O erro se dá ai. Preciso passar a chapa da formula para o SQL para que ele me traga a linha referente a data inicial. Alguem pode me ajudar a solucionar este problema?
  11. Sebastião, Minha fórmula ficou bastante diferente. SE NDEPIDINT ( '1' , 0 , 14) > 0 ENTAO SE R <= 472.73 ENTAO SE (NDEPIDINT ( '1' , 0 , 14)*24.23) = MV(MES,ANO,'0005') ENTAO '' SENAO 'CRD17' FIMSE SENAO SE R <= 710.08 ENTAO SE (NDEPIDINT ( '1' , 0 , 14)*17.07) = MV(MES,ANO,'0005') ENTAO '' SENAO 'CRD17' FIMSE SENAO '' FIMSE FIMSE SENAO '' FIMSE Nesta fórmula eu levo em consideração o limite da faixa salárial, os índices de cada faixa salarial e a idade dos dependentes. O 'CRD17' é uma resposta cadastrada na Tabela Dinâmica da Crítica da Folha (INT29).
  12. Jefferson, Tu já tentou usar o PROXREGSQL('PPR.3') ? Esta função deveria trazer o proximo registro deste SQL. Nunca o usei mas creio que deva ser esta função que tu estavas a procurar. Atenciosamente, Cleziano L. Azevedo.
  13. Tente usar aspas simples no lugar das aspas duplas.
  14. Rafael, No seu caso a fórmula é: CONCAT('CAB',SUBSTR(CRACHA,5,4)) Daí tu transforma o crahá 10104920 na chapa CAB4920. Atenciosamente, Cleziano L. Azevedo
×
×
  • Criar Novo...

Informação Importante

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