1/6 ページ 印刷パラメータ 印刷プロセスを開始する前に 印刷パラメータを設定する必要があります 一覧を登録後に印刷する場合 印刷パラメータで指定された印刷書式を使用して完全な一覧が分割され 必要であれば切り捨てて 印刷ページに合うように調整されます 一覧を登録中に印刷する場合は 印刷書式を使用してプログラムで実際に一覧がフォーマットされます 印刷パラメータは ユーザによって対話的に またはプログラム内で設定されます 印刷パラメータ - 概要 各印刷プロセスに対して スプールシステムは完全かつ整合性のある印刷パラメータのセットを必要とします ABAP では 構造 PRI_PARAMS (ABAP ディクショナリ ) が印刷パラメータのセットを表します 印刷パラメータを対話的に渡す際 レポートの開始後にダイアログボックスが表示され ここでユーザは最も重要な印刷パラメータを入力する必要があります 以下のテーブルは 印刷リスト出力ダイアログウィンドウの入力項目と PRI_PARAMS コンポーネントとの対応を示しています 入力項目 コンポーネント意味 出力デバイス PDEST プリンタまたは FAX の名称 コピー数 PRCOP 印刷されるコピーの数 ( デフォルト値はユーザデフォルトから取得されます ) ( デフォルト値 : 1) 名称 PLIST スプール依頼の名称 これは 即時印刷しない場合にのみ設定します ( ユーザ名 (SY- UNAME) の先頭 3 文字を含むレポート名 (SY- REPID) を使用して事前設定します ) タイトル PRTXT スプール依頼の内容説明テキスト このテキストは 標準カバーシートに記載されます PRTXT は 印刷依頼の一覧の名称 PLIST も置換します ( システム サービス 印刷依頼 ) 権限 PRBER スプール依頼に対する権限 この権限を持つユ ーザのみが依頼の内容を参照することができま す 即時印刷 PRIMM この項目をマークすると 依頼の完了直後にス プール依頼が出力デバイスに送信されます ( デフォルト値はユーザデフォルトから取得されます ) 印刷後に削除 PRREL この項目をマークすると スプール依頼が出力デバイスに出力された直後に削除されます マークしない場合は 依頼は保存期間が過ぎた後で削除されます ( デフォルト値はユーザデフォルトから取得されます ) 新規スプール依頼 PRNEW この項目をマークすると 新規スプール依頼が登録されます マークしない場合 このスプール依頼を未完了の依頼に付加することが試行されます この場合 名称 出力デバイス コピー数 および書式は同じでなければなりません 保存期間 PEXPI スプール依頼を削除する前に保存しておく日数 ( デフォルト値 : 8) アーカイブモード ARMOD アーカイブモードを指定します 値を選択するには 入力可能値ヘルプを使用する必要があります 入力可能値ボタンをクリックして 印刷 アーカイブ および印刷およびアーカイブ
2/6 ページ (ARMOD 1 2 または 3) を選択します ( デフォルト値 : 印刷 ) SAP カバーシート PRSAP この項目に 'X' が含まれている場合 複数のデータを含む 1 つの標準カバーシートが登録されます 'D' が含まれている場合は 出力デバイスの設定に応じて カバーシートが印刷されるかどうかが決まります この項目が空白の場合 カバーシートは登録されません ( デフォルト値 : 'D') 受信者 PRREC SAP カバーシートの受信者名を指定します ( デフォルト値 : ユーザ名 ) 部門 PRABT SAP カバーシートの部門名を指定します ( デフォルト値はユーザデフォルトから取得されます ) 行 LINCT 行数 この項目には REPORT 命令の LINE- COUNT オプションと同じ効果があります 印刷に対して 0 ( 無制限の行数 ) を指定することはできません この項目の最大数は 書式項目の内容によって決まります ( デフォルト値 : 内部設定 ) 列 LINSZ 一覧行あたりの文字数 この項目には REPORT 命令の LINE-SIZE オプションと同じ効果があります この項目の最大数は 書式項目の内容によって決まります ( デフォルト値 : 内部設定 ) 書式設定 PAART この項目により 実際の出力のページ書式が決定されます 接続されているプリンタに応じて この項目に異なる最大ページ長とページ幅の値を入力し 異なる書式を設定することができます ( デフォルト値 : 内部設定 ) 印刷リスト出力ダイアログボックスで 入力値の整合性と完全性がチェックされます 印刷パラメータが不整合である場合は ( 指定された出力デバイスでサポートされていない出力書式の使用など ) 印刷できません 印刷パラメータ LINCT と LINSZ は REPORT または NEW-PAGE 命令の LINE-COUNT および LINE-SIZE オプションを上書きしません プログラムでこれらのオプションを使用する場合 そこで指定した値がコンポーネント LINCT と LINSZ に入力されます この後 印刷リスト出力ダイアログボックス内の対応する入力項目は入力を受け付けなくなります 指定した値が書式項目の最大値を超える場合は 一覧を印刷できません 印刷パラメータの他に アーカイブパラメータもあります ただし アーカイブパラメータを指定する必要があるのは イメージストアがオンになっている場合のみです ( アーカイブモードがアーカイブまたは印刷およびアーカイブであること ) ABAP では 構造 ARC_PARAMS (ABAP ディクショナリ ) がアーカイブパラメータのセットを表します 以下のテーブルは 印刷リスト出力ダイアログウィンドウの入力項目と ARC_PARAMS コンポーネントとの対応を示しています 入力項目 コンポーネント意味 オブジェクトタイプ SAP_OBJECT SAP オブジェクトのオブジェクトタイプ 文書タイプ AR_OBJECT アーカイブオブジェクトの文書タイプ 情報 INFO アーカイブ依頼の簡易形式の情報 テキスト ARCTEXT アーカイブ依頼の内容説明テキスト ダイアログボックスで行ったエントリに整合性があり 完全である場合にのみ 一覧をアーカイブすることができます イメージストアの場合 アーカイブした一覧での後日の検索を支援するために 索引情報を一覧に書き込むと有効です この書込は 一覧の登録中にのみ行うことができます (SAP ArchiveLink を使用した一覧の登録を参照してください )
3/6 ページ プログラム内から印刷パラメータとアーカイブパラメータを設定するには 汎用モジュール GET_PRINT_PARAMETERS を使用する必要があります 印刷およびアーカイブパラメータセットに直接割り当てられた値は許可されません 直接割り当てた値を使用すると 実行時エラーが発生します 印刷パラメータ - デフォルト値の設定 印刷リスト出力ダイアログウィンドウは ユーザが以下を選択した後で必ず表示されます 選択画面で 実行 + 印刷 一覧インタフェースで 印刷これらのユーザアクションに対してダイアログボックスを非表示にすることはできません ただし 汎用モジュール SET_PRINT_PARAMETERS を使用して 印刷リスト出力ダイアログボックスに対してプログラム内から事前定義された値を設定することができます 汎用モジュール SET_PRINT_PARAMETERS を使用します この汎用モジュールにはエクスポートパラメータがなく 上記のユーザアクションのいずれかを使用して一覧が印刷される場合にのみ有効になります 選択画面で実行 + 印刷を選択する場合 AT SELECTION-SCREEN イベント中 ( またはそれ以前 ) に SET_PRINT_PARAMETERS を呼び出す必要があります 一覧インタフェースで印刷を選択する場合は 一覧を出力画面に送信する前に汎用モジュールを呼び出す必要があります 以下のテーブルは SET_PRINT_PARAMETERS のインポートパラメータと印刷およびアーカイブパラメータとの関係を示しています インポートパラメータパラメータ意味 IN_PARAMETERS PRI_PARAMS セット全体 IN_ARCHIVE_PARAMETERS ARC_PARAMS セット全体 ARCHIVE_MODE PRI_PARAMS-ARMOD アーカイブモード AUTHORITY PRI_PARAMS- PRBER 権限 COPIES PRI_PARAMS- PRCOP コピー数 COVER_PAGE PRI_PARAMS-PRBIG 選択カバーシート DATA_SET PRI_PARAMS-PRDSN スプールファイル DEPARTMENT PRI_PARAMS-PRABT 部門名 DESTINATION PRI_PARAMS-PDEST 出力デバイス EXPIRATION PRI_PARAMS-PEXPI 保存期間 IMMEDIATELY PRI_PARAMS-PRIMM 即時印刷 LAYOUT PRI_PARAMS-PAART 書式設定 LINE_COUNT PRI_PARAMS-LINCT ページあたりの行数 LINE_SIZE PRI_PARAMS-LINSZ 行あたりの列数 LIST_NAME PRI_PARAMS-PLIST スプール依頼の名称 LIST_TEXT PRI_PARAMS-PRTXT 内容説明テキスト NEW_LIST_ID PRI_PARAMS-PRNEW 新規スプール依頼 RECEIVER PRI_PARAMS-PRREC 受信者 RELEASE PRI_PARAMS-PRREL 印刷後に削除 SAP_COVER_PAGE PRI_PARAMS-PRSAP SAP カバーシート TYPE PRI_PARAMS-PTYPE スプール依頼のタイプ FOOT_LINE PRI_PARAMS-FOOTL 出力フッタ行 ARCHIVE_ID ARC_PARAMS-ARCHIV_ID アーカイブ対象 ARCHIVE_INFO ARC_PARAMS-INFO 情報 ARCHIVE_TEXT ARC_PARAMS-ARCTEXT 内容説明テキスト AR_OBJECT ARC_PARAMS-AR_OBJECT 文書タイプ SAP_OBJECT ARC_PARAMS-SAP_OBJECT オブジェクトタイプ 構造 PRI_PARAMS および ARC_PARAMS の構造をそれぞれパラメータ IN_PARAMETERS と IN_ARCHIVE_PARAMETERS に割り当てる必要があります これらの項目文字列は initial であるか または
4/6 ページ 汎用モジュール GET_PRINT_PARAMETERS の結果を含んでいる必要があります FOOT_LINE パラメータは ユーザが一覧インタフェースで印刷を選択した場合にのみ使用されます このパラメータが 'X' に等しい場合 各ページに 1 つのシステム定義フッタが出力されます 汎用モジュールをプログラムに組み込むには ABAP エディタで編集 命令挿入...CALL FUNCTION を選択します プログラム内からの印刷パラメータの設定 以下の印刷命令を使用するとします NEW-PAGE PRINT ON SUBMIT...TO SAP-SPOOL CALL FUNCTION 'JOB-SUBMIT' 印刷命令の該当オプションを使用して プログラム内から印刷パラメータを設定します 印刷パラメータダイアログボックスは 表示することも非表示にすることもできます 汎用モジュール GET_PRINT_PARAMETERS パラメータがスプールシステムに適切かつ完全に送信されるようにするには 印刷命令で常にパラメータセット全体を転送してください パラメータセットを登録するには 汎用モジュール GET_PRINT_PARAMETERS を使用します 汎用モジュール GET_PRINT_PARAMETERS には 以下のタスクがあります 印刷パラメータとアーカイブパラメータの完全なセットを登録します 個別の印刷パラメータとアーカイブパラメータは 互いにに強固に結び付いていて 完全でなければなりません たとえば 各出力デバイスに対して レイアウト書式を指定する必要があり 行数と列数を設定する必要があります または アーカイブモードアーカイブまたは印刷およびアーカイブを設定する際 アーカイブパラメータを設定する必要があります 実際の印刷命令からユーザダイアログを切り離します 印刷命令 (NEW-PAGE PRINT ON SUBMIT <rep> TO SAP-SPOOL) はユーザダイアログをサポートしますが 前画面機能が提供されないという不利な点があります 印刷命令を使用して印刷プロセスを開始した後 印刷命令の前に戻ることはできません ユーザは 終了を使用してプログラム全体を強制終了し プロセスを終了することしかできません GET_PRINT_PARAMETERS は 以下の機能を実行します インポートパラメータを使用して 印刷パラメータとアーカイブパラメータを設定します 汎用モジュールは 設定されていない必要な値をシステムからインポートパラメータを介して受け取ります これらの値は 印刷リスト出力ダイアログウィンドウにある事前定義された値に一致し そのいくつかはユーザマスタレコードで設定されています デフォルトでは 汎用モジュールはユーザダイアログのために印刷リスト出力ダイアログボックスを表示します このダイアログボックスで ユーザはインポートパラメータまたは事前定義された値によって入力された項目を上書きすることができます 汎用モジュールにより その他の値が自動的に設定されます 特定のレイアウトに対してインポートパラメータを設定すると 行や列などの従属パラメータがインポートパラメータとして要求されるのではなく これらの値が自動的に設定されます 汎用モジュールにより 印刷パラメータとアーカイブパラメータの完全なセットがエクスポートパラメータとして提供されます 印刷命令のオプションを使用して これらのエクスポートパラメータをスプールシステムに転送することができます これらのパラメータセットは 完全に入力されているか まったく空白であるかのいずれかです GET_PRINT_PARAMETERS のインポートパラメータ汎用モジュール GET_PRINT_PARAMETERS には 汎用モジュール SET_PRINT_PARAMETERS と同じインポートパラメータがありますが 以下の例外があります GET_PRINT_PARAMETERS には インポートパラメータ FOOT_LINE がありません これは このパラメータは 一覧の出力画面で印刷を選択した場合にのみ必要となるためです GET_PRINT_PARAMETERS には その他に以下のインポートパラメータがあります MODE このパラメータは 以下のようにモジュールの動作に影響を与えます MODE 動作 PARAMS これはデフォルトの設定です ユーザは ダイアログウィンドウ
5/6 ページ PARAMSEL DISPLAY CURRENT BATCH で印刷または取消を選択することができます ダイアログウィンドウには 追加チェックボックス選択カバーシートがあります ユーザがこの項目 ( 印刷パラメータ PRBIG) に入力すると 出力に選択画面の選択を含むカバーシートが含められます ダイアログウィンドウの印刷パラメータは表示専用になります 汎用モジュールを使用して 現在の印刷プロセス中 ( 印刷命令の後 ) に印刷パラメータを決定します これらの値は 印刷用のパラメータセットに一致します 進行中の印刷プロセスがない場合は 事前設定された値が使用されます 汎用モジュールを使用して バックグラウンドジョブ用の印刷パラメータを決定します 開始される実行可能プログラム ( レポート ) をインポートパラメータ REPORT で指定する必要があります プログラムの REPORT 命令にオプション LINE-COUNT と LINE-SIZE が含まれている場合は これらがダイアログウィンドウで事前設定として使用されます ダイアログウィンドウには 印刷押ボタンの代わりに保存押ボタンが表示されます REPORT REPORT に含まれる値は常に スプール依頼の名称に対する事前定義された値 ( コンポーネント PLIST) に影響を与えます それ以外の場合は この値は SY-REPID システム項目によって決定されます この値は インポートパラメータ LIST_NAME によって上書きされます ( 使用される場合 ) MODE が 'BATCH' に設定されている場合 REPORT の値によりバックグラウンドジョブとして開始するレポートの名称を指定します GET_PRINT_PARAMETERS は そのレポートの印刷パラメータと現在のレポート以外の印刷パラメータを決定します NO_DIALOG ダイアログボックスを表示するかどうかを決定します NO_DIALOG に 'X' が含まれている場合 ダイアログは非表示になります GET_PRINT_PARAMETERS のエクスポートパラメータ汎用モジュール GET_PRINT_PARAMETERS には 以下のエクスポートパラメータがあります OUT_PARAMETERS このパラメータには 印刷パラメータの完全なセットが含まれているか またはまったく空です (VALID を参照してください ) OUT_ARCHIVE_PARAMETERS このパラメータには アーカイブパラメータの完全なセットが含まれているか またはまったく空です (VALID を参照してください ) VALID このパラメータは セット OUT_PARAMETERS と OUT_ARCHIVE_PARAMETERS が完全に入力されているか 空白であるかを示します VALID に 'X' が含まれている場合 パラメータセットは完全です これらのパラメータセットをスプールシステムに転送することができます VALID に SPACE が含まれている場合 パラメータセットは空です ユーザがユーザダイアログを取り消すと VALID は SPACE に設定されます そのため ユーザダイアログの後には 必ず VALID を確認してください ユーザダイアログが発生しない場合 VALID に 'X' が含まれています GET_PRINT_PARAMETERS の例外パラメータ汎用モジュール GET_PRINT_PARAMETERS には 以下の例外パラメータがあります ARCHIVE_INFO_NOT_FOUND 指定されたアーカイブデータに不整合があるか 指定されたアーカイブがシステムに存在しません INVALID_PRINT_PARAMS INVALID_ARCHIVE_PARAMS 印刷パラメータまたはアーカイブパラメータのセットが無効です パラメータ項目文字列の個別コンポーネントに値を直接割り当てたか これらの構造を使用してインポートパラメータ IN_PARAMETERS または IN_ARCHIVE_PARAMETERS に入力したために パラメータセットが無効になっています パラメータ項目文字列は 常に前回の GET_PRINT_PARAMETERS 呼出の結果でなければなりません 0 に設定されている行または列などの無効なインポートパラメータによっても 無効なパラメータセットが登録されます GET_PRINT_PARAMETERS の使用 : 注記
6/6 ページ 汎用モジュール GET_PRINT_PARAMETERS は ABAP で印刷パラメータおよびアーカイブパラメータセットに値を割り当てるためにのみ使用することができます GET_PRINT_PARAMETERS を使用して入力されたパラメータセットをスプールシステムに転送することにより プログラムが異常終了するのを回避することができます これは バックグラウンド処理の際に特に重要です ただし エクスポートパラメータ VALID が SPACE に等しくなく 例外が発生しないことを確認する必要があります GET_PRINT_PARAMETERS を使用する際 パラメータセットが完全であり 印刷依頼が実行されうることが最も重要になります GET_PRINT_PARAMETERS では 印刷リスト出力ダイアログウィンドウのような完全な整合性チェックは実行されません 整合性は 印刷依頼の実行に必要な場合にのみ保証されます 不整合なエントリは部分的に無視され 一部が置換されます たとえば 以下のことが可能です インポートパラメータ LINE_SIZE, LINE_COUNT を使用して LAYOUT パラメータに対応しない値を設定します ユーザダイアログで この不整合が検出されます ユーザダイアログなしで これらの値によって印刷が切り詰められる可能性があります インポートパラメータ DESTINATION で無効な値を設定すると同時に IMMEDIATELY を 'X' に設定します この場合 汎用モジュールによって出力デバイスがデフォルト値 (LP01) に置換され コンポーネント PRIMM が SPACE に設定されます これにより スプールシステムでデフォルトプリンタに適した設定で依頼が保存されます 汎用モジュールをプログラムに組み込むには ABAP エディタで編集 命令挿入...CALL FUNCTION を選択します 汎用モジュール GET_PRINT_PARAMETERS を連続して何度か呼び出すと効果的です たとえば プログラムの先頭で GET_PRINT_PARAMETERS を使用して ユーザダイアログをトリガし ユーザに基本設定を行うよう求めることができます 次に エクスポートパラメータ OUT_PARAMETERS と OUT_ARCHIVE_PARAMETERS をインポートパラメータとして使用して汎用モジュールを呼び出し プログラム内から特定のパラメータを修正することができます ( たとえば 幅の広い一覧を横向き書式で印刷したり 幅の狭い一覧を縦向き書式で印刷したりするなど )