印刷パラメータ (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
© Copyright 2024 Paperzz