2025.08.18

SAPシステムでの印刷処理

今回はSAPシステムにおける印刷処理について、ご説明します。

( 本説明は、SAP S/4HANAなどのABAPシステムが対象となります。)

1.印刷処理の流れ

SAPシステムにおける印刷処理の流れは以下の通りとなります。

① 業務アプリケーション ( 業務画面 ) で印刷処理を実行
② 業務アプリケーションは印刷文書 ( 印刷データ ) を作成
③ 印刷データはスプール依頼、スプールデータに分割されて、スプールデータベースに格納
④ 分割されたスプール依頼とスプールデータを出力依頼として統合
⑤ 出力デバイスを使用してホストスプーラに印刷データを送信
⑥ ホストスプーラから対象プリンタに印刷データを送信して印刷

2.印刷アーキテクチャ

印刷時のアーキテクチャは以下の通りとなります。

① 印刷処理がトリガーされると、スプールサーバのダイアログワークプロセスが、印刷文書をスプール依頼とスプールデータに分けて、スプールデータベースに格納する
② スプールワークプロセスは、スプール依頼 ( とスプールデータ ) を出力デバイスが認識できるフォーマットに変換して出力依頼を作成する
③ 作成された出力依頼は、スプールワークプロセスによって出力デバイスで定義された宛先(※)に印刷データと印刷依頼を送信する
※フロントエンド印刷・リモート印刷時は、SAPSprintへ転送。ローカル印刷時はアプリケーションサーバのホストスプーラに転送。
④ SAPSprintはホストスプーラに印刷依頼を転送する
⑤ 印刷依頼を受け取ったホストスプーラは指定されたプリンタで印刷を実行する

3.印刷方法

SAPシステムでは、プリンタへの出力として、以下の印刷方法が用意されています。

フロントエンド印刷

フロントエンド印刷は、SAPGUIがインストールされた自端末に接続されたプリンタに印刷する印刷方法となります。
フロントエンド印刷は、SAPGUIから印刷処理を実行して、自端末に接続されたプリンタで印刷するため、対話処理でしか利用できません。
フロントエンド印刷では、印刷データが自端末のOSスプーラに転送されてきます。

① SAPGUIの画面で、印刷処理を実行
② 印刷処理の指示を受けた業務アプリケーションは、印刷文書を作成
③ 印刷文書をスプール依頼とスプールデータに分割して、スプールデータベースに格納
④ スプール依頼とスプールデータから出力依頼を作成
⑤ フロントエンド印刷用の出力デバイスを経由して、出力依頼を端末のホストスプーラに転送
⑥ ホストスプーラは印刷指示のもと、印刷データをプリンタから印刷

リモート印刷

リモート印刷は、ネットワーク経由で別サーバで接続されたプリンタに印刷する印刷方法となります。
リモート印刷では、SAPアプリケーションサーバのOSスプーラとは別サーバのOSスプーラに印刷データを転送します。
転送先のOSスプーラとプリンタは出力デバイスで定義します。

① SAPGUIの画面またはSAPジョブから印刷処理を実行
② 印刷処理の指示を受けた業務アプリケーションは、印刷文書を作成
③ 印刷文書をスプール依頼とスプールデータに分割して、スプールデータベースに格納
④ スプール依頼とスプールデータから出力依頼を作成
⑤ リモート印刷用の出力デバイスに定義されたプリンタサーバのホストスプーラに出力依頼を転送
 ( プリンタサーバがWindowsの場合は、SAPSprintまたはプリンタサーバサービスを経由してホストスプーラに転送 )
⑥ ホストスプーラは印刷指示のもと、印刷データを出力デバイスで定義されたプリンタから印刷

ローカル印刷

ローカル印刷は、SAPアプリケーションサーバに接続されたプリンタに印刷する印刷方法となります。
ローカル印刷では、SAPアプリケーションサーバのOSスプーラに印刷データを転送します。
ローカル印刷は、SAPアプリケーションサーバでスプールワークプロセスが実行されている必要があります。

① SAPGUIの画面またはSAPジョブから印刷処理を実行
② 印刷処理の指示を受けた業務アプリケーションは、印刷文書を作成
③ 印刷文書をスプール依頼とスプールデータに分割して、スプールデータベースに格納
④ スプール依頼とスプールデータから出力依頼を作成
⑤ ローカル印刷用の出力デバイスからSAPアプリケーションサーバのホストスプーラに出力依頼を転送
⑥ ホストスプーラは印刷指示のもと、印刷データを出力デバイスで定義されたプリンタから印刷

4.用語

TemSeデータストア

