Smart Formsで帳票を作る手順|フォーム設計から印刷・PDF確認まで

Smart Formsは、請求書や納品書などの帳票レイアウトを作成するSAPの機能です。開発はフォームの定義とデータを渡して出力するプログラムに分けて考えると整理できます。

作成前に決めること

出力項目、繰り返す明細、改ページ条件、言語、ロゴ、出力先を確認します。既存の標準帳票を拡張できるかも先に調べます。帳票出力の全体像は請求書や納品書の印刷・PDF出力も参照してください。

Smart Formsの作成手順

  1. SMARTSTYLESで必要に応じて文字・段落書式を定義する。
  2. SMARTFORMSでフォームを作り、フォームインターフェースに伝票ヘッダや明細テーブルの受け口を定義する。
  3. ページとウィンドウを配置し、テキスト、表、条件、改ページを設定する。明細はメインウィンドウの流れとページ境界を確認する。
  4. 有効化してテストし、サンプルデータで表示崩れを確認する。
  5. ドライバープログラムで業務データを取得し、フォームに渡す。

ドライバープログラムから呼び出す

有効化時に生成される汎用モジュール名はシステムごとに変わり得ます。名前をプログラムに固定せず、SSF_FUNCTION_MODULE_NAMEで実行時に取得します。得られた名前の汎用モジュールへ、フォームインターフェースの値と必要な出力設定を渡します。

CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'
  EXPORTING formname = 'Z_SAMPLE_FORM'
  IMPORTING fm_name  = lv_fm_name
  EXCEPTIONS no_form = 1 no_function_module = 2 OTHERS = 3.
IF sy-subrc <> 0.
  " フォーム未登録・未有効化などを処理
  RETURN.
ENDIF.
CALL FUNCTION lv_fm_name
  EXPORTING control_parameters = ls_control
            output_options     = ls_output
  EXCEPTIONS formatting_error = 1 internal_error = 2
             send_error = 3 user_canceled = 4 OTHERS = 5.

この例は呼出しの骨格です。実際のフォームインターフェースに定義したパラメータも渡し、戻り値と例外を処理します。

印刷・PDFの確認

印刷は出力デバイスとスプール設定を確認します。PDFが必要な場合は、フォーム出力でOTFを取得し、CONVERT_OTFで変換する構成があります。ただしOTF取得には制御パラメータ等の設定が必要で、単にフォームを呼ぶだけではPDFデータが返るとは限りません。日本語フォント、複数ページ、空明細、異常終了時もテストします。利用する製品・帳票シナリオによってAdobe Formsなど別方式が採用されるため、対象システムの出力管理も確認してください。

参考・関連記事

関連記事

PAGE TOP