SAP スクリプトチュートリアル: SE71、SE78、SCC1、VF03、SO10

⚡ スマートサマリー

SAP スクリプトはテキスト処理システムを構成する SAP 本システムは、あらかじめフォーマットされたテキストを、あらかじめフォーマットされたフォームに印刷します。このページでは、5つの構成要素、レイアウトセット、制御コマンド、印刷プログラム、出力タイプ、およびトランザクションSE71、SE78、SO10、SCC1について説明します。

  • 📝 コア定義: SAPスクリプトは、組み込みのテキスト処理システムです。 SAP請求書などのあらかじめフォーマットされた用紙に、あらかじめフォーマットされたテキストを印刷するために使用されます。
  • 🧱 5つの構成要素: エディタ、スタイルとレイアウトセット、コンポーザー、プログラミングインターフェース、そしてテキストとフォームを格納するデータベーステーブル。
  • 📄 レイアウトセット: レイアウトセットにはデータは含まれません。ページ、ウィンドウ、テキスト要素を記述するものであり、印刷プログラムはデータベースから選択したデータをレイアウトセットに入力します。
  • 特選割️ 制御コマンド: 段落書式で /: とともに入力された NEW-PAGE、PROTECT、INCLUDE、PERFORM などのコマンドは、出力の書式を制御します。
  • 🖨️ 印刷プログラム: OPEN_FORM、WRITE_FORM、およびCLOSE_FORMは必須ですが、START_FORMとEND_FORMはオプションです。
  • 📬 出力タイプ: テーブルNASTに格納され、プログラムRSNAST00によって実行される出力タイプは、文書を印刷するか、ファックス送信するか、郵送するかを決定します。
  • 🔁 クライアントの依存性: A SAPスクリプト形式はクライアントに依存するため、SCC1またはSE71の「クライアントからのコピー」ユーティリティを使用してクライアント間でコピーします。

SAP スクリプト

何ですか SAP スクリプト?

SAP スクリプトは SAP システム独自のテキスト処理システム。他の主要なテキスト処理システムと見た目も操作感も非常に似ています。

事前にフォーマットされたテキストを事前にフォーマットされた形式で印刷するために使用されます。

典型的な文書は SAPスクリプトは、請求書、発注書、納品書、顧客向けレターなどです。フォームはトランザクションSE71で一度設計され、実行時にABAP印刷プログラムによってデータが供給されます。

の構成要素 SAPスクリプト

SAP スクリプトは 5 つの主要コンポーネントで構成されます。

の構成要素 SAPスクリプト

  1. テキストの行を入力および編集するためのエディター
  2. 印刷レイアウト用のスタイルとレイアウトセット。これらは、対応するメンテナンストランザクションを使用して個々のテキストとは独立して作成され、後でテキストに割り当てられます。
  3. コンポーザーは中心的な出力モジュールです。 SAP 脚本家は外部からは見えない
  4. プログラミングインターフェースで、 SAP 独自のアプリケーションプログラムにコンポーネントをスクリプト化し、プログラム内からレイアウトセットの出力を制御する
  5. テキスト、スタイル、レイアウトセットを保存するためのいくつかのデータベーステーブル

上の図は、これらの構成要素がどのように組み合わされるかを示しています。図の中央に示されているレイアウトセットについては、次に説明します。

レイアウトセット

プログラミングインターフェースを使用して文書を出力するには、R/3アプリケーションプログラムにいわゆるレイアウトセット(一種のフォーム)が必要です。 SAP スクリプトレイアウトセットは、個々の印刷ページのレイアウトを記述し、テキスト要素を使用して、印刷プログラムが呼び出すことができる定義可能な出力ブロックを提供します。レイアウトセットは、ドキュメントのページデザインとして定義できます。

レイアウトセット自体にはデータは含まれていません。ドキュメントに使用するデータの選択は、印刷プログラムによって行われます。印刷プログラムはデータベーステーブルからデータを選択し、レイアウトセットに渡します。印刷プログラムが実行されると、ドキュメントは画面やプリンタに印刷されます。

