%TRIM(string {: characters to trim})
%TRIM with only one parameter returns the given string with any leading and trailing blanks removed.
%TRIM with two parameters returns the given string with any leading and trailing characters that are in the characters to trim parameter removed.
The string can be character, graphic, or UCS-2 data.
If the characters to trim parameter is specified, it must be the same type as the string parameter.
When specified as a parameter for a definition specification keyword, the string parameter must be a constant.
For more information, see String Operations or Built-in Functions.
*..1....+....2....+....3....+....4....+....5....+....6....+....7...+....
D*Name++++++++++ETDsFrom+++To/L+++IDc.Keywords+++++++++++++++++++++++++
D Location S 16A
D FirstName S 10A inz (' Chris ')
D LastName S 10A inz (' Smith ')
D Name S 20A
* LOCATION will have the value 'Toronto, Ontario'.
/FREE
Location = %trim (' Toronto, Ontario ');
// Name will have the value 'Chris Smith! '.
Name = %trim (FirstName) + ' ' + %trim (LastName) + '!';
/END-FREE
D edited S 20A INZ('$******5.27*** ')
D trimmed S 20A varying
D numeric S 15P 3
/FREE
// Trim '$' and '*' from the edited numeric value
// Note: blanks will not be trimmed, since a blank
// is not specified in the 'characters to trim' parameter
trimmed = %trim(edited : '$*');
// trimmed is now '5.27*** '
// Trim '$' and '*' and blank from the edited numeric value
trimmed = %trim(edited : '$* ');
// trimmed is now '5.27'
// Get the numeric value from the edited value
numeric = %dec(%trim(edited : '$* ') : 31 : 9);
// numeric is now 5.27