ページの先頭行へ戻る
Interstage Host Access Service V10.0.1 ユーザーズガイド
Interstage

19.4.1 フィールドインターフェースの使用方法(フィールドの検索と更新)

行桁位置を意識することなくオブジェクト化されたフィールドで処理を実現するには、フィールドインターフェースを利用します。

フィールドインターフェースの使用方法を説明します。

対象とするエミュレータ操作

  1. ホストに接続します。

    ログオン画面が表示されます。

  2. ログオン画面でユーザIDとパスワード入力し、[Enter]キーを押します。

    業務メニュー画面が表示されます。

  3. 業務メニュー画面で、業務番号(例:1)を入力し、[Enter]キーを押します。

    選択した業務(例:商品登録業務)が実行されます。

  4. ホストから切断します。

実装方法

  1. Sessionクラスのインスタンスを作成します。

  2. Sessionクラスのconnectメソッドによりホストと接続します。

  3. Sessionクラスのscreenメソッドにより、Screenクラスのインスタンスを取得します。

  4. ScreenクラスのgetFieldSnapshotメソッドにより、画面情報(FieldSnapshotのインスタンス)を取得します。

  5. FieldSnapshotクラスのsetFieldStringメソッドによりログオンIDとパスワードを入力し、submitメソッドによりホストへ実行キーを送り、ログオンします。

  6. ScreenクラスのgetFieldSnapshotメソッドにより、最新の画面情報(FieldSnapshotのインスタンス)を取得します。

  7. FieldSnapshotクラスのsetFieldStringメソッドにより業務番号(例:1)を入力し、submitメソッドによりホストへ実行キーを送り、業務を実行します。

  8. すべての処理が終了したら、Sessionクラスのdisconnectメソッドによりホストから切断します。

import com.fujitsu.interstage.has.api.Session; 
import com.fujitsu.interstage.has.api.Screen; 
import com.fujitsu.interstage.has.api.FieldSnapshot; 
import com.fujitsu.interstage.has.api.IHASException; 

public class Example1 {

    public static void main(String[] args) {

      // Sessionインスタンスの生成  (手順1) 
      Session session = new Session();

      try {
          // ホストに接続  (手順2) 
          session.connect("connect_path1");
      } catch (IHASException e) {
          System.out.println(e.getMessage());
          return; 
      }

      try {
          // Screenの参照を取得  (手順3) 
          Screen screen = session.screen();
          
          // フィールドスナップショットの取得 (手順4) 
          FieldSnapshot fs = screen.getFieldSnapshot();
          // ログオン処理  (手順5) 
          // ユーザID入力フィールドへユーザIDを設定
          fs.setFieldString("ユーザID:", 1, "USER1");
          // パスワード入力フィールドへパスワードを設定
          fs.setFieldString("パスワード:", 1, "PASSWORD"); 
          // 実行キーの送信
          fs.submit();

          // 新しいホスト画面データを取得  (手順6) 
          fs = screen.getFieldSnapshot();

          // 業務番号の設定  (手順7) 
          fs.setFieldString("業務番号:", 1, "1");
          // 実行キーの送信
          fs.submit();
      } catch (IHASException e) {
          System.out.println(e.getMessage());
          return; 
      } finally {
          // 切断  (手順8) 
          try {
            session.disconnect();
          } catch (IHASException e) {
            System.out.println(e.getMessage());
            return; 
          }
      }
    }
}