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

  1. フォーム iiiFRM06 –Excel 作成の呼び出しを作成します。  テンプレートは使用しないでください。
     
  2. 以下のコーディング概要をベースにフォームを作成します。
    ユーザーの入力データをフィールド DEPTMENT、SECTION に入れる。
    ユーザーがキャプションの付いたプッシュ・ボタンをクリックしたら、以下を作成します。

              BEGINCHECK ループと FILECHECK を使用して、ファイル SECTAB に対してこれらのフィールドを検証します。
              フィールド DEPTMENT と SECTION を交換し、ファンクション iiiFN12 を呼び出します。

    フォーム下のステータスバーにメッセージを表示します。

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

    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)

    Begincheck
    Filecheck 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)
    Endroutine
    End_Com

  4. フォームをコンパイルします。
    Excel 作成のアプリケーションをテストします。ドキュメントはJSMインスタンスのtrainingサブディレクトリに書き込まれます。必要であれば、フォルダ …/jsm/instance/training を作成します。
    ドキュメントをExcelで開きます。以下のようになります。

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

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