通常、 SAPスクリプトレイアウトは次のコンポーネントで構成されています

  1. ヘッダーデータ: ヘッダーデータは、情報と制御に使用されます。 SAP 印刷。ヘッダーデータは2つの部分から構成されます。デバイスに依存しない部分は、開始ページ、デフォルトの段落、言語属性などの情報を格納します。デバイスに依存する部分は、ページ形式、方向、XNUMXインチあたりの行数などの情報を格納します。
  2. 段落と文字の形式: 段落はさまざまな属性を使用して書式設定されます。 たとえば、標準の段落属性では、左または右のマージン、配置、行間などを指定します。フォント属性では、フォント ファミリ、フォント サイズなどを指定します。文字形式では、段落内のテキストのブロック全体を書式設定できます。
  3. Windows およびテキスト要素: Windows ページ内の個々のテキスト領域 (ヘッダー アドレス、日付、フッター) です。これは、ドキュメントに含まれる情報を特定のグループに結合し、各グループを印刷ページの個別の領域に表示するのに役立ちます。ウィンドウごとにテキスト要素 (ウィンドウ テキスト) を定義できます。印刷プログラムは、名前によってテキスト要素にアクセスし、それらをフォーマットして、それぞれのウィンドウに印刷します。使用する段落と文字形式はフォームで定義する必要があります。
  4. ページ: これらはドキュメントの個々のページであり、一意の名前が必要です。 個々のページでレイアウトが異なる場合がよくあります。請求書の最初のページは、それ以降のページとは異なり、住所や顧客データなどの一般的な情報を繰り返す必要はありません。
  5. ページへ移動します。 Windows: ウィンドウとページを定義する際には、出力されるテキストの位置と間隔はまだ決定しません。ページウィンドウは、出力領域の左上端と幅と高さを指定して、出力媒体の長方形の出力領域を定義します。

制御コマンド

「制御コマンド」の目的は、出力フォーマットの制御を可能にすることです。これらのコマンドは、 SAP スクリプトエディタではなく、 SAP 処理用のスクリプト コンポーザー。これには、たとえば、行とページの書式設定、指定された段落と文字の書式に従ったテキストの書式設定が含まれます。

構文

Enter /: in the paragraph format

  • NEW-PAGE – 明示的な改ページ
  • PROTECT ………ENDPROTECT – 段落全体を XNUMX ページに印刷します。
  • INCLUDE – 別のテキストの内容を現在のテキストに含めるには
  • PERFORM – ABAP プログラムのサブルーチンを呼び出すため

印刷プログラム

スクリプトの実行は、 ABAPプログラム、これは印刷プログラムと呼ばれます。 各印刷プログラムには、カスタマイズから呼び出される ENTRY フォームが必要です。

標準構成の場合、テーブル TNAPR でフォーム名 (スクリプト名)、印刷プログラム名、および出力タイプを確認できます。 印刷プログラムは、フォーム コントロール関数を使用してスクリプトを呼び出します。

印刷プログラムは、フォーム制御関数のすべてまたは一部を呼び出してスクリプトを実行します。

  • OPEN_FORM (必須) レイアウト セットの出力を開きます
  • CLOSE_FORM (必須) レイアウトセットの出力を終了します
  • START_FORM (オプション) 新しいレイアウト セットを開始します
  • WRITE_FORM (必須) レイアウトセット要素を呼び出します
  • END_FORM (オプション) 現在のレイアウトセットを終了します

作成する方法 SAPSE71のスクリプトフォーム

働く SAPスクリプト出力には、フォーム、印刷プログラム、およびカスタマイズにおける割り当てが必要です。以下の手順では、空のフォームからそれらを作成します。

  1. フォームを作成する: SE71でフォーム名と言語を入力し、「作成」を選択します。ヘッダーデータに開始ページ、既定の段落、ページ形式を入力します。
  2. 段落と文字の書式を定義します。 すべてのテキスト要素は段落書式を参照するため、少なくとも1つの段落書式(例えば、標準行の場合はAS)を作成してください。
  3. ページを作成する: 例えば「FIRST」という最初のページを定義し、次のページを「NEXT」に設定することで、長い文書が2つ目のレイアウトに続くようにします。
  4. ウィンドウとページウィンドウを作成します。 ヘッダー、メイン、フッターなどのウィンドウを定義し、それぞれをページ上に配置し、左上端、幅、高さを入力します。
  5. テキスト要素を記述します。 ウィンドウのテキストエディタを開き、各ブロックに「/E」の後に要素名を記述してください。印刷プログラムはその要素をその名前で呼び出します。
  6. フォームを有効化し、印刷プログラムを作成してください。 フォームを有効化してから、以下に示すようにABAPプログラムからフォーム制御関数を呼び出します。
  7. 出力タイプを割り当てます。 アプリケーションの出力カスタマイズ(例:NACE)を通じて、表TNAPRにフォーム名、印刷プログラム、およびENTRYルーチンを入力します。
CALL FUNCTION 'OPEN_FORM'
  EXPORTING
    form     = 'Z_INVOICE'
    language = sy-langu
    device   = 'PRINTER'.

* Print the element ITEM_LINE in the window MAIN
LOOP AT lt_items INTO ls_item.
  CALL FUNCTION 'WRITE_FORM'
    EXPORTING
      element  = 'ITEM_LINE'
      window   = 'MAIN'
      function = 'SET'
      type     = 'BODY'.
ENDLOOP.

CALL FUNCTION 'CLOSE_FORM'.

⚠️ 警告: WRITE_FORM 関数は、呼び出し時点で入力されているフィールドのみを印刷します。フォームは関数モジュールのパラメータではなく、印刷プログラムのグローバルフィールドを読み取るため、呼び出し前に作業領域にデータを入力してください。

