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 TYPECODE attribute 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 Parent Element Definition Attribute Element/Attribute Value and Description

<ClientScreen>

 

The opening and closing elements of the screen rule.

 

 
<Filter> <ClientScreen>  

 

Optional element:

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

<Conditions > <Filter>     Required:
    SecurityGroup

 

Required:

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

  <Filter> Optional

Type

Values: Exclusion

Default: Exclusion

  <Filter> Optional Operator Values: OR|AND

Default: OR

<Condition> <Conditions > Required    
  <Condition>

Required

The dynamic field name

Fieldname

Field Name
  <Condition>

Required

The dynamic field value

Value

Field Value
<LegalResidenceCountryCode> <ClientScreen>

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.
  <LegalResidenceCountryCode> Optional attribute:

Allows a Display Name to be configured

TITLE String value that will be displayed on screen as the label.
  <LegalResidenceCountryCode> 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> <ClientScreen>

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.

<Events> <ClientScreen> Optional

Identifies configurable events for the rule.

   
<Event> <Events> Required, Repeatable

Identifies a specific event. There is no practical need for multiple <Event> elements as there is only one event applicable in this rule.

 
  <Event>

Required

This attribute indicates the screen's state that may trigger a configurable action. The only applicable type is ONLOAD. Other types will cause a system exception.

TYPE ONLOAD
<Math> <Event>

Optional, Repeatable

This element identifies a <Math> section that to be executed for the <Event> trigger. There is no practical need to have multiple <Math> sections under <ScreenMath>.

   
  <Math>

Required

The attribute identifies the <Math> section that get executed upon the <Event> trigger. The value is the name of a defined<Math> element under the <ScreenMath> section.

ID Literal
<QuerySet> <Event>

Required, Repeatable

This element identifies an <Action> to be executed by the <Event>. There is no practical need to define multiple <QuerySet> elements.

   
  <QuerySet>

Required

This attribute identifies the <Action>, by its ID attribute, to execute for the <Event> trigger.

ID Literal
  <QuerySet>

Required

This attribute identifies the field that to be populated with the values returned by the <Action>. There is only one field that may be updated by <Events> in this rule.

FIELD TypeCode
<ScreenMath> <ClientScreen>

Optional

OIPA's common screen math functionality with access to the extended activity/transaction context.

   
<Math> <ScreenMath>

Required, Repeatable

This provides a section of configured logic that establishes variables for use in the associated <Actions> element. There is no practical use for repeating the element in this rule, but they gets executed if system execution reaches them.

   
  <Math>

Required

Provides a name for the Math section. Access to the <Math> variables require prefixing the <Math> name.

ID  
  <Math>

Optional

Allows the variables in the <Math> section to be visible throughout the rule. Applicable values are Yes and No. The default value is No. If multiple <Math> elements have GLOBAL="Yes", only the first defined element gets executed.

GLOBAL Yes or No
<Actions> <ClientScreen>

Optional

A section to contain actions that may be performed by the triggered events on this screen.

   
<QuerySet> <Actions>

Required, Repeatable

This element's definition will result in the data that will populate the field identified by the event's attribute.

  sql statement
  <QuerySet>

Required

Provides a name for the QuerySet.

ID  

<Client>

<ClientScreen>

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

As defined in AsCodeClientType in AsCode table.

Code:Controls the type of Client for which user need to add the requirement
  ALLOWREQUIREMENTS

Controls the availability of Add Requirement button in the Client Requirement tab of a Client.

Optional attribute:

Yes: The Requirements tab will display.

No: The Requirements tab will not display.

  RELATIONSHIPACTIVITYPLAN

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

String: Any plan name.

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

.String:Any plan name.

<MultiFields>

<Client>

Optional element:

See MultiFields Element.

   

<FixedFields>

<Client> For standard field configuration, see theFields page.    

<Fields>

<Client> See Fields.    

<Events>

<Client>

See Action/Events.

 

This rule can 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:
If the “DISABLEALL” action is triggered during an ONLOAD event, only those fields configured within this sector are disabled. The fields configured for TYPECODE 02 and 17 are not affected.

Note: One of the <Client> elements in the XML Example below displays a portion of the screen using TYPECODE="01" and CLIENTTYPECODE ="Organization".

<Event>

<Events>  

ONSUBMIT

ONLOAD

ONCHANGE

 

<ScreenMath>

<Event> See ScreenMath Element.    

<Actions>

<Event>

See Action/Events section.

   

<Spawns>

<Event>

Optional:

This is the opening tag for the Spawns section.

  Client level spawning is supported on these screens.

<Spawn>

<Spawns>

Required:

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

IF

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

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

<Transaction>

<Spawn>

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

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

Required:

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

 

FIELD

A screen math variable or field containing a date value.

Required:

