ロール固有のユーザーインターフェース
SAPシステムでは、各ユーザーには、ロールが割り当てられていることがあります。1つのロールは離散アクティビティ権限の集まりです。標準のSAPシステムで1000以上の独立したロールが事前に定義され提供されます。
例:
- SAP_FI_AR_CLEAR_OPEN_ITEMS 借方項目のクリアオープン
- SAP_FI_AR_CHANGE_LINE_ITEMS 借方行項目の変更
- SAP_LO_MD_CUSTOMER_MAINTAIN 顧客管理
- SAP_SD_FT_ADMINISTRATION 海外取引の管理
それぞれのロールは統合して、実際の世界の任務の記述と職務明細書に対応するロールグループを形成することができます。各ユーザーは、複数のロール、個別のロールやグループを保有することができます。ユーザーがシステムにログインすると、そのユーザーのロールの定義に沿ってオーダーメイドのユーザーメニューや権限と義務のプロファイルを取得します。
GuiXTを使用すると、各トランザクション内で、ロールごとにレイアウトやナビゲーションを定義づけができます。
ユーザーが特定のロールを持っているかどうかで、以下のことができます。
プッシュボタンを追加して、そこからさらなる機能をナビゲーションを促進できます。
ラジオボタンの形式で限定的で、意味のある選択ができるようになります。
入力フィールドを削除したり、読み取り専用にできます。
ヒントやヘルプのテキストを追加できます。
Role definition | SAP Standard |
|
with GuiXT |
|
進め方:
GuiXTはロール固有のユーザーインターフェース用の以下のモデルを提供します。
- クエリーは、ユーザーに特定のロールを与えます: if Q[Role=xxx]
- クエリー、特定の権限プロファイルを与えます: if Q[Profile=xxx]
- ロール固有のスクリプトディレクトリの割り当て
1番目のソリューションが最も良く、一番柔軟性のあるものでこれはSAPのロールのコアコンセプトに基づいています。
クエリーif Q[Role=xxx]を使用すると、個々のロールは自動的にロールのグルーピングに含まれます。パフォーマンスの理由から、すべてのロール名は、最初の使用時にローカルにキャッシュされます。ユーザーロールとプロファイルのアクセスは、RFCユーザー(GuiXTプロファイル)用の正しい権限を必要とします。(RFCの項を参照)
2つ目のソリューションは、ロールの技術がまだ提供されていない、Rel.4.5より前のバージョンのSAPシステムを使用しているときに選択するとよいものになります。
3番目のスクリプトディレクトリのロール特定の割り当ては、Userカタログで、ユーザーグループ(あるロール、もしくはある権限プロファイルを持つすべてのユーザー)用に、Role=xxxまたは、Profile=xxxを通して可能です。難点は、ユーザーが他のロールを持っているかもしれないので、特別な注意を払わなければならないということです。たぶん、1番もしくは2番の方法との組み合わせでの使用が必要になってくるでしょう。
例1
あるユーザーグループが工場の販売注文の入力に責任を持っていると仮定します。2つのディビジョンのみの選択があります。他のフィールドはすべて定義済みの値で入力されなければなりません。ここで簡素化した初期画面を定義したいとします。
標準のVA01初期画面
新しく作成した画面はこのようになります。
対応するGuiXTスクリプトは以下の通りです。
if Q[Role=SD_FACTORY_SALES]
Title “Factory sales” Box (2,2) (5,40) “Division” Set [Order type] “ZBV” del [Organizational data]
del [Order type] -triple endif
Radiobutton (3,8) “Auto, bikes” [Division] “00”
Radiobutton (4,8) “PC, Electronics” [Division] “07”
Set [Sales organization] “1000”
Set [Distribution channel] “16”
Set [Sales office] “”
Set [Sales group] “”
例2
顧客マスター登録表示で、支払履歴の表示に直接つながる新しいプッシュボタンを提供します。このプッシュボタンは、ユーザーがロール “SAP_FL_AR_DISPLAY_CREDIT_INFO”を持っている場合にのみ表示されなければなりません。
“Payment history”をクリックすると、敵江綱画面が直ちに表示されます。
下記のスクリプトが必要です。
/ GuiXT-Skript sapmf02d.d0700.txt
if Q[Role=SAP_FI_AR_DISPLAY_CREDIT_INFO]
Pushbutton (Toolbar) “Payment history” “=FD33” “F9” “Process=PaymentHistory.txt”
endif
// InputScript PaymentHistory.txt
Screen sapmf02c.0100
Set C[Payment history] “X”
Enter
標準のSAPでは、支払履歴を表示するには、ユーザーは以下の追加的な手順を行う必要があるでしょう。
GuiXTとインプットアシスタントがあれば、この余分な仕事をしないで済みます。
このユーザーは、”Payment history”に行きたい場合、”Credit management”から進めるということそして”Credit management”が“Goto” や “Extras”ではなく、”Environment” メニューを知っていなければなりません。
ここで、ユーザーは、”Payment history”をクリックして、Enterキーを押します。
————————–
歴史的小話:SAPの開拓時代に、Dietmar HoppとHasso Plattnerが柔軟なユーザーインターフェースの概念を開発していたころ、インターフェースのバリアントトアプリケーションロジックの間をダイナミックにリンクするという意味で、dynamic program つまり、”dynpro”と命名しました。
GuiXTのロール固有のインターフェースは彼らの成功概念の延長です - 30年の歴史を経てdynproは不老長寿の霊薬を味わい、さらにダイナミックなものになったのです。