ステップ3. RDMLファンクションiiiFN13を作成する

このファンクションは、部門コードと課コードを受け入れ、これらのコードが有効かどうかを確認し、ファンクションiiiFN12を呼び出します。

1.   プロセスiiiPRO09に属するRDMLファンクションiiiFN13 - Call Create Excelを作成します。テンプレートを使用しないでください。これはRDMLX対応ファンクションではありません。

2.   以下の疑似コードを基にファンクションを作成します。

3.   完了したコードは以下のようになります。

FUNCTION OPTIONS(*DIRECT)
BEGIN_LOOP
REQUEST FIELDS(#DEPTMENT #SECTION)
BEGINCHECK
FILECHECK FIELD(#SECTION) USING_FILE(SECTAB) USING_KEY(#DEPTMENT #SECTION) MSGTXT('Department/Section not found')
FILECHECK FIELD(#section) USING_FILE(PSLMST1) USING_KEY(#deptment #section) MSGTXT('No employees for this department/section')
ENDCHECK
* Call JSM function to create Excel
EXCHANGE FIELDS(#DEPTMENT #SECTION)
CALL PROCESS(*DIRECT) FUNCTION(iiifn13)
END_LOOP
 

4.   ファンクションをコンパイルし、Create Excelアプリケーションをテストします。ドキュメントはJSMインスタンスのtrainingサブディレクトリに書き込まれます。ドキュメントをExcelで開きます。以下のようになります。

      注:IBM i サーバーでJSMサーバーを使用している場合、/trainingフォルダーにドライブをマッピングする必要があります。ローカルJSMサーバーを使用している場合、フォルダーは\JSMInstance\trainingになります。

5.   問題が発生した場合は、デバッグを使用してプログラム・ロジックを追跡できます。また、トレースを使用するExcelReadServiceを開始してトレース・ファイルを確認することもできます。これを行うには、ExcelReadServiceのSERVICE_LOADにTRACE(*YES)を追加します。

#jsmxcmd := 'SERVICE_LOAD SERVICE(ExcelReadService) TRACE(*YES)'