Page History
...
- UpdateListEntryDataは、パラメータとして指定されたリスト・エントリーの値のみを更新します。たとえば、追加列3のみを更新できます。
- AddtoListは、パラメータとして渡された値を使用するかデフォルト値を使用して、インスタンスリスト・エントリーのすべての値を更新します。したがって、追加列3を更新するには追加列1、2の値を渡す必要があり、また場合によっては追加列4、5、6の値も渡す必要があります。
- 上記のポイントは、MODE(REFRESH)更新でUpdateListEntryDataを使用するべきではないということを意味します。
| Warning | ||||
|---|---|---|---|---|
| 警告:||||
UpdateListEntryData または RemoveFromList または RemoveFromList を使用した後に AddtoList を使用して、インスタンスリスト・エントリーの識別キーを更新しないでください。識別キー(Akey、Nkey)は、いかなるコマンド・ハンドラーからも変更されない値とする必要があります。変更可能な、インスタンスリストの追加列の値を使用してください。 |
...
たとえば、組み込みのデモンストレーション・フィルターDF_FILT30には、イベントDEM_EMP_UPDATEDをリッスンする以下のロジックが含まれています。
* 社員更新のトリガー時
When (= DEM_EMP_UPDATED)
* インスタンスリストに追加された時のこの社員が属する部門と課を取得
Invoke #avListManager.GetCurrentInstance AKey1(#Original_Deptment) AKey2(#Original_Section) AKey3(#Empno)
* この社員が元々いたツリー・ノードをリフレッシュ (これにより、この社員がノードから削除されることもある)
* この方法により、リレーション・ハンドターのファンクション DFREL01 が再び呼び出され、ツリー・ノード全体がリフレッシュされる。
Invoke #avListmanager.RefreshRelationship BusinessObjectType(DEM_ORG_SEC_EMP) AKey1(#Original_Deptment) Akey2(#Original_Section)
* 社員の今の部門と課を確認両方とも変更された場合は、ツリーノードを
* 新しい部門/課で更新する。このノードが展開されたことがなければ、この要求は無視される。
* これは、ユーザーがこのノードの展開を決めた時に表示されるため。
Fetch Fields(#Deptment #Section) from_file(PslMst) with_key(#Empno)
If ((#Deptment *ne #Original_Deptment) or (#Section *ne #Original_Section))
Invoke #avListmanager.RefreshRelationship BusinessObjectType(DEM_ORG_SEC_EMP) AKey1(#Deptment) Akey2(#Section)
Endif