{"revision":"c10276e953456835cdbb1f3a60d58ae1980be353","document":{"id":122,"path":"acct-lifecycle-events/account-lifecycle-success-business-rules.md","title":"Customer success management business rules","bundle":null,"doc_type":null,"release":"australia","body":"\n# Customer success management business rules\n\nThis section includes the Customer Success Management business rules.\n\n<table id=\"table_lnn_4vg_dcc\"><thead><tr><th>\n\nBusiness rule\n\n</th><th>\n\nTable\n\n</th><th>\n\nDescription\n\n</th></tr></thead><tbody><tr><td>\n\nDomain - Set Domain\n\n</td><td>\n\nEngagement\n\n</td><td>\n\nSets the domain information.\n\n</td></tr><tr><td>\n\nRequired fields for engagement\n\n</td><td>\n\nEngagement\n\n</td><td>\n\nValidates required fields.\n\n</td></tr><tr><td>\n\nState is closed or canceled\n\n</td><td>\n\nEngagement\n\n</td><td>\n\nEnsures that closure information is populated and object is marked inactive before marking it as closed or canceled.\n\n</td></tr><tr><td>\n\nEngagement is reopened\n\n</td><td>\n\nEngagement\n\n</td><td>\n\nEnsures that closure information is removed and object is marked active before reopening.\n\n</td></tr><tr><td>\n\nValidate account change for engagement\n\n</td><td>\n\nEngagement\n\n</td><td>\n\nPrevent account change if the engagement has objectives, customer plays, internal plays, or risk signals associated with it.\n\n</td></tr><tr><td>\n\nValidate engagement parent\n\n</td><td>\n\nEngagement\n\n</td><td>\n\nPrevent cyclic relationship for the parents in engagement hierarchy.\n\n</td></tr><tr><td>\n\nValidate onboarding for engagement\n\n</td><td>\n\nEngagement\n\n</td><td>\n\nEnsures that the engagement account matches the account of its onboarding case and sets the go live date based on the go live date of its onboarding case.\n\n</td></tr><tr><td>\n\nDomain - Set Domain\n\n</td><td>\n\nSuccess objective\n\n</td><td>\n\nSets the domain information.\n\n</td></tr><tr><td>\n\nRequired fields for objective\n\n</td><td>\n\nSuccess objective\n\n</td><td>\n\nValidates required fields\n\n</td></tr><tr><td>\n\nValidate closure for objective\n\n</td><td>\n\nSuccess objective\n\n</td><td>\n\nEnsures that closure information is populated and object is marked inactive before marking closed/canceled.\n\n</td></tr><tr><td>\n\nSuccess objective is reopened\n\n</td><td>\n\nSuccess objective\n\n</td><td>\n\nEnsures that closure information is removed and object is marked active before reopening.\n\n</td></tr><tr><td>\n\nValidate engagement change for objective\n\n</td><td>\n\nSuccess objective\n\n</td><td>\n\nPrevents engagement change if the objective has outcomes or risk signals associated with it.\n\n</td></tr><tr><td>\n\nValidate planned start and stop\n\n</td><td>\n\nSuccess objective\n\n</td><td>\n\nEnsures planned stop date isn’t before planned start date.\n\n</td></tr><tr><td>\n\nDomain - Set Domain\n\n</td><td>\n\nSuccess outcome\n\n</td><td>\n\nSets the domain information.\n\n</td></tr><tr><td>\n\nRequired fields for outcome\n\n</td><td>\n\nSuccess outcome\n\n</td><td>\n\nValidates required fields.\n\n</td></tr><tr><td>\n\nValidate closure for outcome\n\n</td><td>\n\nSuccess outcome\n\n</td><td>\n\nEnsures that closure information is populated and object is marked inactive before marking it as closed or canceled.\n\n</td></tr><tr><td>\n\nSuccess outcome is reopened\n\n</td><td>\n\nSuccess outcome\n\n</td><td>\n\nEnsures that closure information is removed and object is marked active before reopening.\n\n</td></tr><tr><td>\n\nValidate objective change for outcome\n\n</td><td>\n\nSuccess outcome\n\n</td><td>\n\nPrevents objective change if the outcome has initiatives or risk signals associated with it.\n\n</td></tr><tr><td>\n\nValidate planned dates\n\n</td><td>\n\nSuccess outcome\n\n</td><td>\n\nEnsures planned stop date isn’t before planned start date.\n\n</td></tr><tr><td>\n\nValidate tracking method\n\n</td><td>\n\nSuccess outcome\n\n</td><td>\n\nValidates tracking method to see if the correct reference field for tracking is populated.\n\n</td></tr><tr><td>\n\nRequired fields for initiative\n\n</td><td>\n\nSuccess initiative\n\n</td><td>\n\nValidates required fields.\n\n</td></tr><tr><td>\n\nValidate closure for initiative\n\n</td><td>\n\nSuccess initiative\n\n</td><td>\n\nEnsures that closure information is populated and object is marked inactive before marking it as closed or canceled.\n\n</td></tr><tr><td>\n\nSuccess initiative is reopened\n\n</td><td>\n\nSuccess initiative\n\n</td><td>\n\nEnsures that closure information is removed and object is marked active before reopening.\n\n</td></tr><tr><td>\n\nValidate outcome change for initiative\n\n</td><td>\n\nSuccess initiative\n\n</td><td>\n\nPrevents outcome change if the initiative has success tasks or risk signals associated with it.\n\n</td></tr><tr><td>\n\nAfter close or cancel SI\n\n</td><td>\n\nSuccess initiative\n\n</td><td>\n\nCancels process automation playbooks associated with initiative if closed or canceled.\n\n</td></tr><tr><td>\n\nRequired fields for customer play\n\n</td><td>\n\nCustomer play\n\n</td><td>\n\nValidates required fields.\n\n</td></tr><tr><td>\n\nValidate closure for customer play\n\n</td><td>\n\nCustomer play\n\n</td><td>\n\nEnsures that closure information is populated and object is marked inactive before marking it as closed or canceled.\n\n</td></tr><tr><td>\n\nCustomer play is reopened\n\n</td><td>\n\nCustomer play\n\n</td><td>\n\nEnsures that closure information is removed and object is marked active before reopening.\n\n</td></tr><tr><td>\n\nValidate engagement update\n\n</td><td>\n\nCustomer play\n\n</td><td>\n\nThis prevents the engagement field from changing on the 'Customer Play' record if the 'Customer Play' has success tasks associated with it.\n\n</td></tr><tr><td>\n\nRequired fields for touchpoint\n\n</td><td>\n\nTouchpoint\n\n</td><td>\n\nValidates required fields.\n\n</td></tr><tr><td>\n\nValidate closure for touchpoint\n\n</td><td>\n\nTouchpoint\n\n</td><td>\n\nEnsures that closure information is populated and object is marked inactive before marking it as closed or canceled.\n\n</td></tr><tr><td>\n\nTouchpoint is reopened\n\n</td><td>\n\nTouchpoint\n\n</td><td>\n\nEnsures that closure information is removed and object is marked active before reopening.\n\n</td></tr><tr><td>\n\nValidate engagement update\n\n</td><td>\n\nTouchpoint\n\n</td><td>\n\nPrevents engagement change if the touchpoint has success tasks or risk signals associated with it.\n\n</td></tr><tr><td>\n\nRequired fields for success task\n\n</td><td>\n\nSuccess task\n\n</td><td>\n\nValidates required fields.\n\n</td></tr><tr><td>\n\nValidate closure for success task\n\n</td><td>\n\nSuccess task\n\n</td><td>\n\nEnsures that closure information is populated and object is marked inactive before marking it as closed or canceled.\n\n</td></tr><tr><td>\n\nSuccess task is reopened\n\n</td><td>\n\nSuccess task\n\n</td><td>\n\nEnsures that closure information is removed and object is marked active before reopening\n\n</td></tr><tr><td>\n\nValidate parent change for success task\n\n</td><td>\n\nSuccess task\n\n</td><td>\n\nPrevents parent change if the success task has risk signals associated with it.\n\n</td></tr><tr><td>\n\nRequired fields for internal play\n\n</td><td>\n\nInternal play\n\n</td><td>\n\nValidates required fields.\n\n</td></tr><tr><td>\n\nInternal play is closed or canceled\n\n</td><td>\n\nInternal play\n\n</td><td>\n\nEnsures that closure information is populated and object is marked inactive before marking it as closed or canceled.\n\n</td></tr><tr><td>\n\nReopen internal play\n\n</td><td>\n\nInternal play\n\n</td><td>\n\nEnsures that closure information is removed and object is marked active before reopening.\n\n</td></tr><tr><td>\n\nParent for internal play must be empty\n\n</td><td>\n\nInternal play\n\n</td><td>\n\nEnsures that parent is empty for all internal plays.\n\n</td></tr><tr><td>\n\nValidate engagement change\n\n</td><td>\n\nInternal play\n\n</td><td>\n\nPrevents engagement change if the internal play has internal play tasks or risk signals associated with it.\n\n</td></tr><tr><td>\n\nRequired fields for internal play task\n\n</td><td>\n\nInternal play task\n\n</td><td>\n\nValidates required fields.\n\n</td></tr><tr><td>\n\nInternal play task is closed or canceled\n\n</td><td>\n\nInternal play task\n\n</td><td>\n\nEnsures that closure information is populated and object is marked inactive before marking it as closed or canceled.\n\n</td></tr><tr><td>\n\nReopen internal play task\n\n</td><td>\n\nInternal play task\n\n</td><td>\n\nEnsures that closure information is removed and object is marked active before reopening.\n\n</td></tr><tr><td>\n\nValidate internal play change\n\n</td><td>\n\nInternal play task\n\n</td><td>\n\nPrevents internal play change if the internal play task has risk signals associated with it.\n\n</td></tr><tr><td>\n\nDomain - Set Domain\n\n</td><td>\n\nRisk signal and issue\n\n</td><td>\n\nSets the domain information.\n\n</td></tr><tr><td>\n\nField validation\n\n</td><td>\n\nRisk signal and issue\n\n</td><td>\n\nValidates required fields.\n\n</td></tr><tr><td>\n\nValidate risk signal closure\n\n</td><td>\n\nRisk signal and issue\n\n</td><td>\n\nEnsures that closure information is populated and object is marked inactive before marking it as closed or canceled.\n\n</td></tr><tr><td>\n\nReopen risk signal\n\n</td><td>\n\nRisk signal and issue\n\n</td><td>\n\nEnsures that closure information is removed and object is marked active before reopening\n\n</td></tr><tr><td>\n\nAvoid duplicate definition record\n\n</td><td>\n\nDefinition record\n\n</td><td>\n\nEnsures that no two records share the same title and category.\n\n</td></tr><tr><td>\n\nDomain - Set Domain\n\n</td><td>\n\nDefinition record\n\n</td><td>\n\nSets the domain information.\n\n</td></tr><tr><td>\n\nSet active flag\n\n</td><td>\n\nDefinition record\n\n</td><td>\n\nSets status to active if published, or else inactive.\n\n</td></tr><tr><td>\n\nAvoid duplicate risk signal solution\n\n</td><td>\n\nRisk signal solution relationship\n\n</td><td>\n\nEnsures the no two records share the same solution record.\n\n</td></tr><tr><td>\n\nAvoid duplicate squad member\n\n</td><td>\n\nSquad member\n\n</td><td>\n\nEnsures the no two records share the same user and responsibility\n\n</td></tr><tr><td>\n\nDomain - Set Domain\n\n</td><td>\n\nSquad member\n\n</td><td>\n\nSets the domain information.\n\n</td></tr><tr><td>\n\nAvoid duplicate engagement to contract relationship\n\n</td><td>\n\nEngagement to contract relationship\n\n</td><td>\n\nEnsures the no two records share the same engagement and contract.\n\n</td></tr><tr><td>\n\nValidate contract account\n\n</td><td>\n\nEngagement to contract relationship\n\n</td><td>\n\nEnsures contract account matches the engagement account.\n\n</td></tr><tr><td>\n\nContract relationship updated\n\n</td><td>\n\nEngagement to contract relationship\n\n</td><td>\n\nEnsures renewal date for engagement is updated to the date of the earliest non expired contract.\n\n</td></tr><tr><td>\n\nContract relationship removed\n\n</td><td>\n\nEngagement to contract relationship\n\n</td><td>\n\nEnsures that renewal date for engagement is updated to the date of the earliest non expired contract.\n\n</td></tr><tr><td>\n\nValidate context on publish\n\n</td><td>\n\nData Source\n\n</td><td>\n\nWhen publishing a data source, it must have at least one valid context record, which should have at least one context mapper record associated.\n\n</td></tr><tr><td>\n\nAvoid duplicate data source\n\n</td><td>\n\nData Source\n\n</td><td>\n\nData source shouldn’t have duplicate source and configurations.\n\n</td></tr><tr><td>\n\nAutopopulate unit of measurement\n\n</td><td>\n\nData Source\n\n</td><td>\n\nAutomatically populated unit of measurement for data source.\n\n</td></tr><tr><td>\n\nLast run/Next run validation\n\n</td><td>\n\nData Source\n\n</td><td>\n\nData source last run date shouldn’t come after next run date.\n\n</td></tr><tr><td>\n\nUnique source to context\n\n</td><td>\n\nContext Engine Mapper\n\n</td><td>\n\nEnsure there’s a unique source to context.\n\n</td></tr><tr><td>\n\nProcess externally sourced context data\n\n</td><td>\n\nContext Engine Data\n\n</td><td>\n\nWhen creating a data record for external source, update associated data source date last run field and populate data record's context field.\n\n</td></tr><tr><td>\n\nValidate externally sourced context data\n\n</td><td>\n\nContext Engine Data\n\n</td><td>\n\nContext engine date records with external source should have all required fields.\n\n</td></tr><tr><td>\n\nUnique context according to source\n\n</td><td>\n\nContext\n\n</td><td>\n\nContext record's mappers should be unique.\n\n</td></tr><tr><td>\n\nAbort if duplicate record found\n\n</td><td>\n\nEngagement Risk Definition\n\n</td><td>\n\nAborts if similar record exists\n\n</td></tr><tr><td>\n\nAbort if invalid template\n\n</td><td>\n\nEngagement Risk Definition\n\n</td><td>\n\nAborts if risk template set for the risk definition is invalid\n\n</td></tr><tr><td>\n\nAbort if duplicate record found\n\n</td><td>\n\nRisk Threshold Override\n\n</td><td>\n\nAborts if similar record exists\n\n</td></tr><tr><td>\n\nAbort if no context mapper for risk def\n\n</td><td>\n\nEngagement Risk Definition\n\n</td><td>\n\nAborts if risk definition is table type and no active mapper exists with the table selected in risk definition as the source and engagement as context\n\n</td></tr><tr><td>\n\nAbort if color or range validation fails\n\n</td><td>\n\nColor Banding\n\n</td><td>\n\nAborts if a duplicate color exists for a record of the same type. Also aborts if the max value is less than the min value, or if the min-max range overlaps with another existing record of the same type.\n\n</td></tr><tr><td>\n\nAbort if global min-max range is invalid\n\n</td><td>\n\nColor Banding\n\n</td><td>\n\nAborts if global band has min less than 0 and max greater than 100\n\n</td></tr><tr><td>\n\nLimit \\# of global health definition to 1\n\n</td><td>\n\nEngagement Health Definition\n\n</td><td>\n\nEnsures there is at most 1 global health definition in system\n\n</td></tr><tr><td>\n\nUnique engagement health definition\n\n</td><td>\n\nEngagement Health Definition\n\n</td><td>\n\nEnsures that each health definition is unique\n\n</td></tr><tr><td>\n\nValidate sum of health def config weight\n\n</td><td>\n\nEngagement Health Definition\n\n</td><td>\n\nChecks all health definition metric configuration for health definition sums to 100\n\n</td></tr><tr><td>\n\nAbort creation for published health def\n\n</td><td>\n\nHealth Metric Configuration\n\n</td><td>\n\nUser shouldn’t be able to create health metric configuration for published health definition\n\n</td></tr><tr><td>\n\nCheck unique health metric configuration\n\n</td><td>\n\nHealth Metric Configuration\n\n</td><td>\n\nMetric configuration for a health definition shouldn’t be duplicate by data source\n\n</td></tr><tr><td>\n\nUpdate last touchpoint\n\n</td><td>\n\nTouchpoint\n\n</td><td>\n\nUpdate last\\_touchpoint field in engagement table\n\n</td></tr><tr><td>\n\nUpdate last touchpoint for Delete\n\n</td><td>\n\nTouchpoint\n\n</td><td>\n\nUpdate last\\_touchpoint field in engagement table\n\n</td></tr><tr><td>\n\nAvoid duplicate entitlements\n\n</td><td>\n\nApplicable Entitlement\n\n</td><td>\n\nAborts if similar record exists\n\n</td></tr><tr><td>\n\nAvoid duplicate sold product\n\n</td><td>\n\nApplicable Sold Product\n\n</td><td>\n\nAborts if similar record exists\n\n</td></tr><tr><td>\n\nAvoid duplicate customer team\n\n</td><td>\n\nApplicable Customer Team\n\n</td><td>\n\nAborts if similar record exists\n\n</td></tr><tr><td>\n\nAvoid duplicate account team\n\n</td><td>\n\nApplicable Account Team\n\n</td><td>\n\nAborts if similar record exists\n\n</td></tr><tr><td>\n\nCreate Activity\n\n</td><td>\n\nCreate activity for Applicable Account Team \\[sn\\_acct\\_lc\\_eng\\_m2m\\_team\\_mem\\]\n\n</td><td>\n\nCreate record in activity table on insert update delete\n\n</td></tr><tr><td>\n\nCreate Activity\n\n</td><td>\n\nCreate activity for label \\[sn\\_meeting\\_mgmt\\_meeting\\_details\\]\n\n</td><td>\n\nCreate record in activity table on update\n\n</td></tr><tr><td>\n\nCreate Activity\n\n</td><td>\n\nCreate activity for Risk Signal and Issue \\[sn\\_acct\\_lc\\_risk\\_signal\\_issue\\]\n\n</td><td>\n\nCreate record in activity table on insert update\n\n</td></tr><tr><td>\n\nCreate Activity\n\n</td><td>\n\nCreate activity for Escalation \\[sn\\_customerservice\\_escalation\\]\n\n</td><td>\n\nCreate record in activity table on insert update\n\n</td></tr><tr><td>\n\nCreate Activity\n\n</td><td>\n\nCreate activity for Success Initiative \\[sn\\_acct\\_lc\\_success\\_initiative\\]\n\n</td><td>\n\nCreate record in activity table on update\n\n</td></tr><tr><td>\n\nCreate Activity\n\n</td><td>\n\nCreate activity for Success Task \\[sn\\_acct\\_lc\\_success\\_task\\]\n\n</td><td>\n\nCreate record in activity table on update\n\n</td></tr><tr><td>\n\nCreate Activity\n\n</td><td>\n\nCreate activity for Touchpoint \\[sn\\_acct\\_lc\\_touchpoint\\]\n\n</td><td>\n\nCreate record in activity table on insert update\n\n</td></tr><tr><td>\n\nCreate Activity\n\n</td><td>\n\nCreate activity for Applicable Customer Team \\[sn\\_acct\\_lc\\_eng\\_m2m\\_cntct\\_rel\\]\n\n</td><td>\n\nCreate record in activity table on insert update delete\n\n</td></tr><tr><td>\n\nCreate Activity for contract\n\n</td><td>\n\nCreate activity for Contract \\[ast\\_contract\\]\n\n</td><td>\n\nCreate record in activity table on update\n\n</td></tr><tr><td>\n\nCreate Activity for Engagement\n\n</td><td>\n\nCreate activity for Engagement \\[sn\\_acct\\_lc\\_engagement\\]\n\n</td><td>\n\nCreate record in activity table on update\n\n</td></tr><tr><td>\n\nCreate Activity for Success Outcome\n\n</td><td>\n\nCreate activity for Success Outcome \\[sn\\_acct\\_lc\\_success\\_outcome\\]\n\n</td><td>\n\nCreate record in activity table on update\n\n</td></tr><tr><td>\n\nSync Progress To State\n\n</td><td>\n\nSync Progress To State for Implementation Record \\[sn\\_acct\\_lc\\_implementation\\_record\\]\n\n</td><td>\n\nCreate or update record in the implementation record table with state or progress fields changing.\n\n</td></tr><tr><td>\n\nDuplicate name in product capability\n\n</td><td>\n\nProduct Capability \\[sn\\_prod\\_cap\\_core\\_prod\\_cap\\]\n\n</td><td>\n\nDuplicate name check-in Product capability\n\n</td></tr><tr><td>\n\nPrevent Duplicate Product Capability Map\n\n</td><td>\n\nProduct Capability Map \\[sn\\_prod\\_cap\\_core\\_prod\\_cap\\_map\\]\n\n</td><td>\n\nDuplicate check in Product capability map table\n\n</td></tr><tr><td>\n\nProduct capability usage validations\n\n</td><td>\n\nProduct Capability Usage \\[sn\\_prod\\_cap\\_core\\_prod\\_cap\\_usage\\]\n\n</td><td>\n\nValidations for capability usage table\n\n</td></tr><tr><td>\n\nProduct usage validations\n\n</td><td>\n\nProduct Usage \\[sn\\_prod\\_cap\\_core\\_prod\\_usage\\]\n\n</td><td>\n\nValidations for product usage table\n\n</td></tr><tr><td>\n\nSet Prod Capability Map Active\n\n</td><td>\n\nProduct Capability Map \\[sn\\_prod\\_cap\\_core\\_prod\\_cap\\_map\\]\n\n</td><td>\n\nSet on state change to mark active = true if state is published, else false.\n\n</td></tr><tr><td>\n\nSet calc metric value in target table\n\n</td><td>\n\nContext Engine Data \\[sn\\_data\\_ctx\\_engine\\_data\\]\n\n</td><td>\n\nWhen an entry is added or updated in the Context Engine Data table for a calculated data source, the system checks the data source configuration. The system verifies if a target table and target field are defined. If so, the system sets the data context engine value in the target field. The system updates corresponding rows in the target table where the target query field matches the context record.\n\n</td></tr><tr><td>\n\nAbort adding future data\n\n</td><td>\n\nContext Engine Data \\[sn\\_data\\_ctx\\_engine\\_data\\]\n\n</td><td>\n\nAborts if the record added to Data Context Engine has a start or end date after current time\n\n</td></tr><tr><td>\n\nValidate circular reference\n\n</td><td>\n\nSegment \\[sn\\_data\\_ctx\\_engine\\_brkdwn\\_seg\\]\n\n</td><td>\n\nAborts the publish operation and reverts the segment to draft if it introduces a circular reference: That is, if the segment configuration includes a data source that already depends on the current data source associated with the segment. This circular reference check is necessary to ensure that all data sources maintain a valid execution order.\n\n</td></tr><tr><td>\n\nValidate context on publish\n\n</td><td>\n\nData Source \\[sn\\_data\\_ctx\\_engine\\_src\\]\n\n</td><td>\n\nValidates all contexts are active and have active mappers on publish. In case of calculated metrics, validate if at least 1 active context exists with same table as breakdown table.\n\n</td></tr><tr><td>\n\nUnique source to context\n\n</td><td>\n\nContext Engine Mapper \\[sn\\_data\\_ctx\\_engine\\_map\\]\n\n</td><td>\n\nFor global mappers: Ensure only one mapper exists for each combination of a given source and resolving context table.\n\n For metric-based mappers: Ensure that the same metric or data source does not appear in multiple mappers for the same source and resolving context table pair.\n\n</td></tr><tr><td>\n\nValidate breakdown segments on publish\n\n</td><td>\n\nData Source \\[sn\\_data\\_ctx\\_engine\\_src\\]\n\n</td><td>\n\nOn publishing calculated data source, ensure that at least one segment is present and all segments are published\n\n</td></tr><tr><td>\n\nValidate sum of seg config weight\n\n</td><td>\n\nSegment \\[sn\\_data\\_ctx\\_engine\\_brkdwn\\_seg\\]\n\n</td><td>\n\nOn publishing segment, ensure that weight of all segment configurations add to 100\n\n</td></tr><tr><td>\n\nAvoid duplicate breakdown segment\n\n</td><td>\n\nSegment \\[sn\\_data\\_ctx\\_engine\\_brkdwn\\_seg\\]\n\n</td><td>\n\nEnsure duplicate segment for the same data source isn’t present for the same name, rank, or conditions\n\n</td></tr><tr><td>\n\nAbort if visualization validation fails\n\n</td><td>\n\nDCE Visualization \\[sn\\_data\\_ctx\\_engine\\_visualization\\]\n\n</td><td>\n\nAbort if another visualization record exists with the same data source, resolving context and conditions\n\n</td></tr><tr><td>\n\nUnique context according to source\n\n</td><td>\n\nContext \\[sn\\_data\\_ctx\\_engine\\_ctx\\]\n\n</td><td>\n\nAbort if another context with the same table exists for the given data source\n\n</td></tr><tr><td>\n\nUnique set of metrics according to breakdown seg\n\n</td><td>\n\nSegment Configuration \\[sn\\_data\\_ctx\\_engine\\_seg\\_conf\\]\n\n</td><td>\n\nAbort if another segment configuration exists for the given segment with the same data source\n\n</td></tr><tr><td>\n\nAbort ctx creation for non draft src\n\n</td><td>\n\nContext \\[sn\\_data\\_ctx\\_engine\\_ctx\\]\n\n</td><td>\n\nEnable creating context for data source in draft state only\n\n</td></tr><tr><td>\n\nAbort seg conf creation if non draft seg\n\n</td><td>\n\nSegment Configuration \\[sn\\_data\\_ctx\\_engine\\_seg\\_conf\\]\n\n</td><td>\n\nEnable creating segment configuration for segment in draft state only\n\n</td></tr><tr><td>\n\nAbort creating seg for non draft source\n\n</td><td>\n\nSegment \\[sn\\_data\\_ctx\\_engine\\_brkdwn\\_seg\\]\n\n</td><td>\n\nEnable creating segment for data source in draft state only\n\n</td></tr><tr><td>\n\nMove data source to draft\n\n</td><td>\n\nSegment \\[sn\\_data\\_ctx\\_engine\\_brkdwn\\_seg\\]\n\n</td><td>\n\nAs soon as a segment is moved to draft, if its data source isn’t draft, move it to draft as well\n\n</td></tr><tr><td>\n\nAbort if invalid Visualization M2M\n\n</td><td>\n\nDCE Visualization M2M \\[sn\\_data\\_ctx\\_engine\\_visualization\\_m2m\\]\n\n</td><td>\n\nValidates given visualization\\_m2m item record\n\n</td></tr><tr><td>\n\nAbort if insight item validation fails\n\n</td><td>\n\nDCE Insight Item \\[sn\\_data\\_ctx\\_engine\\_insight\\_item\\]\n\n</td><td>\n\nValidates given insight item record\n\n</td></tr><tr><td>\n\nAbort if insight validation fails\n\n</td><td>\n\nDCE Insight \\[sn\\_data\\_ctx\\_engine\\_insight\\]\n\n</td><td>\n\nValidates given insight record\n\n</td></tr><tr><td>\n\nCreate Usage based on Appl Sold Prod\n\n</td><td>\n\nApplicable Sold Product \\[sn\\_acct\\_lc\\_eng\\_m2m\\_sp\\]\n\n</td><td>\n\nTrigger:​\n\n A record is added or modified in the Applicable Sold Products table.​\n\n Actions:​ Create a Product Usage record if one doesn't exist for the sold product. Create Product Usage records for all child products across all hierarchy levels. For each usage record, update the Total Child Product Count. This count reflects only immediate children.\n\n Associate Capabilities:​ If a usage record does not exist for the sold product, create it.​ Create Product Usage records for all child products across all hierarchy levels.​\n\n For each usage record, update the Total Child Product Count.​ This count reflects only immediate children.​\n\n Associate Capabilities:​For each usage record:​Check the Product Capability Map using the sold product's product model. If capability records exist, create corresponding Capability Usage records.​ Update the Total Capability Count.​ Don’t include related capabilities—only direct capabilities are considered.​\n\n</td></tr><tr><td>\n\nAdd Capability usage for new Cap Map\n\n</td><td>\n\nProduct Capability Map \\[sn\\_prod\\_cap\\_core\\_prod\\_cap\\_map\\]\n\n</td><td>\n\nTrigger:​\n\n A new active record is added to the Product Capability Map.​\n\n Actions:​ Identify all sold products with a matching product model.​ For each matching product, create capability usage records and update the Total Capabilities in Use count in the Product Usage record.\n\n</td></tr><tr><td>\n\nUpdate usage on setting adoption score\n\n</td><td>\n\nProduct Usage \\[sn\\_prod\\_cap\\_core\\_prod\\_usage\\]\n\n</td><td>\n\nSet Activation status of the given sold product and all its parent sold products in its hierarchy to **In Use** and update Usage plan to **Activated** if Usage plan isn’t set.\n\n</td></tr><tr><td>\n\nUpdate usage on setting adoption score\n\n</td><td>\n\nProduct Capability Usage \\[sn\\_prod\\_cap\\_core\\_prod\\_cap\\_usage\\]\n\n</td><td>\n\nSets Activation status to **In Use** for the capability usage record, its sold product, and all parent sold products. Sets Usage plan to **Activated** if not already set. Usage plan isn’t set\n\n</td></tr><tr><td>\n\nUpdate renewal finalized on\n\n</td><td>\n\nUpdate renewal finalized on field value on Contract table when Substate changes to Renewal Approved or Renewal Rejected. To capture the date when it is approved or rejected.\n\n</td><td>\n\nThis helps to determine the won/loss of a contract and at what month of the year for Renewal Tab won/loss visualization graphical plot.\n\n</td></tr></tbody>\n</table>**Parent Topic:**[Customer Success Management reference](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/acct-lifecycle-events/account-lifecycle-reference.md)\n\n"}}