validações

Discussão em 'Progress 4GL' iniciado por akaytatsu, Fevereiro 11, 2010.

  1. akaytatsu

    akaytatsu Membro Participativo

    tenho um fill-in chamado placa que é vinculado ao campo placa na tabela caminhoes.

    como faço as seguintes validações?

    Não poderá ser informada uma placa que esteja préviamente cadastrada
    não pode ser igual a vazio.

    Estou iniciando com Progress e EMS (uso o appbuilder, progress 9.1d)
  2. rodrigo.michalski

    rodrigo.michalski Sem Pontuação

    você tera que consultar a tabela, para ver se não existe nenhum registro com aquele nome.

    Código:
    if not can-find (caminhoes where caminhoes.placa = placa) then do:
       if placa <> 0 then do:
          ...
       end.
    end.
    acho que era isso que você queria.
  3. akaytatsu

    akaytatsu Membro Participativo

    porem a onde ele coloque esse codigo?

    em qual parte, procedure? trigger? main block?
  4. rodrigo.michalski

    rodrigo.michalski Sem Pontuação

    depende aonde você quer que ele valide.
    Geralmente a validação é feita quando apertado no botão ok/confirma/...
    então você coloca em uma procedure, e chama esse procedure no evento do botão.
    ou se não chama no momento que você achaar melhor pra fazer a validação, mais coloca em um procedure
  5. akaytatsu

    akaytatsu Membro Participativo

    Me desculpem a insistencia, não sei se meu DDK esta bugado, mas quando insiro uma smartquery pelo Chooce SmartQuery e clico em "instance Atributtes" ele não me mostra os campos para inserir o pragrama para o "vá para", porque?
  6. startbit

    startbit Membro Participativo

    /*Em relação a validação da placa*/
    Minha sugestão é:
    Coloca no evento Leave do widget.
    Quando ele(a) liberar esta fill, automaticamente já vai ter validado e caso ocorra inconsistência o usuário poderá alterar antes de preencher todo form.
    Confere teu propath se está de acordo com o que pede o padrão datasul para desenvolver com o DDK.

    /*Em relação a Smartquery*/

    No manual pede para descompactar o conteúdo das .Pl! você seguiu o manual de instalação???
    Segue abaixo a configuração mínima para poder utilizar o ddk corretamente...

    2. Instalando
    Após a instalação dos arquivos em seus diretórios, devem ser feitos alguns ajustes:

    2.1. Alterar o propath da sessão

    Abrir o arquivo de inicialização do Progress, progress.ini e alterar o propath para que passe a chamar o diretório de templates logo após o diretório do produto. Por exemplo:
    c:\<diretório do EMS ou HR>
    c:\<diretório dos templates: DDK GUI e/ou DDK GUI 2000>
    c:\DLC91\gui
    c:\DLC91
    c:\DLC91\bin
    c:\DLC91\SRC

    Conforme o exemplo, deve garantir que outros dois diretórios estejam setados, o \gui e o \src nesta ordem, colocar também o diretório onde está instalado o seu produto EMS ou HR.

    2.2. Configurar o AppBuilder para trabalhar com os templates

    - Acessar o AppBuilder utilizando este .ini alterado no item 2.1;
    - Acessar o menu da palette e optar por use-custom;
    - Se estiver instalando os templates DDK GUI setar os arquivos progress.cst e smart.cst do diretório onde foram instalados os templates;
    - Se estiver instalando os templates DDK GUI 2000 setar os arquivos thintemplates.cst e dbo.cst do diretório onde foram instalados os templates;
    - Se estiver instalando os templates DDK WEB setar os arquivos datasulWEB.cst e dbo.cst do diretório onde foram instalados os templates;
    - Acessar options no menu e optar por save pallete.

    2.3. Configurar arquivos de bibliotecas .pl

    (Aplicável somente para os templates DDK GUI)

    Os templates DDK GUI fazem uso de alguns arquivos específicos do Progress que se encontram dentro de bibliotecas (arquivos.pl). Porém para o correto funcionamento dos templates deve-se executar os passos descritos abaixo, extraindo o conteúdo dessas bibliotecas. Antes de descompactar o arquivo .pl através do comando extract deve ser criado, logo abaixo do diretório SRC, um diretório com o mesmo nome do arquivo .pl e depois a descompactação deve ser feita dentro deste diretório recém criado

    - abrir o prompt do DOS;
    - No diretório c:\dlc91 executar
    - set path=c:\dlc91\bin;%path
    - set dlc=c:\dlc91
    - No diretório c:\dlc91\src executar
    - extractpl <arquivo>.pl

    Onde arquivo.pl é o nome do arquivo .pl.
    O extractpl deve ser executado para cada arquivo .pl.

    Arquivos .pl :
    C:\dlc91\src\adecomm.pl
    C:\dlc91\src\adedict.pl
    C:\dlc91\src\adeedit.pl
    C:\dlc91\src\as4dict.pl
    C:\dlc91\src\prodict.pl
    C:\dlc91\src\prodoc.pl
    C:\dlc91\src\prohelp.pl
    C:\dlc91\src\protools.pl

    Observação:

    A instalação apenas baixará os programas, sem criar ícone para o acesso e sem configurar o Progress. Também é necessário que seja utilizado um arquivo .pf com as bases do EMS conectadas para o correto funcionamento dos templates.



    obs. caso seu progress seja 10.1a,b,c ou superior, algumas bibliotecas acima descritas vais poder encontrar na pasta de instalação do 91D.
    Abraço.

Compartilhe esta Página