SAPスマートフォーム-フォームロジック
SAPスマートフォームでは、フォームロジックはデータベースから読み取るデータを定義し、次に条件を定義し、最後にフォーム出力のフローを制御します。フォームロジックはフォームビルダーで定義され、フォーム構造はSMARTFORMSインターフェイスの左側で定義されます。スマートフォーム作成ウィンドウを開くと、左側にデフォルトのノードがあります。
グローバル設定ノードであり、次の3つのサブフォルダーがあります-
- フォーム属性
- フォームインターフェイスと
- グローバル定義
これらは、新しいスマートフォームを作成するときに表示されます。

フォームロジックを定義するには、ナビゲーションペインのノードページの下に階層構造を定義する必要があります。この構造は、スマートフォームの処理のルールを定義します。このフォームロジックは、フォーム出力を制御するために使用できます。
フォームロジックについて次の点を覚えておく必要があります-
ツリー構造では、ノードごとにタブが定義されており、各ノードを条件にリンクできます。フォームで条件が満たされると、システムはそのノードを処理し、満たされない場合、システムはそのノードを処理しません。
一般的なシナリオでは、ツリー構造内のノードは上から下に処理されます。
各ページの改ページは、現在のページに残っているスペースの量によって異なります。
フロー制御はページごとに定義されています。ただし、どのページにも移動できます。

SAP Smart Forms –フロー制御
ナビゲーションペインで定義されたツリー階層のSAPスマートフォームでフロー処理を制御することもできます。
フロー制御を定義するために使用できるさまざまなオプションがあります。これらのいくつかを以下に示します-
Output Condition −出力条件に従ってノード/サブノードの処理を定義します。
Alternative −2つの下位ノードの1つを処理するために使用できます。
Repeated Output −ループを使用して、出力を繰り返し処理できます。
Dynamic processing −コマンドラインを使用してページシーケンスを定義することにより、ページを動的に処理することもできます。
出力条件
出力条件を渡して、ノード/サブノードの処理を抑制することができます。ノードの出力条件を入力するには、に移動します。Condition Tab。
[条件]タブでは、各行に2つのオペランドを持つ条件を渡すことができます。オペランドは、フィールドまたは値にすることができます。
論理演算子を渡すこともできます。最も重要な演算子は-
- AND
- OR

ローカルチェックを実行して、出力条件を検証することもできます。状態チェックを実行するには、次のスクリーンショットに示すように、チェックボタンをクリックします。

出力条件をページおよびウィンドウの出力イベントにリンクすることもできます。追加イベントボックスを使用でき、これらのイベントはAND条件を使用してリンクされます。

条件が満たされると、システムは条件値に従ってノード/サブノードを処理します。条件が失敗すると、システムはノードを無視し、フロー制御の次の値を処理します。
出力を繰り返し処理するには、内部テーブルからデータを読み取るループノードを使用する必要があります。ループを使用して顧客データを読み取り、表示します。繰り返し出力を表示するには、ノードを作成します–ループと入力し、一意の名前と説明を入力します。

次のステップは、内部テーブルから作業領域にデータを読み込み、読み取ったテーブル行のフィールドを表示する下位ノードを作成することです。
