7.75.3 INCLUDE の使用例

複数のファンクションに共通の実行可能コードを取り込む

複数のファンクションに共通の宣言を取り込む

複数のファンクションに共通の実行可能コードを取り込む

多数のファンクションから実行する必要のある共通の一連のコードがある場合、以下のようにします。

FUNCA RDML

SUBROUTINE NAME(SUB1)
*<<common set of code>>
ENDROUTINE
 

FUNCB RDML

EXECUTE SUBROUTINE(SUB1)
 
INCLUDE PROCESS(PROCA) FUNCTION(FUNCA)
 

または、共通コード用のファンクション内に共通コードを配置して必要に応じて呼び出すか、またはそのコードを必要とする各ファンクションにコピーすることもできます。INCLUDEコマンドを使用した方法を取ることをお勧めします。

複数のファンクションに共通の宣言を取り込む

あるファンクションから別のファンクションを呼び出し、作業リストを渡します。この作業リストは、両方のファンクションでまったく同じように定義されている必要があります。

FUNC1 RDML

DEF_LIST NAME(#WRKLIST) FIELDS(<<fields needed>>) TYPE(*WORKING) ENTRYS(10)
 

FUNC2 RDML

INCLUDE PROCESS(*DIRECT) FUNCTION(FUNC1)
 
CALL PROCESS(*DIRECT) FUNCTION(FUNC3) PASS_LST(#WRKLIST)
 

FUNC3 RDML

FUNCTION OPTIONS(*DIRECT) RCV_LIST(#WRKLIST)
INCLUDE PROCESS(*DIRECT) FUNCTION(FUNC1)
 

または、一方のファンクションで作業リストを定義してもう一方のファンクションにコピーするか、作業リストを必要とするファンクション内に作業リストを取り込むこともできます。