このファンクションは、部門コードと課コードを受け入れ、これらのコードが有効かどうかを確認した後、ファンクション iiiFN12 を呼び出します。
- フォーム iiiFRM06 –Excel 作成の呼び出しを作成します。 テンプレートは使用しないでください。
- 以下のコーディング概要をベースにフォームを作成します。
ユーザーの入力データをフィールド DEPTMENT、SECTION に入れる。
ユーザーがキャプションの付いたプッシュ・ボタンをクリックしたら、以下を作成します。
- BEGINCHECK ループと FILECHECK を使用して、ファイル SECTAB に対してこれらのフィールドを検証します。
- フィールド DEPTMENT と SECTION を交換し、ファンクション iiiFN12 を呼び出します。
- フォーム下のステータスバーにメッセージを表示します。
- 完了したコードは以下のようになります。
Function Options(*DIRECT)Begin_Com Role(*EXTENDS #PRIM_FORM) Clientwidth(484) Clientheight(150) Componentversion(2) Left(620) Top(175)Define_Com Class(#DEPTMENT.Visual) Name(#DEPTMENT) Displayposition(1) Left(24) Parent(#COM_OWNER) Tabposition(1) Top(17)Define_Com Class(#SECTION.Visual) Name(#SECTION) Displayposition(2) Left(29) Parent(#COM_OWNER) Tabposition(2) Top(46)Define_Com Class(#PRIM_PHBN) Name(#Button1) Caption('Create') Displayposition(3) Left(291) Parent(#COM_OWNER) Tabposition(3) Top(23)Define_Com Class(#PRIM_STBR) Name(#StatusBar1) Displayposition(4) Height(28) Left(0) Messageposition(1) Parent(#COM_OWNER) Tabposition(4) Tabstop(False) Top(272) Width(476)
Evtroutine Handling(#com_owner.CreateInstance)
Set Com(#com_owner) Caption(*component_desc)
Endroutine
Evtroutine Handling(#Button1.Click)BegincheckFilecheck Field(#SECTION) Using_File(SECTAB) Using_Key(#DEPTMENT #SECTION) Msgtxt('部門/課が見つかりませんでした')Filecheck Field(#SECTION) Using_File(PSLMST1) Using_Key(#DEPTMENT #SECTION) Msgtxt('この部門/課の社員は存在しません')Endcheck
*JSM ファンクションを呼び出し、Excel を作成Exchange Fields(#DEPTMENT #SECTION)Call Process(*DIRECT) Function(iiifn12)EndroutineEnd_Com フォームをコンパイルします。
Excel 作成のアプリケーションをテストします。ドキュメントはJSMインスタンスのtrainingサブディレクトリに書き込まれます。必要であれば、フォルダ …/jsm/instance/training を作成します。
ドキュメントをExcelで開きます。以下のようになります。注意:IBM i サーバーで JSM サーバーを使用している場合、/training フォルダにドライブをマッピングする必要があります。ローカル JSM サーバーを使用している場合、フォルダは \JSMInstance\training になります。
- 問題が発生した場合は、デバッグを使用してプログラム・ロジックを追跡できます。また、トレース付きで ExcelService を開始して、トレース・ファイルを確認することもできます。これを行うには、ExcelService の SERVICE_LOAD に TRACE(*YES) を追加します。
#jsmxcmd := 'SERVICE_LOAD SERVICE(ExcelService) TRACE(*YES)'
