印刷パラメータ

印刷パラメータ (SAP ライブラリ - ABAP プログラミング (BC-ABA))
1/6 ページ
印刷パラメータ
印刷プロセスを開始する前に、印刷パラメータを設定する必要があります。
一覧を登録後に印刷する場合、印刷パラメータで指定された印刷書式を使用して完全な一覧が分割され、必
要であれば切り捨てて、印刷ページに合うように調整されます。
一覧を登録中に印刷する場合は、印刷書式を使用してプログラムで実際に一覧がフォーマットされます。
印刷パラメータは、ユーザによって対話的に、またはプログラム内で設定されます。
印刷パラメータ - 概要
各印刷プロセスに対して、スプールシステムは完全かつ整合性のある印刷パラメータのセットを必要としま
す。ABAP では、構造 PRI_PARAMS (ABAP ディクショナリ) が印刷パラメータのセットを表します。
印刷パラメータを対話的に渡す際、レポートの開始後にダイアログボックスが表示され、ここでユーザは最
も重要な印刷パラメータを入力する必要があります。
以下のテーブルは、印刷リスト出力 ダイアログウィンドウの入力項目と PRI_PARAMS コンポーネントとの
対応を示しています。
入力項目
コンポーネント 意味
出力デバイス
PDEST
プリンタまたは FAX の名称
( デフォルト値はユーザデフォルトから取得さ
れます)
コピー数
PRCOP
印刷されるコピーの数
( デフォルト値: 1)
スプール依頼の名称。これは、即時印刷しない
場合にのみ設定します ( ユーザ名 (SYUNAME) の先頭 3 文字を含むレポート名 (SYREPID) を使用して事前設定します) 。
名称
PLIST
タイトル
PRTXT
スプール依頼の内容説明テキスト。このテキス
トは、標準カバーシートに記載されます。
PRTXT は、印刷依頼の一覧の名称 PLIST も置
換します ( システム → サービス → 印刷依
頼) 。
権限
PRBER
スプール依頼に対する権限。この権限を持つユ
ーザのみが依頼の内容を参照することができま
す。
即時印刷
PRIMM
この項目をマークすると、依頼の完了直後にス
プール依頼が出力デバイスに送信されます
( デフォルト値はユーザデフォルトから取得さ
れます)
印刷後に削除
PRREL
この項目をマークすると、スプール依頼が出力
デバイスに出力された直後に削除されます。マ
ークしない場合は、依頼は 保存期間が過ぎた
後で削除されます
( デフォルト値はユーザデフォルトから取得さ
れます)
新規スプール依頼
PRNEW
この項目をマークすると、新規スプール依頼が
登録されます。マークしない場合、このスプー
ル依頼を未完了の依頼に付加することが試行さ
れます。この場合、 名称、出力デバイス、コ
ピー数、および書式は同じでなければなりませ
ん。
保存期間
PEXPI
スプール依頼を削除する前に保存しておく日数
( デフォルト値: 8)
アーカイブモード
ARMOD
アーカイブモードを指定します。値を選択する
には、入力可能値ヘルプを使用する必要があり
ます。入力可能値ボタンをクリックして、 印
刷、アーカイブ 、および印刷およびアーカイブ
http://help.sap.com/saphelp_470/helpdata/ja/9f/dba56d35c111d1829f0000e829fb... 2006/07/19
印刷パラメータ (SAP ライブラリ - ABAP プログラミング (BC-ABA))
2/6 ページ
(ARMOD 1 、2 、または 3) を選択します
( デフォルト値: 印刷)
SAP カバーシート
PRSAP
この項目に 'X' が含まれている場合、複数のデ
ータを含む 1 つの標準カバーシートが登録され
ます。'D' が含まれている場合は、出力デバイ
スの設定に応じて、カバーシートが印刷される
かどうかが決まります。この項目が空白の場
合、カバーシートは登録されません。
( デフォルト値: 'D') 。
受信者
PRREC
SAP カバーシート の受信者名を指定します
( デフォルト値: ユーザ名) 。
部門
PRABT
SAP カバーシート の部門名を指定します
( デフォルト値はユーザデフォルトから取得さ
れます) 。
行
LINCT
行数。この項目には、REPORT 命令の LINECOUNT オプションと同じ効果があります。印
刷に対して 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 を使用し
た一覧の登録 を参照してください) 。
http://help.sap.com/saphelp_470/helpdata/ja/9f/dba56d35c111d1829f0000e829fb... 2006/07/19
印刷パラメータ (SAP ライブラリ - ABAP プログラミング (BC-ABA))
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 であるか、または
http://help.sap.com/saphelp_470/helpdata/ja/9f/dba56d35c111d1829f0000e829fb... 2006/07/19
印刷パラメータ (SAP ライブラリ - ABAP プログラミング (BC-ABA))
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
これはデフォルトの設定です。ユーザは、ダイアログウィンドウ
http://help.sap.com/saphelp_470/helpdata/ja/9f/dba56d35c111d1829f0000e829fb... 2006/07/19
印刷パラメータ (SAP ライブラリ - ABAP プログラミング (BC-ABA))
5/6 ページ
で印刷 または 取消を選択することができます。
PARAMSEL
ダイアログウィンドウには、追加チェックボックス選択カバーシ
ートがあります。ユーザがこの項目 ( 印刷パラメータ PRBIG) に
入力すると、出力に選択画面の選択を含むカバーシートが含めら
れます。
DISPLAY
ダイアログウィンドウの印刷パラメータは表示専用になります。
CURRENT
汎用モジュールを使用して、現在の印刷プロセス中 ( 印刷命令の
後) に印刷パラメータを決定します。これらの値は、印刷用のパ
ラメータセットに一致します。進行中の印刷プロセスがない場合
は、事前設定された値が使用されます。
BATCH
汎用モジュールを使用して、バックグラウンドジョブ用の印刷パ
ラメータを決定します。開始される実行可能プログラム ( レポー
ト) をインポートパラメータ 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 の使用 : 注記
http://help.sap.com/saphelp_470/helpdata/ja/9f/dba56d35c111d1829f0000e829fb... 2006/07/19
印刷パラメータ (SAP ライブラリ - ABAP プログラミング (BC-ABA))
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 をインポートパラメータとして使用して汎用モジュールを呼び出し、プロ
グラム内から特定のパラメータを修正することができます ( たとえば、幅の広い一覧を横向き書式で印刷し
たり、幅の狭い一覧を縦向き書式で印刷したりするなど) 。
http://help.sap.com/saphelp_470/helpdata/ja/9f/dba56d35c111d1829f0000e829fb... 2006/07/19