Este modelo foi chamado depois omenu contextual de um campo registável, para abrir uma janela de selecção, ou emprimeira parte de um tratamento standard, ou ainda depois uma função. No casode uma selecção sobre menu contextual de um campo, esta janela vai conter todosos valores possíveis do campo, assim que um texto associado para cada um dosvalores. Se este modelo está colocado na fase inicial do tratamento standard, asacções são a escrever no tratamento contendo as acções do tratamento standard.
A janela está a construir, emalimentando certas variáveis na acção SEL_LISTE.
As linhas da janela são aconstituir. A janela pode conter de a a 5 colunas máximo.As linhas são todas afixadas ao mesmo tempo na janela, num limite de 200 linhas,por defeito.
A selecção rápida e a paginação nãosão suportadas sobre este modelo.
O modelo é um tratamentosupervisor que faz chamada a dois tratamentos anexos : O tratamento standard e otratamento específico, se são preenchidos no dicionário da acção. Estes doistratamentos são estruturados da mesma maneira, quer dizer começam por umaetiqueta “ACTION”, que trata os diferentes eventos susceptíveis de chegar no momentode execução da função.
O tratamento standard
Esta tratamento, fornecido por SAGE, não deve absolutamente ser modificado peloespecífico.
O tratamento específico
Este tratamento não está fornecido por Sage, mas podeser desenvolvido em específico (na vez para as funções standards para as quaisse deseja fazer acréscimos e para as funções específicas).
O tratamento standard ou específicocomo então para esta etiqueta “$ACTION” a escrever da maneira seguinte ( ouXXXXXX é o código do evento ) :
$ ACTION
Case ACTION
When "XXXXXX" :
Whendefault
Endcase
Return
Cada evento está identificado porum código alfanumérico, contido na variável “ACTION”. Se não existe tratamentopara um evento, o funcionamento da função não estará impedido. É no
Encontrar-se-á aqui junto a listadas acções. Encontrar-se-á em seguida, a descrição detalhada destas acções.Descreve-se o contexto que faz a chamada e o objectivo destas acções.
Por defeito, para um mesmo evento,a acção específica está chamada antes da acção standard.
Ela pode anular e substituir aacção standard se ela posiciona a variável GPE com valor1.
Para executar a acção standard antesa acção específica, neste caso, duplica-se o tratamento standard na acção específica,acrescentamos o tratamento específico depois a variável GPE aovalor 1. Exemplo :
Tratamento supervisor
GPE=0
Gosub ACTION From trait_std ( chamada do standard)
If GPE=0
Gosub ACTION
Endif
Tratamento específico
$ ACTION
Case ACTION
When "OUVRE" :
Whendefault
Endcase
Return
$OUVRE
... ( acção específica OUVRE)
GPE =1 ( sem chamada do standard seguinte ao específico )
Return