Loading
Versicherung
Inhalt
Filter auswählen

          Keine Ergebnisse
          Keine Ergebnisse
          Hier sind einige Suchtipps

          Überprüfen Sie die Schreibweise Ihrer Stichwörter.
          Verwenden Sie allgemeinere Suchbegriffe.
          Wählen Sie weniger Filter aus, um Ihre Suche auszuweiten.

          Gesamte Salesforce-Hilfe durchsuchen
          Einrichten der Benachrichtigung zum Prozessende für Massenverlängerungen

          Einrichten der Benachrichtigung zum Prozessende für Massenverlängerungen

          Erfahren Sie, wie Sie das Plattformereignis aus dem Batch-Framework verwenden, um zu erkennen, wann ein Verlängerungsauftrag für Massenrichtlinien abgeschlossen ist, und eine Benachrichtigung oder Folgeaktion auszulösen. Verwenden Sie das durch das Batch-Framework ausgelöste Plattformereignis am Ende eines Batchauftrags. Ein durch Plattformereignisse ausgelöster Flow abonniert alle Ereignisse der Statusänderung bei Batchaufträgen im Batch-Framework.

          Prozess-Flow:

          • Der Benutzer löst den Batchauftrag mit jobIdentifier aus, um die Massenverlängerungsanforderung eindeutig zu identifizieren.
          • Der Batchauftrag ruft Policendatensätze basierend auf Filterkriterien für die Einheit "Versicherungspolice" ab und löst den Batch-Flow für jeden Policendatensatz aus.
          • Der Flow ruft die vorkonfigurierte aufrufbare Aktion "Versicherungspolicen verlängern" auf, die Einträge in der Einheit "InsuranceAsyncBulkRecordDetail" mit dem Status "Geplant" erstellt und ein Policenereignis veröffentlicht. Alle diese Einträge sind unter demselben jobIdentifier gruppiert.
          • Nach Abschluss des Batches werden alle zu verlängernden Richtlinien in der asynchronen Einheit aufgezeichnet. Sie können ermitteln, ob der Prozess beendet wurde, indem Sie die Anzahl der Datensätze mit dem Status not in (Success, Fail) für diesen jobIdentifier in InsuranceAsyncBulkRecordDetail überprüfen.
          • Nach Abschluss des Auftrags löst das Batch-Framework das Plattformereignis "BatchJobStatusChangeEvent" aus. Der Plattformereignis-Flow, der dieses Ereignis abonniert hat, wird ausgelöst. Er sucht nach Batchaufträgen für die Massenverlängerung und ruft die aufrufbare Aktion auf, die einen warteschlangenfähigen Apex Auftrag verzögert in die Warteschlange stellt.
          • Dieser warteschlangenfähige Apex-Auftrag sucht nach der Anzahl der Datensätze mit dem Status "Nicht in (Erfolg, Fehler)" für denselben jobIdentifier. Wenn die Anzahl größer als 0 ist, stellt sie sich erneut in die Warteschlange. Wenn die Anzahl 0 ist, wird eine Benachrichtigung ausgelöst oder ein anderes Ereignis ausgelöst.
          1. Erstellen Sie einen durch Plattformereignisse ausgelösten Flow.
          2. Wählen Sie das Plattformereignis "Geänderter Batchauftragsstatus" aus.
          3. Filtern Sie Ereignisse anhand der Batchauftragsdefinition und des Batchauftragsstatus.
          4. Fügen Sie dem Flow eine Apex-Aktion hinzu. Die Aktion stellt einen warteschlangenfähigen Apex-Auftrag in die Warteschlange, der den Status der Massenverlängerungsanforderung anhand von Daten in Überwachungseinheiten überprüft.

            Beispiel-Apex-Klasse: CallRenewStatusQueueable

            public with sharing class CallRenewStatusQueueable {
              @InvocableMethod
              public static void execute(List<Requests> requestList) {
                for (Requests request : requestList) {
                  String jobId = request.batchJobId;
                  BatchJob job = [SELECT RuntimeParameter FROM BatchJob WHERE Id = :jobId];
                  Map<String, Object> paramsMap = 
                    (Map<String, Object>) JSON.deserializeUntyped(job.RuntimeParameter);
            
                  List<Object> inputParams = 
                    (List<Object>) paramsMap.get('batchJobFlowRunTimeParameters');
            
                  String jobIdentifier = '';
                  for (Object param : inputParams) {
                    Map<String, Object> temp = (Map<String, Object>) param;
                    if (temp.get('name') == 'requestId [Flow]') {
                      jobIdentifier = (String) temp.get('value');
                    }
                  }
            
                  System.enqueueJob(new CheckBulkRenewStatus(jobIdentifier), 10);
                }
              }
            
              public class Requests {
                @InvocableVariable(required=true)
                public String batchJobId;
              }
            }
            
          5. Definieren Sie den warteschlangenfähigen Apex Auftrag.
            Beispielklasse: CheckBulkRenewStatus
            public class CheckBulkRenewStatus implements Queueable {
              private String jobIdentifier;
            
              public CheckBulkRenewStatus(String jobIdentifier) {
                this.jobIdentifier = jobIdentifier;
              }
            
              public void execute(QueueableContext context) {
                InsuranceAsyncBulkRequest asyncRequest = [
                  SELECT Id FROM InsuranceAsyncBulkRequest 
                  WHERE JobIdentifier = :jobIdentifier LIMIT 1
                ];
            
                InsuranceAsyncBulkRequestItem item = [
                  SELECT Id FROM InsuranceAsyncBulkRequestItem 
                  WHERE InsuranceAsyncBulkRequestId = :asyncRequest.Id
                ];
            
                List<InsuranceAsyncBulkRecordDetail> pendingItems = [
                  SELECT Id FROM InsuranceAsyncBulkRecordDetail 
                  WHERE InsuranceAsyncBulkRequestItemId = :item.Id 
                  AND Status IN ('In Progress', 'Scheduled')
                ];
            
                if (pendingItems.size() > 0) {
                  System.enqueueJob(new CheckBulkRenewStatus(jobIdentifier), 10); // Retry
                } else {
                  // All renewals completed — raise an event or notify user
                  System.debug('Bulk renewal complete. Sending final notification.');
                }
              }
            }
            
          6. Speichern Sie Ihre Änderungen und aktivieren Sie den Flow.
           
          Laden
          Salesforce Help | Article