You can call a module right from your existing RPG programs by using the included PJSCALL RPG program. 

It supports:

The program interface is as follows:

PJSCALL Parameter List


Parameter Type

This should always pass in the value of "*MODULE"



This is made up of workspace information as well as module file path.


Routine Name

If the module being called is a Low-Code Module, you can specify the exact routine to be called.


Input Parameter (optional)

Parameter to pass to the Low-Code module.
This should be a data structure which subfields matches exactly to a Low-Code module input parameters type and size.



Const *Omit *NoPass

Input Parameter Size (optional)

The size of the Input Parameter data structure

InputInt(10)Const *Omit *NoPass
6Output Parameter (optional)

Parameter to be returned from the Low-Code module.
This should be a data structure which subfields matches exactly to a Low-Code module output parameters type and size.

OutputDataStructureConst *Omit *NoPass

Output Parameter Size (optional)

The size of the Output Parameter data structure

InputInt(10)Const *Omit *NoPass

Having the correct value for the ModuleID parameter is very important.  When creating a Low-Code module with the IDE, it has a separate tab that auto generates the exact RPG code snippet needed to call that module.  Here are the different use cases and example values:


The PJSCALL command located within your Profound.js installation library allows you to directly call a Profound.js module from a Genie session.

Your Profound.js module must be stored as a .js file within a subdirectory of modules under your Profound.js installation directory. Each modules subdirectory is similar to an IBM i library. The Profound.js installation directory may or may not be on the same server as Genie. You can control which server Genie connects to by configuring environment variables within a Genie session.

Your library list should include libraries PROFOUNDUI and PROFOUNDJS or their equivalents if you installed Profound UI and Profound.js into non-default libraries.

PJSCALL takes the following parameters:

The Node.js module you call may either present an interactive user interface or just perform back-end business logic, in which case control is immediately passed back to Genie after the Node.js script finishes executing.

For more information on how to set up Modules, please see Creating Callable Profound.js Modules or Creating Low-Code Modules.