Novidades AICS
Editar Novo dado
Serial919
MódulosCENTRO DE INFORMAÇÕES
ResumoNovo recurso para procedimentos generalizados
AlteraçõesPor favor, considere esta nota como altamente técnica.

O modelo de scripts do AICS isola rotinas para cada objeto instanciado,
isso permite que um ambiente seja montado para cada tela aberta do sistema,
o que gera segurança entre as regras para cada estrutura.

Entretanto, alguns problemas podem surgir desta característica, tais como:

- Alguns trechos de códigos são replicados em estruturas diferentes,
mesmo desempenhando a mesma função
- Grandes estruturas de objetos precisam ser montados na estrutura principal
para estarem disponíveis para execução a qualquer momento, mesmo que
nunca sejam executados

O primeiro item pode gerar uma complicação na gestão das regras e o
segundo pode gerar lentidão na entrada de algumas telas (máximo de 1
ou 2 segundos), porém, pode gerar maior ocupação de memória do que
o efetivamente necessário à sessão. Ainda, o item 2 pode gerar cópias de
objetos que poderiam ser únicos entre sessões abertas ao mesmo tempo.

Para resolver estes 2 problemas, criamos uma estrutura virtual denominada
STORED que poderá receber procedimentos completos na forma de "programa",
por exemplo, cada procedimento deverá ser completo e independente. Um
exemplo de um procedimento simples seria:

begin
Mostra('Este é um procedimento simples, '+webfields('nome'));
end.

Note que a rotina é completa e não tem visibilidade de qualquer outra
entidade que a executou, é um procedimento autônomo. Portanto, os
procedimentos criados sob a estrutura STORED devem ser chamados
com a nova rotina:

Function ExecStored(Event,Parameter:string):boolean

Por exemplo, poderíamos criar o procedimento acima num evento com
nome "Aviso", neste caso, a chamada em qualquer local do AICS do
procedimento acima e já com o parâmetro, seria simplesmente:

ExecStored('Aviso','nome=Manoel');

O interessante deste modelo é que não haverá cópias do mesmo
procedimento em execução simultânea, isso minimiza o gasto de
recursos do sistema e deixa os procedimentos mais rápidos.
Data09/12/2009