Update the Apex Trigger to Screen Recertification Applications
Update the Apex trigger that runs when an individual application record of the category
Benefit is created. Configure the trigger to publish a BMRecertEvent when a recertification
application passes the screening and is in review. The event handler for BMRecertEvent
updates the recertification status of the benefit assignment related to the
application.
From Setup, in Object Manager, select Individual
Application.
Click Triggers.
For ProcessIAForBenefitAssistance, click , and then select
Edit.
Paste this code in the text box. Replace Omnistudio-Namespace-Prefix with the
namespace prefix of the Omnistudio package installed in your org.
Find the namespace prefix of the Omnistudio package on the Installed Packages
page in Setup.
trigger ProcessIAForBenefitAssistance on IndividualApplication (after update) {
String procedureNameForNewIA = 'BenefitManagement_ProcessIndividualApplication';
Map <String, Object> ipInput = new Map <String, Object> ();
Map <String, Object> ipOutput = new Map <String, Object> ();
Map <String, Object> ipOptions = new Map <String, Object> ();
// List to hold the Platform Events to be published
List<BMRecertEvent__e> eventsToPublish = new List<BMRecertEvent__e>();
// Iterate through the inserted or updated records
for (IndividualApplication ia : Trigger.new) {
if(ia.Status == 'Submitted' && ia.Category == 'Benefit') {
String recordId = ia.Id;
ipInput.put('RecordId', recordId);
/* Call the IP via runIntegrationService, and save the output to ipOutput */
ipOutput = (Map <String, Object>) Omnistudio-Namespace-Prefix.IntegrationProcedureService.runIntegrationService(procedureNameForNewIA, ipInput, ipOptions);
System.debug('IP Output: ' + ipOutput);
IndividualApplication iaRecord = [SELECT Id, Status, ApplicationType, Category FROM IndividualApplication WHERE Id = :ia.Id];
if(iaRecord.Status != 'Denied' && iaRecord.ApplicationType == 'Recertification'){
BMRecertEvent__e event = new BMRecertEvent__e();
// Set fields on the Platform Event based on the inserted or updated record
event.RecordId__c = iaRecord.Id;
// Add the Platform Event to the list of events to be published
eventsToPublish.add(event);
}
}
}
// Publish the list of Platform Events
if (!eventsToPublish.isEmpty()) {
EventBus.publish(eventsToPublish);
}
}
Save your changes.
Did this article solve your issue?
Let us know so we can improve!
Loading
Salesforce Help | Article
Cookie Consent Manager
General Information
Required Cookies
Functional Cookies
Advertising Cookies
General Information
We use three kinds of cookies on our websites: required, functional, and advertising. You can choose whether functional and advertising cookies apply. Click on the different cookie categories to find out more about each category and to change the default settings.
Privacy Statement
Required Cookies
Always Active
Required cookies are necessary for basic website functionality. Some examples include: session cookies needed to transmit the website, authentication cookies, and security cookies.
Functional Cookies
Functional cookies enhance functions, performance, and services on the website. Some examples include: cookies used to analyze site traffic, cookies used for market research, and cookies used to display advertising that is not directed to a particular individual.
Advertising Cookies
Advertising cookies track activity across websites in order to understand a viewer’s interests, and direct them specific marketing. Some examples include: cookies used for remarketing, or interest-based advertising.