One of the strengths of the 4gl language is its close ties with the database. SQL syntax such as SELECT, INSERT, DELETE, UPDATE, CREATE, ALTER, DROP etc are all part of the 4gl language syntax. This extends to database cursors where PREPARE, DECLARE, OPEN, FETCH, FOREACH etc are also part of the syntax. However there are times when a low-level 3gl like API would be more appropriate than the high-level 4gl syntax.
The base.SqlHandle class is a built-in class that allows you to execute SQL statements with a 3gl API. The usage of the 3gl API allows you to cater for a variable number of input parameters, to interrogate what is returned, and and can cater for returning a variable number of columns returned.
Generic library functions will often benefit by using base.Sqlhandle methods, the fgl_zoom repository being one such repository.
Read more at
https://4js.com/ask-reuben/ig-25/