ロゴ:

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



機能
REPEATコマンドは、スクリプトをすぐに終了してもう一度開始します。1つのスクリプトに含めることができるREPEATコマンドは1つだけで、複数のREPEATコマンドを記述するとスクリプトはただちに中断されます。REPEATコマンドが正しく中断された場合は、スクリプトは引き続き実行されます。



構文
REPEAT fieldID
パラメータ


fieldID
対象のフィールドです。
fieldID.-1
対象のフィールドは重複グループのフィールドです。




あるカスタムメッセージに重複フィールドが含まれています。
25102007_113815_1.png
メッセージ本文に、12001、12002、および12003のフィールドの内容を返す動作のみを実行するスクリプトを含めます。接尾辞の-1によって、すべてのエントリが合致します。
IF REPEAT == 1
REPLY
ENABLEFIELDSUBSTITUTION
ENDIF

//実行するコマンドセット
//変数1フィールドのコンテンツには12001.-1を使用
//変数2フィールドのコンテンツには12002.-1を使用
//変数3フィールドのコンテンツには12003.-1を使用

Write Variable 1 = #12001.-1, Variable 2 = #12002.-1, Variable 3 = #12003.01

//変数1フィールド12001の各行に対して、これらのコマンドを1回実行
//その行は変数は12001フィールドにエントリを持っている必要あり
REPEAT FIELD 12001.-1
サーバは以下の情報を返します。
Variable 1 = Index 0,  Field 12001, Variable 2 = Index 0, Field 12002, Variable 3 = Index 1, Field 12003
Variable 1 = Index 1, Field 12001, Variable 2 = Index 1, Field 12002, Variable 3 = Index 1, Field 12003
53名のユーザが、オプションの保護された[2001 Sales Presentations]という名のフォルダを持っています。ユーザIDの一覧をフォームに入力するのではなく、LISTコマンドですばやく生成できれば、スクリプトでメッセージを作成して、フィールドを入力できます。
SetBase Mailbox

SetRelative FromBase Path ""

// Reference:1:87675
New Relative "" "batch admin" "Delete Sales Presentation folder" Form 7014 0 0 12004 87675 -U
Put Previous 8120 7 1252 8140 0 8141 0 8126 -1018972474 9 ""
Put Previous 8 "Administrator" -V
Put Previous 4 0 "batch admin" -V

//メッセージ本文、入れ子になった引用符に注意
Put Previous 6 'EXECUTE SCRIPT PATH "scripts:DeleteFolder"'

//これらの53個の名前を変数1フィールドに追加
Put Previous 12001.0 0 "SBram"
Put Previous 12001.1 0 "PChu"
//最後のユーザIDまで実行
Put Previous 12001.49 0 "SCurry"

SetRelative FromBase Path ""
[Employee Lounge]会議室内にコンタクトデータベースがあり、このエイリアスを販売スタッフ全員のコンタクトフォルダ内に作成する場合を例に取ります。一部の販売スタッフのコンタクトにはこのエイリアスがすでに作成されていますが、全員が確実にこのエイリアスを利用できるようにします。また、コンタクトデータベースの名前をCustomersからEast Coast Customersに変更します。したがって、既存のエイリアスの名前を変更し、エイリアスが存在しない場合は作成するという2つの処理が必要です。
上のようなカスタムメッセージフォームを作成し、ユーザIDを入力して、このスクリプトをメッセージ本文に追加します。
IF REPEAT == 1
ENABLEFIELDSUBSTITUTION
ENDIF

//ユーザのコンタクトフォルダ内にCustomersのエイリアスがあるかどうかをチェック
IF OBJECT desktop #12001.-1 "Contacts:Customers" EXISTS
//上の文が真であれば名前を変更
rename desktop #12001.-1 "Contacts:Customers" "East Coast Customers"
ELSE
//上の文が偽であればエイリアスを作成
LINK SPECIAL desktop #12001.-1 "Contacts" "General Conferences:Employee Lounge:East Coast Customers"
ENDIF

REPEAT FIELD 12001.-1
スクリプトを再利用するか、標準スクリプトとして保存しておきたい場合は、管理者デスクトップ上に保護されたフォルダを作成して、スクリプトをドキュメントに保存しておくことができます。メッセージには、以下のようにコマンドを1つだけ記述します。
EXECUTE SCRIPT PATH "scripts:DeleteFolder"
[DeleteFolder]ドキュメントには、以下のスクリプトを記述します。
IF REPEAT == 1
ENABLEFIELDSUBSTITUTION
ENDIF

//実行するコマンドセット
//ユーザIDには12001.-1を使用

//非コメント化し、コンソールに12001の値を表示
//Write +c Variable 1 = #12001.-1

REMOVE DESKTOP "#12001.-1" "2001 Sales Presentations" +p

//各行に対して、これらのコマンドを1回実行
//その行は変数は12001フィールドにエントリを持っている必要あり
//フィールド12001が53個のエントリを持っていれば、上のコマンドが53回実行
REPEAT FIELD 12001.-1

 

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