INVITE (único dispositivo)

Categoria
Construção de Tela
Informações adicionais
A operação INVITE é utilizada para enviar um pedido para entrada para um dispositivo de exibição e para retornar ao programa sem ter que esperar pela entrada do usuário. Antes de executar os aplicativos do WebFacing que utilizam a palavra-chave INVITE, certifique-se de que você tenha instalado as PTFs do OS/400 para o suporte ao INVITE do WebFacing. Não é preciso utilizar a palavra-chave INVITE, se seus aplicativos não utilizarem E/S assíncronas. Nesse caso, você pode remover a palavra-chave INVITE.

A Ferramenta do WebFacing suporta a operação INVITE diferentemente a partir de dispositivos 5250. A diferença principal é que o cronômetro da operação READ é manipulado pelo navegador. Esta diferença é devido ao fato de que um aplicativo pode sobrescrever os registros da tela exibidos em um dispositivo de exibição 5250, mas não pode sobrescrever a página exibida em um navegador sem que o navegador dê o controle de volta ao aplicativo. A implementação do cronômetro no navegador permite que o navegador devolva o controle ao aplicativo quando o tempo expira.

A Ferramenta do WebFacing, por padrão, utiliza o valor do parâmetro WAITRCD para o cronômetro do lado do navegador. É possível , entretanto, substituir este valor nas propriedades do projeto do WebFacing. A seguir encontra-se a descrição da operação do cronômetro conforme implementada pela Ferramenta do WebFacing. Detalhes sobre o comportamento do INVITE são fornecidos na tabela abaixo.

Se o parâmetro WAITRCD for definido para *IMMED, o navegador será interrompido imediatamente. É possível substituir o valor para o WAITRCD nas propriedades do Run Time para seu projeto do WebFacing para alterar o tempo que o navegador espera pela conclusão de uma operação read-from-invited-devices. Na página de propriedades Tempo de Execução de seu aplicativo WebFacing, selecione Projeto e marque a caixa de opções Substituir o tempo máximo de espera de registro (WAITRCD) especificado para arquivos DDS e especifique o número de segundos ou *NOMAX como sem limite de tempo.

Quando a operação INVITE é interrompida, um aviso é emitido no navegador, se você tiver ativado o diálogo de tempo limite para INVITE. Na página de propriedades Tempo de Execução de seu aplicativo WebFacing, selecione Projeto e marque a caixa de opções Mostrar diálogo de tempo de execução do INVITE. Quando o alerta é emitido no navegador, é possível reconfigurar o cronômetro para essa operação INVITE ou deixar que a transação seja interrompida. Observe que quando a transação é interrompida, qualquer entrada do usuário é perdida. Se você não selecionar a caixa de opções Mostrar diálogo de tempo limite para INVITE na página de propriedades Projeto, nenhum alerta aparecerá quando ocorrer um tempo limite.

Nota: Se você especificar um valor mais alto do que o tempo limite da sessão especificado no servidor WAS, a sessão do navegador será interrompida antes do tempo limite da operação INVITE. É necessário especificar um valor mais baixo do que a configuração de tempo limite da sessão no servidor WAS.

É possível alterar o conteúdo do diálogo de aviso modificando o arquivo timeout.jsp em \WebContent\webfacing\jsp\common\html para seu projeto do WebFacing. Você também pode modificar a quantidade de tempo que o aviso é exibido. Por exemplo, se você deseja que o aviso seja descartado imediatamente sem a interação do usuário, é possível definir o segundo parâmetro no método window.setTimeout como 0.

É possível modificar os parâmetros do diálogo de aviso atualizando o arquivo webface.js para seu release (por exemplo, webfac512.js na versão 5.1.2) em \WebContent\webfacing\ClientScript para seu projeto WebFacing. Neste arquivo, é possível modificar atributos tais como o tamanho e a posição do diálogo de aviso. É possível modificar estes atributos atualizando os parâmetros para o método window.showModalDialog.

Observe as diferenças seguintes entre o processamento do INVITE para o 5250 e para a Ferramenta WebFacing:
  5250 WebFacing
Tempo de WAITRCD O tempo de WAITRCD começa a expirar quando a operação read-from-invited-devices é executada pelo aplicativo. O tempo de WAITRCD começa a expirar quando a operação write-with-invite é executada pelo aplicativo.
WAITRCD definido como *IMMED O usuário pode inserir dados sem interrupção até pressionar uma tecla AID ou o INVITE pendente é cancelado. Se uma tecla AID não for pressionada durante a execução de uma operação read-from-invited-devices pelo aplicativo, uma exceção de tempo limite será retornada ao aplicativo, embora o dispositivo ainda esteja apto a receber entradas. O navegador será interrompido imediatamente e o usuário será incapaz de inserir qualquer dado.
WAITRCD definido muito baixo O usuário pode inserir dados sem interrupção até pressionar uma tecla AID ou o INVITE pendente é cancelado. Se uma tecla AID não for pressionada durante a execução de uma operação read-from-invited-devices pela operação e se o número de segundos especificado para WAITRCD for ultrapassado, uma exceção de tempo limite será retornada ao aplicativo, embora o dispositivo ainda esteja apto a receber entradas. O navegador será interrompido quando o número de segundos especificado para WAITRCD for ultrapassado e o usuário será incapaz de inserir qualquer dado.
O aplicativo executa uma operação read(wait) (espera até que a tecla AID devolva o controle ao aplicativo) ao invés de uma operação read-from-invited-devices depois de uma operação write-with-invite O usuário pode inserir dados sem interrupção até pressionar uma tecla AID ou o INVITE pendente é cancelado. O dispositivo permanecerá ainda apto a receber entradas. Se o WAITRCD não for *NOMAX, o navegador poderá ser interrompido e qualquer dado inserido será perdido. A operação read(wait) fará com que o formato do registro solicitado seja exibido novamente e esteja apto para receber entradas, sem os dados inseridos anteriormente.
O aplicativo executa uma operação read-from-invited-devices em resposta a uma operação read-from-invited-devices expirada O usuário pode inserir dados sem interrupção até pressionar uma tecla AID ou o INVITE pendente é cancelado. O dispositivo permanecerá ainda apto a receber entradas. O navegador será interrompido e qualquer dado inserido será perdido. Cada operação read-from-invited-devices adicional fará com que o formato do registro solicitado seja exibido novamente e esteja apto para receber entradas, sem os dados inseridos anteriormente.
Cancelando uma operação INVITE quando o WAITRCD estiver definido para *NOMAX ou muito alto O pedido INVITE pendente é cancelado quase que imediatamente por um pedido explícito (tal como ENDRCV) ou implícito (tal como a gravação de um outro formato de registro), com tanto que o pedido seja processado antes que a tecla AID seja pressionada. A exibição permanecerá ainda apta a receber entradas. O pedido INVITE pendente é cancelado quando o navegador é interrompido ou quando o usuário pressiona uma tecla AID. Um pedido implícito é concluído somente durante o tempo limite do navegador. Se nenhuma tecla AID for pressionada, um pedido de cancelamento não poderá ser concluído até que o número de segundos definido para o WAITRCD seja ultrapassado. Se o WAITRCD for *NOMAX e nenhuma tecla AID for pressionada, o pedido não será concluído nunca.
Suspendendo uma operação INVITE quando o WAITRCD estiver definido como *NOMAX ou muito alto O pedido INVITE pendente é suspendido quase que imediatamente. O pedido de suspensão não pode ser concluído até que o número de segundos definido para WAITRCD seja ultrapassado. Se o WAITRCD for *NOMAX e nenhuma tecla AID for pressionada, o pedido não será concluído nunca.

Feedback