Une connexion peut être définie dans l’analyse ou par programmation (variable de type Connexion ou description par la fonction HDécritConnexion).
L'ouverture d'un fichier va automatiquement ouvrir la connexion associée. Elle peut être ouverte explicitement avec HOuvreConnexion, notamment pour utiliser les fonctions spécifiques.
Il est en fait conseillé de toujours utiliser HOuvreConnexion dans un programme, même si les paramètres de l’analyse sont suffisants. Cela permet de maîtriser à quel moment ouvrir et fermer la connexion. Autrement la connexion est fermée dès que tous les fichiers l’utilisant le sont.
Les mots de passe longs (V5R2) sont supportés.
Une connexion correspond à un JOB actif dans le sous-système Easycom. Attention en cas d’un nombre de licences limité. Chaque job correspond à l’utilisation d’une licence.
Il est possible d’avoir plusieurs connexions dans une même analyse et de combiner ainsi différents accès : gérer plusieurs AS400 et/ou profils ou bien des fichiers AS400 et Hyper File... ou d'autres bases externes.
Remarque : un fichier AS400 peut être ouvert directement avec la fonction HDeclareExterne.
Les paramètres de la connexion
Tous les paramètres sont optionnels, on peut tout à fait utiliser la syntaxe suivante :
HOuvreConnexion(NouvelleConnexion,"","","","",hAccèsNatifAS400)
et compléter ensuite la fenêtre de login, à condition que les boites de dialogues ne soient pas désactivées (voir aussi automatiser la connexion).
Le provider est bien sûr hAccèsNatifAS400.
Le mode d'accès peut être hOLectureEcriture ou hOLecture .
Les trois paramètres essentiels sont :
· l'adresse IP de l'AS/400 ou son nom (à condition qu'il figure dans le fichier host ou dans le DNS).
· le nom de l'utilisateur (profil),
· son mot de passe,
Les informations étendues peuvent être utiles pour spécifier les paramètres propres à une connexion AS/400, comme le nom du travail par exemple.
Variable de type Connexion
La variable de type connexion permet de définir l'ensemble des propriétés d'une connexion, elle est ensuite passée comme paramètre à la fonction HOuvreConnexion.
Exemple
MaConnexion est une Connexion
// Description de la connexion
MaConnexion..Utilisateur = "USER"
MaConnexion..MotDePasse = "PASSWORD"
MaConnexion..Serveur = "NOM_ou_ADRESSE_IP"
MaConnexion..BaseDeDonnées = ""
MaConnexion..Provider = hAccèsNatifAS400
MaConnexion..Accès = hOLectureEcriture
MaConnexion..InfosEtendues = "<EASYCOM>"+CRLF+"JOBNAME=+CRLF+"</EASYCOM>"
HOuvreConnexion(MaConnexion)
Les infos étendues doivent respecter les sauts de ligne.
Il est possible de ne pas définir les paramètres ou plus précisément de laisser des chaînes vides. Dans ce cas, si les boites de message Easycom ne sont pas désactivées, apparaît l'écran de login.
Connexions associées à une analyse
Vous pouvez définir une ou plusieurs connexions dans une analyse et leur associer des fichiers.
Au moment de l'importation de fichiers dans une analyse, la connexion correspondante est automatiquement crée et les fichiers importés sont associés par défaut à cette analyse.
Il est bien sûr possible d'ajouter des connexions dans l'analyse et de leur associer les fichiers.
L'ouverture d'un fichier de l'analyse va automatiquement utiliser la connexion associée. Si tous les paramètres sont renseignés la connexion est donc transparente, dans le cas contraire la boite de dialogue de connexion apparaît.
Une connexion s'ouvre avec la fonction HOuvreConnexion.
Il peut s'agir d'une connexion définie dans l'analyse, d'une connexion décrite par la fonction HDecritConnexion ou d'une variable de type Connexion.
HOuvreConnexion("MaConnexion","QPGMR","QPGMR","194.215.168.102", hAccèsNatifAS400,hOLectureEcriture,"")
En single sign-on de type EIM, utiliser la valeur spéciale « *KERBAUTH » comme nom d’utilisateur, sans modifier le mot de passe. Voir CFGEACSSO pour la configuration côté system i.
En Accès Natif AS/400, la connexion à la base de donnée revient à se connecter à l'AS/400 et donc à créer une session et un nouveau job.
Cette fonction permet de créer une connexion qui n'est pas définie dans l'analyse. Il faudra ensuite associer les fichiers à cette nouvelle connexion avec la fonction HChangeConnexion.
bResultat = HDécritConnexion(Connexion , Utilisateur, , Passe,"" , AdresseIP, hAccèsNatifAS400 [,Accès [, Infos_étendues [, Options]]])
On retrouve les mêmes paramètres que la variable de type Connexion.
HChangeConnexion permet de changer la connexion associée à un fichier. La nouvelle connexion doit être connue et définie lors de ce changement.
Cette nouvelle connexion sera utilisée lors de la prochaine ouverture du fichier.
HChangeConnexion(Fichier, Connexion)
Exemple
Un fichier CLIENTS qui existe sur l'AS400 et au format Hyper File, dans l'analyse ce fichier est associé à la connexion Hyperfile. La fonction HChangeConnexion permet de travailler avec le même fichier à la fois en Hyper File et en fichier AS/400.
Attention, puisque le fichier n'a pas d'infos étendues pour l'associer à un fichier AS/400 (MAIN) il faut utiliser l'option IGNORE_EMPTY_EXTINFO dans les infos étendues de la connexion et le fichier sera recherché dans la LIBL du profil. Il doit évidemment avoir une structure cohérente sur l'AS/400 avec sa description dans l'analyse.
// ouverture par défaut : fichier HF
HOuvre(Clients)
......... // traitements sur le fichier HyperFile
// Décrire et ouvrir la nouvelle connexion sur l'AS/400
HOuvreConnexion("MaConnexion", "QPGMR", "QPGMR", " 194.206.160.105 ", hAccèsNatifAS400, hOLectureEcriture, "<EASYCOM>"+CRLF+"IGNORE_EMPTY_EXTINFO=+CRLF+"</EASYCOM>")
HChangeConnexion(Clients,MaConnexion)
HOuvre(Clients)
...
HFerme(Clients)
HFermeConnexion(MaConnexion)
La syntaxe HChangeConnexion("*", NouvelleConnexion) va changer de connexion pour tous les fichiers.
La fonction HFermeConnexion va explicitement fermer tous les fichiers ouverts de la connexion et fermer la connexion elle-même, et donc arrêter le job associé.
Cette fonction n'est pas obligatoire, la fermeture de l'application ou du dernier fichier ouvert vont également fermer la connexion et arrêter le job.