Et com­ment gérer de…
 
Notifications 
Reti­rer tout

Et com­ment gérer des champs dans cette DS qui sont à l’o­ri­gine en étendu ?

Posts
Uti­li­sa­teurs
Reac­tions
108  Vu
0
Début du sujet

La DS que j’u­ti­lise contient des champs numé­riques éten­du, com­ment dans ce cas le gérer en CL ?

1 Réponse 
0

C’est bête mais J’ai créé une pro­cé­dure qui récu­père les infor­ma­tions de cette DS et les remonte à l’ap­pe­lant via des para­mètres décla­ré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 ;

Share :