SAPシステムで開発や運用を行うのであれば、権限の仕組みについて理解しておくことが大切になります。SAPシステムは企業の基幹業務に関わる重要な役割を持つため、ユーザ単位・機能単位で細かな権限の制御が可能です。今回はこのSAPシステムの権限の仕組みについて、解説します。
実行可能処理とアクセスの範囲を制御するシステム権限
SAPシステムは通常、トランザクションコードを打ち込んで処理を実行します。
SAPシステムの権限は、このトランザクションコードに紐づけられており、とあるトランザクションコードに対して実行権限がないユーザは該当する処理を行うことができません。
企業の基幹業務では、企業内で明確に権限を持つ人間が、適切な処理を行い、それに対して上長が承認行為を行うという流れが存在します。
SAPシステムではこの流れをシステムで実現するために、トランザクション単位で実行権限を制御できるのです。
システム内のデータに権限のないユーザがアクセスすることを防ぎ、企業内の円滑な業務遂行をサポートしています。
SAPシステムの権限プロファイルについて
SAPシステムの権限管理は、ユーザ単位でどのような権限を持つかという内容をひとまとめにして割り当てることが可能です。これを権限プロファイルと言い、ユーザに権限を割り当てるための基本単位となります。
Aという権限プロファイルを割り当てられたユーザBは、Aに設定されている複数の処理を行うことができると考えて良いでしょう。
また、この権限プロファイルは似たような内容のものをまとめて「複合プロファイル」として設定することも可能です。
複合プロファイルを設定されたユーザは、類似する処理を幅広く実行できる権限を有するようになります。
SAPシステムの権限ロールと権限オブジェクト
SAPシステムの権限を理解するためには、権限ロールと権限オブジェクトについて知っておく必要があります。
権限ロールとは権限オブジェクトを集めて割り当てたものであり、権限オブジェクトとはある処理について実行可能かどうかを判別するための要素です。
権限ロールAには権限オブジェクトB・C・D・Eが付与されており、この権限ロールAを割り当てられたユーザは、B・C・D・Eで明示されている処理を実行可能になります。
しかしこう考えると、権限プロファイルと権限ロールで何が違うのか?と感じるかもしれません。厳密にいえば、権限プロファイルは権限ロールから内部的に生成されるものであり、考え方自体は同じです。
現在では権限プロファイルを手動で登録することは推奨されていませんので、権限ロールに必要なオブジェクトを割り当てた後に更新することで、権限プロファイルを操作することが一般的です。
アドオンプログラムの開発にも必要な権限チェック
これまで述べたような権限の管理は、主にカスタマイジングやユーザプロファイルの更新によって行われます。
しかしABAPを使ったアドオンプログラムの開発においても権限が必要になるのです。
通常、アドオンプログラムでは「AUTHORITY-CHECK」という独自の命令を使って、プログラムの実行権限をチェックします。
この命令をプログラム内に追加することで、実行するユーザに適切な権限があるかどうかを判別することが可能です。
仮に実行ユーザがプログラムの実行権限を持たない場合は、権限エラーを吐き出して通知し、適切な権限を持ったユーザが処理することを促すのです。
SAPシステムにおける権限は、熟練のエンジニアであっても手を焼くことがあるほど、重要かつ複雑な部分です。
権限に関するミスは顧客業務に重大な影響を及ぼすことになりかねませんので、十分に知識をつけたうえで慎重にオペレーションを行うことをおすすめします。
フリーランスコンサルタント登録多数。高単価・戦略・PMO案件のご紹介。
プロフェッショナルハブのご登録はこちら。