2025.03.17

SAP ABAPプロセス

今回はABAPベースのSAPシステム ( SAP NetWeaver AS ABAP 、 ABAP Platform ) の処理を実行するプロセスについてご説明します。
なお、今回ご説明するプロセスはOS上で実行されているプロセスを対象としており、内部プロセスは対象外とないります。

■ プロセスの種類

ABAPベースのSAPシステムでは、以下のプロセスが実行されます。

  • メッセージサーバ ( Message Server )
  • エンキューサーバ ( Enqueue Server )
  • ディスパッチャ ( Dispatcher )
  • ワークプロセス ( Work Process )
  • インターネット通信マネージャ ( ICM )
  • インターネットグラフィックサービス ( IGS )
  • ゲートウェイ ( Gateway )

● メッセージサーバ ( Message Server )

SAPシステム内の全てのインスタンスを管理するプロセス。
メッセージサーバはSAPGUIからログオンする際のログオン先インスタンスの振り分け ( 負荷分散 ) 、インスタンス間の通信を管理する役割を持ちます。
SAPシステム内で1プロセスのみ存在し、ABAP SAP Central Services インスタンス ( ASCS ) で起動します。

● エンキューサーバ ( Enqueue Server )

SAPシステムにおけるロック管理を実行するプロセス。
SAP Kernel 7.49まではエンキューワークプロセスというプロセスが存在していましたが、SAP Kernel 7.50以降はエンキューワークプロセスは廃止されて、エンキューサーバに変わりました。
SAP Note 2146940 – Desupport of Enqueue Work Process

SAPシステムでのロックはエンキューサーバ内の共有メモリにあるロックテーブルでロック操作を実行して、ロックを管理します。
SAPシステム内で1プロセスのみ存在し、ABAP SAP Central Services インスタンス ( ASCS ) で起動します。

● ディスパッチャ ( Dispatcher )

ユーザからの各種リクエストや、メッセージサーバからのログオンやインスタンス間のリクエストを受け付けて、ワークプロセスへ振り分けを実行するプロセス。
ディスパッチャはPrimary Application Server インスタンス ( PAS ) およびAdditional Application Server インスタンス ( AAS ) それぞれで起動し、各インスタンス内で1プロセスのみ存在します。
なお、ディスパッチャはTCP通信しか受け付けないため、HTTP通信でのリクエストを振り分けする場合は、Webベースのディスパッチャ ( Web Dispatcher ) を使用する必要があり、Web DispatcherはスタンドアロンWeb DispatcherかASCSインスタンスの組込みWeb Dispatcherを使用する必要があります。

● ワークプロセス ( Work Process )

SAPシステム内のユーザ処理を実行するプロセス。
ワークプロセスはPrimary Application Server インスタンス ( PAS ) およびAdditional Application Server インスタンス ( AAS ) で起動します。
ワークプロセスは用途ごとに下記のワークプロセスが存在します。
SAP Note 39412 – How many work processes should be configured?

・ダイアログワークプロセス ( Dialog Work Process )

ABAPプログラム/汎用モジュールなどの実行や画面表示などのダイアログ処理やRFC/HTTP通信の処理など、ユーザからの操作の処理を実行するプロセス。
ダイアログワークプロセスはユーザの対話形式の処理に使用されるため、処理が長時間化しないように実行時間の制限が可能となります。SAP Kernel 7.4x以降では、ダイアログワークプロセスに優先度の機能が追加されました。セッションタイプに応じて、高 ( High ) 、中 ( Normal ) 、低 ( low ) の優先度が設定されるようになり、優先度ごとに実行時間を制限することが可能となりました。
SAP Note 2918906 – Deprecation of Profile Parameter “rdisp/max_wprun_time”
SAP Note 2001276 – Changed configuration as of 7.40 SP2

・バックグラウンドワークプロセス ( Background Work Process )

ジョブなどのバックグラウンド処理を実行するプロセス。
バックグラウンドワークプロセスはダイアログワークプロセスと異なり、バックグラウンド処理を実行する目的のため、実行時間に制限はありません。

