Screen

 Input Assistant 

目的
InputScriptで画面の自動処理を開始します。

InputAssistantがトランザクションを内部で処理するとき、InputScriptで次に一致するScreenコマンドが検索され、対応するスクリプトコマンドが実行されます。 一致するScreenコマンドが見つからない場合は、画面が表示され、ユーザーはトランザクションを完了できます。

Screen SAPMF05A.0300

これにより、プログラムの画面0300の処理が開始されます。

書式
Screen program.screennumber
ヒントとコツ
Ÿ  ネストされた画面の場合、トップ画面、つまりユーザーが値を入力する画面のみが指定されます。

Ÿ  スクリーン番号を4桁で指定します。

Ÿ  if … endif内でScreenコマンドを使用しないでください。これを行うと、スクリプトが理解しにくくなり、予期しない動作が発生する場合があります。

悪い例:

Screen S1
Set V[x] “a”
Enter

if V[x=b]

Screen S2
Enter “xx”
else

Screen S2
Enter “yy”

endif

Screen S1があり、次にScreen S2があるとします。 GuiXTはEnter “xx”またはEnter “yy”を処理するでしょうか? 実はこの例では、GuiXTが前の画面ブロックのopen ifステートメントを考慮せずに、Screen S2の次の一致するScreenコマンドを探すため、Enter “xx”が実行されます。

上記のようにするのではなく、各画面ブロックで開いているすべての”if”ステートメントを閉じてください。

Screen S1
Set V[x] “a”
Enter

Screen S2
if V[x=b] Enter “xx”
else
Enter “yy”
endif

場合によっては、goto / labelを使用することが理にかなっています。

Screen S1
Set V[x] “a”
Enter

if V[x=b]
goto l_b
endif

Screen S2
Enter “xx”
goto l_continue

label l_b
Screen S2
Enter “yy”

label l_continue

前の記事

SearchHelp

次の記事

SaveControl