コンテンツエリア開始

バックグラウンド文書  外部テーブルの統合  ナビゲーションストラクチャ内でこの文書をローカライズ

すでにユーザ固有のデータが入力されている外部テーブルをユーザまたはロール更新に提供するには、インタフェース IF_PERS_EXTERNAL_TABLE をインプリメントするクラスをインプリメントする必要があります。このインタフェースは、クラス CL_SUPER_PERS_ACCESS を使用してインプリメントします。このクラスから、必要なメソッドがすべて継承されます。互換性を保つため、常にこのクラスをインプリメントしてください。これにより、インタフェースが拡張されたときの安定性が高まります。

以下に、含まれるメソッドについて簡単に説明します。

ユーザのコピー

メソッド USER_COPY

P_USER_SOURCE

UNAME

コピー元ユーザの名前

P_USER_TARGET

UNAME

コピー先ユーザの名前

P_PERS_KEY

SPERS_KEY

パーソナライゼーションオブジェクトのキー

P_NO_BUFFER

CHAR1

バッファリングをオフにするフラグ

 

ユーザの削除

メソッド USER_DELETE

P_USER

UNAME

データ削除の対象となるユーザの名前

P_PERS_KEY

SPERS_KEY

パーソナライゼーションオブジェクトのキー

ユーザの名称変更

メソッド USER_RENAME

P_USER_SOURCE

UNAME

旧ユーザ名

P_USER_TARGET

UNAME

新ユーザ名

P_PERS_KEY

SPERS_KEY

パーソナライゼーションオブジェクトのキー

ユーザダイアログの呼出

メソッド USER_COPY

P_UNAME

UNAME

コピー元ユーザの名前

P_PERS_KEY

SPERS_KEY

パーソナライゼーションオブジェクトのキー

P_COMMIT

CHAR1

バッファリングに関するフラグ。    

フラグを 'X' にすると、データはバッファリングされません。

ロールのダイアログ、削除、コピー、および名称変更

ロールのダイアログ、削除、コピー、および名称変更のためのメソッドも同様にインプリメントします。

ロールの移送

メソッド USER_COPY

P_ROLE_NAME

AGR_NAME

移送するロールの名前

P_PERS_KEY

SPERS_KEY

パーソナライゼーションオブジェクトのキー

P_ORDER

TRKORR

データを移送するための移送依頼

 

システムデータのダイアログ

システムデータのダイアログメソッドは、ユーザやロールと同様にインプリメントできます。

システムへのデータ転送

システムにデータを転送するメソッドは、ロールと同様にインプリメントできます。

バッファの保存

このメソッドで、バッファ内のすべてのデータがデータベースに書き込まれます。

注記

メソッド SAVE_BUFFER をインプリメントします。ユーザ更新またはロール更新で統合が必要なデータは、バッファリングが必要です。

ユーザ固有のインタフェースインプリメンテーションの派生

継承を使用して、ユーザ独自のアクセスメソッドをインプリメントできます。

ここでは、クラスCL_SUPER_PERS_ACCESS を使用できます。ユーザ独自の派生クラスではコンストラクタのみインプリメントが必要です。ユーザおよびロールの名前を含むテーブルおよび項目の名前をコンストラクタで割り当てる必要があります。ヘッダ行と内部テーブルも、アクセスに対して動的に登録される必要があります。

注記

SAP R/3 リリース 4.6C には、バッファリングのための一般メソッドまたは一般ダイアログがありません。バッファリングのためのメソッドは、インプリメントされても完全な機能を備えていません。

このメソッドは、テーブル SPERS_FAV 用のサンプルクラス SPERSD_REUSE_EXTERNAL でインプリメントされます。

 

method CONSTRUCTOR .

* ...

 

  data: l_fieldname type fieldname.

 

* set types for buffer table

  types: t_buffer_table_user type standard table of spersd_fav

                             with default key.

  types: t_buffer_line_user type spersd_fav.

 

  types: t_buffer_table_role type standard table of spersd_fav

                             with default key.

  types: t_buffer_line_role type spersd_fav.

 

* set user table name

  table_user = 'SPERSD_FAV'.

  field_user = 'UNAME'.

 

* set user table name

  table_role = 'SPERSD_FAV'.

  field_role = 'ROLE'.

 

* create buffer table and work area

  create data buffer_table_user type t_buffer_table_user.

  create data buffer_line_user type t_buffer_line_user.

 

* create buffer table and work area

  create data buffer_table_role type t_buffer_table_role.

 

  create data buffer_line_role type t_buffer_line_role.

 

* set hidden fields for generic dialog

  l_fieldname = 'MANDT'.

  append l_fieldname to dialog_fields_hide.

  l_fieldname = 'UNAME'.

  append l_fieldname to dialog_fields_hide.

  l_fieldname = 'ROLE'.

  append l_fieldname to dialog_fields_hide.

  l_fieldname = 'NUM'.

  append l_fieldname to dialog_fields_hide.

 

endmethod.

 


この例では、ユーザおよびロール固有データのテーブルタイプが定義され、対応するバッファテーブルが登録されます。一般ダイアログ使用時には表示しないテーブル項目の名前も指定されます。

 

 

 

コンテンツエリア終了