Webブラウザー・ウィンドウはRAMPスクリプトからどのように使用できますか?
次の例は簡単なWebブラウザー・フォームです。これは、3つの入力フィールドを引数として受け付け、それを表示し、変更を許可して、変更された値を呼び出し元のRAMPスクリプトに返します。
<HTML>
<HEAD>
</HEAD>
<BODY onload="BODY_Load();" onunload="BODY_UnLoad();" >
<script>
function BODY_Load() /* Map arguments passed in to web form fields */
{
FieldA.value = window.dialogArguments[0];
FieldB.value = window.dialogArguments[1];
FieldC.value = window.dialogArguments[2];
}
function BODY_UnLoad() /* Map web form fields into return values */
{
var arrayRets = new Array();
arrayRets[0] = FieldA.value;
arrayRets[1] = FieldB.value;
arrayRets[2] = FieldC.value;
window.returnValue = arrayRets;
}
function OK_Click() /* Handle OK button by closing the web form */
{
window.close();
}
</script>
<P>Input details and click OK"<br/>
<input id="FieldA" type="text"><br/>
<input id="FieldB" type="text"><br/>
<input id="FieldC" type="text"><br/>
<input id="Button1" type="button" value=" OK " onclick="OK_Click();">
</BODY>
</HTML>
次のような画面が表示されます。
次の例は、Webブラウザー・フォームの表示に使用するRAMPボタン・スクリプトです。ユーザーがF5を押すとフォームが表示されます。このとき、SURNAME、GIVENAME、ADDRESS1の各フィールドが5250フォームから取得され、マッピングされます。
switch (objScriptInstance.FunctionKeyUsed)
{
case KeyEnter:
SENDKEY(KeyEnter);
break;
case KeyF5:
{
var arrayArgs = new Array();
arrayArgs[0] = GETVALUE("SURNAME");
arrayArgs[1] = GETVALUE("GIVENAME");
arrayArgs[2] = GETVALUE("ADDRESS1");
arrayRets = window.showModalDialog("Example.htm",arrayArgs,"dialogHeight:155px;dialogWidth:200px;help:no;resizable:no;scroll:no;status:no;");
SETVALUE("SURNAME",arrayRets[0]);
SETVALUE("GIVENAME",arrayRets[1]);
SETVALUE("ADDRESS1",arrayRets[2]);
delete(arrayArgs);
delete(arrayRets);
}
break;
default:
SENDKEY(objScriptInstance.FunctionKeyUsed);
break;
}
以上はユーザーが実行できるいくつかの処理の簡単な例です(このすべてについて、明示的にも黙示的にも一切保証するものではありません)。