ロゴ:

ヘルプの目次
このヘルプについて
 
エンドユーザ向けヘルプ
クライアントヘルプ
Webアクセスヘルプ
スクリーンリーダー
フォーム
用語
コンテナ
 
管理者向けヘルプ 管理者向けヘルプ
サーバの管理
インターネットサービス
カスタマイズツール
 
バナー:
 
 LFS60
 
VAR



機能
ローカル変数を宣言します。スクリプト内で使用する変数を作成できます。多くの場合、VARコマンドは変数の値を格納するためにASSIGNコマンドとともに使用します。



構文
文字列変数または数値変数を宣言する場合
VAR VarName = Value
現在の日付に関連する変数を宣言する場合
VAR VarName nDays +d
パラメータ


変数名
変数の名前です。最大半角50文字です。
VarNameはスクリプト内で固有にする必要があります。
=
数値変数の場合に必要です。文字列変数の場合は省略可能です。
Value
フィールドの初期値です。数値変数の場合に必要です。文字列変数の場合は省略可能です。
nDays
+dオプションを記述する場合にのみ使用します。
+d
日付変数を作成します。
Operations
+ - * /

フィールドとフィールドタイプについて
ASSIGNコマンドでは、フィールドタイプ(0、6、7、14)を指定する必要があります。サーバはフォーム上にあるフィールドの種類を認識しないため、任意のフィールドIDとフィールドタイプを定義することが可能です。フィールドデータを保持するだけなので、フォームを更新する必要はありません。
FirstClassデザイナーで作成したフィールドには、定義済みのフィールドタイプがあります。
文字列:英数字の値を含めることができます。FirstClassデザイナーでは、ガイドテキスト、編集可能テキスト、および選択リスト(入力可)は文字列だけを保持します。文字列フィールドはすべてフィールドタイプが0となります。
数値:数字フィールドには3つの種類があります。
選択リスト(入力不可)、数値アイコン、ラジオボタン:作成時に短整数値が保存されます。これらのフィールドは、フィールドタイプが7となります。
データフィールド:長整数値が保存されます。長整数値のフィールドタイプは14です。FirstClassでは、ほとんどの場合、システム用フォームの7と14が区別なく使用されます。
チェックボックス:フィールドタイプは6です。デフォルトでは、チェックボックスに0、1、2の3つの値がありますが、FirstClassデザイナーでは、最大10種類の異なる状態をチェックボックスでサポートしています。チェックボックスに4種類以上の番号を保持する場合は、追加する状態を表示するようにフォームが設定されていることを確認する必要があります。



数値
数値変数を42に設定するには、以下のように記述します。
//RegionCodeという名の数値変数を初期化
VAR RegionCode = 42
フォーム上のフィールドから変数の値を取得します。数値フィールドのIDは8067で、[Region Codes]フォームは[Projects Application]フォルダ内にあります。
//RegionCodeという名の数値変数を初期化
VAR RegionCode = 0
//RegionCode変数をフィールド8067の現在の値に設定
RegionCode = FORMFIELD "FirstClass applications:projects application:region codes" 8067
スクリプトフォームを実行する場合は、FIELDキーワードを使用します。スクリプトを実行するルールは、[Projects Application]フォルダ内のドキュメントに記述されています。このドキュメントは「Close Project」という名前です。
//Regionという名の数値変数を初期化
VAR RegionCode = 0
//RegionCode変数をフィールド8067の現在の値に設定
RegionCode = field "FirstClass applications:projects application:close project" 8067
文字列値
//初期値がない文字列変数を定義
VAR RegionName
//初期値がSheffieldの文字列変数を定義
VAR RegionName = "Sheffield"
IFの使用
長く複雑なアプリケーションインストールスクリプトを使用する場合は、VARを使用すると、変数を調整するだけでスクリプトの動作を簡単に変更できます。スクリプトは、主要なセクションで変数の値をチェックし、その結果に基づいてコマンドを実行するように記述します。
//変数が1の場合に、[Projects]アプリケーションをインストール
VAR Project = 1
//変数が1の場合に、CRMアプリケーションをインストール
VAR management = 1

