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 ‘