SAP出力・印刷管理
SAP印刷トラブルシューティング基礎:印刷ジョブとスプールエラーの診断手順
SAP ERPの印刷トラブルを、出力条件、スプール、出力デバイス、ホストスプール、フォームの順に切り分ける実務手順を解説します。
SAPの印刷トラブルは、帳票フォームそのものだけでなく、出力条件、スプール生成、出力デバイス、ホスト側の印刷処理という複数の層で発生します。最初からフォームを修正するのではなく、どの層まで処理が進んだかを確認すると、原因を短時間で絞り込めます。この記事では、SAP ERPおよびSAP S/4HANAの運用で使える基本的な診断手順を整理します。
SAP印刷の処理経路を把握する
一般的な印刷処理は、業務伝票の登録から始まり、出力条件の判定、帳票データの生成、スプール要求の作成、出力デバイスへの送信、ホストの印刷キュー処理という順に進みます。Adobe Formsを使うシステムでは、フォームテンプレートやフォームデータの生成も経路に含まれます。フォームの種類と保守ポイントは、SAP Adobe Formsの基礎も参照してください。
診断では、次の情報を最初に記録します。
- 業務オブジェクトの番号、会社コード、販売組織などの識別情報
- 出力条件の種類、出力日時、実行ユーザー
- 出力デバイス名、用紙サイズ、ページ形式、印刷部数
- スプール番号または出力要求番号
- 表示されたメッセージ、ステータス、発生時刻
- 同じ帳票を別ユーザーまたは別デバイスで実行した結果
印刷できないという現象だけでは、出力が作成されなかったのか、スプールが作成された後に停止したのかを判断できません。業務画面のメッセージとスプール管理の状態を分けて確認します。
最初に現象を分類する
現象は、スプールが存在するかどうかで大きく二つに分かれます。スプールがない場合は、出力条件、出力処理、権限、フォーム生成などを確認します。スプールがある場合は、出力デバイス、アクセス方式、ホストスプール、プリンター、ネットワークを確認します。
| 現象 | 最初に確認する場所 | 主な切り分け |
|---|---|---|
| 出力メッセージ自体が作成されない | 業務伝票と出力条件 | 条件、媒体、パートナー、処理ステータス |
| 出力はあるがスプールがない | 出力処理ログ、フォーム処理 | 処理プログラム、フォーム、権限、宛先 |
| スプールはあるが印刷されない | スプール管理と出力デバイス | ステータス、デバイス、アクセス方式 |
| 一部ページだけ欠落する | スプール内容とフォーム | データ、ページ条件、フォームロジック |
| 文字化けやレイアウト崩れがある | デバイス設定とフォーム | デバイス種別、文字セット、用紙形式 |
| 同じ帳票が重複して出る | 出力条件と再処理履歴 | 再実行、処理ステータス、重複条件 |
同じ伝票を何度も再出力すると、原因が解消したように見えて重複印刷を生むことがあります。再実行の前に、既存の出力履歴、スプール、送信済み状態を保存します。
出力条件と処理ステータスを確認する
出力が作成されない場合は、まず対象伝票の出力条件を確認します。出力タイプ、出力媒体、受信者、言語、タイミング、条件レコードが対象データに合っているかを調べます。販売、購買、請求などの業務領域ごとに設定場所や処理方式が異なるため、対象アプリケーションの出力管理と伝票データを同じ時刻範囲で確認します。
確認時は、次の順番が実務的です。
- 対象伝票に必要な出力タイプが存在するか確認する。
- 出力条件のキー項目が伝票値と一致しているか確認する。
- 出力媒体が印刷に設定され、出力デバイスが決まっているか確認する。
- 処理タイミングが即時処理か、後続のバックグラウンド処理かを確認する。
- 処理ステータスとエラーテキストを保存する。
- 再処理前に、元の出力とスプールが残っているか確認する。
後続処理がバックグラウンドジョブで実行される構成では、ジョブの実行結果とスプール生成時刻を照合します。SAPバックグラウンドジョブ監視(SM37)では、ジョブの開始・終了時刻、実行ユーザー、ジョブログ、ジョブが作成したスプールを関連付けて確認できます。
スプールの状態を診断する
スプール管理では、要求の所有者、作成時刻、ページ数、出力デバイス、出力状態を確認します。スプールが存在してページ数も正しい場合、帳票データの生成までは成功している可能性が高くなります。ページ数がゼロ、内容が開けない、または生成直後にエラーとなる場合は、フォームやデータ生成処理を優先して調べます。
スプール確認では、次の点を記録します。
- スプール番号と作成日時
- 作成ユーザーと対象クライアント
- 出力デバイスと要求された用紙形式
- ページ数、内容のプレビュー、文字の表示状態
- 出力済み、待機中、エラーなどの状態
- 同じ要求から作成された出力要求の有無
スプールのプレビューが正しく、デバイスへの出力だけが失敗している場合は、フォームロジックを変更せずにデバイス設定を確認します。逆に、プレビュー段階で文字化けやページ欠落がある場合は、ホストプリンターを交換しても解決しないため、フォーム、文字セット、ページ形式を調査します。
出力デバイスとホスト印刷を確認する
スプールが正しく作成されている場合、出力デバイスの定義を確認します。デバイス名、出力先、アクセス方式、ホストプリンター名、デバイス種別、用紙形式、文字セットを順に確認してください。テストでは、同じSAPサーバーから到達できる既知の正常なプリンターを使うと、設定差分を比較できます。
印刷サーバーやホストスプールを経由する構成では、次の層を個別に確認します。
- SAPの出力デバイスが有効である。
- SAPから指定ホストまたは印刷サーバーへ送信できる。
- ホスト側のプリンター名が正しい。
- OSの印刷キューにジョブが現れる。
- キューが停止状態になっていない。
- プリンター本体が用紙、トナー、カバー、ネットワークの状態を満たしている。
特定のユーザーだけ失敗する場合は、ユーザーの既定出力デバイス、権限、言語、個人設定を確認します。全ユーザーが同時に失敗する場合は、共有プリンター、印刷サーバー、SAPの出力処理、ネットワークの障害を優先します。
フォームと帳票データを切り分ける
プレビューまたはテスト出力で問題が再現する場合は、使用しているフォーム技術を特定します。Smart Forms、SAPscript、Adobe Formsでは、テンプレート、ドライバープログラム、スタイル、ページ定義、フォント、インターフェースの確認箇所が異なります。
フォーム側では、次の情報を保存します。
- フォーム名とバージョン
- 使用しているインターフェースまたはドライバープログラム
- 再現する伝票番号と再現しない伝票番号
- 欠落する項目、ページ、画像、バーコード
- 使用言語、出力デバイス、用紙形式
- テスト時のアプリケーションログとスプール内容
特定のデータだけで発生する場合は、空値、桁数超過、特殊文字、改ページ条件、明細件数、住所や税情報の欠落を調べます。すべてのデータで発生する場合は、フォーム割り当て、インターフェース、出力デバイスの共通設定を優先します。
フォームを変更した場合は、開発環境での単体確認だけでなく、対象言語、複数ページ、異なる会社コード、異なるプリンターで回帰確認を実施します。帳票の本番再処理は、業務部門と重複印刷の影響を確認してから行います。
エラーをログから追跡する
印刷処理がバックグラウンドで動く場合、ジョブログだけでなく、アプリケーションログ、システムログ、スプールのエラーテキストを同じ時刻で照合します。SAPシステムログ(SM21)の確認方法では、印刷処理と同時刻に発生した通信、ファイル、権限、ワークプロセス関連のイベントを確認できます。
ログを調べるときは、次の相関キーを使います。
- 実行ユーザー
- 業務伝票番号
- 出力タイプ
- スプール番号
- ジョブ名とジョブ実行番号
- 出力デバイス名
- 発生日時とSAPシステムのタイムゾーン
エラーを見つけたら、メッセージクラス、番号、変数値、発生プログラム、処理ステップを記録します。メッセージ本文だけを転記すると、同じ文言の別原因を区別できないことがあります。再現テストでは、入力値と実行経路を固定して、変更を一度に一つだけ加えます。
よくある症状別の対応
出力メッセージが作成されない
出力条件、条件レコード、出力媒体、処理タイミング、受信者を確認します。伝票の保存時点で出力が作成される設計か、後続ジョブが出力を作成する設計かを分けて調べます。出力条件が成立していない場合、プリンターやスプールの調査を先に行っても原因には到達しません。
スプールはあるが印刷されない
スプールの内容とページ数を確認し、出力デバイスのステータス、アクセス方式、ホストプリンター名、OS側キューを確認します。スプールを別の正常な出力デバイスへ送った結果を比較すると、帳票生成と印刷経路を分離できます。
文字化けする
デバイス種別、文字セット、プリンターモデル、SAP側の出力形式、フォームで使用するフォントを確認します。プレビューも文字化けする場合はフォームまたはデータ側を調べ、プレビューが正常で紙だけ文字化けする場合は出力経路とプリンター側を調べます。
レイアウトがずれる
用紙形式、ページ形式、余白、プリンターの印刷可能領域、縮小設定を確認します。PDFなどの中間形式と直接印刷を比較できる場合は、同じ入力データで出力結果を保存し、ずれが発生する層を特定します。
一部の明細やページが出ない
明細件数、改ページ条件、ページウィンドウ、データ取得条件、権限によるデータ制限を確認します。欠落するページが毎回同じか、データ量に応じて変化するかを確認すると、固定レイアウトの問題とデータ依存の問題を区別できます。
再処理と変更管理を安全に行う
印刷障害の復旧では、原因調査と業務上の再出力を分けて管理します。最初に元の出力、スプール、ログを保存し、次にテスト用の伝票またはコピー環境で修正を検証します。業務データを直接変更して印刷を試す場合は、変更履歴と承認者を記録します。
再処理前のチェックリストは次のとおりです。
- 元の出力ステータスを保存した
- 元のスプール番号を記録した
- 正しい出力デバイスを確認した
- 重複印刷の対象と件数を確認した
- 印刷済み帳票の扱いを業務部門と合意した
- フォームや出力設定の変更を移送単位で記録した
- 再処理後のスプールと紙出力を照合する担当者を決めた
設定変更後は、単一のテスト出力、複数ページの出力、異なる言語の出力、通常運用の出力を段階的に確認します。障害が解消したことだけでなく、出力の重複、ページ欠落、順序変更がないことも確認します。
診断結果を記録する
印刷障害の記録には、現象、発生範囲、再現条件、影響件数、スプール番号、出力デバイス、関係するジョブ、ログメッセージ、実施した変更、復旧結果を含めます。これらを残すと、同じプリンターや同じフォームで再発した際に比較できます。
障害の一次切り分けでは、次の順序が有効です。
- 影響範囲と発生時刻を確定する。
- 出力条件と処理ステータスを確認する。
- スプールの有無と内容を確認する。
- 出力デバイスとホスト印刷経路を確認する。
- フォームと帳票データを確認する。
- ログを相関付けて原因候補を絞る。
- テスト出力で修正を検証する。
- 再処理と業務上の完了を記録する。
この順序で確認すると、フォーム、SAP GUI、印刷サーバー、プリンター本体を同時に変更する状況を避けられます。変更対象を限定し、各テスト結果を残すことが安定した復旧につながります。