La fonction HDeclareExterne permet d’utiliser par programmation un fichier d’une base externe sans importer la structure du fichier dans l’analyse. Le fichier est récupéré avec toute sa structure et ses clés.
Syntaxe avec connexion
Si une connexion a été déclarée et est ouverte, il suffit de passer le nom du fichier
bresult = HDéclareExterne( Fichier, AliasFichier, Connexion)
Le nom du fichier est le nom du chemin d'accès (BIBLIOTHEQUE/FICHIER ou FICHIER) et le nom alias le nom qui pourra être utilisé dans la suite du code.
La connexion doit bien sûr être définie, soit dans l'analyse, soit par programmation et être de type Accès Natif AS400.
HDéclareExterne("EASYCOM/SP_CUST", Customer, MaConnexionAS)
Syntaxe sans connexion décrite
La fonction HDéclareExterne peut également contenir les paramètres de la connexion :
bResultat = HDéclareExterne( Fichier, Alias, Utilisateur, Passe, AdresseIP, hAccèsNatifAS400 [,Accès])
Par exemple :
HDéclareExterne("EASYCOM/SP_CUST", "Customer", "QPGMR", "PASSWD", "194.206.105.111", hAccèsNatifAS400)
Exemple
//Déclaration des variables
MaConnexion est une Connexion
sp_cust est une Source de Données
//Description de la connexion
SI PAS HDécritConnexion(MaConnexion,"user","pwd","194.206.160.105","",hAccèsNatifAS400,hOLectureEcriture,"")
ALORS
Info(HErreurInfo())
FIN
//Déclaration du fichier externe SP_CUST
SI PAS HDéclareExterne("EASYCOM/SP_CUST", SP_CUST, MaConnexion) ALORS
Info(HErreurInfo())
FIN
//Lecture des enregistrements du fichier SP_CUST
HLitPremier(SP_CUST)
TANTQUE PAS HEnDehors
Info(sp_cust.cust_id,sp_cust.firstname,sp_cust.lastname,sp_cust.address,sp_cust.city,sp_cust.state)
HLitSuivant(sp_cust)
FIN