onBefore 変換マップスクリプトを作成して、新しいレコードの sys_id をソースからターゲットインスタンスにコピーします。2 番目の onBefore 変換マップスクリプトを作成して、一意の値が同じで sys_id 値が異なるターゲットインスタンスのレコードを識別します。
手順
-
作成したテーブル変換マップレコードを開きます。
-
[変換スクリプト] 関連リストで、[新規] をクリックします。
-
[時期 (When)] フィールドで、[onBefore]を選択します。
-
次のスクリプトを入力します。
if (action == "insert") {target.setNewGuidValue(source.u_sys_id); }
-
[送信] をクリックします。
-
[変換スクリプト] 関連リストで、[新規] をクリックします。
-
[時期 (When)] フィールドで、[onBefore]を選択します。
-
次の [スクリプト] を入力します。
/**
* This script queries for a uniquely identifying value of the referenced record and then
* updates the target reference field with the sys_id of the matching target record.
* This sample assumes:
* 1) The target table contains an assigned_to field which is a reference field.
* 2) The reference field references the User [sys_user] table.
* 3) You can use the email field to uniquely identify users. Alternatively you
* could use the user_name field.
*/
var ref = new GlideRecord("sys_user"); //Replace sys_user with any reference table
ref.addQuery("email", source.email); //Replace email with any unique field
ref.query();
if(ref.next()){
target.assigned_to = ref.sys_id; //Replace assigned_to with any reference field
}
-
[送信] をクリックします。