変数はグローバル変数とローカル変数の2種類に分けられる。ローカル変数は、その実行中のビジネスプロセス内にのみ存在する。グローバル変数の値はRAMに保存され、異なるBPで使用することができる。
AppMasterでは、バックエンドとフロントエンドの変数を作成することができます。グローバル変数を使用することで、アプリケーションを高速化し、データベースへのクエリの回数を最小限に抑えることができます。
RAMへの保存は、グローバル変数の操作にいくつかの制限を課します。
- アプリケーションを再起動すると、グローバル変数はデフォルトの値をとります。
- Web アプリケーションの場合、各ブラウザーのタブは個別の実行インスタンスです。したがって、各コピーは独自のグローバル変数の値を持っています。
グローバル変数
グローバルバックエンド変数を作成するには、Business Logicタブで Global Variableタブをクリックし Create global variable.
ここでは、以下のことができます。
- 変数の種類を選択する。
- 名前を付ける。
- 説明を指定する。
- をオン/オフします。 Read onlyオプションをオンにします。
この Read onlyオプションが有効な場合、ビジネス・プロセスで変数の値を変更することはできません。
変数の種類を選択すると、デフォルト値を設定することができます。
グローバル変数が作成されると、ビジネス・プロセス・エディタ内の Global Variablesタブに表示されます。
ローカル変数
ここでは、ローカル変数も作成することができます。これらは Variablesセクションにあります。
ローカル変数を作成するには、それをキャンバス上にドラッグする必要があります。変数の値は Set variableブロックを使って設定します。どの変数に値を格納するかを定義するには、その変数に接続する Variableの入力フィールドに接続します。 Set Variableブロックの入力フィールドに接続します。値のパラメータは、デフォルトで設定されているか、他のブロックから動的に渡されます。
この Set variableブロックは、グローバル変数とローカル変数の両方を設定するために使用することができます。
ローカル変数は、それが作成されたBPでのみ使用することができます。
フロントエンドでグローバル変数を作成するには、エディタでアプリケーションを開いてください。Webアプリケーションやモバイルアプリケーションでも同様の手順となります。
アプリケーションエディタで Global Variablesタブをクリックし、アプリケーション・エディタで Create global variable.
フロントエンドのグローバル変数の作成は、バックエンドとほとんど同じに見えます。
フィールドが1つだけ追加されます - 。 Persistent.
このオプションを有効にすると、アプリケーションの起動時に変数の値を保存することができます。グローバルフロントエンド変数を使用したり、ローカルフロントエンド変数を追加したりするには、例えばテーブルのような要素の Workflowタブを開きます。バックエンドと同様に、グローバル変数を使用したり、新しいローカル変数を作成したりすることができます。
フロントエンドの変数を使用すると、同じ画面上にあるにもかかわらず、異なるトリガーが別々の独立したBPを起動します。下記はその例です。
また Integerはローカル変数です。仕事のロジック
が発生すると onShowトリガーが起動すると Set Variableブロックは、Integer変数の値を設定します。トリガが onClickトリガがかかると、Integer変数の値がブロックに入る。 To Stringブロックに入り、さらに Notificationブロックに入る必要があります。
このようなロジックは、各トリガーがそれ自身のBPを起動するので、ローカル変数ではうまくいきません。したがって、トリガで起動されたとき onClickトリガで起動しても、ローカル変数の値は設定されません。
これを解決するには、ローカル変数ではなく、グローバル変数を使用します。