ClientScreen

This business rule allows the configuration of fixed and dynamic fields on the Client screen. This rule holds an indicator that displays fields appropriate for a corporate or individual entity. A repeatable section defines each Client Type, which is identified by its TYPECODE. This rule is also used to control the address table display.  

Note: The ClientScreen rule also configures the Customer Detail screen for Group customers, based on the values of CLIENTTYPE and CLIENTTYPECODE attributes of the <Client> element.

The Typecode and LegalResidenceCountryCode fixed fields cannot be disabled by any type of configuration. The LegalResidenceCountryCode field provides limited configurability (change display name, values available for selection) through the LegalResidenceCountryCode attribute explained below.

ClientScreen Elements and Attributes
Element/Tag Definition Attribute Element/Attribute Value and Description

<ClientScreen>

The opening and closing elements of the screen rule.

 

 
<Filter>  

Optional element:

Allows to restrict access of privileged clients from selected security groups.

 
<Conditions >   Required  
  SecurityGroup

Required

The security group on which the filtering should be applied. Multiple security groups can be added with coma separated values.

 
  Optional

Type

Values: Exclusion

Default: Exclusion

  Optional Operator Values: OR|AND

Default: OR

<Condition> Required    
 

Required

The dynamic field name

Fieldname

Field Name
 

Required

The dynamic field value

Value

Field Value
<LegalResidenceCountryCode>

Optional element:

This Element allows configuration of the Title and population by SQL for the LegalResidenceCountryCode Fixed Field.

 

The value of the element provides the SQL query for fetching the country code and country name values. All the country codes retrieved by the query must have an entry in the AsCountry table and the country code cannot retrieve a blank value.

  Optional attribute:

Allows a Display Name to be configured

TITLE String value that will be displayed on screen as the label.
  Optional attribute:

Allows population of LegalResidenceCountryCode with a SQL statement. If this attribute does not exist, all countries in AsCountry will be used to populate this dropdown in alphabetic order, based on the Code Value

TYPE

SQL

<DisplayPhoneScreen>

Optional element:

Specifies whether the Phone screen should be enabled or disabled.

 

Yes: The Phone screen will be enabled.

No: The Phone screen will be disabled. This is the default value.

<Client>

Required and repeatable element:

This element defines the Client Type, Group and ActivityPlan for each Client Type.

   

 

TYPECODE

Required attribute:

Code: As defined in AsCodeClientType in AsCode table.

GROUP

Yes: Displays Group button on the Client screen for the client type.

ACTIVITYPLAN

String:Any plan name.

CLIENTTYPECODE

Code: As defined in AsCodeClientType in AsCode table.

Defines which plan to use when the Relationship link is selected in OIPA. RELATIONSHIPACTIVITYPLAN

.String:Any plan name.

<MultiFields>

Optional element:

See MultiFields Element.

   

<FixedFields>

For standard field configuration, see theFields page.    

<Fields>

See Fields.    

<Events>

See Action/Events.

 

This rule may contain multiple configuration sectors based on different Client types, each containing its own Events section, which will act only on the Fields and MultiFields configured within the same sector.

For example: One of the <Client> elements in the XML Example below displays a portion of the screen using TYPECODE="01" and CLIENTTYPECODE ="Organization".
If the “DISABLEALL” action is triggered during an ONLOAD event, only those fields configured within this sector are disabled. The fields configured for CLIENTTYPECODE 02 and 17 are not affected.

<Event>

 

ONSUBMIT

ONLOAD

ONCHANGE

 

<ScreenMath>

See ScreenMath Element.    

<Actions>

See Action/Events section.

   

<Spawns>

Optional:

This is the opening tag for the Spawns section.

  Client level spawning is supported on these screens.

<Spawn>

Required:

Opening element that defines the transaction to spawn and its data.

IF

Optional: A condition that when true initiates the spawn. If not present the spawn will gererate under all conditions.

Go to Operators available for EXPRESSION writing to see what operators can be used for condition writing.

<Transaction>

Required:

Identifies the transaction that will be spawned. It must exist as a client level transaction and be available for the client type whose field value was changed.

  The name of an existing transaction.
 

SPAWNCODE

Required:

This attribute defines how the spawned activity’s effective date will be determined.

03 = Spawn on a date provided by a FIELD attribute.
 

FIELD

Required:

This attribute provides the spawned activity’s effective date.

A screen math variable or field containing a date value.

<SpawnFields>

Optional:

Opening tag for the SpawnField section.

   

<SpawnField>

Required, Repeatable:

Identifies a field and its source of population as the spawned activity is created.

   

<From>

