Using field path names to retrieve field values
A
field path name provides the path to a named Entity. You can use GetLocalFieldPathNames for a given record type and then use the returned fieldpaths
to retrieve FieldInfo objects and their contents. These field paths use a
dotted path notation (for example "owner.fullname").
When you call GetFieldValue to get a FieldInfo object, you normally do something like this, to get the value of the object:
my $Owner = GetFieldValue("owner")->GetValue();
If you wanted to get the full name of the owner and not the login name, you could write the following:
my $MySession = GetSession();
my $Owner = GetFieldValue("owner")->GetValue();
my $UserEntity = $MySession->GetEntity("users", $Owner);
my $FullName = $UserEntity->GetFieldValue("fullname")->GetValue();
Using field path names, you can achieve the same result as follows:
my $FullName = GetFieldValue("owner.fullname")->GetValue();
For example, if a record type named Defect has a reference field Cfield to a record type named Customer and that record type has a reference field Ufield to a User record type with a field Name, then the field path of Name is:
"Defect\Cfield\Ufield\Name"
The field path name (or "dotted name) of Name is:
Defect.Cfield.Ufield.Name
You can use this path name to retrieve the value of Name. For example, using Perl:
my $name = $Defect->GetFieldValue("Cfield.Ufield.Name")->GetValue();
You do not need the initial Defect if you already have a variable ($defect) referencing the Defect.