Version Control
Version | Date | Description | Author |
V0.0 | 27/12/2016 | Draft | <name> |
Reference Documents
Description | Document Link |
Definitions
Abbreviation | Definition |
CRM | Customer Relationship Management |
Introduction
Overview
<include a summary of context / scope that it has been implemented, when existing, create link to functional Documentation>
Purpose of this document
<include a summary of the purpose of this document>
<Process Name> Technical Documentation
<Process Name> Technical Solution Overview
<Include all actions performed by Users Or System that will trigger System Actions to run (Workflows, triggers, flows, assignment rules, approval processes, email notification, Account Locks, components), if the process is too complex to describe in one diagram only, you can split it by Feature, or Phase, ...
Something Similar to the screenshot below (for the Actions refer the type of solution implemented including the names, example: Action: Update Account is being done by system using Apex, For Apex implementation: include what is being done before Insert/Update after Insert/Update
<include rationale of the technical decision, for example, we are using 2 RT, why we need a first one, and a Second One>
Apex trigger Logic (including handlers)
It is agreed that Pricing Campaign CPC trigger is a 'heavy' object therefore we are not mixing flow triggers, process builders, workflows etc. with apex triggers. All related logic needs to be executed in the Apex trigger.
Context | Method | Description | |
Before insert | PP_Pricing_Campaign_CPC_Helper.doSetDuplicationRuleUniqueField | Set a duplication rule helper to prevent duplicate CPCs. | |
PP_Pricing_Campaign_CPC_Helper.doSetCommittedPrice | Set committed price & committed price in local currency. | ||
| PP_Pricing_Campaign_CPC_Helper.doSetAccountManagerReview | Set account manager review field. | ||
| PP_Pricing_Campaign_CPC_Helper.doSetShipToRegion | Find and set ship-to region. | ||
| PP_Pricing_Campaign_CPC_Helper.doCheckUtilities | Is the current user doesn't have bypass validation rules flag - validate utility lookups. | ||
| PP_Pricing_Campaign_CPC_Helper.doCheckRegionMarketPricing | Is the current user doesn't have bypass validation rules flag - validate RMPs lookups. | ||
| PP_Pricing_Campaign_CPC_Helper.doCheckIfProductIsAllowedOnQuote | Is the current user doesn't have bypass validation rules flag - validate whether the product is allowed on the quote. | ||
| PP_Pricing_Campaign_CPC_Helper.doPriceUpdate | |||
After insert | PP_Pricing_Campaign_CPC_Helper.doProcessQueue | Start a queueable method to update CPCs in an asynchronous manner to save the platform resources. This can only be used when updating the fields that we don't need to see immediately after update. | |
| doSetContractProduct | Set the contract product on the CPC. | ||
| doSetSoldToRegion | Set the sold to region on the CPC. | ||
| doSetFields | Set the owner, corporate sold-to, region-country-city and product level 2 fields on the CPC. | ||
| doSaveLogs | Save the results of the queueable transaction on error in SLV5_1_App_Log__c so that they can be inspected later. | ||
Before update | PP_Pricing_Campaign_CPC_Helper.doSetDuplicationRuleUniqueField | Set a duplication rule helper to prevent duplicate CPCs. | |
PP_Pricing_Campaign_CPC_Helper.doSetPriceSettingsUpdated | Set a flag that notifies the user that prices have changed. | ||
| PP_Pricing_Campaign_CPC_Helper.doSetCommittedPrice | Set committed price & committed price in local currency. | ||
| PP_Pricing_Campaign_CPC_Helper.doSetAccountManagerReview | Set account manager review field. | ||
| PP_Pricing_Campaign_CPC_Helper.doSetShipToRegion | Find and set ship-to region. | ||
| PP_Pricing_Campaign_CPC_Helper.doCheckUtilities | Is the current user doesn't have bypass validation rules flag - validate utility lookups. | ||
| PP_Pricing_Campaign_CPC_Helper.doCheckRegionMarketPricing | Is the current user doesn't have bypass validation rules flag - validate RMPs lookups. | ||
| PP_Pricing_Campaign_CPC_Helper.doCheckIfProductIsAllowedOnQuote | Is the current user doesn't have bypass validation rules flag - validate whether the product is allowed on the quote. | ||
| PP_Pricing_Campaign_CPC_Helper.doSetFields | Set the owner, corporate sold-to, region-country-city and product level 2 fields on the CPC. |
Lightning Components
<for each of the components describe according to the following points>
- Component Diagram
<when a component is using several components, include the architecture used>
- Component Description
What is the purpose, rationale for customization instead of Standard, explain advanced features implementation,
Security (Apex only)
- Apex Sharing
- Methods without Sharing
Method Name | Reason why? |
<List the methods that are running without sharing and describe reason why>
- Bypasses and Custom Permissions
<by development guidelines, all validation rule needs to have the bypass, so we just say generically that all validation have it, and if for some reason we need to avoid bypass, then we need to list the validation rules without bypass, and explain reason why>
Email Notifications (via Apex) & Email Service
