変更管理システム

 

このトピックでは、NetWeaver ABAP Platformの変更管理システム(Change Management System,CMS)の仕組みを取り上げて説明します。 変更管理システムと移送管理システムを合わせて、CTS(Change Transport Systemo)と呼ばれています。

リポジトリオブジェクトは変更履歴に対してバージョン管理ができます。

バージョンの種類

バージョンは開発データベース(リポジトリ)上のバージョンとバージョンデータベース上の履歴バージョンと2種類と大別されます。

開発データベース上のバージョン

開発データベース上では、MAXで「有効」と「修正」と2バージョンが存在います。

  • 有効バージョン
    有効バージョンは現在のSAP環境に有効になっているバージョンというもので、端末に問わず、プログラムを実行する際に、このバージョンが利用されます。
  • 修正バージョン
    修正バージョンは現在修正中のステータスが格納されます。

有効化すると、修正バージョンのステータスを持って有効バージョンが上書きされると同時に、修正バージョンが削除されます。 有効化した後に、再修正が発生しない限り、開発データベースに有効バージョンのみで、修正バージョンが存在しない状態になります。 修正バージョンでもすべてのユーザに見えます。

バージョンデータベース上のバージョン

バージョンデータベース上のバージョンは以下のようなものがあります。

カテゴリ内容説明
““依頼がリリースされた時点で登録されたバージョン
Iインポート中に登録されたバージョン
Sシステム依頼 ( 修正または仮修正に取り込む前のバックアップコピー用など)により登録されたバージョン
U任意の時点で ( 中間バージョンとして) ユーザ依頼により登録されたバージョン。依頼がリリースされるとこれらのバージョンは削除され、“ “ バージョンと置換されます。

バージョンの登録

バージョンの登録はシステムによる自動登録とユーザによるマニュアル登録の2種類があります。

  • システムによる自動登録
    バージョン管理の目的はリポジトリオブジェクトのすべての変更履歴を記録することです。 そのため以下のようなタイミングで自動的にバージョンが登録されます。
    • リポジトリオブジェクトが変更される前
      変更されたそれぞれのオブジェクトが変更依頼に入力された時点 バージョン管理の最新バージョンが有効でなければ、このオブジェクトのバージョンは、オブジェクトが変更される前にバージョン管理に保存されます。 このようなバックアップバージョンはバージョン概要に「 S 」 または 「 I 」で示されます。
    • 変更依頼のリリース時
      変更されたオブジェクトのある変更依頼をリリースすると、バージョンが登録されます。 依頼番号は関連バージョンのバージョン概要に表示されます。
  • ユーザによるマニュアル登録
    自動的に登録されたバージョン以外にも、任意の時点で仮バージョンを登録することもできます。 それには、リポジトリオブジェクト更新トランザクションの バージョン登録機能を使用します。 また、これらの仮バージョンを使用して、仮バージョンが有効化された後でもオブジェクトの前バージョンを復元することもできます。 依頼がリリースされると、仮バージョンは削除され、その時点で有効なバージョンと置換されます。

バージョンの照会、使用

バージョン管理機能は、オブジェクトナビゲータ ( SE80 )、移送オーガナイザ(SE01)といったトランザクションに組み込まれており、それを利用して下記のようなことができます。

  • バージョンの一覧表示
  • 指定バージョンの内容表示
  • 指定された二つバージョンの比較

ローカルオブジェクトは変更履歴が取られない以外に、リポジトリオブジェクトの変更は全て変更依頼に記録されます。 変更依頼は依頼と略称することができ、必ずしも移送依頼に限ることがありません。

依頼タイプ

依頼は依頼タイプによって下記のように分類することができます。

  • ローカル変更依頼
    ローカル変更依頼のリリースは、移送ファイルが作成されないため、移送は不可能です。
  • 移送可能変更依頼(ワークベンチ依頼)
    リポジトリオブジェクトを変更すると、ワークベンチ依頼を指定するためのクエリウィンドウが表示されます。変更依頼にオブジェクトを割り当てている場合は、変更のみを保存することができます。 
    通常、ワークベンチ依頼とそのタスクは、全クライアントのリポジトリオブジェクトとカスタマイジングへの変更の記録に使用されます。ただし、クライアント依存カスタマイジングを取り込むこともできます。
    リポジトリオブジェクトへの変更を移送するかどうかは、そのオブジェクトのパッケージの現行 SAP システムからの移送ルートが定義されているかどうかによって決まります。このシステム設定から、変更依頼が移送可能か、また変更依頼がどの対象システムに移送されるかが自動的に判断されます。
  • 移送可能変更依頼(カスタマイジング依頼)
    カスタマイジング依頼では、1クライアント(依頼のソースクライアント) で行われたクライアント依存のカスタマイジング設定が記録されます。
    クライアントのカスタマイジング作業での変更の自動記録は、クライアントごとに クライアント制御を使用して有効化または無効化することができます。自動記録が有効な場合は、カスタマイジング設定を変更するとクエリウィンドウが表示され、カスタマイジング依頼を指定するように要求されます。
    カスタマイジング依頼が移送されるかどうかは、ワークベンチ変更依頼と同様に、入力されるオブジェクトには 依存しません。 SAP システム ( 拡張移送制御を使用する場合はクライアント) のカスタマイジング依頼は、システム設定に応じてすべて移送可能またはすべてローカルになります。変更依頼が移送可能かどうか、移送可能な場合はどの対象システムに移動するかは、 標準移送レイヤ によって自動的に判断されます。ただし、この設定はマニュアルで変更できます。

依頼ステータス

修正可能かどうか、リリース済みかどうかによって、依頼ステータスが下記の二つに分けられます。

  • 修正可能(未リリース)
  • リリース済(修正不可)

タスク

タスクは依頼の下位要素であり、ユーザ名で表されます。 タスクタイプは下記の二つがあります。

  • 修正
  • 仮修正

依頼の作成

SE01で移送オーガナイザで新たな移送依頼を登録することができます。 なお、プログラム改修などの場合、既存の依頼を選択や新たな依頼を作成するウィザードが提示される場合もあります。

依頼へのオブジェクトの取り込み

依頼へのオブジェクトの取り込みは以下のようなパターンがあります。

  • 完全自動 
    変更は自動的に依頼に記録されます。 プログラムやテーブル構造などの変更はこのパターンに分類されます。
  • マニュアル
    オブジェクトを変更するトランザクションの一つの機能として動作します。 以下のようなオブジェクトはこのパターンに分類されます。
    • テーブルデータ SE16 データブラウザ画面で「テーブルエントリ→エントリ転送」機能を利用
    • 翻訳 SLXT
    • ロール PPFG
  • 完全マニュアル
    変更対象オブジェクトのオブジェクトディレクトリを指定、全てのオブジェクトはこの方法で依頼に記録することができます。
  • SE01 移送オーガナイザ
    以下の機能が含められています。
    • 依頼の登録、削除、マージ、属性変更、リリース及び一覧照会など
      オブジェクトの編集により、依頼を登録することもできます
    • タスクの登録、削除、属性変更、リリース及び一覧照会など
      オブジェクトの編集により、依頼にタスクを登録することもできます
    • オブジェクトの追加、削除、バージョンの照会など
      オブジェクトの編集により、自動的に追加されることがあります。
  • SE03 移送オーガナイザツール