TEXT_AREA_LENGTH_EXCEEDED bei Salesforce-Deployments beheben

Ein in ein Long-Text-Area- oder Rich-Text-Feld geschriebener Wert ist länger als die für dieses Feld festgelegte maximale Länge.

Tritt auf bei: DML zur Laufzeit, meist bei Integrations-Payloads und Migrationen

Was das bedeutet

TEXT_AREA_LENGTH_EXCEEDED ist das Long-Text-Area- und Rich-Text-Äquivalent von STRING_TOO_LONG. Der Feldtyp erlaubt ein deutlich größeres Maximum, bis zu 131.072 Zeichen, aber die konfigurierte Länge des jeweiligen Felds ist immer noch kleiner als der zu speichernde Wert. Dies tritt häufig bei Beschreibungsfeldern und Rich-Text-Feldern auf, die von Integrationen oder Migrationen gespeist werden.

Rich-Text-Felder speichern ihren Inhalt als HTML, sodass die von Salesforce durchgesetzte Zeichenanzahl jedes vom Editor eingefügte Formatierungs-Tag einschließt, nicht nur den sichtbaren Text, weshalb ein kurz wirkender Absatz diesen Fehler dennoch auslösen kann, sobald Fettdruck, Links und Listen mitgezählt werden.

Diagnose

Häufige Ursachen

Migrierte Inhalte wurden nicht gegen das konfigurierte Maximum des Felds geprüft
Inhalt aus dem Quellsystem, wie ein Legacy-Notes- oder Description-Feld, ist länger als die konfigurierte Länge der Ziel-Long-Text-Area.
Rich-Text-Formatierung erhöht die Zeichenanzahl
HTML-Markup, das von einem Rich-Text-Editor hinzugefügt wird, zählt zur Längenbegrenzung des Felds, sodass optisch kurzer Inhalt das Limit dennoch überschreiten kann, sobald Formatierungs-Tags mitgezählt werden.
Integrations-Payload verkettet mehrere Felder
Eine Integration oder ein Flow erstellt einen Long-Text-Area-Wert durch das Zusammenfügen mehrerer Quellfelder oder eines vollständigen E-Mail-Threads, und die kombinierte Länge überschreitet das Ziel.

Die Lösung

  1. Konfigurierte Länge des Felds gegebenenfalls erhöhen
    Erhöhen Sie die maximale Länge der Long Text Area in den Metadaten, bis zum Gesamtlimit des Objekts, wenn der längere Inhalt legitim ist.
  2. Formatierung vor dem Zählen oder Speichern von Rich Text entfernen
    Konvertieren Sie Rich Text in Klartext, oder berücksichtigen Sie den Overhead durch HTML-Tags, wenn Sie die Länge vor dem Speichern validieren.
  3. Vor dem Übertragen aus einer Integration kürzen oder zusammenfassen
    Begrenzen Sie den Wert auf das tatsächliche Limit des Felds in der Integration oder im Flow, statt den vollständigen, unbegrenzten Quellinhalt durchzureichen.
    String safeBody = fullBody.length() > field.getLength()
        ? fullBody.left(field.getLength())
        : fullBody;
In der Praxis

Wie Serpent das verhindert

Serpent AI validiert Feldlängenbeschränkungen als Teil der Eingrenzung der Datenänderungen einer Aufgabe, sodass ein übergroßer Rich-Text- oder Long-Text-Area-Wert erkannt wird, bevor der zugehörige Datensatz eine gemeinsam genutzte Org erreicht. Siehe die Bibliothek der Salesforce-Deploymentfehler.

Metadaten und Daten in einem einzigen Deployment-Flow in Serpent

Prävention

Long-Text-Area-Felder unter Berücksichtigung des HTML-Overheads dimensionieren
Planen Sie speziell für Rich-Text-Felder zusätzlichen Längenspielraum ein, da Formatierungs-Tags dasselbe Zeichenlimit belasten wie der sichtbare Inhalt.
Integrations-Payloads auf die von describe gemeldete Länge des Zielfelds begrenzen
Lesen Sie die tatsächliche Länge des Zielfelds über Describe-Metadaten in der Integrations-Middleware aus, statt ein angenommenes Limit hartzucodieren, das von der Realität abweichen kann.
Länge migrierter Inhalte vor dem Laden profilieren, einschließlich Markup
Messen Sie die Länge des Quellinhalts einschließlich jeglichem HTML- oder Rich-Text-Markup, nicht nur die sichtbare Klartextlänge, bevor Sie ihn einem Salesforce-Feld zuordnen.
Häufige Fragen

TEXT_AREA_LENGTH_EXCEEDED, beantwortet

Gilt TEXT_AREA_LENGTH_EXCEEDED für das Standard-Description-Feld?
Ja. Wenn Sie dessen Länge erhöht haben oder der eingehende Wert die für das Feld in dieser Org konfigurierte Länge überschreitet, setzen Standard-Long-Text-Area-Felder dasselbe Limit durch wie benutzerdefinierte.
Was ist die absolute Höchstlänge für ein Long-Text-Area-Feld?
131.072 Zeichen ist die Plattform-Obergrenze; die konfigurierte Länge eines bestimmten Felds kann beim Erstellen oder Bearbeiten des Felds auf jeden Wert bis zu diesem Maximum gesetzt werden.
Kann ich die tatsächliche Zeichenanzahl eines Rich-Text-Felds vor dem Speichern messen?
Ja, in Apex können Sie die Länge des vollständigen HTML-Strings prüfen, den Sie zuweisen wollen; es gibt keine separate, von der Plattform bereitgestellte Längenprüfung "nur sichtbarer Text", messen Sie also den tatsächlich geschriebenen Wert.

Kostenlos starten. Keine Kreditkarte, keine Installation, keine Verpflichtung.

In unter 15 Minuten eingerichtet. Keine DevOps-Einstellung nötig.

Neugierig auf schnelleres Shipping, bevor Sie einsteigen? Sprechen wir

Unverbindlich.