Required:

Defines the spawned field’s source of population.

  A screen math variable or field.

<To>

Required:

Identifies a field in the spawned activity to be populated.

  A field’s name.

<Datatype>

Required:

Identifies the DataType of the spawned field.

 

Date

Decimal

Integer

Money

Text

<ScreenMath>

See ScreenMath Element.

 

 

<Actions>

See Action/Events..

 

 

<DisplayFormat>

Required:

 

The opening and closing tag for Parts section, which designates Client Fields’ order, alignment, and any symbols or codes for the “finished”, viewable Client Name.

<Part>

Required, Repeatable:

 

<Part> sub-elements define individual “parts” of the “finished” product, which will be visible in Client Summary table, Client Search Results table, and any other screen or peripheral where Client’s Name may be viewed or passed to. Acceptable values for the Part element are the fixed columns of the AsClient and AsClientField tables that contain text data.

<Part>

Required, Repeatable:

 

<Part> sub-elements define individual “parts” of the “finished” product, which will be visible in Client Summary table, Client Search Results table, and any other screen or peripheral where Client’s Name may be viewed or passed to. Acceptable values for the Part element are the fixed columns of the AsPerson and AsClientField tables that contain text data.

Optional:

Delimiter preceding the Fixed Field.

PRE

Comma, Hyphen,/ etc.

Optional:

Delimiter following the Fixed Field.

POST

Comma, Hyphen,/ etc.

Additional Common Fields Available for Configuration

Because client screens are often required to hold a wide range of information not displayed on any other screens in OIPA, they have a number of configurable fields not available to other screens. The following chart summarizes these fields, their configurability and their behavior.

  Hidden if not Configured Able to be Disabled Able to be Renamed OnChange Generator Can Generate Errors OnChange/OnLoad/OnSubmit Receiver
TypeCode     x1      
CompanyName x x x x x x
LastName x x x x x x
FirstName x x x x x x
MiddleInitial x x x x x x
AlternateName1 x x x x x x
AlternateName2 x x x x x x
AlternateName3 x x x x x x
AlternateName4 x x x x x x
AlternateName5 x x x x x x
Prefix2 x x x x x x
Suffix2 x x x x x x
AdditionalPrefix x x x x x x
AdditionalSuffix x x x x x x
Title2 x x x x x x
Sex x x x x x x
MaritalStatus3 x x x x x x
DateOfBirth x x x x x x
DateOfDeath x x x x x x
TaxIDType2 x x x x x x
TaxID x x x x x x
Email x x x x x x
BirthCountryCode2 x x x x x x
CitizenshipCountryCode2 x x x x x x
BirthRegionCode2 x x x x x x
PrimaryPhone x x x x x x
TextField1 x x x x x x
TextField2 x x x x x x
CheckBox1 x x x x x x
CheckBox2 x x x x x x
Radio1 x x x x x x
Radio2 x x x x x x
Combo12 x x x x x x
Combo22 x x x x x x

Date1

x x x x x x
Date2 x x x x x x
LegalResidenceCountryCode     x1      

1 TypeCode can only be renamed by using system translation keys.

2 LegalResidenceCountryCode field cannot be hidden but limited configuration, in terms of display name change and available values change can be made using the LegalResidenceCountryCode element.

3 These fixed fields are drop-down fields that will derive their values from their corresponding code names.

4 Marital Status will be a radio field.

XML Example

