高度な開発コンセプト
この章では、SAP SmartFormsの高度な開発コンセプトについて詳しく説明します。この章では、特殊ノード、フォーム処理、汎用モジュールなどの側面についても説明します。
SAPスマートフォーム–特別なノード
SAP Smart Formには、高度な開発コンセプトの一部として使用できるさまざまな特殊ノードがあります。スマートフォームで特別なノードを追加するには、それをナビゲーションツリーに移動する必要があります。
各ページで、右クリック→[コンテキストメニューを開く]→[作成]→[フローロジック]→[コマンド]を選択します。
以下の特別なノードタイプのリストを使用できます-
コマンドノード
これは通常、さまざまなアプリケーションの目的でコマンドを挿入するために使用されます。コマンドノードを使用して、メインウィンドウに動的改ページを挿入できます。コマンドノードの下に、動的改ページを適用するためのさまざまなオプションがあります-
Go to New Page −このコマンドは改ページを提供するために使用され、メインウィンドウでのみ許可されます。
Reset Paragraph Numbering −このオプションは、指定されたアウトライン段落のカウンターを設定するために使用できます。
Include Printer Control −このオプションは、印刷制御を出力デバイスに送信するために使用されます。
Free Attributes of Spool Request −このオプションは、スプール依頼の属性を定義するために使用できます。
プログラムライン
プログラム行を使用して、合計と小計の計算を実行できます。ツリー構造にプログラム行を挿入できます。
[一般属性]タブで、[入力パラメーター]テーブルと[出力パラメーター]テーブルを使用して、グローバルフィールドを渡します。ABAPコードを使用すると、これらのテーブルに入力されたグローバル項目にアクセスすることができます。
複雑なセクション
このオプションを使用してノードタイプのタブページを結合し、複雑なセクションノードを作成するには、[作成]→[複雑なセクション]をクリックします。
複合セクションの[一般属性]タブでは、次のようなさまざまなタブページを組み合わせるための設定を定義できます。
- [イベント]タブ
- テーブルタブと
- テンプレートタブ。
SAPスマートフォーム–フォーム処理
スマートフォームでは、フォームビルダーの下のツリー構造を使用してフォームロジックを定義し、スマートフォームのテキスト、グラフィックス、およびさまざまな要素を印刷します。スマートフォームが有効化されると、汎用モジュールが生成され、SAPスマートフォームがフォームのツリー構造を処理し、ABAPプログラミングコードを使用してフォームの内容を印刷します。
スマートフォームの出力は、フォームビルダーのページとウィンドウを構成するツリー構造の下位ノードによって決定されます。ツリー内のノードごとに、出力オプションと条件を定義できます。
ノードは次のシナリオで処理されます-
Condition −
ノードに条件が設定され、システムが条件を評価する場合。falseが見つかった場合、ツリー構造内のノードとその下位ノードは処理されません。
下位ノードは、ノードタイプに応じて直接処理できます。
ノードに割り当てられたアクションも処理できます。
ノードとその下位ノードの出力オプションを定義し、個々の出力オプションを下位ノードに割り当てると、optionは上位ノードの出力オプションを上書きします。
次の条件タイプは、ノードの処理に使用できます。
Simple IF Condition −これはANDまたはORオプションを使用して行われます。
Complex IF condition −これはプログラム行を使用して使用されます。
イベントクエリの組み合わせ
SAP Smart Forms –汎用モジュール
スマートフォームが有効化されると、汎用モジュールが生成されます。汎用モジュールに適用できるさまざまな標準パラメータがあります。これらのパラメータはフォームインターフェイスに直接表示され、変更することはできません。スマートフォームをアクティブにするには、をクリックしますActivate Button 頂点で。
汎用モジュールがアプリケーションから呼び出されると、これらのパラメータを使用して、出力フォーマットやスプール依頼、またはその他のさまざまな目的を定義することができます。
Report −zcall_smartform。
Call Function − '/ 1BCDWB / SF00000279'
ここで、SF00000279 –汎用モジュールを表します。
ただし、汎用モジュール名はシステムの番号範囲に従って生成されるため、これは汎用モジュールを呼び出すための推奨される方法ではありません。スマートフォームを本番システムに転送すると、新しい汎用モジュールが生成されます。
これを処理するには、関数–を使用することをお勧めします SSF_FUNCTION_MODULE_NAME 汎用モジュール名を動的に取得します。
Report −zcall_smartform。
Data − fnameTYPErs38l_fnam。
Call Function −'SSF_FUNCTION_MODULE_NAME '
汎用モジュール名を取得する方法は?
スマートフォームの汎用モジュール名を確認するには、上部の[環境]タブ→[汎用モジュール名]に移動します。
汎用モジュールは次のウィンドウに表示されます-
を使用してその逆を実行することもできます Transaction SE 11 そしてテーブルに行く– STXFADMI。