@SetEnvironment (式言語)

ユーザーの notes.ini ファイル (Windows、OS/2、UNIX) または Notes のプリファレンスファイル (Macintosh) に保存されている環境変数を設定します。

構文

@SetEnvironment( variableName ; value )

パラメータ

variableName

文字列。環境変数の名前を引用符で囲んで指定します。variableName に文字列リストを指定すると、そのリストで指定したすべての変数に、指定した value が設定されます。フィールド名を変数に保存する場合は、引用符は省略します。

value

文字列。variableName に割り当てる値を指定します。value にテキストリストを指定すると、リストの最初の値だけが使用され、残りは無視されます。

使用法

@SetEnvironment は、@If や @Do など他の @関数内で環境変数を設定するときに使用します。@関数の外側で環境変数を設定するには、@Environment または ENVIRONMENT キーワードを使用します。

@SetEnvironment は、列式や選択式では使用できません。スケジュールが設定されているエージェントなど、一部の式はユーザーのクライアント上ではなくサーバー上で実行されます。この場合、式の対象となる環境変数は、ワークステーションの環境変数ではなく、サーバーの 環境変数です。

環境変数の値を調べるには、@Environment を使用します。

この関数は、Web アプリケーションでは使用できません。ただし、Web アプリケーションでは、事前定義されているフィールド名を使用し、CGI (Common Gateway Interface - 共通ゲートウェイインターフェース) 環境変数を要求することにより、Web ユーザーの環境についての情報を取得できます。

この関数は、変数を notes.ini (または Notes プリファレンス) ファイルに保存するときに、変数名の前にドル記号 ($) を付けます。前にドル記号が付かない変数を作成するには、LotusScript® NotesSession クラスの SetEnvironmentVar メソッドまたは Java™ Session クラスの setEnvironmentVar メソッドを使用します。

  1. 次の例では、現在のユーザーの notes.ini ファイルまたは Notes のプリファレンスファイルに保存されている変数 $IEVersionMajor の値が 5 のとき、5 が返されます。
    @Environment("IEVersionMajor")
  2. 次の例では、現在のユーザーの notes.ini ファイルまたは Notes のプリファレンスファイルに OrderNumber という変数を設定し、値として 0 を割り当てます。
    @Environment("OrderNumber";"0")
  3. プロフィール文書を作成するときの時間を短縮するために、オフィスの所在地が自動的に入力されるようにします。この場合、編集可能な [OfficeLocation] という文字列フィールドを作成します。このフィールドのデフォルト式は次のとおりです。
    @Environment("ENVOfficeLocation")

    このフィールドの入力変換式は次のとおりです。

    @Environment("ENVOfficeLocation"; OfficeLocation);
    OfficeLocation

    ユーザーが初めてプロフィール文書を作成するときは、[OfficeLocation] フィールドは空白です。したがって、ユーザーがオフィスの所在地を入力します。文書を保存するときに、[OfficeLocation] フィールドの内容が notes.ini ファイルまたは Notes のプリファレンスファイルに保存されます。このユーザーが次回プロフィール文書を作成するときは、オフィスの所在地が環境変数 ENVOfficeLocation から取得されます。したがって、オフィスの所在地に変更がなければ、もう一度入力する必要はありません。所在地が変更されたときは、ユーザーがフィールドを編集します。

    また、@SetEnvironment か ENVIRONMENT キーワードを使用して入力変換式を作成することもできます。どちらを使用しても結果は同じです。

    @SetEnvironment("ENVOfficeLocation"; OfficeLocation);
    OfficeLocation

    または

    ENVIRONMENT ENVOfficeLocation:= OfficeLocation;
    OfficeLocation
  4. オフィス所在地以外に、ユーザーの生年月日も環境変数を使用して保存します。[Birthday] という編集可能な日付フィールドを作成します。このフィールドのデフォルト式は、[OfficeLocation] で使用したデフォルト式と同様です。
    @Environment("ENVBirthday")

    このフィールドの入力変換式では、@Text を使用して日付値を文字列に変換します。

    @SetEnvironment("ENVBirthday"; @Text(Birthday));
    Birthday

    @Text を使用し、数値型フィールドに対する同様の入力変換式を作成することもできます。

  5. 各ユーザーに対して連番を生成し、その番号を [OrderNumber] というフィールドに保存します。[OrderNumber] フィールドは文字列データ形式として定義します。何らかの形式の計算結果フィールドでなければなりません。次に、このフィールドに対して次のような式を作成します。
    Temporary := @Environment("OrderNumber");
    Temporary2 := @If(Temporary="";"0";Temporary);
    CurrentOrderNumber := @TextToNumber(Temporary2);
    NextOrderNumber := CurrentOrderNumber + 1;
    ENVIRONMENT OrderNumber := @Text(NextOrderNumber);
    @Text(CurrentOrderNumber);
  6. 次の式では、OrderNumber という環境変数がユーザーの notes.ini ファイルまたは Notes のプリファレンスファイルに保存されているかどうかを調べます。この環境変数が保存されていなければ、@SetEnvironment で 0 に初期化します。すでに値が保存されていれば、@Return でその値を返し、式の実行を中止します。
    @If(@Environment(OrderNumber)=""; @SetEnvironment("OrderNumber";"0"); @Return(@Environment("OrderNumber")))
  7. 次の例では、2 つのエージェントを使用し、ユーザーが所属可能なグループ名を呼び出し、ユーザーにその 1 つを選ばせ、選ばれたグループ名を選択されているすべての文書 (ここでは現在のユーザーに属する文書) の [Group] フィールドに入力します。

    Set Group」エージェントは、[Service Requests - By Group] ビューの列 1 に保存されているグループ名を呼び出し、ユーザーにグループ名を選択するよう求めるメッセージを表示します。選択された名前を環境変数 TmpName に保存してから、「(Set Group Helper)」エージェントを実行します。「(Set Group Helper)」エージェントは、ユーザーの notes.ini ファイルまたは Notes のプリファレンスファイルからグループ名を取り出し、選択されているすべての文書の [Group] フィールドに保存します。

    Set Group エージェントは 1 回だけ実行されます。

    GroupList:=@DbColumn("":"NoCache";"";
    "Service Requests¥¥By Group";1);
    Group:=@Prompt([OKCancelEditCombo];"Choose a group";"Choose 
    	a group";"Marketing";GroupList);
    Tmp1:=@Environment("TmpName";Group);
    @Command([RunAgent];"(Set Group Helper)");

    (Set Group Helper) エージェントは、選択された文書ごとに実行されます。

    FIELD Group:=@Environment("TmpName");

クロスリファレンス

LotusScript NotesSession クラスの SetEnvironmentVar メソッド

Java Session クラスの setEnvironmentVar メソッド