HIDE_CURRENT_FORMを使用したコマンド・ハンドラー・タブへのアクセスの管理
このシナリオでは、RAMPアプリケーションが受注処理システムで作成されています。
一部のコマンド・ハンドラー・タブ(および基本となる5250 Destinationスクリプト)で、ユーザーがキャンセルまたは完了した注文に関して、アクションを実行できないようにする必要があるとします。
ステップ1 - 各インスタンス・リスト項目に一種の「コード」列または「ステータス」列を挿入します。
ここでは、フィールド#ORDSTATUSが、インスタンス・リストの列Acolumn9()にマッピングされています。
値には、「CAN」(キャンセル済み)、「OPN」(開いている)、「WIP」(作業中)、または「COM」(完了)があります。
Invoke Method(#avListManager.AddtoList) Visualid1(#OrdNo) Visualid2(#CustlName) Akey1(#OrderNumber) AColumn9(#ORDSTATUS)
注:AColumn9()は、ユーザーが指定した通りに表示されるときとされないときがあります。
ステップ2 - 該当するスクリプトに確認コードを挿入します。
ここで、注文を変更できる5250画面のスクリプトは、キャンセルした注文または完了した注文を表示しないように追加された確認を行っています。
/* Get the order status from additional column 9 in the current order instance list entry */
var ORDSTATUS = objListManager.AColumn9[0];
/* If the order is cancelled or closed, prevent the 5250 screen from being displayed, and show a message as to why */
if ((ORDSTATUS == "CAN") || (ORDSTATUS == "COM"))
{
HIDE_CURRENT_FORM("Sorry, but you are not allowed to display this order because it is cancelled or completed.");
return;
}
/* If we reach here then it's okay to proceed to the order display screen */
< etc >
< etc >
HIDE_CURRENT_FORM("message")ファンクションにより、コマンド・タブに表示されている現在の5250画面が表示されなくなり、代わりにタブの中央に「Sorry, but you are not allowed to display this order because it is cancelled or completed.」というメッセージが表示されます。
AColumn9の内容(例:「CAN」、「OPN」、「WIP」、「COM」)は、スクリプトの任意の場所で使用して、ユーザーのアクティビティを制限または制御できます。