コンテンツフレーム起動

印刷パラメータ 文書を SAP ライブラリストラクチャに組み込む

印刷プロセスを開始する前に、印刷パラメータを設定する必要があります。

一覧を登録に印刷する場合、印刷パラメータで指定された印刷書式を使用して完全な一覧が分割され、必要であれば切り捨てて、印刷ページに合うように調整されます。

一覧を登録に印刷する場合は、印刷書式を使用してプログラムで実際に一覧がフォーマットされます。

印刷パラメータは、ユーザによって対話的に、またはプログラム内で設定されます。

印刷パラメータ - 概要

各印刷プロセスに対して、スプールシステムは完全かつ整合性のある印刷パラメータのセットを必要とします。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

アーカイブモードを指定します。値を選択するには、入力可能値ヘルプを使用する必要があります。入力可能値ボタンをクリックして、 印刷アーカイブ、および印刷およびアーカイブ (ARMOD 12 、または 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 を使用した一覧の登録 を参照してください)

注意

プログラム内から印刷パラメータとアーカイブパラメータを設定するには、汎用モジュール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 であるか、または汎用モジュール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 ONSUBMIT <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

これはデフォルトの設定です。ユーザは、ダイアログウィンドウで印刷または 取消を選択することができます。

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_PARAMSINVALID_ARCHIVE_PARAMS

印刷パラメータまたはアーカイブパラメータのセットが無効です。パラメータ項目文字列の個別コンポーネントに値を直接割り当てたか、これらの構造を使用してインポートパラメータIN_PARAMETERS または IN_ARCHIVE_PARAMETERS に入力したために、パラメータセットが無効になっています。パラメータ項目文字列は、常に前回のGET_PRINT_PARAMETERS 呼出の結果でなければなりません。0 に設定されている行または列などの無効なインポートパラメータによっても、無効なパラメータセットが登録されます。

GET_PRINT_PARAMETERS の使用 : 注記

汎用モジュール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 をインポートパラメータとして使用して汎用モジュールを呼び出し、プログラム内から特定のパラメータを修正することができます ( たとえば、幅の広い一覧を横向き書式で印刷したり、幅の狭い一覧を縦向き書式で印刷したりするなど)

 

 

 

コンテンツフレーム終了