おそらくシンプルではないでしょう。多くの場合、呼び出すプログラムに対してまたは呼び出すプログラム間で簡単なパラメータ (複雑な場合もある) を渡す必要があります。
ただし、このスタイルのアプリケーション設計では、通常、プログラム・グループは共通パラメータ・プロトコルを共有する大規模なアプリケーション・グループに分類されます。
たとえば、REQUEST_TYPE フィールドを、RAMP スクリプト間で交換される情報に追加することで、異なるプログラム・パラメータ・プロトコルを次のように簡単に処理することができます (ロジックは擬似コード)。
PGMNAME と REQUEST_TYPE を含む 5250 画面の読み取りと書き込み
DOWHILE (REQUEST_TYPE not equal to "SIGNOFF")
CASE of REQUEST_TYPE
WHEN = "CALLP1" CALL PGM_NAME using calling protocol 1 for parameters
WHEN = "CALLP2" CALL PGM_NAME using calling protocol 2 for parameters
WHEN = "CALLP3" CALL PGM_NAME using calling protocol 3 for parameters
< などその他の処理 >
ENDCASE
PGMNAME と REQUEST_TYPE を含む 5250 画面の読み取りと書き込み
ENDWHILE
RPG や CL プログラムを使い慣れている人は、IBM i のプログラム呼び出しインターフェースの高い柔軟性に気づいていないかもしれません。プログラム・パラメータは単なる記憶領域であり、プログラム間をポインターとして渡されます。次のような特徴があります。