このステップでは、切り替え履歴を使用して、エンドユーザーが切り替えを行った元の部門ビジネス・オブジェクトに戻れるようにします。
1. 社員の詳細コマンド・ハンドラー iiiCOM03 を開きます。
2. [コントロール] タブを表示し、プッシュ・ボタンを [保存] ボタンの下にドラッグします。
3. ボタンのキャプション (Caption) は戻るにします。
4. ボタンの名前 (Name) を BACK_BTN にします。
5. ボタンに Click イベントを追加します。
6. このクリック・イベントに、次のコードを追加し、ユーザーがボタンをクリックしたときに元のビジネス・オブジェクトに戻されるようにします。
define field(#ff_objnme) TYPE(*CHAR) LENGTH(32) DESC('Object Name')
define field(#ff_cmdnme) TYPE(*CHAR) LENGTH(32) DESC('Command Name')
* Determine the business object name to switch to
#avFrameworkManager.avrestorevalue WithID1(SWITCH_HISTORY) WithID2(#com_owner.Avobjecttype) WithID3(#com_owner.Avcommandtype) WithID4(OBJECT_NAME) ToAValue(#ff_objnme)
* Determine which command within the business object to switch to
#avFrameworkManager.avrestorevalue WithID1(SWITCH_HISTORY) WithID2(#com_owner.Avobjecttype) WithID3(#com_owner.Avcommandtype) WithID4(COMMAND_NAME) ToAValue(#ff_cmdnme)
* Perform the switch
#avframeworkmanager.avSwitch To(BUSINESSOBJECT) NAMED(#ff_objnme) EXECUTE(#ff_cmdnme) Caller(#com_owner)
コードは、以下のようになります。
7. コマンド・ハンドラーをコンパイルします。
これで、切り替え履歴をテストする準備が整いました。
8. フレームワークで、"部門"ビジネス・オブジェクトから 1 つの部門を選択します。
9. 部門の詳細コマンド・ハンドラーから 1 人の社員を選択します。
10. [詳細] ボタンをクリックして、選択した社員の詳細を表示します。
11. "社員" ビジネス・オブジェクトの詳細コマンド・ハンドラーで、[戻る] ボタンをクリックして "部門" ビジネス・オブジェクトに戻ります。