エミュレータのキー入力をシミュレートし行桁位置に基づいた処理を実現するには、スクリーンインターフェースを利用します。
スクリーンインターフェースの使用方法を説明します。
ポイント
「19.4.1 フィールドインターフェースの使用方法(フィールドの検索と更新)」と同じ業務です。
ホストに接続します。
ログオン画面が表示されます。
ログオン画面でユーザIDとパスワード入力し、[Enter]キーを押します。
業務メニュー画面へ移行します。
業務メニュー画面で、業務番号(例:1)を入力し、[Enter]キーを押します。
商品登録業務が実行されます。
ホストから切断します。
Sessionクラスのインスタンスを作成します。
Sessionクラスのconnectメソッドによりホストと接続します。
Sessionクラスのscreenメソッドにより、Screenクラスのインスタンスを取得します。
ScreenクラスのsendKeysメソッドによりログオンIDとパスワードを入力し、ホストへ実行キーを送り、ログオンします。
ScreenクラスのwaitStringメソッドにより、新しいホスト画面を待ち合わせます。
ScreenクラスのsendKeysメソッドにより、業務番号(例:1)を入力し、ホストへ実行キーを送り、業務を実行します。
すべての処理が終了したら、Sessionクラスのdisconnectメソッドによりホストから切断します。
import com.fujitsu.interstage.has.api.Session; import com.fujitsu.interstage.has.api.Screen; import com.fujitsu.interstage.has.api.IHASException; public class Example2 { 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) screen.sendKeys("USER1[TAB]"); screen.sendKeys("PASSWORD[ENTER]"); //新しいホスト画面を待ち合わせ (手順5) screen.waitString("業務メニュー"); // 処理コードの入力 (手順6) screen.sendKeys("1[ENTER]"); } catch (IHASException e) { System.out.println(e.getMessage()); return; } finally { // 切断 (手順7) try { session.disconnect(); } catch (IHASException e) { System.out.println(e.getMessage()); return; } } } }