TemSeデータストアは、印刷処理用の一時順次データ用のデータストアで、出力データを一時的に保存するために使用されます。TemSeデータストアの保存先はデータベースかファイルシステムとなり、SAP S/4HANA2023現在では、データベースがデフォルトの保存先となります。
保存先はSAPプロファイルパラメータ「rspo/store_location」で定義し、下記のパラメータ値によって保存先を指定することが可能です。

スプール依頼

スプールの登録日、登録者、出力デバイスなどの印刷に必要な管理情報で、プリンタに印刷データが送信されていない状態。
スプールデータは出力依頼が登録されるまでは、TemSeデータストアに保存されています。スプール依頼はテーブル TSP01 で管理されており、トランザクションコード SP01 でスプール依頼を確認することができます。
スプール依頼には一意の番号 ( スプール番号 ) が割り当てられます。スプール番号は使用できる番号範囲が決まっており、スプール番号が枯渇すると新たにスプール番号が割り当てることができないため、スプール依頼を作成することができなくなります。スプール依頼を削除することで、スプール番号は使用可能となり、新たにスプール依頼を作成することができるようになります。
スプール依頼は古いスプール依頼を定期的に削除して、スプール番号を使用可能にする必要がある。スプール依頼の削除は、SAP標準ジョブの「SAP_REORG_SPOOL」で削除することができます。

出力依頼

スプール依頼とスプールデータが結合された印刷データで、選択された出力デバイスが認識できるフォーマットに変換されたデータ。( プリンタへの出力が可能な状態 )
出力依頼は、出力先のプリンタが複数ある場合などのため、スプール依頼1つに対して、複数の出力依頼を作成することが可能となります。出力依頼はテーブル TSP02 で管理されており、トランザクションコード SP01 で出力依頼を確認することができる。

スプール番号

スプール依頼を識別するための一意の番号。
スプール番号は定義された番号の範囲内で一意の番号が使用されます。スプール番号の使用可能な番号範囲は番号範囲オブジェクトの「SPO_NUM」で定義されています。
スプール番号範囲は、デフォルトで100~32000までの31,900個の番号が使用可能で、最大では100~999,999までの999,899個の番号を使用することが可能。使用可能な番号がない場合、新たにスプール依頼を作成することができない。スプール番号はスプール依頼を削除することで、その番号が使用可能となる。

出力デバイス

SAPシステムで文書を印刷する際に使用する論理的なデバイス定義。物理デバイス ( プリンタやプリンタサーバ ) を論理的な定義したもの。
出力先のプリンタやプリンタサーバを指定するため、出力先ごとに出力デバイスを登録する必要がある。出力デバイスには、出力先プリンタの種類、スプールサーバ、ホストスプールアクセス方法 ( フロントエンド印刷、リモート印刷など ) 、出力先の宛先ホスト名などが設定されます。
出力デバイスは、トランザクションコード SPAD から登録、変更、削除することができます。また、出力デバイスは移送依頼に登録することが可能なため、移送にて他SAPシステムに出力デバイス定義を登録することが可能となります。

スプールサーバ

印刷処理機能を提供するSAPアプリケーションサーバ ( PAS / AAS ) のことで、1つ以上のスプールワークプロセスが実行されているインスタンス。
スプールサーバはOSのスプールシステムに転送される印刷データを処理します。トランザクションコード SPAD からスプールサーバを設定することができます。
論理スプールサーバを設定することで、どのSAPアプリケーションサーバからでも物理スプールサーバを選択することが可能となり、
 ・1つの物理スプールサーバを複数の論理スプールサーバ
 ・複数の物理スプールサーバを1つの論理スプールサーバ
に設定することが可能となります。
代替スプールサーバを設定することで、複数のスプールサーバ間で印刷処理を分散することも可能となります。

HostSpoolアクセス方法

SAPシステムから印刷するには、出力デバイスの登録が必要となります。出力デバイスがフロントエンド印刷用かリモート印刷用、ローカル印刷用かは、出力デバイスの「HostSpoolアクセス方法」設定で識別します。このHostSpoolアクセス方法によって、どの印刷方法を使用して、ホストスプールに出力依頼を転送してプリンタから印刷するかを設定します。

※1
SAPGUI7.40以降はアクセス方法「F」は機能しなくなりました。SAPGUI7.50以降はSAPLPDは配布されません。
SAPGUI7.40以降も継続して、アクセス方法「F」を使用する場合は、下記SAPノートのカーネルパッチレベル以上にする必要があります ( アクセス方法「G」と同じ制御テクノロジーが使用するようになる ) 。SAP Note 2028598 – Technical changes for front-end printing with access method ‘F’

RECRUIT

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

採用情報へ