H dftactgrp(*no) actgrp(*caller) *‚-------------------------------------------------------------------- *‚DME | 15/03/2006 | Test existence et droits d'accès sur fichier IFS *‚-------------------------------------------------------------------- *‚-------------------------------------------------------------------- *‚Déclaration de l'API IFS access() *‚-------------------------------------------------------------------- D access PR 10I 0 ExtProc('access') D Path * Value Options(*string) D amode 10I 0 Value *‚-------------------------------------------------------------------- *‚Flag pour droits d'accès de l'API IFS access() * ‚ F_OK = Le fichier existe *‚ R_OK = Droit accès *‚ W_OK = Droit écriture *‚ X_OK = Droit execution ou recherche *‚-------------------------------------------------------------------- D F_OK C 0 D R_OK C 4 D W_OK C 2 D X_OK C 1 *‚-------------------------------------------------------------------- *‚Retour du code erreur *‚Nom du fichier IFS (inclus le répertoire) *‚-------------------------------------------------------------------- D Error S 5P 0 D myfile S 104 *‚---------------------------------------------------- *‚Réception paramètres : fichier et code erreur *‚---------------------------------------------------- C *ENTRY PLIST C PARM myfile C PARM Error * C eval Error = 0 *‚Test si le fichier existe dans l'IFS C Select C When access(%trimr(myfile): F_OK) < 0 C eval Error = 1 *‚Test si droits en lecture sur le fichier de l'IFS C When access(%trimr(myfile): R_OK) < 0 C eval Error = 2 *‚Test si droits en écriture sur le fichier de l'IFS C When access(%trimr(myfile): W_OK) < 0 C eval Error = 3 *‚Test si droits en éxécution sur le fichier de l'IFS C When access(%trimr(myfile): X_OK) < 0 C eval Error = 4 C EndSl *‚Fin du programme C eval *InLR = *on