マクロ言語エレメント

属性の指定

XML 要件

マクロ言語では、どの属性の値も二重引用符で囲む必要があります。 例えば、次の <mouseclick> エレメントでは、rowcol 属性の値が二重引用符で囲まれます。

<mouseclick row="4" col="51" />

属性値の拡張形式

前述のように、マクロが拡張形式であっても、マクロ・エディター内のすべての入力フィールドで、ストリングが単一引用符 ('') で囲まれるわけではありません (ストリングと特殊文字の表記、演算子文字の取り扱いを参照)。 具体的には、拡張形式は、マクロ・エディターの次のタブ上の入力フィールドのみに影響を与えます。

同様に、マクロ言語では、拡張形式によって影響を受けるこれらの入力フィールドのいずれかに対応する属性に、ストリング値を指定する場合、そのストリングを拡張形式で入力する必要があります。 例えば、<message> エレメントでは、マクロが拡張形式である場合、両方の属性のストリングを単一引用符で囲む必要があります。

<message title="'Instructions'"  value="'Check the java console'" />

しかし、属性が、拡張形式によって影響を受ける入力フィールドのいずれかに対応しない場合、マクロが拡張形式であっても、単一引用符で囲まれた値を入力する必要はありません。 例えば、<screen> エレメントの name 属性は単一引用符で囲みません。

<screen name="Screen1" entryscreen="true" exitscreen="true" transient="false" >
   ...
</screen>

マクロ言語エレメントについてのこの章の説明では、データ型を指定しないことによって、こうした属性 (拡張形式によって影響を受けない属性) を示します。 例えば、<screen> エレメントの name 属性の記述は、「必須のストリング」ではなく、「必須」です。

型付きデータ

大部分の属性には、特定のデータ型 (ブール、整数、ストリング、倍精度、またはインポート) が必要です。 これらの属性には、マクロ・エディターと同じ規則が適用されます。

<actions> エレメント

概要

<actions> エレメント、<description> エレメント、および <nextscreens> エレメントは、<screen> エレメント内に存在する 3 つの基本構造エレメントです (マクロ画面の概念視点を参照)。

<actions> エレメントには、マクロの再生時にマクロ・ランタイムが実行する、アクションと呼ばれるエレメント (例えば、キー・ストロークのシミュレート、データの取り込みなど) が含まれます (マクロ・アクションを参照)。

属性

promptall
オプションのブール (デフォルトは false)。この属性が true に設定されると、マクロ・ランタイムは、<actions> エレメント内のアクションを実行する前に、そのエレメント内の <prompt> エレメントに対するユーザー入力を収集します。具体的には次のとおりです。
  1. マクロ・ランタイムは、<actions> エレメントを検索して、そのエレメント内にある <prompt> エレメントを見付ける。
  2. マクロ・ランタイムは、すべての <prompt> エレメントのプロンプトをただちに表示する (すべてのプロンプトは 1 つのポップアップに結合されます)。
  3. マクロ・ランタイムは、すべてのポップアップ・ウィンドウのユーザー入力を収集する。
  4. マクロ・ランタイムは、<actions> エレメント内のすべてのエレメントを、通常どおりに順に実行する。
  5. マクロ・ランタイムは、<prompt> アクションに達すると、ユーザー入力用のポップアップ・ウィンドウを表示するのではなく、上記のステップ 3 からの入力を使用して <prompt> アクションを実行する。

<HAScript> エレメントの promptall 属性は、1 つのマクロ内のすべての <prompt> エレメントに対して同じ機能を実行します (<HAScript> エレメントを参照)。

XML サンプル

図 88. <actions> エレメントの例
<actions promptall="true">
   ...
</actions>
 

<attrib> エレメント

概要

<attrib> エレメントは、行と列の位置、および 3270 または 5250 属性の値を指定するディスクリプターです (属性ディスクリプター (<attrib> エレメント)を参照)。

属性

plane
必須。属性が置かれているデータ・プレーン。有効な値は次のとおりです。
value
必須。形式 0x37 の 16 進値。属性の値。
row
必須の整数。データ・プレーン内の属性の行の位置。
col
必須の整数。データ・プレーン内の属性の列の位置。
optional
オプションのブール (デフォルトは false)。オプショナルを参照してください。
invertmatch
オプションのブール。逆ディスクリプターを参照。
hostid
オプションのストリング。セッションの指定を参照。

XML サンプル

図 89. <attribute> エレメントの例
<attrib value="0x3" row="4" col="14" plane="COLOR_PLANE"
            optional="false" invertmatch="false" />
 

<boxselection> エレメント

概要

<boxselection> エレメントは、セッション・ウィンドウ上でマーキング長方形をドローして、ユーザーがセッション・ウィンドウをクリックし、左マウス・ボタンを押さえたままマウスをドラッグして、マーキング長方形を作成するアクションをシミュレートします (ボックス選択アクション (<boxselection> エレメント)を参照)。

属性

srow
必須の整数。マーキング長方形の起点コーナーの行座標。
scol
必須の整数。マーキング長方形の起点コーナーの列座標。
erow
必須の整数。マーキング長方形の終了コーナーの行座標。
ecol
必須の整数。マーキング長方形の終了コーナーの列座標。
type
オプション (デフォルト SELECT)。マーキング長方形をドローするには SELECT を選択し、マーキング長方形を除去するには DESELECT を選択します。
hostid
オプションのストリング。セッションの指定を参照。

XML サンプル

図 90. <boxselection> エレメントの例
<boxselection srow="6" scol="16" erow="7" ecol="73" type="SELECT" />
 

<comment> エレメント

概要

<comment> エレメントは、<screen> エレメント内のサブエレメントとしてテキスト・コメントを挿入します。制限事項は次のとおりです。

コメントの挿入方法

コメントを挿入するもっと柔軟な方法は、XML スタイルのコメント大括弧 (<!-- -->) を使用することです。マクロ・スクリプトへのコメントの挿入を参照してください。

属性

なし。

XML サンプル

図 91. <comment> エレメントの例
<screen name="Screen2" entryscreen="false" exitscreen="true"
               transient="false">
   <comment>This comment provides information about this macro screen.
   </comment>
   ...
</screen>

<commwait> エレメント

概要

<commwait> アクションは、セッションの通信状況が、指定されたなんらかの値に変わるのを待機します (通信待機アクション (<commwait> エレメント)を参照)。タイムアウト値を指定する必要があります。

属性

value
必須。待機する通信状況。この値は、次のいずれかでなければなりません (通信状態を参照)。
timeout
必須の整数。ミリ秒単位のタイムアウト値。指定された通信状況が発生しないうちにタイムアウトになる場合、マクロ・ランタイムはアクションを終了します。
hostid
オプションのストリング。セッションの指定を参照。

XML サンプル

図 92. <commwait> エレメントの例
<commwait value="CONNECTION_READY" timeout="10000" />

<condition> エレメント

概要

<condition> エレメントは、マクロ・ランタイムが画面認識時に評価する条件式を指定します。式が true に評価される場合、マクロ・ランタイムはこのディスクリプターを true と評価します。式が false に評価される場合、マクロ・ランタイムはこのディスクリプターを false と評価します (条件ディスクリプター (<condition> エレメント)を参照)。

条件式の詳細については、条件演算子と論理演算子および式を参照してください。

属性

