A API do Ambiente WebFacing permite que você verifique se um usuário está acessando seu aplicativo por meio de um navegador da Web ou de uma emulação 5250. Utilize esta API quando você desejar alterar o comportamento de seu programa de acordo com o tipo de acesso de um usuário. Por exemplo, pode haver um campo extra ou texto diferente que você gostaria de exibir se o programa estiver sendo acessando por meio de um navegador, mas gostaria de suprimir a exibição do campo ou texto se a emulação 5250 estiver sendo utilizada.
A API do Ambiente WebFacing é chamada QqfEnvironment e faz parte do tempo de execução do servidor WebFacing. O nome do procedimento externo QqfEnvironment faz distinção entre maiúsculas e minúsculas. É um procedimento fornecido em um programa de serviços chamado QQFENV, que está localizado na biblioteca QSYS. A API retornará 1 se o aplicativo estiver executando sob WebFacing e 0 se estiver executando sob emulação 5250.
Os exemplos a seguir mostram como utilizar esta API. Na amostra RPG, o procedimento externo QqfEnvironment é definido com DSpec QQFENV. Nesse exemplo, QQFENV DSpec recebeu o mesmo nome que o programa de serviço e foi definido como um inteiro, já que o procedimento retorna 0 ou 1. Um DSpec rc também foi definido para manter o valor 0 ou 1 quando Eval rc = QQFENV for desempenhado. O programa RPG utiliza o valor de rc para determinar condicionalmente o comportamento do programa e o que será exibido na exibição DDS.
Na amostra DDS abaixo, se o valor para rc no módulo RPG NÃO for 1, o texto "Application is not running in the Webfacing environment" será exibido. Se o valor para rc for 1, o texto "Application is running in the Webfacing environment" será exibido.
.........1....+....2....+....3....+....4....+....5....+....6....+....7....+....8 FCHKENVFM CF E Workstn * DQQFENV PR 10I 0 Extproc('QqfEnvironment') * Drc S 10I 0 * C Eval rc = QQFENV C Eval FLD001 = rc * C Dow NOT *IN03 * C If rc = 1 C Eval *in01 = *on * C Else C Eval *IN01 = *off C EndIf * C Exfmt FMT01 C EndDo * C Eval *inlr = *on
....+A*..1....+....2....+....3....+....4....+....5....+....6....+....7....+....8 A*%%TS SD 20010924 150104 USERID REL-V4R4M0 5769-PW1 A*%%EC A DSPSIZ(24 80 *DS3) A R FMT01 A*%%TS SD 20010924 150104 USERID REL-V4R4M0 5769-PW1 A CA03(03) A 1 24'Testing Webfacing Environment API' A DSPATR(HI) A 10 3'F3=Exit' A COLOR(BLU) A N01 5 13'Application is not running in the - A Webfacing environment' A 01 6 15'Application is running in the Webf- A acing environment' A COLOR(RED) A FLD001 4S 0O 7 39 A 7 22'QqfEnvironment:' A A*%%GP SCREEN1 01