Loading
Insurance
InsurancePolicyTransactionService:reverseTransaction

InsurancePolicyTransactionService:reverseTransaction

Utilisez ce service pour annuler une transaction de police d'assurance.

Ce service crée une transaction d'annulation pour une transaction de police d'assurance. Il recrée également la stratégie en fonction d'un cliché instantané de la stratégie depuis la création de la transaction d'origine.

Classe: InsurancePolicyTransactionService

Méthode : reverseTransaction

Fonctionnement

Pour annuler une transaction de police d'assurance, ce service :

  1. Confirme que le Id d'entrée donné est une instance de l'objet InsurancePolicyTransaction.

  2. Récupère l'enregistrement InsurancePolicyTransaction et vérifie que la transaction à annuler est :

  3. Crée un enregistrement de transaction d'inversion avec :

    • Montants négatifs de la transaction d'origine.

    • valeurs transactionDate et postDate basées sur les options spécifiées.

    • Type et nom de transaction définis sur Annulation.

    • parentTransactionId égal à l'ID de transaction de la transaction à inverser.

    • policyVersionId égal à l'ID de stratégie du cliché instantané.

  4. Définit le statut de la stratégie actuelle et de la stratégie de cliché instantané sur Inversé.

  5. Recrée la stratégie basée sur l'instantané. Le service :

    • Retire les ID existants afin de créer de nouveaux enregistrements lors de l'enregistrement.

    • Recrée les calendriers de paiement et de revenu via la suppression-insertion, en préservant la référence d'origine aux transactions.

  6. Appelle InsuranceCommissionDataService.reverseCommissions à créer et à enregistrer une commission d'annulation pour la commission associée à la transaction d'origine.

Entrées

Entrée

Description

Id

L'ID du InsurancePolicyTransaction à inverser. Les valeurs non valides génèrent une erreur.

Options distantes

Toutes les options distantes sont facultatives.

Option distante

Description

effectiveDate

Valeur attribuée à la date de transaction de l'inversion

postDate

Date de publication de la transaction d'inversion (par défaut : effectiveDate)

getDRBundleName

Paquet Omnistudio Data Mapper pour récupérer les enregistrements InsurancePolicy et InsurancePolicyTransaction nécessaires au traitement de l'inversion

getCustomClassName

Classe de récupération des enregistrements InsurancePolicy et InsurancePolicyTransaction nécessaires pour traiter l'inversion (par défaut : GetPolicyTransactionReversalFields)

postPolicyDRBundleName

Paquet Data Mapper pour la création et la mise à jour d'enregistrements InsurancePolicy

postPolicyCustomClassName

Classe de création et de mise à jour d'enregistrements InsurancePolicy (par défaut : PostInsurancePolicy)

postTxnDRBundleName

Paquet Data Mapper pour la création et la mise à jour d'enregistrements InsurancePolicyTransaction

postTxnCustomClassName

Classe de création et de mise à jour d'enregistrements InsurancePolicyTransaction (par défaut : PostInsurancePolicyTransaction)

Sortie

Sortie

Description

transactionIdForReversal

ID de l'enregistrement de la transaction d'inversion. Cette valeur correspond à la Id d'entrée.

reversalCommissionId

ID de l'enregistrement de la commission d'inversion

reversedCommissionAmount

Montant de la commission annulée

JSON d'entrée

Voici comment mettre en forme le JSON d'entrée.

{
    "Id": <transaction id>
}

Voici comment mettre en forme les options.

{
    "effectiveDate": <Date>,
    "postDate" : <Date>,
    "getCustomClassname" : <String>,
    "postPolicyCustomClassName" : <String>,
    "postTxnCustomClassName" : <String>
}

Voici un exemple d'entrée.

{
    "Id": "0k9R000000003KjIAI"
}

Voici quelques options d'entrée.

{
    "effectiveDate": "4/1/2021",
    "postDate" : "4/5/2021",
    "getCustomClassname" : "GetPolicyTransactionReversalFields",
    "postPolicyCustomClassName" : "PostInsurancePolicy",
    "postTxnCustomClassName" : "PostInsurancePolicyTransaction"
}

JSON de sortie

Voici le format du JSON de sortie.

{
    "transactionIdForReversal": <transaction id>,
    "reversalCommissionId": <commission id>,
    "reversedCommissionAmount": <Decimal>
}

Voici un exemple de sortie.

{
    "transactionIdForReversal": "0k9R000000003KjIAI",
    "reversalCommissionId": "0k9R000000003KjIAI",
    "reversedCommissionAmount": 123.00
}
 
Chargement
Salesforce Help | Article