value
必須式。マクロ・ランタイムが評価する条件式。この条件式には、演算式、変数、Java メソッド呼び出しからの戻り値、およびその他の条件式を含むことができます。
optional
オプションのブール (デフォルトは false)。オプショナルを参照してください。
invertmatch
オプションのブール。逆ディスクリプターを参照。

XML サンプル

図 93. <condition> エレメントの例
<description>
   <! Check the value of a variable -->
   <condition value="$intPartsComplete$ == 4"
            optional="false" invertmatch="false" />

   <!-- Check the return value of a Java method -->
   <condition value="$htHashTable.size()$ != 0"$
            optional="false" invertmatch="false" />
</description>

<create> エレメント

概要

<create> エレメントは変数を作成し、初期化します (変数の新規作成を参照)。

<create> エレメントは、<vars> エレメント内に存在する必要があります。

属性

name
必須。変数に割り当てる名前。変数名のスペルには、いくつかの制限があります (変数名と型名を参照)。
type
必須。変数の型。標準の型は、ストリング、整数、倍精度、ブール、フィールドです。また、Java クラスを表すインポート型も定義できます (変数の新規作成を参照)。
value
オプション。変数の初期値。初期値を指定しない場合、デフォルトの初期値は変数の型によって異なります (表 22 を参照)。

XML サンプル

図 94. <create> エレメントの例
<HAScript ... usevars="true" ... >
   <import>
      <type class="java.util.Properties" name="Properties" />
   </import>

   <vars>
      <create name="$prp$" type="Properties" value="$new Properties()$" />
      <create name="$strAccountName$" type="string" value="" />
      <create name="$intAmount$" type="integer" value="0" />
      <create name="$dblDistance$" type="double" value="0.0" />
      <create name="$boolSignedUp$" type="boolean" value="false" />
      <create name="$fldFunction$" type="field" />
   </vars>
   ...
</HAScript>
 

<cursor> エレメント

概要

<cursor> エレメントは、セッション・ウィンドウ上のテキスト・カーソルの行と列の位置を指定するディスクリプターです (カーソル・ディスクリプター (<cursor> エレメント)を参照)。

属性

row
必須の整数。テキスト・カーソルの行の位置。
col
必須の整数。テキスト・カーソルの列の位置。
optional
オプションのブール (デフォルトは false)。オプショナルを参照してください。
invertmatch
オプションのブール。逆ディスクリプターを参照。
hostid
オプションのストリング。セッションの指定を参照。

XML サンプル

図 95. <cursor> エレメントの例
<cursor row="4" col="14" optional="false" invertmatch="false" />

<custom> エレメント

概要

<custom> エレメントを使用すると、マクロ画面の <actions> エレメント内から、カスタム Java プログラムを起動することができます。ただし、別個の Host Access Toolkit 製品を使用する必要があります。

プロセスの概要は次のとおりです。

  1. マクロ画面の <actions> エレメントの処理中にアクションとして起動したい Java プログラムがあるものとします。
  2. コード・エディターで、カスタム Java プログラムを起動するロケーションで、<actions> エレメントに次の行を追加します。
    <custom id="'MyProgram1'" args="'arg1 arg2 arg3'"  />
  3. Host Access Toolkit 製品の MacroActionCustom クラスの指示に従います。MacroCustomActionListener をインプリメントするクラスを作成します。マクロ・ランタイムがステップ 2 の <custom> アクションを実行すると、execute() メソッドがイベントで呼び出されます。

属性

id
必須。実行したいカスタム Java プログラムを識別する任意のストリング。
args
オプション。カスタム Java プログラムに渡したい引数。

XML サンプル

図 96. <custom> エレメントの例
<custom id="'MyProgram1'" args="'arg1 arg2 arg3'" />
<custom id="'MyProgram2'" args="'arg1 arg2'" />

<customreco> エレメント

概要

この <customreco> エレメントを使用すると、カスタム記述コードにコールアウトすることができます。<customreco> エレメントを使用するには、別個の Host Access Toolkit 製品が必要です。

カスタム・ディスクリプターを作成する手順は、次のとおりです。

  1. カスタム記述を識別するストリング (例えば、MyCustomDescriptor01) を選択する。複数のタイプのカスタム記述があるので、ID は必須です。
  2. ECLCustomRecoListener インターフェースをインプリメントする。doReco() メソッドで、次のことを行います。
    1. 識別ストリングを調べるためのコードを追加して、そのストリングが自分のものであることを確認する。
    2. カスタム記述コードを追加する。
    3. カスタム記述に適合する場合は true を戻し、適合しない場合は false を戻す。
  3. コード・エディターを使用して、<customreco> エレメントをマクロ画面の <description> エレメントに追加する。<customreco> エレメントは、ステップ 2 で選択した ID を指定する必要があります。

マクロ・ランタイムは、他のすべてのディスクリプターを実行した後、<customreco> エレメントを実行します。

属性

id
必須のストリング。このカスタム記述に割り当てた ID。
optional
オプションのブール (デフォルトは false)。オプショナルを参照してください。
invertmatch
オプションのブール。逆ディスクリプターを参照。

XML サンプル

図 97. <customreco> エレメントの例
<customreco id="'MyCustomDescriptor01'" optional="false" invertmatch="false" />

<description> エレメント

概要

<actions> エレメント、<description> エレメント、および <nextscreens> エレメントは、<screen> エレメント内に存在する 3 つの基本構造エレメントです (マクロ画面の概念視点を参照)。

<description> エレメントには、ディスクリプターと呼ばれるエレメントが含まれます。各ディスクリプターは、アプリケーション画面の識別特性を指定します (画面記述と画面認識を参照)。 マクロ・ランタイムは、ディスクリプターを使用して、マクロ画面をアプリケーション画面と一致させます。

属性

uselogic
オプションのブール。デフォルト結合メソッドで使用可能な複数のディスクリプター間で、もっと複雑な論理関係を定義できます (uselogic 属性を参照)。

XML サンプル

図 98. <description> エレメントの例
<description uselogic="true">
   ...
</actions>
 

<else> エレメント

概要

<else> エレメントは、一連のマクロ・アクションを含み、<if> エレメントの直後に存在しなければなりません。 マクロ・ランタイムは、<if> エレメント内の条件式を評価します。 次に、

マクロ・オブジェクトは、<if> エレメント、および必要に応じて <else> エレメントを使用して、条件アクションを保管します (条件アクション (<if> エレメントおよび <else> エレメント)を参照)。

属性

なし。

XML サンプル

図 99. <else> エレメントの例
<if condition="($var_int$ > 10)">
   ...
</if>
<else>
   ...
</else>

<extract> エレメント

概要

この <extract> アクションは、セッション・ウィンドウからデータを取り込みます (抽出アクション (<extract> エレメント)を参照)。

属性

下記のすべての属性の使用については、抽出アクション (<extract> エレメント)を参照してください。

