Comment corriger TEXT_AREA_LENGTH_EXCEEDED dans les déploiements Salesforce

Une valeur écrite dans un champ long text area ou rich text est plus longue que la longueur maximale définie sur ce champ.

Se produit lors de : DML à l'exécution, le plus souvent des payloads d'intégration et des migrations

Ce que cela signifie

TEXT_AREA_LENGTH_EXCEEDED est l'équivalent long text area et rich text de STRING_TOO_LONG. Le type de champ autorise un maximum bien plus élevé, jusqu'à 131 072 caractères, mais la longueur configurée du champ spécifique reste inférieure à la valeur enregistrée. Cela apparaît couramment sur les champs de description et les champs rich text alimentés par des intégrations ou des migrations.

Les champs rich text stockent leur contenu en HTML, donc le nombre de caractères que Salesforce applique inclut chaque balise de mise en forme injectée par l'éditeur, pas seulement le texte visible, ce qui explique pourquoi un paragraphe d'apparence courte peut quand même déclencher cette erreur une fois le gras, les liens et les listes comptabilisés.

Diagnostic

Causes courantes

Le contenu migré n'a pas été vérifié par rapport au maximum configuré du champ
Le contenu du système source, comme un champ notes ou description hérité, est plus long que la longueur configurée du long text area cible.
La mise en forme rich text gonfle le nombre de caractères
Le balisage HTML ajouté par un éditeur rich text compte dans la limite de longueur du champ, donc un contenu visuellement court peut quand même dépasser la limite une fois les balises de mise en forme incluses.
Le payload d'intégration concatène plusieurs champs
Une intégration ou un Flow construit une valeur de long text area en joignant plusieurs champs source ou un fil d'e-mails complet, et la longueur combinée dépasse la cible.

La solution

  1. Augmentez la longueur configurée du champ si approprié
    Augmentez la longueur maximale du long text area dans les métadonnées, jusqu'à la limite globale de l'objet, si le contenu plus long est légitime.
  2. Retirez la mise en forme avant de compter ou de stocker le rich text
    Convertissez le rich text en texte brut, ou tenez compte du surcoût des balises HTML, lors de la validation de la longueur avant un enregistrement.
  3. Tronquez ou résumez avant l'envoi depuis une intégration
    Plafonnez la valeur à la limite réelle du champ dans l'intégration ou le Flow, plutôt que de transmettre le contenu source complet et illimité.
    String safeBody = fullBody.length() > field.getLength()
        ? fullBody.left(field.getLength())
        : fullBody;
En pratique

Comment Serpent évite cela

Serpent AI valide les contraintes de longueur de champ dans le cadre du scoping des changements de données d'une tâche, de sorte qu'une valeur rich text ou long text area surdimensionnée soit détectée avant que l'enregistrement auquel elle appartient n'atteigne une org partagée. Voir la bibliothèque des erreurs de déploiement Salesforce.

Métadonnées et données dans un seul flux de déploiement dans Serpent

Prévention

Dimensionnez les champs long text area en tenant compte du surcoût HTML
Prévoyez une marge de longueur supplémentaire spécifiquement pour les champs rich text, car les balises de mise en forme empiètent sur la même limite de caractères que le contenu visible.
Plafonnez les payloads d'intégration à la longueur signalée par describe du champ de destination
Lisez la longueur réelle du champ cible via les métadonnées describe dans le middleware d'intégration, plutôt que de coder en dur une limite supposée qui peut dériver de la réalité.
Évaluez la longueur du contenu migré avant le chargement, balisage inclus
Mesurez la longueur du contenu source en incluant tout balisage HTML ou rich text, pas seulement la longueur du texte brut visible, avant de le mapper à un champ Salesforce.
Questions fréquentes

TEXT_AREA_LENGTH_EXCEEDED, les réponses

TEXT_AREA_LENGTH_EXCEEDED s'applique-t-il au champ Description standard ?
Oui. Si vous avez augmenté sa longueur ou que la valeur entrante dépasse la longueur configurée du champ dans cette org, les champs long text area standard appliquent la même limite que les champs personnalisés.
Quelle est la longueur maximale absolue pour un champ long text area ?
131 072 caractères est le plafond de la plateforme ; la longueur configurée d'un champ spécifique peut être définie n'importe où jusqu'à ce maximum lors de la création ou de la modification du champ.
Puis-je mesurer le nombre réel de caractères d'un champ rich text avant l'enregistrement ?
Oui, dans Apex vous pouvez vérifier la longueur de la chaîne HTML complète que vous êtes sur le point d'assigner ; il n'existe pas de vérification de longueur séparée "texte visible uniquement" exposée par la plateforme, mesurez donc la valeur réellement écrite.

Commencez gratuitement. Sans carte bancaire, sans installation, sans engagement.

Configuration en moins de 15 minutes. Aucune embauche DevOps nécessaire.

Curieux de livrer plus vite avant de vous lancer ? Parlons-en

Sans engagement.