Cursor

Dicas do Oracle Forms Builder - Blocos, Itens, LOV, Canvas, Triggers, comandos, PLL, d2kwutil, FMB, Alert, menus, etc
Responder
davidcastilholi
Rank: Programador Sênior
Rank: Programador Sênior
Mensagens: 47
Registrado em: Qui, 07 Abr 2011 3:54 pm
Localização: Jussara PR
David

Ola a todos, preciso de uma ajuda de vocês, tenho uma tela de cadastro e ela funciona da seguinte forma, tenho dois campos: codigo e descrição e uma lista abaixo desses campos, preciso que quando o usuario digite o código popule a descrição e também a lista referentes ao código informado.

Qual seria a melhor forma de fazer um cursor para resolver esse caso, preciso de exemplos.

Desde já agradeço.
gfkauer
Rank: DBA Sênior
Rank: DBA Sênior
Mensagens: 389
Registrado em: Ter, 27 Jul 2010 1:34 pm
Localização: Sapiranga - RS
Contato:
Quem falou que programar era fácil??

Quanto mais dificil for a implementação mais valorizado seu trabalho será!

Acessem: www.gfkauer.com.br

Bom, você deve começar pensando em "quando" você precisa que estes valores sejam incluidos.
No seu caso após digitar o valor no campo código.
beleza, temos quais triggers que disparam neste momento?
When-Validate-Item
Post-Text-Item
Key-Next-Item
entre outras...
Vamos pensar de maneira técnica, uma trigger de "Key-Next-Item" vai disparar sempre que eu passar pelo campo navegando via teclado, isto não lhe atende, pois se não tiver valor, ou se o valor já estava ali antes de sua navegação não precisamos fazer nada...
Nos sobra a "Post-Text-Item" e a "When-Validate-Item", dentre estas duas optaremos pela validate, motivo? Ela nos oferece maior gama de possibilidade, vide documentação (http://pt.scribd.com/doc/50388677/oracl ... e2#archive)

Como faremos a validação?
Dentro da WhenValidate-Item criaremos os cursores nescessarios para alimentar o campo descrição.

Faça alguns testes, caso não consiga nos poste suas duvidas.
davidcastilholi
Rank: Programador Sênior
Rank: Programador Sênior
Mensagens: 47
Registrado em: Qui, 07 Abr 2011 3:54 pm
Localização: Jussara PR
David

estou usando a trigger when-validate-item, mas preciso de um exemplo de cursor para popular a lista.

a tela funciona da seguinte forma: ela é um cadastro, mas caso o código informado já existir no banco, só tera que popular os campo referentes ao código informado, só não estou conseguindo popular a lista que é um bloco tabular, por que os campos que retornam somente um registro já fiz, o que preciso é de um exemplo para tratar quando retorne mais de um registro, que é o caso da lista (form tabular).

Desde já agradeço.
gfkauer
Rank: DBA Sênior
Rank: DBA Sênior
Mensagens: 389
Registrado em: Ter, 27 Jul 2010 1:34 pm
Localização: Sapiranga - RS
Contato:
Quem falou que programar era fácil??

Quanto mais dificil for a implementação mais valorizado seu trabalho será!

Acessem: www.gfkauer.com.br

tente algo assim:

Selecionar tudo

  rg_id := create_group_from_query('CGDV$DLRG',
    'SELECT RV_MEANING, RV_LOW_VALUE '||
    'FROM   CG_REF_CODES '||
    'WHERE  RV_DOMAIN = ''D_LOCAL'' '||
    'ORDER BY  1');
  temp := populate_group(rg_id);
  populate_list('EVE.EVENTO_DR', rg_id);
  delete_group(rg_id);
Responder
  • Informação