fr en

RPG FreeForm - %CONCAT

Fonction :

Permet de concaténer une chaine de caractères à ou à plusieurs autres chaines de caractères en utilisant un séparateur spécifique.

  •  

  •  

Syntaxe :

ma_chaine_resultat = %CONCAT( ma_chaine_de_séparation : ma_chaine_1 : ma_chaine_2 : … : ma_chaine_X )

Avec en paramètres obligatoires :

  • ma_chaine_de_sépration : chaine de caractères qui sera insérée entre chaque chaine à concaténer.
    *NONE peut être utilisé lorsqu’aucun séparateur ne doit être placé entre les différentes chaines.
  • ma_chaine_1 : chaine de caractères initiale.
  • ma_chaine_2 : chaine de caractères à concaténer à la chaine initiale.

Et en paramètres facultatifs :

  • autres chaines de caractères à concaténer aux chaines précédentes.
 

Exemples :


 Dcl-s   s_chaine_separation    char(3)       inz(‘ – ‘);

 Dcl-s   s_chaine_1                   char(10)     inz(‘VICTOR’);
 Dcl-s   s_chaine_2                   char(10)     inz(‘HUGO’);
 Dcl-s   s_chaine_3                   char(10)     inz(‘1802’);
 Dcl-s   s_chaine_4                   char(10)     inz(‘1885’);

 Dcl-s   s_resultat                      char(50)   inz;

//———————————————————————————————————-
 s_resultat = %CONCAT(s_chaine_separation : s_chaine_1
                                                                          : s_chaine_2
                                                                          : s_chaine_3
                                                                          : s_chaine_4);

// => s_resultat = ‘VICTOR     – HUGO       – 1802       – 1885       ‘

//———————————————————————————————————-
 s_resultat = %CONCAT(s_chaine_separation : %TRIM(s_chaine_1)
                                                                          : %TRIM(s_chaine_2)
                                                                          : %TRIM(s_chaine_3)
                                                                          : %TRIM(s_chaine_4));

// => s_resultat = ‘VICTOR – HUGO – 1802 – 1885                       ‘  

//———————————————————————————————————-
 s_resultat = %CONCAT(*NONE : %TRIM(s_chaine_1)
                                                     : %TRIM(s_chaine_2)
                                                     : %TRIM(s_chaine_3)
                                                     : %TRIM(s_chaine_4));

// => s_resultat = ‘VICTORHUGO18021885                                ‘ 

//———————————————————————————————————-
s_resultat = %CONCAT(‘ / ‘ : %TRIM(s_chaine_1)
                                              : %TRIM(s_chaine_2)
                                              : %TRIM(s_chaine_3)
                                              : %TRIM(s_chaine_4));

// => s_resultat = ‘VICTOR / HUGO / 1802 / 1885                       ‘