Ultimo aggiornamento: 15-Dic-2018

Manipolazione stringhe in CLP

Estrazione porzione di stringa

La funzione %SUBSTRING oppure %SST (http://www.ibm.com/support/knowledgecenter/ssw_ibm_i_72/rbam6/subst.htm) consente di estrarre una porzione di stringa da una variabile di tipo *CHAR.

%SUBSTRING(character-variable-name starting-position length)

Conversione in stringa

La funzione %CHAR (http://www.ibm.com/support/knowledgecenter/ssw_ibm_i_72/rbam6/rbam6charbif.htm) consente di convertire una variabile di tipo *LGL, *DEC, *INT o *UINT in una variabile di tipo *CHAR.

%CHAR(convert-argument)

Conversione minuscolo/maiuscolo

Dalla versione IBM i 7.2 sono disponibili due nuove funzioni che consentono la conversione in maiuscolo o minuscolo in un programma CLP: %LOWER (http://www.ibm.com/support/knowledgecenter/ssw_ibm_i_72/rbam6/rbam6lowerbif.htm) e %UPPER (http://www.ibm.com/support/knowledgecenter/ssw_ibm_i_72/rbam6/rbam6upperbif.htm)

Nelle release precedenti in mancanza di queste BIF si può utilizzare l’API QLGCNVCS (cfr. http://www.itjungle.com/fhg/fhg111412-story01.html e http://www.ibm.com/support/knowledgecenter/ssw_ibm_i_73/apis/QLGCNVCS.htm)

Ricerca in una stringa

Da IBM i 7.1 è disponibile la funzione %SCAN (http://www.ibm.com/support/knowledgecenter/ssw_ibm_i_72/rbam6/rbam6scanbif.htm) consente di cercare una stringa all’interno di un’altra stringa.

%SCAN(search-argument source-string [starting-position])

Eliminazione spazi

Da IBM i 7.1 sono disponibili le funzioni %TRIM (http://www.ibm.com/support/knowledgecenter/ssw_ibm_i_72/rbam6/rbam6trimbif.htm), %TRIML, %TRIMR che consentono di rimuovere gli spazi (o un altro carattere) dall’inizio e/o dalla fine di una stringa

%TRIM(character-variable-name [characters-to-trim])