7.77.3 INCLUDE の使用例

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

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

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

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

FUNCA RDML 

   SUBROUTINE NAME(SUB1)
*<<共通のコード・セット>>
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)

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

  • No labels