Troubleshooting
Problem
A workaround is needed to be able to call service programs (SRVPGMs) using the iSeries adapter. Also a similar workaround is needed to call programs that use arrays and/or structures as parameters.
Cause
The WebSphere® Business Integration Adapter for iSeries only supports calling programs (PGMs) that have a main entry point. The iSeries adapter does not support calling programs with arrays and/or structures as parameters.
Resolving The Problem
The workaround to call a service program using the iSeries adapter is to write a proxy program that calls a procedure in the service program, and configure the adapter to call this proxy program. A proxy program is required for each procedure to be called in the service program.
For example the RPG program below calls the "GetCustName" procedure in a service program.

The similar workaround can be used to call a program that has arrays and/or structures for its parameters.
For example the RPG program below was written as a front end for a procedure that returns an array of structures.

The following Business Object was set to have 34 String parameters in order to retrieve the multi-dimensional data returned by the RPG program above.

This workaround enables the iSeries adapter to retrieve data from programs that return arrays and/or structures. A similar workaround can be used to pass data to programs that have arrays and/or structures as input parameters.
Was this topic helpful?
Document Information
More support for:
WebSphere Adapters Family
Software version:
2.1.2
Document number:
341005
Modified date:
15 June 2018
UID
swg21210928