A.Page定義のidentityタグでcontext属性を設定して下さい。
例えば、一覧画面上に修正ボタンを参照ボタンがあり、それらをクリックすると選択したデータモデルを扱うEditパターンの画面がポップアップするとします。
ボタンによって修正モードもしくは参照モードで立ち上げたいとすると、ポップアップする側の画面のArea定義で初期化処理を変えたり入力系コンポーネントの抑止などが必要となります。
このような場合、ポップアップする側の画面のPage定義をモード分作成し、それぞれのPage定義のidentityタグでcontext属性を指定します。
記述例 : ポップアップ画面側のPage定義のidentityタグ
<identity id="CP_WKFL_Popup_TravelExpensePaymentUpdate"
name="交通費精算書 新規作成"
context="新規作成"/>
このようにしておくと、Area定義側ではpage参照を使用して"page:context"と指定することにより現在のモードを取得できます。
記述例 : ポップアップ画面側のArea定義の初期化コマンドでpage:contextを判定
<command id="初期化">
<switch condition="page:context">
<case value="新規作成">
<doAction content="CC_ACPY_331_01_Edit" action="新規作成"/>
</case>
<case value="複写作成">
<doAction content="CC_ACPY_331_01_Edit" action="複写作成"/>
<return nextstate="明細行選択状態"/>
</case>
<case value="再起票">
<doAction content="CC_ACPY_331_01_Edit" action="再起票"/>
<return nextstate="明細行選択状態"/>
</case>
<default>
<doAction content="CC_ACPY_331_01_Edit" action="引継"/>
<return nextstate="明細行選択状態"/>
</default>
</switch>
</command>
一覧画面側からは、それぞれのボタンに応じてポップアップさせるPageのIDを変えることになります。
記述例 : 一覧画面側のPage定義の画面遷移定義
<transition id="交通費精算書新規をポップアップ">
<popup-page next="CP_WKFL_Popup_TravelExpensePaymentNew" modal="true"/>
</transition>
<transition id="交通費精算書参照をポップアップ">
<popup-page next="CP_WKFL_Popup_TravelExpensePaymentView" modal="true"/>
</transition>