Notifications
Retirer tout
Programmation
1
Posts
2
Utilisateurs
0
Reactions
108
Vu
0
mar 5 septembre 2023 10 h 36 min
Début du sujet
La DS que j’utilise contient des champs numériques étendu, comment dans ce cas le gérer en CL ?
1 Réponse
0
jeu 28 septembre 2023 12 h 55 min
C’est bête mais J’ai créé une procédure qui récupère les informations de cette DS et les remonte à l’appelant via des paramètres déclarés en Packés.
**FREE
/Copy Qcpysrc,cpyctlstm
// Déclaration des prototypes des procédures externes
// Fonctions générales
/Copy Qcpysrc,Multiappr
// Héritages modèles de variables
/Copy Qcpysrc,Inh32766
// --------------------------------------------------
// Procedure name: delai_job
// Purpose: Détermine un délai de cycle de passage de travail a...
// ppliqué sur la commande DLYJOB
// Returns:
// Parameter: p_procedure_name => Procédure qui appel la fonction...
// de délai
// --------------------------------------------------
DCL-PROC delai_job Export;
DCL-PI *N PACKED(10:0);
p_procedure_name LIKE(r_procedure_name);
END-PI ;
// Data structure correspondant à la table des paramètres BNTABP
Dcl-ds DS_Bntabp Extname('BNTABP') Qualified End-ds;
DCL-S l_delai PACKED(10:0);
Dcl-c c_Delai 'DELAI';
Dcl-c c_delai_defaut 'DEFAUT';
// Accès à la table DELAI pour récupérer le délai de la procédure appelante
Ds_Bntabp = Bntab_load(c_Delai:p_Procedure_name);
// Quand la procédure n'a pas de délai paramétré, on utilise la valeur par défaut.
If Ds_Bntabp.Csnum1=0;
Ds_Bntabp = Bntab_load(c_Delai:c_delai_defaut);
ENDIF;
l_delai=Ds_Bntabp.Csnum1;
return l_delai;
END-PROC ;