出力タイプ

出力タイプは、社内で使用するために必要な印刷フォーム、または顧客やベンダーに送信するフォームを指定できます。出力タイプは、別の部門のスタッフに送信する内部電子メール メッセージにすることもできます。

例えば、「印刷」は請求書の出力タイプとして分類できます。つまり、この出力タイプが実行されると請求書が印刷されます。同様に、「ファックス」も出力タイプとして分類できます。つまり、この出力タイプが実行されると請求書がファックスで送信されます。

あらゆる文書 (請求書など) のすべての出力タイプは、テーブル NAST に保存されます。出力タイプは、プログラム RSNAST00 を通じて実行されます。

例:請求書の出力タイプ-

  1. VF03へ
  2. 請求書番号を入力してもう一度Enterキーを押してください
  3. 「Goto -> Header」メニューで「Output」を選択します。
  4. ここで、Z101 は印刷出力の出力タイプです。

出力タイプ

このスクリーンショットは、トランザクションVF03の出力画面を示しており、出力タイプZ101が請求伝票に添付されています。

標準のテキストとグラフィック

レポートの標準テキストはトランザクションを使用して作成できます SO10

グラフィックスとプリンター マクロは次のようにアップロードされます。 レポート RSTXLDMC を個々の標準テキスト文書に変換するか、トランザクションを通じて SE78。 画像は「Baseline TIFF 6.0」形式(PCでは.tifファイル)でアップロードしてください。

SAP スクリプトと標準テキスト要素は、RSTXSCRPプログラムを使用して2つのシステム間でエクスポートまたはインポートできます。

クライアント間でのスクリプトのコピー:

SAP スクリプトはクライアント依存のオブジェクトです。プログラムとは異なり、スクリプトに加えられた変更は SAP あるクライアントのスクリプトは他のクライアントには反映されません。あるクライアントから別のクライアントにスクリプトをコピーするには、 SE71 そして、「ユーティリティ」メニューで利用可能な「クライアントからコピー」オプションを使用するか、トランザクションを使用して、スクリプトが保存されているトランスポートリクエストを元のクライアントからインポートします。 SCC1 。

注意すべき重要なポイント

  1. SAP スクリプトはバージョンを保持しません。そのため、 SAP スクリプトでは、変更がスクリプトに適切に文書化されていることを確認してください。これは標準テキストにも適用されます。
  2. フォームの出力は、画面で表示した場合とプリンターで表示した場合では異なります。 したがって、常にプリンタでスクリプトの出力をテストしてください。

SAPスクリプトとスマートフォームの比較

SAPスクリプトは、2 つのフォーム技術のうち古い方です。 SAP、そして新しい形態は通常、 スマートフォーム下記の表はその理由を示しています。

基準 SAPスクリプト スマートフォーム
トランザクション SE71 スマートフォーム
クライアントの依存関係 クライアント依存、SCC1でコピー クライアントに依存しない
メインウィンドウ メインウィンドウは1つだけ必要です 必須ではなく、複数のメインウィンドウが許可されています。
プログラムロジック 別の印刷プログラムに記載されています フォームに部分的に組み込まれており、独自の関数モジュールを生成します
出力形式 印刷、ファックス、郵送 印刷、ファックス、郵送、およびXMLまたはHTML出力
バージョン管理 該当なし。変更は手動で文書化する必要がある。 ワークベンチから入手可能

SAPスクリプトは、多くの標準規格により、広く使用され続けています。 SAP フォームとその印刷プログラムは依然としてそれに依存しており、クライアント依存のフォームはクライアントごとにカスタマイズできるためです。

よくあるご質問

テーブルTNAPRには、出力タイプごとにフォーム名、印刷プログラム、およびエントリルーチンが格納されています。SE16トランザクションで読み取るか、トランザクションNACEでアプリケーションの出力カスタマイズを開いてください。

グラフィックは、SE78またはレポートRSTXLDMCを通じてBaseline TIFF 6.0形式でアップロードする必要があり、フォームには結果として得られる標準テキストを参照する必要があります。カラーファイルまたはPNGファイルはコンポーザーでは受け付けられません。

SE71でメニューパス「ユーティリティ」→「デバッガーの有効化」を選択してフォームデバッガーを有効にします。すると、印刷プログラムの実行中にシステムが各テキスト要素で停止し、フィールド値を確認できます。

SMARTFORMSトランザクション内の移行レポートが変換を実行します。その後、AIアシスタントが変換されたノードの説明、印刷プログラム呼び出しの書き換え、手動での修正が必要なテキスト要素のリストアップなどを行い、処理を支援します。

SAPスクリプトはバージョン履歴を保持しないため、変更は困難です trace. AIツールはRSTXSCRPによって生成された2つのエクスポートを比較し、各テキスト要素で変更された内容を要約し、フォーム自体には保存されないドキュメントを作成します。