IF Project == 1
//小規模または大規模なコマンドセットを実行し、
[Install the Projects]アプリケーションを記述
ENDIF

IF CRM == 1
//小規模または大規模なコマンドセットを実行し、
[Install CRM]アプリケーションを記述
ENDIF
[Project]アプリケーションのみをインストールする場合は、以下のように書き換えます。
IF management == 1 to IF management == 0
その後、スクリプトを実行してください。
VARの値は、IFコマンドでも設定できます。例えば、オブジェクトが存在する場合はVARの値を1に、見つからない場合は0に設定するには、以下のように記述します。
IF OBJECT "FirstClass applications:projects application" MISSING
VAR Project = 0
Write +c Installing Projects Application
ELSE
VAR Project = 1
Write +c Upgrading Projects Application
ENDIF
ASSIGNとENABLEFIELDSUBSTITUTIONの使用
RegionCodeを42に設定し、変数の値を[Region Codes]ドキュメントに記述するには、以下のように記述します。
//RegionCodeという名の数値変数を初期化
VAR RegionCode = 42
ASSIGN RegionCode FORMFIELD "FirstClass Applications:Projects Application:Region Codes" 8067 7
RegionCodeを42に設定し、Batch Admin宛に送信するメッセージのフィールドID1001にその値を保存するには、以下のコマンドを入力します。サーバコンソールにフィールドID1001の内容を記述するには、ENABLEFIELDSUBSTITUTIONを使用します。
//RegionCodeという名の数値変数を初期化
VAR RegionCode = 42
ASSIGN RegionCode FIELD 1001 7
ENABLEFIELDSUBSTITUTION
WRITE +c #1001
メッセージがBatch Admin宛に送信されると、そのメッセージフォームのフィールド1001には42の値が記述されます。サーバはフォーム上にあるフィールドの種類を認識しないため、フィールドがフォーム上に存在しない場合でも、FIELDパラメータを使用してフィールドに値を代入できます。ローカルフォームに値を一度割り当てれば、任意の有効なコマンドを使用できます。
フォーム上のフィールドから変数の値を取得します。数値フィールドのIDは8067で、[Region Codes]ドキュメントは[Projects Application]フォルダ内にあります。スクリプトの作成やトラブルシューティングを行う場合は、サーバコンソールに値が表示されるようにすると便利です。REPLYコマンドをスクリプトに追加すれば、有効な変数を含むメッセージが送信されます。
//RegionCodeという名の数値変数を初期化
VAR RegionCode = 0
//RegionCode変数をフィールド8067の現在の値に設定
RegionCode = FORMFIELD "FirstClass applications:projects application:region codes" 8067
ASSIGN RegionCode FIELD 1001 7
ENABLEFIELDSUBSTITUTION
WRITE #1001
06092010_122716_1.jpg注意
文字列フィールドの内容を他のフィールドに割り当てる機能はサポートされていないため、実行できません。
フォーム上のフィールドから変数の値を取得し、2番目のドキュメントに割り当てます。この場合、フィールドIDが異なる可能性があります。そのため、フィールドタイプを伝える必要があります。数値フィールドのIDは8067で、フィールドタイプは7です。[Region Codes]フォームは[Projects Application]フォルダ内にあります。変数の値は、Targetという他のドキュメントに割り当てます。
//RegionCodeという名の数値変数を初期化
VAR RegionCode = 0
//RegionCode変数をフィールド8067の現在の値に設定
RegionCode = FORMFIELD "FirstClass applications:projects application:region codes" 8067
ASSIGN RegionCode FORMFIELD "FirstClass applications:projects application:target" 8066 7
以下のコマンドも同じタスクを実行しますが、ENABLEFIELDSUBSTITUTIONとPUTコマンドを使用します。
//RegionCodeという名の数値変数を初期化
VAR RegionCode = 0
//RegionCode変数をフィールド8067の現在の値に設定
RegionCode = FORMFIELD "FirstClass applications:projects application:region codes" 8067
ASSIGN RegionCode FIELD 1001 7
ENABLEFIELDSUBSTITUTION
PUT "FirstClass applications:projects application:target" 8066 7 #1001
ローカルフォームに値を一度割り当てれば、任意のコマンドを使用できます。
カウンタの作成
新しいプロジェクトを作成すると、そのプロジェクトにはプロジェクトコードが割り当てられます。[Projects]アプリケーション内には、数値を保存するカスタムフィールドを持つ[Project Code]ドキュメントがあります。アプリケーション開発者が、フィールドID12215を選択したとします。このフィールドの値は、現在1000となっています。このスクリプトを初めて実行すると、1001という名のフォルダが作成されます。このスクリプトを二度目に実行すると、1002という名のフォルダが作成されます。
//初期値を作成してProjectCodeという名の変数に設定
VAR ProjectCode = 0
//フォームから現在のカウンタ値を取得
ProjectCode = ProjectCode + FORMFIELD "FirstClass applications:projects application:project code" 12215

