SAP NetWeaver ABAP基盤:標準からの変更:カスタマ開発
0 1064

カスタマ開発に利用できる標準機能の抜粋を以下の表で示します。 おもに以下のように分類することができます。

  • ABAPディクショナリ 
  • コーディング 
  • テスト 
  • バッチインプット 
  • JOB 
  • 分析 
  • 外部OSコマンド 
  • 帳票/レポート系 
Trcd機能目的
GRR3レポートペインタ照会レポートペインタを照会、テスト実行できる。(登録がGRR1,変更がGRR2)
SAAB有効化可能なブレークポイント関連性のあるプログラムのテストをまとめて実行するために定義できる。
SAMTABAP プログラム一括処理パッケージ(旧名称:開発クラス)の登録をすることができる
SCOVABAP カバレージアナライザ-
SCIコードインスペクタコーディング規約(独自設定可能)チェックや、代表的なパフォーマンスに問題がある記述方法などのチェックをすることができる
SCIIコードインスペクタ: インスペクションコードインスペクタを手っ取り早く使いたいときはコチラ
SE21パッケージビルダパッケージ(旧名称:開発クラス)の登録をすることができる
SE24クラスビルダ-
SE30実行時間分析分析ツール
SE33汎用モジュールビルダ-
SE37汎用モジュールビルダ-
SE38ABAPエディタ-
SE39ABAP画面分割エディタ--
SE41メニューペインタ-
SE43分野メニュー-
SE51スクリーンペインタ-
SE55拡張テーブル更新モジュール生成-
SE63翻訳未翻訳の部分や翻訳が間違っている場合、また独自のテキストに変更したい場合、翻訳機能を使用する。ただし、翻訳した後にサポートパッケージやnoteなどを適用した場合、標準の文字列に戻ってしまう場合もある。翻訳したテキストを移送したい場合、プログラム:RSLTEXPOから移送依頼を作成する(RSLTEXPOのウィザードを使用した場合、移送する対象のテキスト~移送依頼作成~エクスポートまで自動的におこなうので注意)
SE71フォームペインタSAPSCRIPTで帳票のフォームを作成できる。
SE80ABAPワークベンチプログラムIDに関係するオブジェクトをまとめて管理できる
SE81アプリケーション階層:照会-
SE84リポジトリ情報システム-
SE91メッセージ更新メッセージ更新 プログラムなどで使用/出力する定型メッセージを設定する。1つのメッセージクラスに1000個のメッセージが設定可能。
SE93トランザクション更新トランザクションコードを登録/変更することができる
SFPフォームビルダAdobe Acrobat(PDF)を使用したインタラクティブフォーム(Interactive forms )やPDF-Based Printを定義することができる。
SHD0トランザクション/画面バリアントトランザクションバリアントの管理
SHDBトランザクションレコーダ別名:バッチインプットレコーダ。トランザクションを実行する動作を記録し、バッチインプットセッションやプログラムを作ることができる。
SM35バッチインプット:セッション一覧記録したバッチインプットセクションを管理。実行/エラー照会など管理できる
SM35Pバッチインプット:ログ一覧-
smartformssmartforms-
SMATABAPプログラムセット処理関連性のあるプログラムのテストをまとめて実行することができる。拡張構文チェックなどをプログラムセット(条件を指定したグループ)でまとめてチェックすることができる
SNRO番号範囲オブジェクト更新番号範囲オブジェクトの定義をすることができる
SQVIクイックビューアSAPクエリの個人用。INNER JOINレベルまでのテーブル結合が可能。SAPクエリのサブセット版のような位置付け
S_ALR_87101287-ABAP言語コマンド検索のための統計プログラム分析
RPR_ABAP_SOURCE_SCANABAPレポートソーススキャン指定した文字列をプログラムから検索することができる
RSANAL00ABAPプログラム分析変数の型変換や変数一覧、サブルーチン、使用している汎用モジュールやインクルードプログラム、参照しているテーブルなどを分析してくれる。1行が72文字を超える行があるとショートダンプが発生するため、4.6より後に使えることはあまりないかも
RSABAPSC-バージョン管理: オブジェクト一覧によるリモート比較
RSVCAD11--

0 1064
みんなのツイート (0)