name
必須のストリング。抽出されたデータに割り当てられる名前。 この名前は、Host Access Toolkit 製品を使用する場合だけ有効です。
planetype
必須。データが取り出される元のプレーン。 TEXT_PLANE 以外のデータ・プレーンにアクセスするには、Host Access Toolkit 製品が必要です (Toolkit を使用したデータ・プレーンからのデータのキャプチャーを参照)。有効な値は次のとおりです。
srow
必須の整数。行と列の座標の最初のペアの行。
scol
必須の整数。行と列の座標の最初のペアの列。
erow
必須の整数。行と列の座標の 2 番目のペアの行。
scol
必須の整数。行と列の座標の 2 番目のペアの列。
unwrap
オプションのブール。この属性を true に設定すると、マクロ・ランタイムは、指定された長方形内で始まる任意のフィールドの内容全体を取り込みます。「テキストのアンラップ (Unwrap Text)」オプションを参照。
continuous
オプションのブール。この属性を true に設定すると、マクロ・ランタイムは、必要に応じて次の行に折り返す連続した一連のデータの開始と終了の位置として、行と列の座標を解釈します。 この属性を false に設定すると、マクロ・ランタイムは、長方形のテキスト域の左上隅と右下隅として、行と列の座標を解釈します。セッション・ウィンドウからのテキスト・シーケンスのキャプチャーを参照。
assigntovar
オプションの変数名。 この属性を変数名に設定すると、マクロ・ランタイムは、テキスト・プレーン・データをストリング値として変数に保管します。 変数が、ストリング以外の標準型 (つまり、ブール、整数、または倍精度) である場合、可能であれば、データはその標準型に変換されます。 データが変換できない場合、マクロは終了し、ランタイム・エラーを出します (テキストを格納する変数を指定するを参照)。
hostid
オプションのストリング。セッションの指定を参照。

XML サンプル

図 100. <extract> エレメントの例
<extract name="'Get Data'" srow="1" scol="1" erow="11" ecol="11"
            assignto="$strText$" />

<fileupload> エレメント

概要

<fileupload> エレメントはホスト・データベース内のテーブルの作成、置換、データの追加、または更新を行います (FileUpload アクション (<fileupload> エレメント)を参照)。

属性

url
必須のストリング。jdbc:as400://myISeries など、ファイル・アップロード・コマンドの送信先となるデータベース・サーバーのデータベース URL です (データベースの URLを参照)。
driver
必須のストリング。データベース・サーバーとの接続に使用されるドライバーの完全修飾パッケージ名です (COM.ibm.db2.jdbc.app.DB2DRIVER など)。このパッケージは、クライアント・ワークステーション上に存在している必要があります (ドライバー ID とドライバー・クラスを参照)。
userid
オプションのストリング。データベースにアクセスするためのユーザー ID (必要な場合) (ユーザー ID とパスワードを参照)。
password
オプションのストリング。データベースにアクセスするためのパスワード (必要な場合) (ユーザー ID とパスワードを参照)。
filename
必須のストリング。ホスト・データベース内のテーブルに追加されるデータを含むローカル・ファイルの完全パスおよび名前です (ファイル名およびファイル・タイプを参照)。
filetype
必須の整数。ホスト・データベース内のテーブルに追加されるデータを含むローカル・ファイルのタイプです (ファイル名およびファイル・タイプを参照)。 有効な値は次のとおりです。
uploadtype
必須のストリング。実行するファイル・アップロード処理のタイプです。有効な値は次のとおりです。
fielddesctable
ストリング (uploadtype が create の場合に必須)。データベース・サーバーが新規テーブルの列名および列幅を読み取るホスト・データベース内のテーブル名です (作成を参照)。
keycolumns
ストリング (uploadtype が update の場合に必須)。更新する列の名前 (複数可) です (更新を参照)。

XML サンプル

図 101. <fileupload> エレメントの例
<fileupload url="'jdbc:as400://elcrtp06'"  
   driver="'com.ibm.as400.access.AS400JDBCDriver'" 
   userid="'myuser'"
   password="Ex0bRtrf73mPrwGrWMT+/g=="
   filename="e:¥¥tm¥¥db02.txt"
   filetype="4"
   table="'hod.hodtest01'"
   uploadtype="append" />                                       

<filexfer> エレメント

概要

<filexfer> アクションは、ワークステーションからホストへ、またはホストからワークステーションへ、ファイルを転送します (抽出アクション (<extract> エレメント)を参照)。

属性

direction
必須。ワークステーションからホストへファイルを転送するには、send を使用し、ホストからワークステーションへファイルを転送するには receive を使用してください。
pcfile
必須のストリング。ワークステーション上のファイルの名前 (基本パラメーターを参照)。
hostfile
必須のストリング。ホスト上のファイルの名前 (基本パラメーターを参照)。
clear
必須のブール。3270 ディスプレイ・セッションの場合は true に設定し、5250 ディスプレイ・セッションの場合は false に設定してください (高度なパラメーターを参照)。
timeout
必須の整数。ミリ秒単位のタイムアウト値 (デフォルト値は 10000 ミリ秒)。ファイルが転送されないうちにこのタイムアウトになると、マクロ・ランタイムは転送を終了します。
options
オプションのストリング。ホスト・システムが必要とする任意の追加パラメーター。
pccodepage
オプションの整数 (例えば、437)。 ワークステーションの文字セットから、ホストの文字セットへの文字のマッピング、およびその逆の文字のマッピングで使用するローカル・コード・ページです。 デフォルト値は、セッション構成で指定されるコード・ページです。
hostorientation
オプション。BIDI セッション専用 (アラビア語とヘブライ語)。 ホスト・ファイルのテキスト方向が、右から左であるか、左から右であるかを指定します。
pcorientation
オプション。BIDI セッション専用 (アラビア語とヘブライ語)。 ローカル・ファイルのテキスト方向が、右から左であるか、左から右であるかを指定します。
pcfiletype
オプション。BIDI セッション専用 (アラビア語とヘブライ語)。 ローカル・ファイル・タイプが可視であるか、暗黙であるかを指定します。
lamalefexpansion
オプションのブール。BIDI セッション専用 (アラビア語のみ)。 ラームとアリフ拡張がオンであるかどうかを指定します。
lamalefcompression
オプションのブール。BIDI セッション専用 (アラビア語のみ)。 ラームとアリフ圧縮がオンであるかどうかを指定します。
hostid
オプションのストリング。セッションの指定を参照。

XML サンプル

図 102. <filexfer> エレメントの例
<filexfer direction="send" pcfile="'c:¥¥myfile.txt'"
            hostfile="'myfile text A0'"
            clear="true" timeout="10000" pccodepage="437" /> 

<HAScript> エレメント

概要

<HAScript> エレメントは、マクロ・スクリプトのマスター・エレメントです。 その他のエレメントを含み、マクロについてのグローバル情報を指定します (マクロ・スクリプトの概念視点を参照)。

属性