<ClientScreen>
<LegalResidenceCountryCode TITLE="Legal Residence Display Text" TYPE="SQL">SELECT CountryCode, CountryLongName FROM AsCountry ORDER BY CASE CountryCode WHEN 'US' THEN 1 WHEN 'CA' THEN 2 ELSE 3 END, CountryLongName</LegalResidenceCountryCode>
<Client TYPECODE="02">
<MultiFields RULE="IndividualFields">Yes</MultiFields>
<FixedFields>
<Field>
<Name>FirstName</Name>
<Display>Given Name</Display>
</Field>
<Field>
<Name>MiddleInitial</Name>
<Display>Middle Name</Display>
</Field>
<Field>
<Name>LastName</Name>
<Display>Last Name</Display>
</Field>
<Field>
<Name>TaxID</Name>
<Display>National Identification Number</Display>
</Field>
<Field>
<Name>AlternateName1</Name>
<Display>Name in Kanji</Display>
<Expanded>Yes</Expended>
</Field>
<Field>
<Name>DateOfBirthalternate</Name>
<Display>Imperial Date of Birth</Display>
<DataType FORMAT="JP_IMP">Date<DataType>
</Field>
<Field>
<Name>DateOfDeath</Name>
<Display>Date of Death</Display>
<Datatype FORMAT="JP_IMP">Date</Datatype>
</Field>
<Field>
<Name>LegalResidenceCountry</Name>
<Display>Legal Residence</Display>
</Field>
</FixedFields>
<Fields>
<Field>
<Name>Line</Name>
<Display></Display>
<DataType>Line</DataType>
</Field>
<Field>
<Name>CountryOfCitizenship</Name>
<Display>Country Of Citizenship</Display>
<DataType>Radio</DataType>
<Query TYPE="FIXED">
<Options>
<Option>
<OptionValue>01</OptionValue>
<OptionText>Japan</OptionText>
</Option>
<Option>
<OptionValue>02</OptionValue>
<OptionText>Other</OptionText>
</Option>
</Options>
</Query>
</Field>
</Fields>
<Fields>
<Field>
<Name>DriverLicenseNumber</Name>
<Display>Driver License Number</Display>
<DataType>Text</DataType>
</Field>
<Field>
<Name>DriverLicenseIssueState</Name>
<Display>Driver License Issue State</Display>
<DataType>Text</DataType>
</Field>
</Fields>
<Events>
<Event TYPE="ONSUBMIT">
<Math ID=”. . . “>. . . . </Math>
<ActionSet ID=”. . . “>. . . . </ActionSet>
<Spawns>
<Spawn IF="SomeFieldOrMV = ‘Yes’">
<Transaction SPAWNCODE="03" FIELD="SomeDateFieldOrMV">TransactionName</Transaction>
<SpawnFields>
<SpawnField>
<From>Field1OrMV1</From>
<To>Field1</To>
<DataType>Date</DataType>
</SpawnField>
<SpawnField>
<From>Field2OrMV2</From>
<To>Field2</To>
<DataType>Text</DataType>
</SpawnField>
</SpawnFields>
</Spawn>
</Spawns>
</Event>
</Events>
<ScreenMath/>
<Actions/>
<DisplayFormat>
<Part>FirstName</Part>
<Part PRE=", " POST=",">MiddleInitial</Part>
<Part>LastName</Part>
</DisplayFormat>
</Client>
</ClientScreen>
 
<ClientScreen>
<!-- Individual -->
<Client TYPECODE="02" ACTIVITYPLAN="Client Plan"
CLIENTTYPECODE="Person" PREFIX="No" GROUP="Yes">
</Client>
<!-- Corporate -->
<Client TYPECODE="01" CLIENTTYPECODE="Organization">
<Fields>
<Field>
<Name>IncorporationDate</Name>
<Display>Incorporation Date</Display>
<DataType>Date</DataType>
</Field>
</Fields>
<Events>
<Event TYPE="ONLOAD" FIELD="PreferenceOne">
<ActionSet ID="DisableFields"/>
</Event>
</Events>
<Actions>
<ActionSet ID="DisableFields">
<Condition IF="PreferenceOne ='Test'">
<Action ACTIONTYPE="DISABLEALL"/>
</Condition>
</ActionSet>
</Actions>
</Client>
<!-- Producer -->
<Client TYPECODE="17" CLIENTTYPECODE="Person" PREFIX ="Yes"  SUFFIX
="No">
<Fields>
<Field>
<Name>ProducerNumber</Name>
<Display>Producer Number</Display>
<DataType>Text</DataType>
</Field>
</Fields>
</Client>
<Client TYPECODE="20" ACTIVITYPLAN="Client Plan" RELATIONSHIPACTIVITYPLAN="ClientRelationship" CLIENTTYPECODE="GROUPCUST">
<ShowContacts>Yes</ShowContacts>
<FixedFields>
<Field>
<Name>CustomerNumber</Name>
<Display>I Changed this field</Display>
<DataType>Text</DataType>
</Field>
</FixedFields>
<Fields>
<Field>
<Name>InCorpDatel</Name>
<Display>InCorporation Date</Display>
<DataType>Date</DataType>
</Field>
<Field>
<Name>ParentCompany</Name>
<Display>Root Company</Display>
<DataType>Text</DataType>
</Field>
</Fields>
</Client>
</ClientScreen>

Example for Restricting Access of Privileged Clients using Filters

<ClientScreen>
<Filter>
<Conditions SecurityGroup = "Prototype Super,AlamereTest" Type ="Exclusion"  Operator ="OR|AND">
<Condition  Fieldname ="PrivilegedField1"  Value = "X"></Condition>
<Condition  Fieldname ="PrivilegedField2"  Value = "Y"></Condition>
</Conditions>
</Filter>
</ClientScreen>