//ProjectCode変数を1増加
ProjectCode = ProjectCode + 1

//新しい値を[ProjectCode]ドキュメントに入力
ASSIGN ProjectCode FORMFIELD "FirstClass applications:projects application:project code" 12215 7

ENABLEFIELDSUBSTITUTION
ASSIGN ProjectCode FIELD 1001 0

//プロジェクトコードに基づいて新しいフォルダを作成
NEW "FirstClass applications:projects application" "#1001"  "" FOLDER 24043 -1 -1
アイコンの再利用
例えば、Susanが自分の[My Projects]フォルダ内に[Project Preferences]ドキュメントを保存しているとします。Susanは、このドキュメントを使用して、新しい[Project]フォルダ用のアイコンを選択することにしました。新しいプロジェクトを作成するのに、Susanはスクリプトを実行するアプリケーションルールを使用します。以下のスクリプトは、アイコンIDの値を参照し、新しいプロジェクトフォルダのアイコンとして使用する部分です。
ENABLEFIELDSUBSTITUTION

//ルールを実行するユーザのデスクトップからのパスを設定
SETBASE +USER

//このコマンドで、DESKTOP <userID>の代わりにRELATIVEキーワードを使用
SETRELATIVE FROMBASE ""

//数値を定義
VAR ProjectIcon = 0

//[Project Preferences]フォームからアイコンフィールドの値を取得。アイコンのフィールドIDは12209
//この場合、RELATIVEはDESKTOP sbramと同じ

ProjectIcon = ProjectIcon + FORMFIELD RELATIVE "My Projects:Project Preferences" 12209

//[ProjectIcon]をローカルフィールドに割り当て。アイコンフィールドはフィールドタイプ7
ASSIGN ProjectIcon FIELD 1009 7

//次の行を非コメント化し、サーバコンソールにフィールド1009の値を表示
//+cを記述すると、アイコン番号1009を持つフォルダが作成

//新しいプロジェクトフォルダを作成するには、ProjectIconを使用
NEW RELATIVE "My Projects" "Project Highland" "" FOLDER #1009 -1 -1 +p
日付
VARコマンドには、現在の日付に関連した日付文字列を取得するオプションがあります。
以下は、アプリケーションインストールスクリプトでインストールの日付を記録する例です。
//今日の日付を保持する文字列値を作成
VAR Today +D

//今日の日付をフォームのフィールド8021に入力
ASSIGN Today FORMFIELD "FirstClass applications:projects application:Project Preferences" 8021 0
今から7日後の日付を取得するには、以下のように入力します。
//今日から1週間後の日付を保持する文字列値を作成
VAR NxtWeek 7 +D
//これから1週間後の日付をフォームのフィールド8021に入力
ASSIGN NxtWeek FORMFIELD "FirstClass applications:projects application:Project Preferences" 8021 0
今から7日前の日付を取得するには、以下のように入力します。
//1週間前の日付を保持する文字列値を作成
VAR LstWeek -7 +D

