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.
| 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: |
||
|
<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: 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 | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
| ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | |
| 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>