Sap-scripts-print-program

提供:Dev Guides
移動先:案内検索

SAPスクリプト-印刷プログラム

SAPスクリプトでは、 Print Program を使用して、実際のフォームを印刷し、データベーステーブルからデータを取得し、フォームを選択して、定義された形式でテキスト要素を印刷します。 データベースからデータを取得し、それをユーザー入力と組み合わせ、データをフォーマットして印刷します。

すべての印刷プログラムとフォームは、テーブル TNAPR に保存されます。

印刷プログラムでは、さまざまな機能モジュールが使用されます。 印刷プログラムを開始するには、OPEN_FORM機能モジュールが使用され、プログラムを終了するには、CLOSE_FORM機能モジュールが使用されます。

*OPEN_FORM* -印刷プログラムでは、印刷を実行する前にこの関数を最初に呼び出す必要があります。 フォームの名前と印刷言語を指定します。
CALL FUNCTION 'OPEN_FORM'
*START_FORM* -この関数は、単一のリクエストで同様の特性を持つ異なるフォームを使用するために呼び出されます。
CALL FUNCTION ’START_FORM’
*WRITE_FORM* -この関数は、テキスト要素を使用してフォーム内のウィンドウにテキストを書き込むために使用されます。
CALL FUNCTION ‘WRITE_FORM’
*CONTROL_FORM* -この関数は、SAPスクリプト制御コマンドをABAPプログラムに挿入するために使用されます。
CALL FUNCTION ‘CONTROL_FORM’
*END_FORM* -この関数は最後に呼び出され、エクスポートパラメータはありません。
CALL FUNCTION ‘END_FORM’
*CLOSE_FORM* -標準フォームと標準印刷プログラムを表示するには、 *Transaction Code:NACE* を実行します

アプリケーションタイプを入力し、上部の[出力タイプ]をクリックします。

NACE

出力タイプ

次のスクリーンショットでは、選択したサービスのアプリケーション名を確認できます。

パートナー関数

印刷プログラム-例

以下は、顧客データ、日付、フライト予約などの会社関連情報を含む請求書を作成するサンプル印刷プログラムです。

セクション1-顧客データの取得

TABLES: zcustom, zbook, zpfli.
DATA: bookings like zbook...
select * from...
/In this section, you are reading the data from tables in database./

セクション2-フォームを開く

CALL FUNCTION 'OPEN_FORM'
EXPORTING
DEVICE     = 'PRINTER'
FORM       = 'EXAMPLE1'
DIALOG     = 'X'
OPTIONS    =
EXCEPTIONS
CANCELLED  = 1
DEVICE     = 2
FORM       = 3
OTHERS     = 11
/In this section, you are calling OPEN_FORM function module to initialize print output./

上記の汎用モジュールでは、パラメータ-

  • FORM はフォームの名前を示します。
  • DEVICE は、PRINTER(スプールを使用した印刷)、TELEFAX(ファックス出力)、またはSCREEN(画面への出力)です。
  • OPTIONS は、さまざまな属性(印刷プレビュー、部数)を制御するためのITCPOタイプの構造を示しています。

セクション3-テーブル見出しの印刷

CALL FUNCTION 'WRITE_FORM'
EXPORTING
ELEMENT  = 'textelement’
TYPE     = 'TOP'
WINDOW   = 'MAIN'
FUNCTION = 'SET'
...
/In this section, you use WRITE_FORM function to output general text elements and column
heading/
  • ELEMENT 汎用モジュールは、印刷される「textelement」を表示し、「WINDOW」は印刷されるフォームのウィンドウを示します。
  • TYPE は、TOP、BOTTOM、BODYなどのウィンドウの出力領域を示します。
  • FUNCTION は、置換、追加、または追加するテキストを示します。

セクション4-顧客の予約を印刷する

LOOP AT bookings WHERE
CALL FUNCTION 'WRITE_FORM'
EXPORTING
ELEMENT  = 'BOOKING'
TYPE     = 'BODY'
WINDOW   = 'MAIN'
...
ENDLOOP
/In this section, text element BOOKING is used to output the bookings of a customer from
the loop from BOOKING table in database./

セクション5-フォームを閉じる

CALL FUNCTION 'CLOSE_FORM'
IMPORTING
* RESULT    =
EXCEPTIONS
UNOPENED    = 1
OTHERS      = 5
/To end the Print Program/

最後にこの汎用モジュールを呼び出しますが、エクスポートパラメータはありません。