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

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

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

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

OPEN_FORM−印刷プログラムでは、印刷を行う前に、この関数を最初に呼び出す必要があります。フォームの名前と印刷言語を指定します。

CALL FUNCTION 'OPEN_FORM'

START_FORM −この関数は、1回のリクエストで同様の特性を持つさまざまなフォームを使用するために呼び出されます。

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

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

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

印刷プログラム-例

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

セクション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/

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