name
必須。マクロの名前。マクロ名は大/小文字が区別されます。
description
オプション。このマクロについての記述テキスト。 このマクロについて覚えておきたい情報をここに組み込みます。
timeout
オプションの整数。画面認識に使用できるミリ秒数。 このタイムアウト値が指定されているときに、これを超えると、マクロ・ランタイムは、マクロを終了し、メッセージを表示します (画面間のタイムアウト (「マクロ (Macro)」タブ)を参照)。 デフォルトでは、マクロ・エディターはこの値を 60000 ミリ秒 (60 秒) に設定します。
pausetime
オプションの整数。"アクション間の休止" の遅延です (アクション間の休止 (「マクロ (Macro)」タブ)を参照)。デフォルトでは、マクロ・エディターはこの値を 300 ミリ秒に設定します。
promptall
必須のブール。この属性が true に設定されると、マクロ・ランタイムは、最初のマクロ画面でアクションを実行する前に、マクロ全体内のすべての <prompt> エレメントに対するユーザー入力を収集し、個々のプロンプトを結合して 1 つの大きなプロンプトにします。 <actions> エレメントの promptall 属性は、1 つの <actions> エレメント内のすべての <prompt> エレメントに対して類似した機能を実行します (<actions> エレメントを参照)。
author
オプション。このマクロの作成者 (単数または複数)。
creationdate
オプション。このマクロの日付とバージョンについての情報。
suppressclearevents
オプションのブール (デフォルトは false)。 ホスト・アプリケーションが、clear screen コマンドの直後に、データ・ストリーム内のレコード終わり標識を続けて送信するときに、システムが画面イベントを無視するかどうかを判別する拡張機能。 アプリケーション・フロー内の画面に、すべてブランクのものがある場合、この値を true に設定できます。 マクロ内に有効なブランク画面があるときに、clear コマンドが無視される場合、すべてのブランクの画面イベントが、動作不良のホスト・アプリケーションからの clear コマンドによって生成される可能性があります。 これにより、画面認識イベントが処理され、有効なブランク画面が、一致してはならないときに一致します。
usevars
必須のブール (デフォルトは false)。 この属性が true に設定される場合、マクロは拡張マクロ形式を使用します (マクロ形式の選択を参照)。
ignorepauseforenhancedtn
オプション。3270 ディスプレイ・セッションのみ。 この属性が true に設定される場合、セッションが、コンテンション解消モードで実行される TN3270E セッションであれば、マクロ・ランタイムは、すべての <pause> エレメントをスキップします (画面の完了に関係する属性を参照)。 特定の <pause> エレメントを再度使用可能にするには、<pause> エレメントの ignorepauseoverride 属性を参照してください。
delayifnotenhancedtn
オプション。3270 ディスプレイ・セッションのみ。 この属性は、ミリ秒単位で値を指定し、セッションがコンテンション解消モードで実行される TN3270E セッションでない 場合だけ効果があります。 その状態では、この属性により、マクロ・ランタイムは、OIA 標識が変更されたという通知を受け取るたびに、指定された期間の休止を追加します (画面の完了に関係する属性を参照)。
blockTerminalInput
オプション。この属性の値が true のときは、マクロの再生中、キーボード入力およびマウス・クリックは無視されます。イベントは廃棄されます。入力がブロックされたことを表示するメッセージ・アクションを作成しないかぎり、ユーザーに対する表示はありません。
ignorepausetimeforenhancedtn
コンテンション解消環境での実行時にマクロの pausetime 属性を無視できる ようになりました。新規属性の「ignorepausetimeforenhancedtn」が、<HAScript> マクロ・エレメントに追加されました。この属性では、<HAScript> の pausetime 属性、および <screen> の pause 属性の両方を無視できます。 この属性に指定できる値は、次のとおりです。

True: <HAScript> の pausetime 属性と <screen> の pause 属性の両方が無視されます。入力/プロンプト・アクションの後、または画面間 で、一時停止は発生しません。これはデフォルト値です。

False <HAScript> の pausetime 属性、および <screen> の pause 属性は無視されません。

ignorepausetimeforenhancedtn は、非コンテンション解消環境で実行されている 場合は、影響がないことに注意してください。 つまり、ignorepausetimeforenhancedtn が true でも、非コンテンション解消環境 で実行されている場合は、<HAScript> の pausetime 属性、および <screen> の pause 属性は無視されません。

コンテンション解消環境でのマクロの実行方法に影響を 与える、ignorepauseforenhancedtn、delayifnotenhancedtn、およびその他 2 つの 属性について詳しくは、「マクロ・プログラミング・ガイド」を参照してください。 ignorepausetimeforenhancedtn の値を表示または変更するには、マクロ・エディター のコード・エディターを使用してください。

XML サンプル

図 103. <HAScript> エレメントの例
<HAScript name="ispf_ex2" description="ISPF Sample2" timeout="60000"
            pausetime="300" promptall="true" author="Owner"
            creationdate="Sun Jun 08 12:04:26 PDT 2003"
            supressclearevents="false" usevars="true"
            ignorepauseforenhancedtn="false"
            delayifnotenhancedtn="0">
   ...
</HAScript>

<if> エレメント

概要

<if> エレメントには、条件式と一連のマクロ・アクションが含まれています。 マクロ・ランタイムは、<if> エレメント内の条件式を評価します。 次に、

マクロ・オブジェクトは、<if> エレメント、および必要に応じて <else> エレメントを使用して、条件アクションを保管します (条件アクション (<if> エレメントおよび <else> エレメント)を参照)。

属性

condition
必須。条件式。条件式には論理演算子と条件演算子を指定でき、 また演算式、即時値、変数、および Java メソッドの呼び出しを含む 項を指定できます (条件演算子と論理演算子および式を参照)。

XML サンプル

図 104. <if> エレメントの例
<vars>
   <create name="$condition1$" type="string"/>
   <create name="$condition2$" type="boolean" value="false"/>
   <create name="$condition3$" type="integer"/>
</vars>
<screen>
   <description>
        ...
   </description>
   <actions promptall="true">
      <extract name="Get condition 1" srow="2" scol="1" erow="2"
               ecol="80" assigntovar="$condition1$"/>
      <extract name="Get condition 2" srow="3" scol="1" erow="3"
               ecol="80" assigntovar="$condition2$"/>
      <extract name="Get condition 3" srow="4" scol="1" erow="4"
               ecol="80" assigntovar="$condition3$"/>

      <if condition=
               "(($condition1$ !='')&&
               ($condition2$)||($condition3$ < 100))">
           ...
      </if>
      <else>
           ...
      </else>
   </actions>
</screen>

<import> エレメント

概要

<import> エレメント、<vars> エレメント、および <screen> エレメントは、<HAScript> エレメント内に存在する 3 つの基本構造エレメントです (マクロ・スクリプトの概念視点を参照)。

<import> エレメントはオプションです。 これには <type> エレメントが含まれ、それぞれが、Java クラスに基づいて インポート型を宣言します (Java クラスのインポート型の作成を参照)。

<import> エレメントは、<HAScript> 開始タグの後、かつ <vars> エレメントの前に存在しなければなりません。

属性

なし。

XML サンプル

図 105. <import> エレメントの例
<HAScript .... >
   <import>
      <type class="java.util.Properties" name="Properties" />
   </import>

   <vars>
      <create name="$prp$" type="Properties" value="$new Properties()$" />
   </vars>
...
</HAScript>

<input> エレメント

概要

