Pular para o conteúdo
  • Este tópico contém 1 resposta, 2 vozes e foi atualizado pela última vez 1 ano, 7 meses atrás por Avatar de José Laurindo ChiappaJosé Laurindo Chiappa.
Visualizando 2 posts - 1 até 2 (de 2 do total)
  • Autor
    Posts
  • #157134
    Avatar de regreg
    Participante

      Boa tarde,
      No Formulário Cadastro de Afastamento preciso da seguinte validação: quando selecionar tipo de afastamento (tipafa_id) com total de dias definido (nro_dias_clt), é necessário que o período DT_HR_AFA e DT_HR_TER tenha esta quantidade.

      Declare
      vn_tot_dias number;
      Begin

      vn_tot_dias := 0;
      Begin
      select ra.DT_HR_TER – ra.DT_HR_AFA + 1
      into vn_tot_dias
      from rp_reg_afast ra
      where :P44_FUNC_ID = ra.FUNC_ID
      and :P44_NRO_DIAS_CLT is not null;

      if vn_tot_dias > nro_dias_clt then
      return (‘total do periodo de afastamento maior do que nro_DIAS_CLT);
      END IF;
      END;

      end;

      #157138
      Avatar de José Laurindo ChiappaJosé Laurindo Chiappa
      Moderador

        Blz ? Então, PRIMEIRA COISA, PLEASE nos diga Exatamente em qual tool vc está desenvolvendo : isso de “Formulário Cadastro de Afastamento” faz a gente pensar em Oracle Forms ou em APEX, mas por favor, DETALHES aqui….

        O Segundo ponto é derivado do primeiro : normalmente, em PL/SQL “puro” vc só pode usar o comando RETURN numa FUNÇÃO, e não num bloco PL/SQL anônimo como parece ser o seu caso : o Contexto em que esse PL/SQL vai ser executado é Fundamental…

        Isso posto, de resto tirando a questão do RETURN, a sintaxe do PL/SQL em si parece estar ok : vc tem uma variável numérica que está sendo populada com o resultado de um SELECT : se o SELECT ** realmente ** nunca retornar mais de uma linha E SE o datatype das colunas REALMENTE é DATE (o que habilita a aritmética de datas que vc usa) não vejo nenhuma fonte de dúvida, em termos de sintaxe está ok – como não conhecemos a sua modelagem nem a organização dos dados não sabemos se LOGICAMENTE esse trecho PL/SQL está fazendo o que precisa, mas em Sintaxe está OK, acredito….

        Abraços,

        José Laurindo Chiappa

      Visualizando 2 posts - 1 até 2 (de 2 do total)
      • Você deve fazer login para responder a este tópico.
      plugins premium WordPress