//これから1週間前の日付をフォームのフィールド8021に入力
ASSIGN LstWeek FORMFIELD "FirstClass applications:projects application:Project Preferences" 8021 0
数値の操作
2つの変数を追加して、その結果をサーバコンソールに表示するには、以下のように入力します。
VAR PRICE = 100
VAR SHIPPING = 10
VAR TOTAL = 0

TOTAL = PRICE + SHIPPING

ASSIGN PRICE FIELD 1000 7
ASSIGN SHIPPING FIELD 1001 7
ASSIGN TOTAL FIELD 1002 7

ENABLEFIELDSUBSTITUTION
WRITE
WRITE PRICE IS SET TO #1000
WRITE
WRITE SHIPPING IS SET TO #1001
WRITE
WRITE TOTAL IS SET TO #1002
WRITE
結合文字列
2つの文字列を結合するには、以下のように入力します。
VAR Greeting = Dear
VAR Name = " Ms Bram
Greeting = Greeting + Name

ASSIGN Greeting FIELD 1001 0

ENABLEFIELDSUBSTITUTION
WRITE The greeting is #1001
ユーザがスクリプトを実行する手動アプリケーションルールを実行する場合は、セッションデータを利用できます。ENABLEFIELDSUBSTITUTIONコマンドを最初のフィールド置換(#7100)の前に入力します。このスクリプトは、完全フォーマット名の変数を使用してグリーティングを作成します。このスクリプト例では、グリーティング変数をDear Susan Bramとしています。
ENABLEFIELDSUBSTITUTION
VAR Greeting = Dear
Greeting = Greeting + " #7100:"

ASSIGN Greeting FIELD 1001 0

WRITE The greeting is #1001
SETBASEの使用
アプリケーションがFirstClassアプリケーション内の[アプリケーション設定]フォームに登録されている場合は、SETBASE +APP <appNumber>コマンドを使用できます。例えば、[Projects]アプリケーションがアプリケーション番号4001で登録されている場合には、以下のコマンドを入力します。
ASSIGN ProjectCode FORMFIELD "FirstClass applications:projects application:project code" 12215 14
また、以下のように書き直すこともできます。
SETBASE +APP 4001
ASSIGN ProjectCode FORMFIELD RELATIVE "project code" 12215 7
アプリケーションルールの[バッチ管理スクリプトを実行する]を動作させる場合は、SETBASE +USERコマンドを現在のユーザのデスクトップから使用できます。
//数値を定義
VAR ProjectIcon = 0

//[Project Preferences]フォームからアイコンフィールドの値を取得。アイコンのフィールドIDは12209
ProjectIcon = ProjectIcon + FORMFIELD desktop sbram "My Projects:Project Preferences" 12209
また、以下のように書き直すこともできます。

//ルールを実行するユーザのデスクトップからのパスを設定
SETBASE +USER
//このコマンドで、DESKTOP <user>の代わりにRELATIVEキーワードを使用
SETRELATIVE FROMBASE ""

//数値を定義
VAR ProjectIcon = 0

//[Project Preferences]フォームからアイコンフィールドの値を取得。アイコンのフィールドIDは12209
ProjectIcon = ProjectIcon + FORMFIELD RELATIVE "My Projects:Project Preferences" 12209



関連コマンドとルール動作
VARコマンドとASSIGNコマンドは、フィールド値を取得する他の方法を補完するものです。カスタムフォームを作成し、フィールド置換によってスクリプト内でフィールド番号を参照できます。
アプリケーションルールの[バッチ管理スクリプトを実行する]スクリプトを使用して、セッションデータにアクセスできます。これにより、現在のユーザ名、クライアントID、ユーザID、第一組織単位、現在の日付、および現在の時刻に対して定義済み変数を使用できます。
アプリケーションルールの[確認メッセージを表示する]動作でそのフィールドデータを保持し、確認フォームに入力します。デフォルトの確認フォームには名前フィールドしかありませんが、アプリケーション開発者は、そのアプリケーションに必要なフィールドを含むカスタムフィールドを作成できます。
詳細は、ENABLEFIELDSUBSTITUTIONを参照してください。

 

Copyright(C) 2002-2018 FC Management Co. All Rights Reserved