<input> エレメントは、キー・ストロークのシーケンスをセッション・ウィンドウに送信します。 このシーケンスには、文字 (例えば、a、b、c、#、& など) を表示するキー、およびアクション・キー (例えば、[enterreset]、[copy]、[paste] など) を含むことができます (入力アクション (<input> エレメント)を参照)。

属性

value
必須のストリング。セッション・ウィンドウに送信される一連のキー (入力ストリングを参照)。
row
オプションの整数 (デフォルトは、テキスト・カーソルの現在位置)。 入力が開始する行 (タイプ入力の開始位置を参照)。
col
オプションの整数 (デフォルトは、テキスト・カーソルの現在位置)。 入力が開始する桁 (タイプ入力の開始位置を参照)。
movecursor
オプションのブール (デフォルトは true)。 この属性を true に設定すると、マクロ・ランタイムは、テキスト・カーソルを入力の末尾に移動します (カーソルを入力の最後に移動を参照)。
xlatehostkeys
オプションのブール (デフォルトは true)。 この属性を true に設定すると、マクロ・ランタイムは、アクション・キー (例えば、[enter]) の名前を、文字シーケンスとしてではなく、アクション・キーとして解釈します (ホスト・アクション・キーの変換を参照)。
encrypted
オプションのブール (デフォルトは false)。 この属性を true に設定すると、コード・エディターは、終了時に value 属性に格納されている一連のキーを暗号化します (パスワードを参照)。
hostid
オプションのストリング。セッションの指定を参照。

XML サンプル

図 106. <input> エレメントの例
<input value="'3[enter]'" row="4" column="14" movecursor="true"
            xlatehostkeys="true" encrypted="false"/>
 

<message> エレメント

概要

<message> エレメントは、表題、メッセージ、および「OK」ボタンを含む、ポップアップ・ウィンドウを表示します。 マクロ・ランタイムは、ユーザーが OK をクリックするまで待ってから、次のアクションに進みます (メッセージ・アクション (<message> エレメント)を参照)。

属性

title
オプションのストリング (デフォルトはマクロ名)。 ポップアップ・ウィンドウの表題バーに表示されるストリング。
value
必須のストリング。ポップアップ・ウィンドウに表示されるメッセージ。

XML サンプル

図 107. <message> エレメントの例
<message title="'Ready'" value="'Ready to process. Click OK to proceed.'" />

<mouseclick> エレメント

概要

<mouseclick> エレメントは、ユーザーによるセッション・ウィンドウ上のマウス・クリックをシミュレートします。 実際のマウス・クリックと同じように、テキスト・カーソルは、クリックが行われたときにマウス・アイコンがポイントしていた行と列の位置にジャンプします (マウス・クリック・アクション (<mouseclick> エレメント)を参照)。

属性

row
必須の整数。マウス・クリックが行われるセッション・ウィンドウ上の行と列の位置の行。
col
必須の整数。マウス・クリックが行われるセッション・ウィンドウ上の行と列の位置の列。
hostid
オプションのストリング。セッションの指定を参照。

XML サンプル

図 108. <mouseclick> エレメントの例
<mouseclick row="20" col="16" />
 

<nextscreen> エレメント

概要

<nextscreen> エレメントは、マクロ・ランタイムが、特に次に処理するマクロ画面の候補と見なす <screen> エレメント (マクロ画面) の名前を指定します (有効な次画面を参照)。

<nextscreen> エレメントは、<nextscreens> エレメント内に存在する必要があります。

属性

name
必須。次に処理するマクロ画面の候補である <screen> エレメントの名前。

XML サンプル

   <!--
   The effect of the following <nextscreens> element and its contents
   is that when the macro runtime finishes performing the actions in
   the current screen, it adds ScreenS and ScreenG to the runtime list of
   valid next screens.
   -->
   <nextscreens>
      <nextscreen name="ScreenS">
      <nextscreen name="ScreenG">
   </nextscreens>    

<nextscreens> エレメント

概要

<actions> エレメント、<description> エレメント、および <nextscreens> エレメントは、<screen> エレメント内に存在する 3 つの基本構造エレメントです (マクロ画面の概念視点を参照)。

<nextscreens> エレメントには、複数の <nextscreen> エレメントが含まれ、各エレメントは、現行のマクロ画面の後に表示されるマクロ画面の名前を指定します (画面認識、パート 2を参照)。

属性

timeout
オプションの整数。画面認識タイムアウトの値 (ミリ秒)。 マクロ・ランタイムは、このタイムアウト値が満了する前に、名前が有効な次画面のランタイム・リスト上にあるマクロ画面を、アプリケーション画面と一致させることができない場合、マクロを終了します (画面認識のタイムアウト設定を参照)。

XML サンプル

   <!--
   The effect of the following <nextscreens> element and its contents
   is that when the macro runtime finishes performing the actions in
   the current screen, it will attempt to recognize ScreenS and ScreenG.
   -->
   <nextscreens>
      <nextscreen name="ScreenS">
      <nextscreen name="ScreenG">
   </nextscreens>    

<numfields> エレメント

概要

<numfields> エレメントは、セッション・ウィンドウ内に存在する、すべての型の 3270 または 5250 フィールドの数を指定するディスクリプターです (「フィールド数 (Number of Fields)」ディスクリプター (<numfields> エレメント)を参照)。

属性

number
必須の整数。セッション・ウィンドウ内のフィールド数。
optional
オプションのブール (デフォルトは false)。オプショナルを参照してください。
invertmatch
オプションのブール (デフォルトは false)。逆ディスクリプターを参照。
hostid
オプションのストリング。セッションの指定を参照。

XML サンプル

図 109. <numfields> エレメントの例
<numfields number="10" optional="false" invertmatch="false" />

<numinputfields> エレメント

概要

<numinputfields> エレメントは、セッション・ウィンドウ内に存在する 3270 または 5250 入力フィールドの数を指定するディスクリプターです (「Number of Input Fields」ディスクリプター (<numinputfields> エレメント)を参照)。

属性

number
必須の整数。セッション・ウィンドウ内のフィールド数。
optional
オプションのブール (デフォルトは false)。オプショナルを参照してください。
invertmatch
オプションのブール (デフォルトは false)。逆ディスクリプターを参照。
hostid
オプションのストリング。セッションの指定を参照。

XML サンプル

図 110. <numinputfields> エレメントの例
<numinputfields number="10" optional="false" invertmatch="false" />
 

<oia> エレメント

概要

<oia> エレメントは、セッション・ウィンドウ内の入力禁止標識の状態を記述するディスクリプターです (「OIA が禁止解除になるのを待つ (Wait for OIA to Become Uninhibited)」ディスクリプター (<oia> エレメント)を参照)。

属性

status
必須。次の値にすることができます。
optional
オプションのブール (デフォルトは false)。オプショナルを参照してください。
invertmatch
オプションのブール。逆ディスクリプターを参照。
hostid
オプションのストリング。セッションの指定を参照。

XML サンプル

図 111. <oia> エレメントの例
<oia status="NOTINHIBITED" optional="false" invertmatch="false" />

<pause> エレメント

概要

<pause> エレメントは、指定されたミリ秒数の間、待機します (休止アクション (<pause> エレメント)を参照)。

属性

value
オプションの整数。待機するミリ秒数。この属性を指定しない場合、マクロ・オブジェクトは、スクリプトを保管するときに、属性 "value=10000" (10 秒) をこのエレメントに追加します。
ignorepauseoverride
オプションのブール (デフォルトは false)。3270 ディスプレイ・セッション専用。 この属性を true に設定すると、マクロ・ランタイムは、<HAScript> エレメントの ignorepauseforenhancedtn 属性が true に設定されている場合であっても、<pause> エレメントを処理します (画面の完了に関係する属性を参照)。

XML サンプル

図 112. <pause> エレメントの例
<pause timeout="5000">   

<perform> エレメント

概要

<perform> エレメントは、インポートした Java クラスに属するメソッドを呼び出します (Java クラスのインポート型の作成を参照)。

<perform> エレメント以外の多くのコンテキストでも、メソッドを呼び出すことができます。 しかし、値を戻さないメソッドを呼び出したい場合は、<perform> エレメントが便利です (実行アクション (<perform> エレメント)を参照)。

属性

value
必須。変数と同じように、メソッド呼び出しをドル記号 ($) で囲む必要があります (メソッド呼び出しの構文を参照)。 マクロ・エディターで実行アクションを作成する場合に使用するのと同じ形式で、メソッド呼び出しのパラメーター (ある場合) を指定する必要があります。

XML サンプル

図 113. <perform> エレメントの例
<!-- Call the update() method associated with the class to which
     importedVar belongs (such as mypackage.MyClass).
-->
<perform value="$importedVar.update( 5, 'Application', $str$)$" />

<playmacro> エレメント

概要

<playmacro> エレメントは、現行のマクロを終了し、別のマクロを起動します (PlayMacro アクション (<playmacro> エレメント)を参照)。 このプロセスは、マクロのチェーニングと呼ばれます。

<playmacro> エレメントを <actions> エレメント内に配置する場所には、制限があります (PlayMacro アクションの追加を参照)。

Host Access Toolkit を使用する場合は、次のアクションを実行する必要があります。

属性

name
必須。ターゲット・マクロの名前。 ターゲット・マクロは、呼び出し側マクロと同じロケーションに存在する必要があります (ターゲット・マクロのファイル名と開始画面を参照)。 マクロ名は大/小文字が区別されます。
startscreen
オプション。マクロ・ランタイムがターゲット・マクロの処理を開始するマクロ画面 (<screen> エレメント) の名前。 マクロ・ランタイムに、ターゲット・マクロの通常の開始画面から開始させるには、値 *DEFAULT* を使用するか、このパラメーターを省略してください。
transfervars
必須。この属性を Transfer に設定すると、マクロ・ランタイムは、呼び出し側マクロに属する変数をターゲット・マクロに転送します (変数の転送を参照)。 デフォルトは No Transfer です。

XML サンプル

図 114. <playmacro> エレメントの例
<playmacro name="ispf_ex1.mac" startscreen="ScreenA"
                 transfervars="Transfer" />

<print> エレメント

概要

<print> エレメントは、印刷機能を提供します。 3 つの基本印刷アクション (開始、抽出、および終了) は、action 属性を使用して指定されます (印刷アクション (<print> エレメント)を参照)。

属性

action
必須。実行される印刷アクション。startextractend のいずれかでなければなりません。
srow
actionextract である場合は、必須の整数。 印刷される長方形のテキスト域の、行と列の座標の最初のペアの行。
scol
actionextract である場合は、必須の整数。 印刷される長方形のテキスト域の、行と列の座標の最初のペアの列。
erow
actionextract である場合は、必須の整数。 印刷される長方形のテキスト域の、行と列の座標の 2 番目のペアの行。
ecol
actionextract である場合は、必須の整数。 印刷される長方形のテキスト域の、行と列の座標の 2 番目のペアの列。
assigntovar
オプションの変数。 印刷アクションからの戻りコードを含む変数の名前を指定します。
hostid
オプションのストリング。この属性は、actionextract の場合のみ使用できます。セッションの指定を参照してください。

XML サンプル

図 115. <print> エレメントの例
<print action="start" assigntovar="$intReturnCode$" />
<print action="extract" srow="1" scol="1" erow="-1" ecol="-1"  />
<print action="end" />

<prompt> エレメント

概要

<prompt> エレメントは、ユーザーに入力を求めるポップアップ・ウィンドウを表示し、ユーザーが OK をクリックするのを待ってから、その入力をセッション・ウィンドウに送信します (プロンプト・アクション (<prompt> エレメント)を参照)。

属性

name
オプションのストリング。'Enter your response here:' のような、ポップアップ・ウィンドウに表示されるテキスト (プロンプト・ウィンドウの各部分を参照)。
description
オプションのストリング。このアクションの記述。 この記述は表示されません (プロンプト・ウィンドウの各部分を参照)。
row
必須の整数。マクロ・ランタイムがユーザーからの入力を開始する、セッション・ウィンドウ上の行。
col
必須の整数。マクロ・ランタイムがユーザーからの入力を開始する、セッション・ウィンドウ上の列 (セッション・ウィンドウでの入力シーケンスの処理を参照)。
len
必須の整数。ユーザーがプロンプト入力フィールドに入力できる文字数 (応答の長さを参照)。
default
オプションのストリング。ポップアップ・ウィンドウの入力フィールドに表示されるテキスト。 ユーザーが入力フィールドに入力するのでなく、単に OK をクリックするだけの場合、マクロ・ランタイムは、このデフォルト入力をセッション・ウィンドウに送信します (デフォルト応答を参照)。
clearfield
オプションのブール。この属性を true に設定すると、マクロ・ランタイムは、入力シーケンスをセッション・ウィンドウに送信する前に、行と列の位置が存在するセッション・ウィンドウの入力フィールドをクリアします (セッション・ウィンドウでの入力シーケンスの処理を参照)。
encrypted
オプションのブール。この属性を true に設定すると、ユーザーがウィンドウの入力フィールドにキーを入力するときに、マクロ・ランタイムは、そのキーに関連した文字ではなく、アスタリスク (*) を表示します (パスワード応答を参照)。
movecursor
オプションのブール。この属性を true に設定すると、マクロ・ランタイムは、カーソルを入力の末尾に移動します (セッション・ウィンドウでの入力シーケンスの処理を参照)。
xlatehostkeys
オプションのブール。この属性を true に設定すると、マクロ・ランタイムは、アクション・キー (例えば、[enter]) の名前を、文字シーケンスとしてではなく、アクション・キーとして解釈します (アクション・キーとホスト・アクション・キーの変換を参照)。
assigntovar
オプションの変数名。 この属性を変数名に設定すると、マクロ・ランタイムは、ユーザーがここで指定する名前を持つ変数に、入力を保管します (変数への入力シーケンスの割り当てを参照)。
varupdateonly
オプションのブール。この属性を true に設定すると、マクロ・ランタイムは、変数に入力を保管し、その入力をセッション・ウィンドウに送信しません (セッション・ウィンドウでの入力シーケンスの処理を参照)。 この属性が有効なのは、assigntovar 属性が true に設定されている場合だけです。
required
オプションのブール。この属性を true に設定すると、マクロ・ランタイムはプロンプト・ウィンドウの入力フィールドにテキストが格納されないかぎり、プロンプト・ウィンドウの「OK」ボタンを使用不可にします。 入力フィールドにテキストが格納されるのは、「デフォルト応答 (Default Response)」が指定されている場合、または入力フィールドにテキストが入力された場合です (応答の要求を参照)。
hostid
オプションのストリング。セッションの指定を参照。

XML サンプル

図 116. <prompt> エレメントの例
<prompt name="'ID'" row="1" col="1" len="8" description="'ID for Logon'"
        default="'guest'" clearfield="true" encrypted="true"
        assigntovar="$userID$" varupdateonly="true" required="true"/> 

<recolimit> エレメント

概要

<recolimit> エレメントは、<description>、<actions>、および <nextscreens> エレメントと同じレベルで、<screen> エレメント内に存在するオプションのエレメントです (認識限度 (「画面 (Screens)」タブの「一般 (General)」タブ)を参照)。

<recolimit> エレメントを使用すると、指定された回数より多くこのエレメントが表示されるマクロ画面をマクロ・ランタイムが処理する場合、処置を取ることができます。

属性

value
必須の整数。認識限界。 マクロ・ランタイムがマクロ画面を何度も認識する場合、マクロ・ランタイムは、このマクロ画面のアクションを処理するのではなく、指定されたアクションを実行します。
goto
オプションのストリング (デフォルトは、マクロ・ランタイムがエラー・メッセージを表示し、マクロを終了することです)。 認識限界に達したときにマクロ・ランタイムが処理を開始する、マクロ画面の名前。

XML サンプル

図 117. <recolimit の例
<recolimit value="1" goto="RecoveryScreen1" />

<runprogram> エレメント

概要

<runprogram> エレメントは、ネイティブ・アプリケーションを起動し、オプションとして、そのアプリケーションの終了を待機します。 このアプリケーションの入力パラメーターを指定し、戻りコードを変数に保管することができます (プログラム実行アクション (<runprogram> エレメント)を参照)。

属性

exe
必須のストリング。ネイティブ・アプリケーションのパスと名前 (ネイティブ・アプリケーションの起動を参照)。
param
オプションのストリング。ネイティブ・アプリケーションが起動されるときに指定される引数。
wait
オプションのブール。この属性を true に設定すると、マクロ・ランタイムは、ネイティブ・アプリケーションが終了するまで待機します。
assignexitvalue
オプションの変数。 ネイティブ・アプリケーションからの戻り値が保管される変数の名前。

XML サンプル

図 118. <runprogram> エレメントの例
<runprogram exe=
      "’%ProgramFiles%¥Windows NT¥Accessories¥wordpad.exe’"
      param="’c:¥¥tm¥¥new_file.doc’" wait="true"
      assignexitvalue="$intReturn$" />
<message title="" value="’Return value is ’+
         $intReturn$" />

<screen> エレメント

概要

<screen> エレメント、<import> エレメント、および <vars> エレメントは、<HAScript> エレメント内に存在する 3 つの基本構造エレメントです (マクロ・スクリプトの概念視点を参照)。

マクロ内には、複数の screen エレメントが存在できます。 1 つの <screen> エレメントには、1 つのマクロ画面のすべての情報が入っています (マクロ画面とそのサブコンポーネントを参照)。

<screen> エレメントには、3 つの基本構造エレメント (<actions> エレメント、<description> エレメント、および <nextscreens> エレメント) が含まれます (マクロ画面の概念視点を参照)。

属性

name
必須。この <screen> エレメント (マクロ画面) の名前。 この名前は、すでに存在している <screen> エレメントの名前と同じあってはなりません。
entryscreen
オプションのブール (デフォルトは false)。この属性を true に設定すると、マクロ・ランタイムは、この <screen> エレメントをマクロの有効な開始画面として取り扱います (入り口画面を参照)。
exitscreen
オプションのブール (デフォルトは false)。この属性を true に設定すると、マクロ・ランタイムは、この <screen> エレメントをマクロの有効な出口画面として取り扱います (出口画面を参照)。
transient
オプションのブール (デフォルトは false)。この属性を true に設定すると、マクロ・ランタイムは、いつでも表示され、常にクリアする必要がある画面として、この <screen> エレメントを取り扱います (一時画面を参照)。
pause
オプションの整数 (デフォルトは -1)。 この属性の値をミリ秒で指定すると、この <screen> エレメントのマクロ・ランタイムは (<HAScript> エレメントの pausetime 属性を使用して設定された) "アクション間の休止" に関するデフォルト遅延を無視し、代わりにこの値を使用します (休止時間の設定 (「画面 (Screens)」タブの「一般」タブ)を参照)。

XML サンプル

図 119. <screen> エレメントの例
<screen name="ScreenB" entryscreen="false" exitscreen="false"
            transient="false">
   <description>
      ...
   </description>
   <actions>
      ...
   </actions>
   <nextscreens>
      ...
   </nextscreens>
</screen>   
 

<sqlquery> エレメント

概要

<sqlquery> エレメントはデータベースに SQL ステートメントを送信し、SQL ステートメントから作成されたデータがあればこれを検索して、グローバル変数に格納したり、ファイルに書き込んだり、データを表示します (SQLQuery アクション (<sqlquery> エレメント)を参照)。

属性

url
必須のストリング。jdbc:as400://myISeries など、SQL ステートメントの送信先となるデータベース・サーバーのデータベース URL です (データベースの URLを参照)。
driver
必須のストリング。データベース・サーバーとの接続に使用されるドライバーの完全修飾パッケージ名です (COM.ibm.db2.jdbc.app.DB2DRIVER など)。このパッケージは、クライアント・ワークステーション上に存在している必要があります (ドライバー ID とドライバー・クラスを参照)。
userid
オプションのストリング。データベースにアクセスするためのユーザー ID (必要な場合) (ユーザー ID とパスワードを参照)。
password
オプションのストリング。データベースにアクセスするためのパスワード (必要な場合) (ユーザー ID とパスワードを参照)。
statement
必須のストリング。SQL ステートメントです (ステートメントを参照)。
outputtype
必須の整数。SQL ステートメントから作成されたデータの転送先です。 有効な値は次のとおりです。
outfilename
ストリング (outputtype が 1 の場合に必須)。出力ファイルの完全パスおよび名前です (ファイルへのデータの書き込みを参照)。
outfiletype
整数 (outputtype が 1 の場合に必須)。出力ファイルのタイプです (ファイルへのデータの書き込みを参照)。有効な値は次のとおりです。
overwrite
ブール (outputtype が 1 の場合に必須)。ファイルを上書きするか、ファイルに追加するかのいずれかを指定します (ファイルへのデータの書き込みを参照)。
inbrowser
ブール (outputtype が 1 の場合に必須)。この属性を true に設定すると、マクロ・ランタイムは指定したファイルにデータを書き込んだ後に、ファイルの内容をデフォルト・ブラウザーに表示します (ファイルへのデータの書き込みを参照)。
holdondisplay
ブール (outputtype が 2 の場合に必須)。この属性を true に設定すると、マクロ・ランタイムはデータ表示後にエンド・ユーザーからの応答があるまで待機してから、次のマクロ・アクションの処理を開始します (データの表示を参照)。
mlprops
オプションのストリング。outfiletype が 5 (XML) または 6 (HTML) の場合、この属性にはファイル設定が格納されます。 この属性のフォーマットは、次のとおりです。
mlprops="key1@@value1
@@key2@@value2@@key3@@value3"
ここで、key1key2key3 などは HTML または XML 設定の名前です。value1value2value3 などは HTML または XML 設定の値です。 コード・エディターを使用してこの属性を手動で設定できますが、これらの設定を変更する場合は、 SQL Wizard の対応する設定を変更し、値をマクロ・エディターに保管することを推奨します (SQL ウィザードの使用を参照)。

XML サンプル

図 120. <sqlquery> エレメントの例
<sqlquery url="'jdbc:as400://elcrtp06'"  
   driver="'com.ibm.as400.access.AS400JDBCDriver'" 
   userid="'myuser'"
   password="Ex0bRtrf73mPrwGrWMT+/g=="
   statement="'SELECT * FROM HODTEST WHERE ((HODTEST.DESCRIPT is not null))'"
   outputtype="1" 
   outfilename="'MyFile'" 
   outfiletype="4" 
   overwrite="true"  
   inbrowser="false" />                                       

<string> エレメント

概要

<string> エレメントは、文字のシーケンス、およびそのシーケンスがあるセッション・ウィンドウの長方形域を指定するディスクリプターです (ストリング・ディスクリプター (<string> エレメント)を参照)。

文字のシーケンスは、長方形ブロック内の任意の場所に存在することができます。

属性

value
必須のストリング。文字のシーケンス。
row
オプションの整数 (デフォルトは画面全体の検索)。 長方形のテキスト・ブロックの一方のコーナーの行位置。
col
オプションの整数。長方形のテキスト・ブロックの一方のコーナーの列位置。
erow
オプションの整数。長方形のテキスト・ブロックの向かい側のコーナーの行位置。
ecol
オプションの整数。長方形のテキスト・ブロックの向かい側のコーナーの列位置。
casesense
オプションのブール (デフォルトは false)。この属性を true に設定すると、マクロ・ランタイムは、大/小文字の区別のあるストリング比較を実行します。
wrap
オプションのブール (デフォルトは false)。
optional
オプションのブール (デフォルトは false)。オプショナルを参照してください。
invertmatch
オプションのブール。逆ディスクリプターを参照。
hostid
オプションのストリング。セッションの指定を参照。

XML サンプル

図 121. <string> エレメントの例
   <!-- The string must occur in one specific area of a single row  -->
   <string value="'Utility Selection Panel'" row="3" col="28"
               erow="3" ecol="51" casesense="false" wrap="false"
               optional="false" invertmatch="false" />

   <!-- The string can occur in any single row of the session area -->
   <string value="'Utility Selection Panel'" row="1" col="1"
               erow="-1" ecol="-1" casesense="false" wrap="false"
               optional="false" invertmatch="false" />
 

<trace> エレメント

概要

<trace> エレメントは、ユーザーが指定するトレース宛先 (例えば、Java コンソール) に、トレース・メッセージを送信します (トレース・アクション (<trace> エレメント)を参照)。

属性

type
必須。トレース・データの宛先。 この宛先は、次のいずれかでなければなりません。
value
必須のストリング。トレースの宛先に送信されるストリング。

XML サンプル

図 122. <trace> エレメントの例
<trace type="SYSOUT" value="’The value is ’+$strData$" />

<type> エレメント

概要

<type> エレメントは、Java クラス (例えば、java.util.Properties) を表す インポート型 (例えば、Properties) を宣言します。 型を宣言した後、その型に基づいて変数を作成し、Java クラスのインスタンスを作成し、そのインスタンスでメソッドを呼び出すことができます (Java クラスのインポート型の作成を参照)。

また、型は、静的メソッドを直接呼び出すのにも使用できます (インスタンスを生成する必要がありません)。

<type> エレメントは、<import> エレメント内に存在する必要があります。

属性

class
必須。パッケージ名 (例えば、java.util.Properties) があれば、これを含めて、インポートされるクラスの完全修飾クラス名。
name
オプション。インポート型を参照するためにマクロ内の他の場所で使用できる、短い名前 (例えば、Properties)。 短い名前を指定しない場合、短い名前は、完全修飾クラス名と同じになります。 型名のスペルには、いくつかの制限があります (変数名と型名を参照)。

XML サンプル

   <import>
      <type class="java.util.Date" name="Date"/>
      <type class="java.io.FileInputStream"/>
      <type class="com.ibm.eNetwork.beans.HOD.HODBean" name="HODBean"/>
      <type class="myPackage.MyClass" name="MyClass"/>
   </import>       

<vars> エレメント

概要

<vars> エレメント、<import> エレメント、および <screen> エレメントは、<HAScript> エレメント内に存在する 3 つの基本構造エレメントです (マクロ・スクリプトの概念視点を参照)。

<vars> エレメントはオプションです。 このエレメントには、複数の <create> エレメントが含まれ、各エレメントは、変数を宣言し、初期化します (変数の新規作成を参照)。 <vars> エレメントは、<import> エレメントの後、かつ最初の <screen> エレメントの前に存在しなければなりません。

変数を使用するには、<HAScript> 内の usevars エレメントを true に設定する必要があります。

属性

なし。

XML サンプル

図 123. <vars> エレメントの例
<HAScript ... usevars="true" .... >
   <import>
      <type class="java.util.Properties" name="Properties" />
   </import>

   <vars>
      <create name="$prp$" type="Properties" value="$new Properties()$" />
      <create name="$strAccountName$" type="string" value="" />
      <create name="$intAmount$" type="integer" value="0" />
      <create name="$dblDistance$" type="double" value="0.0" />
      <create name="$boolSignedUp$" type="boolean" value="false" />
      <create name="$fldFunction$" type="field" />
   </vars>
   ...
</HAScript>

<varupdate> エレメント

概要

<varupdate> エレメントにより、マクロ・ランタイムは、指定された値を指定された変数に保管します。 この値は、即時値、変数、Java メソッドの呼び出し、またはこれらの値のいずれかを含むことができる演算式にすることができます。 値が式である場合、マクロの再生時に、マクロ・ランタイムはその式を評価し、指定された変数に結果の値を保管します (変数更新アクション (<varupdate> エレメント)を参照)。

また、<description> エレメント内の <varupdate> アクションを使用することもできます (変数更新アクション (<varupdate> エレメント)を参照)。

変数の詳細については、変数とインポートした Java クラスを参照してください。

属性

name
必須。変数の名前。
value
必須のストリング。変数に割り当てられる値または式。

XML サンプル

図 124. <varupdate> エレメントの例
<type>
   <type class="mypackage.MyClass" name="MyClass" />
   <type class="java.util.Hashtable" name="Hashtable" />
   <type class="java.lang.Object" name="Object" />
</type>

<vars>
   ...
</vars>

<screen>
   <description>
   ...
   </description>
   <actions>
      <varupdate name="$var_boolean1$"  value="false" />
      <varupdate name="$var_int1$"      value="5" />
      <varupdate name="$var_double1$"   value="5" />
      <varupdate name="$var_string1$"   value="'oak tree'" />
      <varupdate name="$var_field1$"    value="4,5" />

      <!-- null keyword -->
      <varupdate name="$var_importedMC1$"  value="null" />
      <!--  Equivalent to null keyword for an imported type  -->
      <varupdate name="$var_importedMC2$"  value="" />

      <varupdate name="$var_importedMC4$"
                  value="$new MyClass( 'myparam1', 'myparam2' )$" />
      <varupdate name="$var_importedMC5$"
                  value="$var_importedMC4$" />
      <varupdate name="$var_importedMC6$"
                  value="$MyClass.createInstance( 'mystringparam1' )$" />
      <varupdate name="$var_boolean2$"
                  value="$var_importedMC4.isEmpty()$" />
      <varupdate name="$var_int2$"
                  value="$($var_importedMC4.getHashtable()$).size()$" />
      <varupdate name="$var_double2$"
                  value="$var_importedMC4.getMeters()$" />
      <varupdate name="$var_string2$"
                  value="$var_importedMC4.toString()" />
   </actions>
</screen>