関連サマリー


  • BASIS 0 Votes 1158 閲覧数


    このトピックでは、権限に関わるシステムテーブルを抜粋して説明します。

    概要 カテゴリ技術名称名称説明ユーザUSR01ユーザマスタレコード基本属性を定義USR02ユーザログオンデータユーザログオンデータを定義USR03ユーザアドレスデータユーザアドレスデータを定義USR04ユーザ権限ユーザに割り当てられた権限プロファイル情報を格納USR05ユーザマスタパラメータIDユーザパラメータ値を格納USR21ユーザ名アドレスキーの割当ユーザのアドレスキー値を格納ADR2電話番号 (アドレス管理)ユーザの電話番号を格納ADR3FAX 番号 (アドレス管理)ユーザのFAX番号を格納ADR6電子メールアドレスユーザの電子メールアドレスを格納ロールAGR_AGRS集合ロール内のロール-AGR_DEFINEロール定義 -AGR_FLAGSロール属性-AGR_HIERロールメユー構造-AGR_1016ロールプロファイル-AGR_1250ロール権限データ(ヘッダ)-AGR_1251ロール権限データ(項目値明細)-AGR_1252ロール権限データ(組織要素)-権限オブジェクトTOBC権限クラス権限クラスを定義TOBJ権限オブジェクト権限オブジェクトと権限オブジェクトの項目構成を定義TACTZ権限オブジェクトごとの有効アクティビティ権限オブジェクトごとの有効アクティビティ権限プロファイルUST10C複合権限プロファイル含められている単一ロールを定義UST10S単一権限プロファイル権限プロファイルの権限名を定義UST12権限プロフィル権限値権限オブジェクト別に権限プロファイル毎の各権限項目値を格納権限(ユーザ)USR10ユーザマスタ権限プロファイル-USR12ユーザマスタ権限値-USR16ユーザ権限用変数の値-権限(トランザクション)TSTCAトランザクションコード権限の値SE93で照会・更新USOBTトランザクション>権限オブジェクトSU22/SU24で照会・更新USOBXUSOBTのチェック用テーブル-USOBT_Cトランザクション>権限オブジェクト(カスタマ)-USOBX_CUSOBT_Cのチェック用テーブル-詳細(ユーザ系)USR01テーブル

    ユーザマスタレコード

     項目一覧 No.PK技術名称名称説明1○BNAMEユーザユーザID2 STCOD開始メニュー-3 SPLD出力デバイス-4 DATFM日付書式-5 DCPFMISOコード-6 LANGU言語- USR02テーブル 

    ユーザログオンデータ

     項目一覧 No.PK技術名称名称説明1○BNAMEユーザユーザID2 BCODE初期パスワード-3 USTYPユーザタイプ- USR04テーブル 

    ユーザ権限

     項目一覧 No.PK技術名称名称説明1○BNAMEユーザユーザID2 NRPROプロファイル数-3 PROFSプロファイル名リスト- USR05テーブル 

    ユーザパラメータ

     項目一覧 No.PK技術名称名称説明1○BNAMEユーザユーザID2 PARIDパラメータID-3 PARVAパラメータ値-

    定義可能なパラメータ名はTPARAテーブルに定義されます。

    詳細(ロール)AGR_DEFINEテーブル

    ロール定義 

     項目一覧 No.PK技術名称名称説明1○AGR_NAMEロール名称-2 TEXTテキスト- AGR_FLAGSテーブル 

    ロール属性

     項目一覧 No.PK技術名称名称説明1○AGR_NAMEロール名称-2○FLAG_TYPE属性タイプ-3 FLAG_VALUE属性値- AGR_HIERテーブル 

    ロールメユー構造 AGR_HIERT

     項目一覧 No.PK技術名称名称説明1○AGR_NAMEロール名称-2○OBJECT_IDメニューID-3 FOLDER親メニューID-4 SORT_ORDERソート順番-5 MENU_LEVELメニューレベル-6 SAP_GUID一意 ID-7 ATTRIBUTES親メニューID-8 SOURCE_AGR色-9 ICONメニューエントリアイコン-10 APPL_ALIASメニューエントリテキスト- AGR_1016テーブル

    ロールプロファイル名称

     項目一覧 No.PK技術名称名称説明1○AGR_NAMEロール-2○COUNTERカウンタID-3 PROFILEプロファイル-4 GENERATED生成済-5 PSTATEバージョン- AGR_1250テーブル

    ロール権限データ(ヘッダ)

     項目一覧 No.PK技術名称名称説明1○AGR_NAMEロール-2○COUNTERカウンタID-3 OBJECT権限オブジェクト-4 AUTH権限値-5 MODIFIEDオブジェクトステータス- AGR_1251テーブル

    ロール権限データ(項目値明細)

     項目一覧 No.PK技術名称名称説明1○AGR_NAMEロール-2○COUNTERカウンタID-3 OBJECT権限オブジェクト-4 AUTH権限値-5 FIELD項目名-6 LOW値-7 HIGH値- AGR_1252テーブル

    ロール権限データ(組織要素) ロールが関連付ける組織(販売組織、購買組織、会社コードなど)の情報を格納します。 利用可能な組織の変数名がUSVARに定義されます。

     項目一覧 No.PK技術名称名称説明1○AGR_NAMEロール-2○COUNTERカウンタID-3 VARBL組織変数名-4 LOW値-5 HIGH値-AGR_USERSテーブル

    ユーザへのロール割当

     項目一覧 No.PK技術名称名称説明1○AGR_NAMEロール-2○UNAMEユーザ-3○FROM_DAT開始日付-4○TO_DAT終了日付-5 COL_FLAG集合ロールからの割当-詳細(権限オブジェクト系)TOBCテーブル

    権限クラス 

     項目一覧 No.PK技術名称名称説明1○OCLSS権限クラス- TOBJテーブル 

    権限オブジェクト

     項目一覧 No.PK技術名称名称説明1○OBJCT権限オブジェクト名称-2 FIEL1~FIEL0項目名-3 OCLSS権限クラス- TACTZテーブル 

    権限オブジェクトごとの有効アクティビティ

     項目一覧 No.PK技術名称名称説明1○BROBJ権限オブジェクト名-2○ACTVTアクティビティ-詳細(権限プロファイル系)UST10Cテーブル

    複合権限プロファイル

     項目一覧 No.PK技術名称名称説明1○PROFN複合プロファイル-2○AKTPSバージョン-3○SUBPROF単一プロファイル-UST10Sテーブル

    単一権限プロファイル

     項目一覧 No.PK技術名称名称説明1○PROFNプロファイル-2○AKTPSバージョン-3 OBJCT権限オブジェクト-4 AUTHユーザマスタ:権限名-UST12テーブル

    権限プロフィル権限値

     項目一覧 No.PK技術名称名称説明1○OBJCT権限オブジェクト-2○AUTHユーザマスタ:権限名-3○AKTPSバージョン-4○FIELD権限項目-5○VON権限項目値-6○BIS権限項目値-詳細(権限(ユーザ)系)USR10テーブル

    ユーザマスタ権限プロファイル

     項目一覧 No.PK技術名称名称説明1○PROFNプロファイル名-2○AKTPSバージョン-3 TYPタイプ-4 NRAUTプロファイル/権限の数-5 AUTHS権限-USR12テーブル

    ユーザマスタ権限値

     項目一覧 No.PK技術名称名称説明1○OBJCT権限オブジェクト-2○AUTHユーザマスタ:権限名-3○AKTPSバージョン-4 VALS権限値-


  • BASIS 0 Votes 591 閲覧数


    ユーザ

    ユーザ毎に設定・保持されるデータは、ユーザマスタレコードと呼ばれます。

    ユーザの基本データ

    ユーザの基本データには、アドレスデータ、ログオンデータ、デフォルトデータがあります。

    アドレス 
    姓・名や、職務、文書、連絡方法などの情報が含められます。ログオンデータ 
    パスワードや有効期限などの情報が含められます。デフォルト
    ログオン言語や、書式(数値、日付、時刻)、スプール制御などの情報が含められます。ユーザパラメータ

    ユーザパラメータによって、SAP項目に初期値が指定されます。項目を指定すると、初期値が自動的に表示されます。項目定義によって、そのエントリをユーザ入力値に置き換えることもできます。 例として以下のユーザパラメータを取り上げます。

    BUK
    会社コードEKO
    購買組織WRK
    プラント

    設定可能なパラメータはすべてシステムテーブルTPARAに登録されています。

    ユーザとロール

    ユーザに単一又は集合ロールを割り当てることができます。ユーザに複数ロールが割り当てられた場合は、結果は論理和になります。

    ユーザと権限プロファイル

    ユーザにマニュアル権限プロファイルを割り当てることができます。ユーザに複数権限プロファイルが割り当てられた場合は、結果は論理和になります。

    ロール

    ロールはユーザをグループ化する手段を提供します。 ロールは権限を割当する単位とするほか、ユーザメニュー構成を定義する単位にもなります。 ロールは、部署や役職に基づいてを設計することが多い。

    ロールの分類

    ロールには単一ロールと集合ロールがあります。 単一ロールには、ユーザの権限データとログオンメニューが含まれます。 集合ロールには、任意の数の単一ロールが含まれます。

    ロールと権限

    単一ロールの権限データから権限プロファイルが自動生成されます。ここの権限プロファイルは生成済権限プロファイルと呼ばれます。

    ツール

    標準機能から以下の権限管理ツールが提供されておいます。

    SU01 ユーザ管理
    ユーザデータの登録、変更PFCG ロール更新
    ロールの登録、変更SUIM ユーザ情報システム


  • BASIS 0 Votes 1207 閲覧数


    このトピックでは、NetWeaver ABAP Platformの移送管理システム(Transport Management System,TMS)の仕組みを取り上げて説明します。

    移送管理システムの構成

    以下の図で、移送管理システムのモデル構成を示します。

    このモデルでは、3階層ランドスケープが一つのドメインと二つの移送グループで構成されます。次にその構成要素をそれぞれ取り上げて詳しく説明します。

    移送ドメイン

    移送ドメイン(transport domain)は、移送を一元管理するすべてのABAPシステムで構成されます。移送ドメイン内では、すべてのシステムに一意のシステムIDを設定し、これらのシステムから1つのシステムのみが移送ドメインコントローラとして指定されます。 デフォルトの移送ドメイン名は DOMAIN_<SID> (<SID> はドメインコントローラのシステムID) で設定されます。 また、移送ドメインには、1つ以上の移送グループが含まれます。

    移送ドメインコントローラ

    移送ドメインコントローラ(transport domain controller)は、移送ルートや RFC 接続の設定など、移送ドメイン全体に関する設定を管理します。 通常は、本稼動システムまたは品質保証システムをドメインコントローラとして設定します。ドメインコントローラのシステム負荷は小さく、負荷が増えるのは TMS 設定変更時のわずかな時間だけです。 ドメインコントローラとしての役割をもつ ABAPシステムが稼動していないと、TMS 設定を変更することはできません。

    移送グループ

    移送グループとは、共通移送ディレクトリを共有する1つ以上のシステムで構成されるものです。

    移送ディレクトリ

    移送ディレクトリとは、移送データのファイルを保管するために移送グループで使用する共通ディレクトリのことです。 移送グループはこのディレクトリを使用して、すべてのエクスポートとインポートし、すべての移送はこのディレクトリで実行する必要があります。

    移送ディレクトリのモデルサブディレクトリ構成は以下にようになります。 共通移送ディレクトリのサブディレクトリ

    bin
    tpとTMSの設定ファイルbuffer
    各システムの移送バッファdata
    エクスポートされたデータcofiles
    コマンドファイルまたは移送依頼情報ファイルlog
    移送ログ、トレースファイル、統計。tmp
    一時データとログファイルactlog
    全タスクと全依頼のアクションログsapnames
    各SAPユーザの移送依頼に属する情報EPS
    SAPサポートパッケージのダウンロードディレクトリ移送ルート

    移送ルート(Transport Route)は、ランドスケープを構成するSAPシステム(「開発システム」「検証システム」「本稼働システム」)間の移送順序を指定したものです。移送ルートは、コンソリデーションルートまたはデリバリルートのいずれかのタイプです。

    標準的な3 システムランドスケープの移送ルートは以下のとおりです。

    コンソリデーションルート
    コンソリデーションルートは、開発システムと品質保証システムを接続します。。 自動的に作成される移送レイヤの名称は、Z<SID> (<SID> は開発システムのシステム ID)となります。デリバリルートは
    デリバリルートは、品質保証システムと本稼動システムの間に作成されます。

    開発システムでは、コンソリデーションルートに対応する (標準) 移送レイヤとリンクしているパッケージのオブジェクトに変更を加えた場合、その変更は変更依頼に記録され、品質保証システムを経て本稼動システムに移送されます。

    SAP社が提供するオブジェクト(=標準オブジェクトと呼ぶ)への変更は、変更依頼に「仮修正」属性のタスクとして記録されます。この場合、移送レイヤとして“SAP”を使用することを除いて、他のオブジェクトの場合と同じ方法で移送することができます。

    移送レイヤ

    移送レイヤは、リポジトリオブジェクトの開発/変更を実施するシステムおよび、該当オブジェクトの移送先システム(品質保証システムや本運用システムなど)を定義します。

    リポジトリオブジェクトは特定の「パッケージ」に属し、「パッケージ」に「移送レイヤ」が割り当てられます。

    同じABAPシステムで開発され、同じ移送ルートで移送された開発プロジェクトは、すべてまとめられて 1 つの移送レイヤ となります。

    オブジェクトの移送属性

    各リポジトリオブジェクトのオブジェクトタイプには、以下のようなさまざまな移送属性があります。

    クライアント非依存オブジェクト

    リポジトリオブジェクトおよびクライアント非依存カスタマイジングオブジェクトがあります。

    各リポジトリオブジェクトには、 オブジェクト・ディレクトリ・エントリがあります。移送属性もその中に登録されます。

    パッケージ

    オブジェクトを登録する時に、パッケージを指定するように要求されます。パッケージは移送レイヤに割り当てられます。 TMSで、現在のシステムからのコンソリデーションルートが移送レイヤに定義されていると、オブジェクトは移送可能な変更依頼のタスクに記録されます。 TMSで、現在のシステムからのコンソリデーションルートが移送レイヤに定義されていない場合、オブジェクトは ローカルな変更依頼に属するタスクに記録されます。

    変更依頼が移送可能な場合、依頼の対象はオブジェクトのコンソリデーション対象と同じです。

    マスタシステム

    オブジェクトのマスタシステムは、そのオブジェクトが登録されたオリジナルシステムであり、開発と修正のためのオブジェクトの編集もこのシステムで行います。

    オブジェクトは、1 つのシステムにのみオリジナルが存在します。 SAPから提供されたオブジェクト の場合は、オリジナルのシステムはSAP側に保存されています。カスタマシステムにおけるSAP標準のオブジェクトはすべてコピーとなります。この原則は、開発システム、およびそれに続くすべてのシステムにも適用されます。

    独自のアプリケーションを作成する場合には、作成するオブジェクトは、その開発システムに存在するものがオリジナルになります。 開発したものを変更依頼に割り当てる場合には、タイプを開発/修正となります。 この依頼によって、開発システムから次のシステムへオブジェクトが移送されます。

    オリジナルに対して変更を加えることを修正といいます。 これらの変更は、タスクのタイプが開発/修正である変更依頼に記録されます。 コピー(オリジナルシステム以外のオブジェクト) に対して変更を加えると、その変更は、 仮修正のタスクに記録されます。 SAP オブジェクトに対する仮修正は、モディフィケーションと呼ば れます。

    クライアント依存オブジェクト

    カスタマイジングオブジェクトのみです。

    クライアント依存のカスタマイジングオブジェクトは、 カスタマイジング依頼に属するタスクに記録されます。 TMSで、現在のシステムからのコンソリデーションルートが現在のシステムまたはクライアントの標準移送レイヤに定義されている場合、オブジェクトは 移送可能なカスタマイジング依頼に属するタスクに記録されます。

    TMSで、現在のシステムからのコンソリデーションルートがシステムまたは現在のクライアントの標準移送レイヤに定義されていない場合、オブジェクトは移送対象のないカスタマイジング依頼のタスクに記録されます。

    移送処理移送単位

    NetWeaver ABAP Platformにおける変更はすべて依頼/タスクにより管理されます。変更が移送可能な場合に、依頼は変更の移送(リリース)単位となります。タスクは依頼よりも下位レベルに位置し、依頼のなかではユーザ名で表されます。

    移送の流れ

    前述の移送管理システムのモデル構成を例として移送の流れを説明します。

    開発機DEVで依頼をリリース
    依頼の各タスクがリリースされたら、依頼自体もリリース可能になります。
    依頼がリリースされたら、移送分が移送ディレクトリにExportされます。品証機QTSTに移送をインポート移送を移送グループ1の移送ディレクトリから移送グループ2の移送ディレクトリにコピー品証機QAS2に移送をインポート本番機PRODに移送をインポートツールSTMS 移送管理システム
    移送管理システム機能には以下の機能が含められています。移送ドメインにおけるSAPシステムの役割の定義移送ルートの設定移送ツールプログラム(tp)のパラメータプロファイルの設定移送ドメイン内のすべてのSAPシステムのインポートキューの表示品質保証システム(QA)の品質保証/承認手続の定義インポートキューにある移送依頼のインポートのスケジュール共通移送ディレクトリを使用しない、システム間の移送の実行SE01 移送オーガナイザ(拡張ビュー)
    移送オーガナイザも変更オーガナイザもこの一つのトランザクションに統合されています。SE03 移送オーガナイザツール


  • BASIS 0 Votes 230 閲覧数


    このトピックでは、NetWeaver ABAP(ECC)の権限制御のコンセプトや概要を取り上げて説明します。

    前書き権限とは

    権限とは、システムのユーザに、ある範囲のことを正当に行うことができるものとして与えられている能力、またその能力が及ぶ範囲のことです。

    ユーザに付与される権限には、以下の情報が定められます。

    対象
    権限でアクセス可能な対象(リソースや処理など)を定義します。範囲
    対象に対してアクセス可能な範囲を定義します。例えば、対象がファイルなら、読み取りができるかどうか、書き込めるかどうか、アクセスされる範囲を制御できます。期間
    権限の有効期間を指定します。権限制御とは

    権限制御とは、システムが、各ユーザに対して、事前に付与された権限に従って、処理の実行やアクセスの範囲を制御することです。

    権限制御は、通常、OSやデータベース、アプリケーションなど各分野でそれぞれ実施されます。

    OS
    アプリケーション、サービス、ファイルといったリソースのアクセス権限をユーザ・グループ毎に制御します。データベース
    テーブル、ビューといったデータベースオブジェクト単位で、ユーザ・グループ毎にデータの照会、更新、作成、削除の権限を制御します。アプリケーション
    アプリケーション側で必要に応じてビジネスレベルの権限制御を行います。目的と機能

    データベース側では、テーブルレベルのアクセス制御が仕組みに組み込まれているのは普通ですが、テーブルをさらに行レベルのアクセス制御をかけることは通常サポートされません。

    例えば、各支店の売上データが格納されたテーブルがあるとします。各支店の従業員が所属支店のデータしか参照できないというセキュリティ要件はよくあるものですが、データベース側でカーバできないため、アプリケーション側で何らかの対応をしなければなりません。

    NetWeaver ABAPは、アプリケーションレベルで独自の権限仕組みを導入ことにより、上記のビジネス要件に統合化したソリューションを提供します。

    NetWeaver ABAPの権限制御を利用することにより、以下の機能を実現することができます。

    ユーザ(グループ)毎に各機能の実行可否を制御
    例えば、経理部の人を購買システムの機能を実行できないように権限制御をかけることができます。ユーザ(グループ)毎にアクセスデータ範囲を制御
    例として取り上げられた支店毎の制御をかけることができます。特徴

    NetWeaver ABAPの権限制御は以下の特徴があります。

    できることの積み上げ
    できることのみを定義でき、できないことの定義はできません。これはシンプルという利点もありますが、膨大になりがち、管理が大変になるというデメリットがあります。言語レベルでサポート
    権限チェックするためのコマンド(authority-check) がABAP言語に組み込まれています。構成要素

    Netweaver ABAPの権限コンセプトの構成要素は開発局面と運用局面に分けて整理することができます。

    開発局面
    プログラムを実装する際に、機能のセキュリティ要件を元に、実行時にどうな権限チェックをかけないといけないかを設計して、そのロジックをプログラムに組み込んでおく必要があります。 
    このような権限チェックの内容と方法を定義するのは権限オブジェクトという構成要素になります。
    権限オブジェクトはコア要素であり、システムにより一元管理されます。運用局面
    システムを構築する際に、 運用要件を元に、システムの利用者がどんな人いるか、どういうふうに権限をわけないといけないかを設計しておく必要があります。
    このような権限割当の単位を定義するのは権限プロファイルという構成要素になります。
    権限プロファイルに関連機能の権限オブジェクトの権限値が含められますので、機能にどんな権限オブジェクトがあるかを把握しておかなければなりません。
    ECC標準機能ではすでに数千の権限オブジェクトが組み込まれていますので、権限オブジェクトの把握は相当大変な作業になると想像できます。権限オブジェクト

    権限オブジェクトとは、権限制御でチェックしなければならない項目及びチェック方法を示す要素です。 権限オブジェクトの上位要素としては権限クラス、下位要素としては権限項目があります。

    権限クラス
    権限クラスは、権限オブジェクトの論理的な組合せで、たとえばアプリケーション(財務会計、人事管理など) に対応します。権限項目
    権限項目は、権限オブジェクトに構成する項目です。ABAPディクショナリで保存されたデータエレメントトに接続されています。

    権限オブジェクトは、AND で結合された項目を 10 個までグループ゚化します。

    権限オブジェクトが事前にプログラムロジックに組み込まれており、実行時に 実行可能なアクション(データの照会や登録、変更など)及び処理可能なデータの範囲を制御します。

    権限

    権限とは、権限オブジェクトの定義、すなわち、権限オブジェクトの各権限項目の許容値を組合せたものです。 権限により、権限オブジェクト項目値のセットにもとづいて、ECCシステムで特定のアクティビティを実行することができます。 権限を使用することで、権限オブジェクトの項目に対して任意の数の指定値または値範囲を項目に対して指定することができます。また、すべての値を許可したり、空の項目を許容値として許可したりすることもできます。 権限を変更すると、その権限を含む権限プロファイルを持つすべてのユーザが影響を受けます。

    権限プロファイル

    権限プロファイルとは、権限の集合で、ユーザにまとめて権限を割り当てる単位です。権限プロファイルは下記3種類があります。

    生成済権限プロファイル 
    生成済権限プロファイルは、ロールからロールの権限データで自動生成される権限プロファイルです。マニュアル権限プロファイル
    マニュアル権限プロファイルとは、 ロールを使わずに明示的に作成される権限プロファイルです複合プロファイル
    複合プロファイルには、任意の数の権限プロファイルが含まれます。各要素の関係

    以下の図で権限コンセプトを構成する各要素の関係を示します。

    ロールの利用

    ロールは厳密的に権限コンセプトの構成要素ではないですが、内部的に生成済権限プロファイルを自動生成するため、権限プロファイルとして利用することができます。 さらに、ロールはユーザメニュ構成を定義する単位にもなりますので、実際のシステム運用ではロールを利用してユーザの権限を管理するはほとんどです。

    ロールは、ユーザをグルーピングする手段として、部署や役職に基づいて設計することが多い。


  • BASIS 0 Votes 923 閲覧数


    このトピックでは、NetWeaver ABAPの権限チェックの実装を取り上げて説明します。

    権限チェックのタイミング

    権限のチェックは、プログラムレベルのチェックとシステムレベルのチェックと2種類があります。

    プログラムレベルのチェック

    プログラムレベルでのチェックは、プログラムでAUTHORITY-CHECKを明示的に組み込む必要があります。 AUTHORITY-CHECK によって、ユーザに指定されたプロファイルが検索され、AUTHORITY-CHECKに指定された権限オブジェクトの権限をユーザが持っているかどうかが確認されます。検索された権限のいずれかが必要な値に一致する場合は、チェックは成功です。

    システムレベルのチェック

    システムレベルのチェックは、個別にプログラミングする必要がなく、システムより自動的に実施される権限チェックです。トランザクションやレポートプログラムが起動する際に、ユーザが該当機能を実行できる権限をもっているかどうかをシステムよりチェックされます。

    トランザクション起動時

    トランザクションが起動する際に、システムから以下のチェックは順に実施されます。

    トランザクションコードは有効か
    テーブルTSTCチェックトランザクションがシステム管理者によってロックされているか
    テーブルTSTCチェックS_TCODE権限チェック 
    ユーザが実行できるトランザクションコード一覧に該当トランザクションコードがはいっていないかをチェックされます。追加権限チェック
    SE93で該当トランザクションに追加権限が割り当てられた場合、それがチェックされます。割当権限チェック
    SU24で該当トランザクションに権限オブジェクトを割り当て且つチェックフラグを設定された場合、それがチェックされますレポートクラスの開始

    レポートに権限クラスを割り当てることによって、追加権限チェックを実行することができます。

    RFC汎用モジュールの呼出

    RFC汎用モジュールがRFCクライアントプログラムまたは他のシステムによって呼び出されると、呼び出されたシステムの権限オブジェクトS_RFC の権限チェックが実行されます。

    権限チェックのカスタマ実装

    権限設計は、業務運用でどこかの場面で何かの権限制御をかけなければならないという要件から始まります。 例として、「販売伝票一覧を出力するレポート処理で、ログオンユーザが権限を持っていない販売エリアの伝票を出力しない」という権限制御を取り上げます。

    権限オブジェクトの定義

    権限オブジェクトV_VBAK_VKOは、例の権限制御を実現できる標準権限オブジェクトです。

    権限クラス権限オブジェクト権限項目SDV_VBAK_VKOVKORG(販売組織)VTWEG(流通チャネル)SPART(製品部門)ACTVT(アクティビティ)権限チェックの実装

    以下の権限チェック処理で、ユーザが権限を持っていない販売エリアのデータが出力対象にならないように制御しております。

    LOOP AT T_VBAK INTO L_VBAK. AUTHORITY-CHECK OBJECT 'V_VBAK_VKO' ID 'VKORG' FIELD L_VBAK-VKORG ID 'VTWEG' FIELD L_VBAK-VTWEG ID 'SPART' FIELD L_VBAK-SPART ID 'ACTVT' FIELD '03'. IF NOT SY-SUBRC IS INITIAL. DELETE T_VBAK. ENDIF. 

    ENDLOOP.


  • BASIS 0 Votes 794 閲覧数


    このトピックでは、NetWeaver ABAPリリース7.0 (SAP NetWeaver 2004s)以降から導入された新しいテクニックの拡張フレームワークを取り上げてそれぞれ説明します。

    拡張フレームワークとは

    拡張フレームワーク(Enhancement Framework)とは、、従来の拡張テクニック(カスタマExitやクラシックBAdiなど)をオブジェクト指向の手法で改良したフレームワークです。 拡張フレームワークでサポートされる拡張仕組は、「BAdiによるオブジェクトプラグイン」と「Enhancement Optionによるソースコードプラグイン」に大別します。 ここのBAdiは従来のクラシックBAdiと区別して、新規BAdiと呼ばれます。クラシックBAdiから新規BAdiに自動的に変換することができます。

    拡張フレームワークの構成

    拡張フレームワークを構成しているコンポーネントには下記のようなものがあります。 •Enhacement Spot •Enhancement Implementaion •Enhancement Option

    Enhacement Spot

    Enhacement Spotは、拡張が実装できる位置を管理します。 オブジェクトプラグインとしてのEnhacement Spotは明示的に作成しなければならないほか、ソースコードプラグインとしてのEnhacement Spotは、Enhancement Optionを作成する際に一緒に作成されます。 オブジェクトプラグインEnhacement Spotの例ソースコードプラグインEnhacement Spotの例

    Enhancement Implementaion

    Enhancement Implementaionは、拡張実装を表します。オブジェクトプラグインとしてのBAdiによる拡張実装と、ソースコードプラグインとしてのEnhancement Optionによる拡張実装とも含められます。

    Enhancement Option

    ソースコードプラグイン を記述する位置はEnhancement Option によって管理されています。 Enhancement Option には、「ソース中の位置」「拡張タイプ(動的/静的、Point/Section)」などの属性があります。

    Enhancement Option には、明示的なものと暗黙的なものがあります。 暗黙的なものとは、すべてのリポジトリオブジェクトにあらかじめ組み込まれたもので、Enhancement Spot を必要としません。 明示的なものとは、開発者が独自に作成するもので、Enhacement Point文やEnhancement Section文などを使用し、明示的に作成位置を指定します。 Enhancement Point は「挿入型」の拡張で、指定した行位置に拡張コードが挿入されます。 Enhancement Section は「置換型」の拡張で、指定した行範囲のコードが拡張コードで置換されます。

    拡張の定義

    拡張をサポートさせるには、拡張できるようにさせたいソースコードに事前に拡張の仕掛けを組み込む必要があります。 拡張フレームワークには以下三つの拡張方法が用意されています。

    BAdiによる拡張明示的Enhancement Optionによる拡張暗黙的Enhancement Optionによる拡張

    「暗黙的Enhancement Optionによる拡張」は、サブルーチンや、汎用モジュールといったリポジトリオブジェクトのソース実装の開始及び終了の場所に全て予め組み込まれていますので、個別定義する必要がありません。

    BADIによる拡張仕掛けを作成

    以下の手順で、BADIによる拡張仕掛けを作成することができます。

    クラスビルダでBAdi用インタフェースを作成Enhancement Spotを作成
    SE80を利用します Enhancement Spot Defineを作成
    SE80を利用します
    Create BAdiを選択し、先ほど作成済のBAdi用インタフェースを指定拡張するソースコードにGET BADI、CALL BADIを実装明示的Enhancement Optionによる拡張仕掛けを作成

    以下の手順で、明示的Enhancement Optionによる拡張仕掛けを作成することができます。

    拡張するソースコードにEnhancement-Point文又はEnhancement-Sectionを記述保存してウィザードに従いEnhancement Optionを作成
    Enhancement Optionを管理するEnhancement Spotも同時に作成


  • BASIS 0 Votes 996 閲覧数


    このトピックでは、移送に関わるシステムテーブルを抜粋して説明します。

    概要

    以下の表でテーブル一覧を示します。

    No.カテゴリ技術名称名称説明1システム構成TCETRAL移送レイヤ移送レイヤの情報を格納2TCERELE移送レイヤの詳細-3TMSCDOM移送ドメイン移送ドメインの情報を格納4TMSCDES宛先宛先の情報を格納5TMSCNFS移送グループ移送ドメインの情報を格納6TMSCSYSシステムシステムの情報を格納7変更管理E070依頼/タスクのヘッダ依頼/タスクのヘッダ情報を格納8E070A依頼の属性依頼の属性情報を格納9E070C依頼/タスクのソース/対象クライアント依頼/タスクのソースクライアントを格納10E070L依頼/タスクの番号割当用索引最後に割り当てれた番号を格納11E071依頼/タスクの明細変更されたオブジェクト情報を格納12E071K依頼/タスクのキーエントリテーブルデータの場合のキー情報を格納13TTOBJECTS翻訳関連に応じた移送オブジェクト-14移送管理TSYIMPSTAT移送依頼インポートステータス-15TMSBUFREQ移送バッファの移送依頼-詳細(システム構成)  TCETRALテーブル 

    移送レイヤ、移送レイヤの情報を格納

     項目一覧 No.PK技術名称名称説明1○VERSIONバージョン-2○TRANSLAYER移送レイヤ- TMSCDOMテーブル 

    移送ドメイン、移送ドメインの情報を格納

     項目一覧 No.PK技術名称名称説明1○DOMNAM移送ドメイン-2 DOMCTLドメインコントローラ- TMSCDESテーブル 

    宛先、宛先の情報を格納

     項目一覧 No.PK技術名称名称説明1○RFCDESRFC宛先-2○LIMBOフラグ-3 RFCTYPE接続タイプ-4 RFCLIBFLG負荷分散-5 RFCHOST対象ホスト-6 RFCSERVサービス-7 RFCCLIENTクライアント-8 RFCUSERユーザ-9 RFCAUTHパスワード-10 DOMNAM移送ドメイン- TMSCNFSテーブル 

    移送グループ、移送ドメインの情報を格納

     項目一覧 No.PK技術名称名称説明1○DOMNAM移送ドメイン-2○NFSGRP移送グループ- TMSCSYSテーブル 

    システム、システムの情報を格納

     項目一覧 No.PK技術名称名称説明1○DOMNAM移送ドメイン-2○SYSNAMシステム名-3○LIMBOフラグ-4 NFSGRP移送グループ-5 DESADMRFC宛先-6 INSTNOインストール番号-詳細(移送系) E070テーブル

    依頼/タスクのヘッダ

     項目一覧 No.PK技術名称名称説明1○TRKORR依頼/タスク番号-2 TRFUNCTIONタイプ依頼の場合、K(ワークベンチ依頼)やW(カスタマイジング依頼)といった分類が格納されます3 TRSTATUSステータスD(修正可能)、R(リリース済)などがあります4 TARSYSTEM移送対象-5 KORRDEVカテゴリCUST(クライアント依存)、(クライアント非依存)があります6 AS4USER所有者-7 STRKORR上位移送- E070Lテーブル 

    CTS: 依頼/タスクの番号割当用索引

     項目一覧 No.PK技術名称名称説明1○LASTNUM識別-2 TRKORR移送/タスク番号-

    E070Lには何番から採番すれば良いのかという情報を保持しています。 開発機を何らかの理由で過去の状態に戻すと、移送依頼番号も、また若い番号から採番されてしまいます。 例えば、KDA0900100 まで採番された状態に戻ると、KDA0900100 から KDA0900200 までは2回繰り返されることになってしまい、それらの移送依頼をリリースしようとすると、移送ディレクトリに存在する過去の移送ファイルと重複してしまうため、エラーになってしまいます。 このような「移送依頼番号の重複」を回避するためには、移送依頼番号の情報を管理しているテーブル E070L の内容を移送依頼番号が重複しないような大きい番号に編集してあげればOKです。 ただ、このテーブルは編集不可に設定されているため、T-cd:SE16 では編集できません。 データベースレベルで直接 SQL を実行して編集します。 update E070L SET TRKORR = 'KDA0900300' WHERE LASTNUM = 'TRKORR';

    E071テーブル

    依頼/タスクのオブジェクトエントリ

     項目一覧 No.PK技術名称名称説明1○TRKORR依頼/タスク番号-2○AS4POS明細行番号-3 PGMIDプログラムID-4 OBJECTオブジェクトタイプ-5 OBJ_NAMEオブジェクト名-6 LOCKFLAGロックステータス-


  • BASIS 0 Votes 372 閲覧数


    このトピックで例をあげてロールの設計と実装を説明します。

    ビジネス要件

    グループ各会社が同じクライアントIDでSAPシステムを共有しています。

    ロールの作成

    ロールの移送