ステップ3. RDMLファンクションiiiFN13を作成する
このファンクションは、部門コードと課コードを受け入れ、これらのコードが有効かどうかを確認し、ファンクションiiiFN12を呼び出します。
1. プロセスiiiPRO09に属するRDMLファンクションiiiFN13 - Call Create Excelを作成します。テンプレートを使用しないでください。これはRDMLX対応ファンクションではありません。
2. 以下の疑似コードを基にファンクションを作成します。
· 終了キーまたはキャンセル・キーまでループします。
· フィールドDEPTMENTおよびSECTIONを要求します。
· BEGINCHECKループとFILECHECKを使用して、ファイルSECTABに対してこれらのフィールドを検証します。
· フィールドDEPTMENTとSECTIONを交換し、ファンクションiiiFN12を呼び出します。
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)'