Sobre a execução de scripts no FileMaker Server
Normalmente, os
scripts nos arquivos hospedados pelo FileMaker Server são executados no
cliente. Entretanto, você pode executar um script no servidor (um script no lado do servidor) usando:
Como scripts são executados de forma diferente no FileMaker Server
Um script iniciado por qualquer um dos métodos acima é executado pelo FileMaker Script Engine (FMSE), um componente do FileMaker Server. O FMSE é um cliente que executa cada script em uma sessão separada no servidor. Como resultado, os scripts no lado do servidor:
•não têm o contexto do cliente (layout atual, conjunto encontrado, ordem de classificação, registro, valores de campo global e valores de variável local ou global)
Você pode transmitir informações sobre o contexto do cliente a um script no lado do servidor usando o parâmetro de script na etapa de script Realizar script em servidor. O script no lado do servidor pode usar essas informações nas etapas de script como
Ir para layout etapa de script e
Realizar busca etapa de script para especificar em qual layout e conjunto encontrado agir.
•são compatíveis com parâmetros de script e resultados de script de até 1 milhão de caracteres
•podem acessar outros arquivos do FileMaker Pro somente quando as duas condições forem verdadeiras:
•os arquivos estiverem no mesmo host
•os arquivos já tiverem sido abertos pelo cliente que iniciou o script no lado do servidor ou configurados com o nome de conta e senha especificados na caixa de diálogo Opções de arquivo
Os scripts no lado do servidor são executados da mesma forma, independentemente de como são iniciados, com as seguintes exceções:
•Um cliente usando a etapa de script Realizar script em servidor tem a opção de aguardar a conclusão do script no servidor e usar a
Get ( ScriptResult ) função para capturar o resultado.
•Uma programação do FileMaker Server pode ser configurada para cancelar, se o script em execução exceder o limite de tempo especificado.
Como lidar com etapas de script incompatíveis
Muitas etapas de script são compatíveis com o FMSE. Entretanto, tentar realizar uma etapa de script incompatível retorna o erro 3 ("Comando indisponível"), ignora a etapa incompatível e segue para a próxima etapa. Para lidar com etapas incompatíveis, o script pode usar a etapa de script If com:
•a
Get ( LastError ) função após uma etapa para verificar se a etapa é incompatível e realizar as etapas compatíveis em seu lugar. Por exemplo, a etapa de script Abrir arquivo não é compatível com o FMSE, então o seguinte script executado no servidor ignorará essa etapa e retornará "incompatível" no resultado.
Abrir arquivo [Abrir oculto: Desativado ; "Backup de faturas"]
If [ Get (LastError) = 3 ]
Sair do script [Text Result: "incompatível" ]
End If
•a
Get ( ApplicationVersion ) função antes de outras etapas para verificar se o script está sendo executado no FileMaker Server e realizar somente as etapas compatíveis. Por exemplo:
If [ PatternCount ( Get (ApplicationVersion) ; "Server" ) > 0 ]
# Continuar com etapas de script compatíveis com o FMSE
End If
Para visualizar quais etapas de script são compatíveis com o FMSE, no Espaço de trabalho de script no FileMaker Pro, abra um script, clique em
e selecione
Server. As etapas de script que não forem compatíveis aparecerão em uma cor diferente. Você também pode consultar a tabela Compatibilidade para cada etapa de script em
Referências de etapas de script.
Motivos para executar um script no servidor
•aprimorar o desempenho reduzindo o volume de tráfego de rede entre o cliente e o servidor
•descarregar tarefas de longa execução de clientes mais lentos para um servidor mais rápido
•permitir que clientes do FileMaker Go realizem tarefas que exigem
plug-ins, que são compatíveis com o FileMaker Server, mas não com o FileMaker Go
•usar as etapas de script Importar registros ou Executar SQL com uma
fonte de dados ODBC que utiliza a
DSN do servidor
Notas
•Se os registros estiverem bloqueados por um cliente, os scripts no lado do servidor não poderão acessar os dados não salvos ou alterar o conteúdo desses registros.
•Scripts no lado do servidor podem usar a
Realizar script etapa de script para realizar
subscripts, que também são executados no servidor, apenas se esses subscripts estiverem em arquivos no mesmo servidor e já estiverem abertos pelo cliente.
•Os scripts no lado do servidor não podem fazer um cliente exibir mensagens de alerta do FileMaker como quando os scripts são executados em clientes, de forma que os scripts no lado do servidor sempre serão executados como se a
Definir captura de erro etapa de script estivesse definida como Ativado. Use a
Get ( LastError ) função nos scripts no lado do servidor para lidar com condições de erro. Para ajudá-lo a solucionar problemas, os erros também são gravados no log do evento no FileMaker Server.
•Os clientes não podem anular scripts no lado do servidor. Entretanto, um script no lado do servidor pode ser anulado se:
•um administrador do servidor parar o script, que aparece como um cliente separado que pode ser desconectado no Admin Console do FileMaker Server
•o script em execução exceder o limite de tempo especificado na programação do FileMaker Server que o iniciou
•Nos scripts no lado do servidor, as funções relacionadas ao hardware, como Get (SystemIPAddress),retornam informações do componente de servidor de banco de dados do FileMaker Server, não do cliente.