Skip to content

Built In Functions

Daniel Long edited this page Sep 24, 2026 · 3 revisions

Built-In Functions

String Functions

DCL-S s VARCHAR(50);

s = '  Hello World  ';
DSPLY %TRIM(s);         // 'Hello World'
DSPLY %LEN(s);          // 15
DSPLY %SUBST(s:3:5);    // 'Hello'
DSPLY %SCAN('World':s); // 9
DSPLY %REPLACE('RPG':'Hello World':1:5);  // 'RPG World'
DSPLY %LOWER('HELLO');  // 'hello'
DSPLY %UPPER('hello');  // 'HELLO'

Numeric Functions

DSPLY %CHAR(%ABS(-42));     // 42
DSPLY %CHAR(%INT(3.7));     // 3
DSPLY %CHAR(%DEC(3.7:5:2)); // 3.70
DSPLY %CHAR(%REM(17:5));    // 2
DSPLY %CHAR(%SQRT(144));    // 12

Date/Time Functions

DCL-S today DATE INZ(%DATE);
DCL-S now TIME INZ(%TIME);
DCL-S ts TIMESTAMP INZ(%TIMESTAMP);
DCL-S future DATE;

future = today + %DAYS(30);
DSPLY %CHAR(future);

DCL-S daysBetween INT(10);
daysBetween = %DIFF(future : today : *DAYS);
DSPLY %CHAR(daysBetween);  // 30

Clone this wiki locally