ステップ 4. ファンクション「iiiFN15 - 社員用 PDF 出力を作成」を作成する

INT013 -PDFDocumentService を使用して PDF ドキュメントを作成
このステップでは、ファンクション iiiFN14 をコピーし、社員番号、部門または苗字によって選択された、1 人または複数の社員の PDF ドキュメントが出力できるように拡張します。
この新しい RDMLX ファンクション iiiFN15, は、フォーム 「iiiFRM08 – 社員 PDF 出力をテスト」によって呼び出されますが、このファンクションによってユーザーは STD_FLAG、EMPNO、DEPTMENT、SURNAME を入力でき、これらの値を交換 (ECHANGE) してファンクション iiiFN15 が呼び出されます。
フォーム iiiFRM08 において実際に検討すべき事項としては、PSLMST (社員マスター) で EMPNO (社員番号) の妥当性を検査することが挙げられるでしょう。ファンクション iiiFN15, が呼び出された時に EMPNO (社員番号) を渡される場合、社員番号は常に有効な状態ですので、 iiiFN15 ではPDF ドキュメントを常に出力して、このドキュメントを閉じる必要があります。
ファンクション iiiFN15 が呼び出された時に DEPTMENT (部門番号) または SURNAME (苗字) が渡されて、1 件以上の PDF ドキュメントを作成する場合、出力が無い可能性もあります。条件付きで PDF ドキュメントを閉じることで、空の PDF ドキュメントに書き込むことを避けることができます。
1.      ファンクション iiiFN14 をコピーし、プロセス iiiPRO11 に RDMLX 対応のファンクション iiiFN15 を作成します。
2.      ファンクションの上にある次の 2 行を削除します。
#empno := A1009
#rep1page := 1
3.      コメント行 * Add Footers (フッターの追加) を探します。サブ・ルーチン FOOTER を作成し、その中に以下のコードを移動させます。コードは以下のようになっているはずです。
Subroutine Name(FOOTER)
Clr_list #FOOTER1
Add_entry #FOOTER1
#jsmxcmd := 'ADD CONTENT(FOOTER1)'
Use Builtin(JSMX_COMMAND) With_Args(#JSMXHDLE1 #JSMXCMD #FOOTER1) To_Get(#JSMSTS #JSMMSG)
Execute Subroutine(CHECK_STS) With_Parms(#JSMXHDLE1)
Endroutine
 
4.      EXECUTE subroutine を追加して、この移動させたコードをサブルーチン内に置き換えます。コードは以下のようになります。

13.     ファンクション iiiFN15 をコンパイルし、エラーがあれば修正します。
14.     IBM i サーバーでファンクションを実行する場合は、サーバーにチェックインして、コンパイルします。