Overview
In Pivotal UX Client (PCM), the Tier field for new Company and Contact records may appear to be set “automatically” (commonly observed as Tier = 2). This default is not applied by the database or a background update process; it is set by PCM UX client-side logic during new record creation.
Key Information
- Database behavior (no automatic default):
Company.Tieris a nullabletinyintcolumn with no default constraint. If no value is provided, the database will storeNULL. - PCM OOTB defaulting happens at create time (client-side): When creating a new record in the PCM UX client (out of the box), Tier is defaulted by client scripts.
-
Where the default is set:
Company.js→populateDefaults()setsTier = 2during new Company creation.Contact.js→populateDefaults()setsTier = 2during new Contact creation.
- Not a later “update”: The observed Tier value is applied during the new-record flow in the PCM UX client, not by a database job/workflow that updates Tier after the record exists.
-
How to verify the source:
- DB-level: confirm
Company.Tieristinyint, nullable, with no default constraint. - Client-level: search
Company.js/Contact.jsforpopulateDefaults()assigning Tier (expected OOTB value:2).
- DB-level: confirm
Customer Impact
If the out-of-the-box behavior (Tier = 2 for new Company/Contact records) matches your requirements, no action is needed.
If you need a different default (or want Tier to remain blank), update the client-side defaulting logic in Company.js / Contact.js (populateDefaults()). If you must enforce a default regardless of creation channel (API inserts, imports, integrations), implement the behavior server-side because the database does not enforce a default for Company.Tier.
Frequently Asked Questions
- 1. How can I tell whether Tier is being defaulted by the database or the UX client?
- Check the database column definition for
Company.Tier. If it’s nullable with no default constraint, the database is not defaulting it. Then check the PCM UX client scripts (Company.js/Contact.js) forpopulateDefaults()assigning Tier (for example,2). - 2. Is Tier automatically “updated” later by an out-of-the-box workflow or background job?
- In this behavior, Tier is set at record creation time via PCM UX client scripts. The database itself does not automatically update Tier via a default constraint.
- 3. Why did Tier show as
2even though the database column has no default? - Because the PCM UX client sets the field in client-side code (
populateDefaults()) when creating a new Company/Contact. The database stores the value provided by the client. - 4. What if Tier defaults to
NULLin my environment? - This typically indicates the client-side defaulting logic is not present, not executed, or has been customized/removed. Verify you are using the PCM UX client codebase and confirm the
populateDefaults()logic inCompany.js/Contact.js. - 5. After changing the default in
Company.js/Contact.js, how do I confirm the change? - Create a new Company/Contact, verify the Tier value prior to saving, save the record, and re-open it. Also test record creation through any other channels you use (API/import) if you need consistent behavior outside the UX client.
Priyanka Bhotika
Comments