SAP コントロールの動的呼び出し

Silk4J で SAP コントロールに対する操作を記録できない場合、SAP で利用できるレコーダーで操作を記録してから、記録されたメソッドを Silk4J スクリプトで動的に呼び出すことができます。これによって、記録できない SAP コントロールに対する操作を再生できます。
  1. コントロールに対して実行する操作を記録するには、SAP で利用できる SAP GUI スクリプト作成 ツールを使用できます。 SAP GUI スクリプト作成 ツールの詳細については、SAP のドキュメントを参照してください。
  2. 記録された操作を SAP GUI スクリプト作成 ツールによって保存された場所から開き、記録されたメソッドを確認します。
  3. Silk4J で、記録されたメソッドをスクリプトから動的に呼び出します。

使用例

たとえば、SAP UI で Test というラベルが付いた、ボタンとリスト ボックスの組み合わせである特別なコントロールを押し、コントロールのサブメニュー subsub2 を選択する操作を再生したい場合、SAP で利用できるレコーダーでこの操作を記録できます。結果のコードは、以下のようになります。
session.findById("wnd[0]/usr/cntlCONTAINER/shellcont/shell").pressContextButton "TEST"
session.findById("wnd[0]/usr/cntlCONTAINER/shellcont/shell").selectContextMenuItem "subsub2"
ここで、メソッド pressContextButtonselectContextMenuItemSilk4J のスクリプトから動的に呼び出すには、次のコードを使用できます。
.SapToolbarControl("shell ToolbarControl").invoke("pressContextButton", "TEST")
.SapToolbarControl("shell ToolbarControl").invoke("selectContextMenuItem", "subsub2")
このコードを再生すると、SAP UI のコントロールが押下され、サブメニューが選択されます。