変更された値フックを使用して、フィールドの値の変更後に、フィールドを同期するか、あるいは、他のタスクを実行することができます。
次の例では、現在のフィールドに格納されているオペレーティング システムをフックで確認します。オペレーティング システムに従い、フックによってバージョン番号が OS_version フィールドに割り当てられます。現在のフィールドがまだ設定されていなくて、オペレーティング システムの名前が格納されていない場合、このフックは対応するバージョン番号を設定しません。
Sub OS_type_ValueChanged(fieldname) ' fieldname As String value = GetFieldValue(fieldname).GetValue() If value = "solaris" Then SetFieldValue "OS_version", "7.x" ElseIf value = "windows" Then SetFieldValue "OS_version", "95" ElseIf value = "hpux" Then SetFieldValue "OS_version", "10.x" End If End Sub
sub OS_type_ValueChanged { my($fieldname) = @_; my($value); $value = $entity->GetFieldValue($fieldname)->GetValue(); if ($value eq "solaris") { $entity->SetFieldValue("OS_version", "7.x"); } elsif ($value eq "windows") { $entity->SetFieldValue("OS_version", "95"); } elsif ($value eq "hpux") { $entity->SetFieldValue("OS_version", "10.x"); } }