Profound.js Updates: IBM i Database Pool Options


Version 5.2.0

Dive into the latest new features for Profound.js, specifically you must now configure the connectorCredentials property of your IBM i Profound.js instance . Haven’t check in for awhile? See our last updates here.

Breaking Changes when using Profound.js Remote instances that access IBM i programs of data

  • Due to the enhancement of better IBM i database pool options, you now must configure the connectorCredentials property of your IBM i Profound.js instance.


Profound.js – Enhanced Profound.js IBM i database pool options

We have enabled more control over the IBM i database pooling which also positively affects overall throughput.  The image below shows the default pool options.

For more information, please visit the Database Connections documentation page.


IBM i Authentication

Profound API can now use IBM i credentials for API authentication.

For more information, please visit the Profound API Security documentation page.


Profound API Security for Anonymous Callers

Enhanced the OpenAPI Configuration document to allow for simple configuration to enable/disable anonymous callers.

For more information, please visit the Profound API Security documentation page.


Profound.js/Profound API Coded Routines

Profound Logic has introduced a new concept called “coded routines” into its low-code environment.

Routines in both Profound.js and the Profound API solution can now be converted directly to code with a click of a button.

Maintaining the routine using code allows for an easy way to deviate from the built-in functionality provided by Profound’s low-code plugins. It gives application developers an extra level of control. Within the code, developers can use the Profound.js built-in library of functions, as well as any other valid JavaScript. Developers can also utilize various packages from the popular npm (Node Package Manager) repository.

New Option to Create a CRUD App for Two Tables (Header/Detail Levels)

When you take the option on the create a CRUD (Create, Read, Update, Delete) application for a table, you can now optionally specify a “detail” table to be linked to that “header” table. The CRUD app generated will have CRUD options for records from both the header table and the detail table. In the example below, the header table is “orders”, and the detail table is “orderdetails”. Use the “Join tables” button to specify the join columns (e.g., orderNumber in this example).

The generated CRUD app will initially display the list of header records, on which you can perform the CRUD operations. Additionally, you can click the “Details” icon for a header record to display the detail (child) records for that header (parent) record. Then you can perform CRUD operations for those detail records. Note that Delete of a header record will also delete all of its detail records (as specified by the join columns).

Multi-Insert Capability in Low-Code Insert Database Record(s) Plugin

Prior to this enhancement, if you had a “list” and you wanted to use the data in the list to insert records into a table, you’d have to loop through the list and insert one record at a time. Now, for the question “Where will record values come from?”, you can choose a new answer “From a list of records”. This enhancement makes it more convenient, and also performs much better when you need to insert many records from a list. If you answer, “From a list of records”, you’ll be prompted for 2 new questions:

1) “Specify the list of records” to process.

2) “Number of records for each INSERT, for multi-insert”. This value defaults to 100. It specifies the maximum number of records (rows) that will be included in each INSERT SQL statement. Each database supported by Profound.js (i.e., Db2 for IBM i, MySQL, MS SQL Server, Oracle) has different limits on how many rows can be specified on one INSERT SQL statement. Profound.js will run as many SQL INSERT statements as needed to insert all the rows required.

For example, if the specified “list” has 250 rows, then Profound.js will run 3 SQL INSERT statements: the 1st statement is for the 1st 100 rows, the 2nd statement is for the next 100 rows, and the last statement if for the last 50 rows.

For any further questions please visit our documentation page, or contact support at


Table of Contents