This attribute provides the spawned activity’s effective date.

<SpawnFields>

<Spawn>

Optional:

Opening tag for the SpawnField section.

   

<SpawnField>

<SpawnFields>

Required, Repeatable:

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

   

<From>

<SpawnField>

Required:

Defines the spawned field’s source of population.

  A screen math variable or field.

<To>

<SpawnField>

Required:

Identifies a field in the spawned activity to be populated.

  A field’s name.

<Datatype>

<SpawnField>

Required:

Identifies the DataType of the spawned field.

 

Date

Decimal

Integer

Money

Text

<ScreenMath> <Client> See ScreenMath Element.    

<Actions>

<Client>

See Action/Events..

 

 

<DisplayFormat>

<Client>

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>

<DisplayFormat>

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.

<Part>

 

PRE

Comma, Hyphen,/ etc.

Optional:

Delimiter preceding the Fixed Field.

<Part>

 

POST

Comma, Hyphen,/ etc.

Optional:

Delimiter following the Fixed Field.

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     1      
CompanyName

LastName
FirstName
MiddleInitial
AlternateName1
AlternateName2
AlternateName3
AlternateName4
AlternateName5
Prefix2
Suffix2
AdditionalPrefix
AdditionalSuffix
Title2
Sex
MaritalStatus3
DateOfBirth
DateOfDeath
TaxIDType2
TaxID
Email
BirthCountryCode2
CitizenshipCountryCode2
BirthRegionCode2
PrimaryPhone
TextField1
TextField2
CheckBox1
CheckBox2
Radio1
Radio2
Combo12
Combo22

Date1

Date2
LegalResidenceCountryCode     1      

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 Schema

<ClientScreen>
<LegalResidenceCountryCode TITLE="[literal]" TYPE="[SQL]">[sql atatement]</LegalResidenceCountryCode>
<DisplayPhoneScreen>[Yes | No]</DisplayPhoneScreen>
<Events>
<Event TYPE="ONLOAD">
<Math ID="[literal]"></Math>
<QuerySet ID="[literal]" FIELD="TypeCode"></QuerySet>
</Event>
</Events>
<ScreenMath>
<Math ID="[literal]" GLOBAL="[Yes | No]">. . .</Math>
</ScreenMath>
<Actions>
<QuerySet ID="[literal]">. . .</QuerySet>
</Actions>
<Client TYPECODE="[code value]" GROUP="[Yes | No]" ACTIVITYPLAN="[literal]" RELATIONSHIPACTIVITYPLAN="[plan name]">
<MultiFields>. . .</MultiFields>
<FixedFields>. . .</FixedFields>
<Fields>. . .</Fields>
<Events>
<Event TYPE="[ONSUBMIT | ONLOAD | ONCHANGE]">
<Math ID="[literal]"></Math>
<Math ID="[literal]"></Math>
<ActionSet ID="[literal]"></ActionSet>
<ActionSet ID="[literal]"></ActionSet>
<QuerySet ID="[literal]" FIELD="[field name]"></QuerySet>
<QuerySet ID="[literal]" FIELD="[field name]"></QuerySet>
<Spawns>
<Spawn IF="[condition]">
<Transaction SPAWNCODE="[01 | 03 | 09]" FIELD="[field | variable]" CLIENT="[field | variable]" COLLECTION="[variable]">[transaction name]</Transaction>
<SpawnFields>
<SpawnField>
<From>[field | variable]</From>
<To>[literal]</To>
<DataType>[Check | Combo | Date | Decimal | Integer | Money | Percent | Radio | Text | TextArea]</DataType>
</SpawnField>
<SpawnField>. . .</SpawnField>
</SpawnFields>
</Spawn>
<Spawn>
<Activity>[variable]</Activity>
</Spawn>
<Spawn>. . .</Spawn>
</Spawns>
</Event>
<Event TYPE="[ONSUBMIT | ONLOAD | ONCHANGE]">. . .</Event>
</Events>
<ScreenMath>
<Math ID="[literal]" GLOBAL="[Yes | No]">. . .</Math>
<Math ID="[literal]" GLOBAL="[Yes | No]">. . .</Math>
</ScreenMath>
<Actions>
<ActionSet ID="[literal]">. . .</ActionSet>
<ActionSet ID="[literal]">. . .</ActionSet>
<QuerySet ID="[literal]">. . .</QuerySet>
<QuerySet ID="[literal]">. . .</QuerySet>
</Actions>
<DisplayFormat>
<Part PRE="[literal]" POST="[literal]">[field]</Part>
<Part PRE="[literal]" POST="[literal]">[field]</Part>
</DisplayFormat>
</Client>
<Client>. . .</Client>
</ClientScreen>

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" AND ALLOWREQUIREMENTS = "Yes">
<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>
<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>