・更新ワークプロセス ( Update Work Process )

ダイアログ処理やバックグラウンド処理で発生するデータベースへの変更処理 ( Insert , Update , Delete ) を実行するプロセス。
更新ワークプロセスは2つのタイプがあります。

  • V1更新用プロセス ・・・重要な更新依頼 ( 1次変更 ) で実行されるプロセス
  • V2更新用プロセス ・・・重要性の低い更新依頼 ( 2次変更 ) で実行されるプロセス

V2更新ワークプロセスは任意となり、V2更新ワークプロセスが存在しない場合は、全ての更新依頼をV1更新ワークプロセスで実行されます。

・スプールワークプロセス ( Spool Work Process )

SAPシステムでの印刷処理を実行するプロセス。
スプールワークプロセスは、印刷処理における出力データの作成、出力依頼の処理、プリンタ ( スプーラ ) への出力データの転送を実行します。

◆ ワークプロセス数の設定方法

各ワークプロセスのプロセス数はプロファイルパラメータによって設定します。

ワークプロセスプロファイルパラメータ
ダイアログワークプロセスrdisp/wp_no_dia
バックグラウンドワークプロセスrdisp/wp_no_btc
更新 ( V1 ) ワークプロセスrdisp/wp_no_vb
更新 ( V2 ) ワークプロセスrdisp/wp_no_vb2
スプールワークプロセスrdisp/wp_no_spo

◆ ワークプロセスの制約事項

各ワークプロセスにそれぞれ制約および推奨があります。

  • 各PAS / AASインスタンスでのワークプロセス ( ダイアログ、バックグラウンド、更新 ( V1 / V2 ) 、スプール ) の合計の最大数は512プロセスとなる。
  • ダイアログワークプロセスは各PAS / AASインスタンスで最低でも2プロセス以上に設定する必要がある。
  • ダイアログワークプロセスは非ダイアログワークプロセス ( バックグラウンド、更新 ( V1 / V2 ) 、スプール ) の合計数以上が推奨。
  • バックグラウンドワークプロセスは全PAS / AASインスタンスで最低でも1プロセス以上に設定する必要がある。
  • 更新 ( V1 ) ワークプロセスは全PAS / AASインスタンスで 最低でも1プロセス以上に設定する必要がある。
  • 更新 ( V2 ) ワークプロセスは全PAS / AASインスタンスで2プロセス以上が推奨。
  • スプールワークプロセスは全PAS / AASインスタンスで 最低でも1プロセス以上に設定する必要がある。

SAP Note 39412 – How many work processes should be configured?
SAP Note 934109 – Work process status “On Hold RFC”
SAP Note 108799 – How many spool work processes for each instance?
SAP Note 19706 – Tuning the Spooler
SAP Note 9942 – Maximum number of work processes

● インターネット通信マネージャ ( ICM )

HTTP、HTTPS、SMTPを使用した外部からSAPシステムへの通信および、SAPシステムから外部への通信を実行するプロセス。
ICMプロセスはPrimary Application Server インスタンス ( PAS ) およびAdditional Application Server インスタンス ( AAS ) で起動します。

● インターネットグラフィックサービス ( IGS )

SAPシステム内のデータまたは別のソースデータをグラフィック/非グラフィックとして出力を実行するプロセス。
IGSプロセスはPrimary Application Server インスタンス ( PAS ) およびAdditional Application Server インスタンス ( AAS ) で起動します。

● ゲートウェイ ( Gateway )

ワークプロセスと外部プログラム間の通信および別インスタンス ( PAS、AAS ) のワークプロセス間の通信を実行するプロセス。
ゲートウェイプロセスはPrimary Application Server インスタンス ( PAS ) およびAdditional Application Server インスタンス ( AAS ) で起動します。

RECRUIT

エンジニアが主役となり、未来を明るく照らしていく100年企業へ。

採用情報へ