You can follow the instructions in this topic to prepare and call ILE procedures from your i5/OS™ PASE programs.
When you call ILE procedures from your i5/OS PASE programs, you should first prepare the procedure by enabling it for teraspace, converting text to the appropriate CCSID, and setting up variables and structures.
All ILE modules that you call from i5/OS PASE must be compiled with the teraspace option set to *YES. If your ILE modules are not compiled in this way, you will receive the MCH4433 error message (Invalid storage model for target program &2) in the job log for your i5/OS PASE application.
Text being passed between ILE and i5/OS PASE might need to be converted to the appropriate CCSIDs before being passed. Not doing such conversions causes your character variables to contain undecipherable values.
#pragma argument(ileProcedureName, nowiden)
Without this pragma, standard C linking for ILE requires 1- and 2-byte integer arguments to be widened to 4 bytes and requires 4-byte floating-point arguments to be widened to 8 bytes.