L'API d'environnement WebFacing vous permet de vérifier si un utilisateur accède à votre application via un navigateur Web ou une émulation 5250. Cette API vous permet de changer le comportement de votre programme en fonction du type d'accès de l'utilisateur. Par exemple, vous souhaitez peut-être afficher une zone supplémentaire ou un texte différent si l'accès au programme s'effectue via un navigateur, mais supprimer l'affichage de ces éléments si une émulation 5250 est utilisée.
L'API d'environnement WebFacing est appelée QqfEnvironment. Elle fait partie du module d'exécution du serveur WebFacing. Le nom de procédure externe QqfEnvironment tient compte de la distinction majuscules/minuscules. C'est une procédure encapsulée dans un programme de service appelé QQFENV qui se trouve dans la bibliothèque QSYS. L'API renvoie la valeur 1 si l'application s'exécute sous WebFacing et la valeur 0 s'il s'agit d'une émulation 5250.
Les exemples ci-après indiquent comment utiliser cette API. Dans l'exemple RPG, la procédure externe QqfEnvironment est définie avec la spécification D (DSpec) QQFENV. Dans cet exemple, le même nom a été attribué à la spécification D QQFENV qu'au programme de service et il a été défini comme un entier car la procédure renvoie la valeur 0 ou 1. Une spécification D rc a également été définie pour recevoir la valeur 0 ou 1 lorsque l'instruction Eval rc = QQFENV est exécutée. Le programme RPG utilise ensuite la valeur rc pour déterminer à l'aide de conditions le comportement du programme et ce qui s'affichera sur l'écran DDS.
Dans l'exemple de DDS ci-après, si la valeur de rc dans le module RPG est différente de 1, le texte "L'application ne s'exécute pas dans l'environnement WebFacing" apparaît. Si la valeur de rc est égale à 1, le texte "L'application s'exécute dans l'environnement WebFacing" apparaît.
.........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'Test de l'API d'environnement WebFacing' A DSPATR(HI) A 10 3'F3=Sortie' A COLOR(BLU) A N01 5 13'L'application ne s'exécute pas dans - A l'environnement WebFacing' A 01 6 15'L'application s'exécute dans l'environnement - A WebFacing' A COLOR(RED) A FLD001 4S 0O 7 39 A 7 22'QqfEnvironment:' A A*%%GP SCREEN1 01