255 Zeichen, dann ist Schluss: was Feldlängen mit Ihren Daten machen
Jedes Zielfeld hat eine Obergrenze. Manche Systeme lehnen zu langen Text ab, andere schneiden ihn ohne Meldung mittendrin ab und quittieren den Aufruf mit einer Erfolgsmeldung. Warum das bei Schlüsselfeldern richtig teuer wird und wie wir Feldlängen in Automatisierungen absichern.
Der Lieferhinweis endete nach vier Wörtern
Ein Großhändler für Sanitärbedarf hat im Frühjahr seinen Webshop an die Auftragserfassung im ERP angebunden. Bestellung kommt herein, Kunde, Positionen und Wunschtermin wandern ins ERP, der Kommentar des Kunden landet im Feld "Lieferhinweis". Zwei Monate lief das ohne Beschwerde.
Dann häuften sich Anrufe der Fahrer. Kunden hatten Hinweise eingetragen wie "Anlieferung nur über Tor 3, Rampe hinten links, Ansprechpartner Herr Weber, Handy 0170 ...". Im ERP stand: "Anlieferung nur über Tor 3, Rampe hinten links, Ansprechpartner Herr We". Nach 60 Zeichen war das Feld voll, der Rest wurde verworfen. Die Schnittstelle hat dabei in jedem einzelnen Fall eine Erfolgsmeldung zurückgegeben.
Manche Systeme lehnen ab, manche schneiden ab
Jedes Textfeld in jedem Zielsystem hat eine Obergrenze. In CRM- und ERP-Systemen sind 255 Zeichen der Klassiker, ein Erbe aus der Zeit, als die Längenangabe einer Zeichenkette in ein einziges Byte passen musste. Salesforce begrenzt eigene Textfelder bis heute darauf. Die Notion-API nimmt pro Textblock 2.000 Zeichen, eine Zelle in Google Sheets fasst 50.000. Eine SMS wird nach 160 Zeichen zerlegt, und sobald ein Emoji oder ein typografisches Anführungszeichen darin vorkommt, sind es 70.
Wichtiger als die Zahl ist das Verhalten beim Überschreiten.
Notion etwa lehnt ab. Die API antwortet mit einem Validierungsfehler, die Ausführung bricht ab, im Log steht eine rote Zeile. Das ist der angenehme Fall: Sie verlieren einen Datensatz und wissen davon.
Andere Systeme nehmen an, was hineinpasst, und werfen den Rest weg. Kein Fehler, kein Hinweis, Status 200. So verhalten sich viele ältere ERP-Schnittstellen, Datenbanken in ihrer Standardkonfiguration und einige moderne APIs bei Feldern, die sie als unkritisch einstufen. In Make oder n8n sieht die Ausführung danach grün aus, obwohl der Datensatz beschädigt ist.
Dazu kommt, dass die Oberfläche des Zielsystems den gekürzten Wert ohne jede Kennzeichnung anzeigt. Für den Kollegen im Innendienst ist das der vollständige Inhalt des Feldes. Ruft ein Kunde an und liest vor, was er bestellt hat, klingt das nach einem Missverständnis am Telefon und nicht nach einer Schnittstelle.
Zeichen, Bytes und die Frage, was gezählt wird
Unter der Obergrenze liegt eine zweite Größe, die kaum eine Dokumentation angibt: die Zähleinheit.
"Straße" sind sechs Zeichen, in UTF-8 aber sieben Bytes, weil das ß zwei belegt. Ein Emoji belegt vier, zusammengesetzte noch mehr. Gilt die Grenze in Bytes und Sie rechnen in Zeichen, passt derselbe Text in einen Datensatz und in den nächsten nicht. Kunde Meier kommt durch, Kunde Müller-Schöneberg nicht. Von außen sieht das nach Zufall aus, und entsprechend lange sucht man.
Wird stumpf nach Byte 255 abgeschnitten, kann der Schnitt mitten in ein Zeichen fallen. Am Ende des Feldes steht dann ein Fragezeichen im Kasten oder eine kaputte Umlautfolge. Wer das im CRM sieht, tippt auf ein Encoding-Problem und sucht an der falschen Stelle.
Gefährlich wird es, wenn das gekürzte Feld etwas identifiziert
Ein abgeschnittener Lieferhinweis ist ärgerlich. Fahrer rufen an, jemand liest im Webshop nach, der Prozess läuft weiter.
Teuer wird es bei zusammengesetzten Schlüsseln, und die sehen wir regelmäßig. Ein Workflow baut eine externe ID aus Kundennummer, Standort und Warengruppe, um bei der nächsten Übertragung den passenden Datensatz wiederzufinden. Fällt diese ID unter das Zeichenlimit, werden aus zwei verschiedenen Werten zwei identische. Der zweite Kunde aktualisiert dann den Datensatz des ersten. Eine Fehlermeldung gibt es nicht, weil aus Sicht des Systems alles korrekt war. Auffällig wird die Sache erst, wenn jemand eine Rechnung mit fremden Positionen bekommt.
Bei E-Mail-Adressen ist der Normalfall harmlos: Die gekürzte Adresse existiert nicht, die Mail kommt zurück. Der seltene Fall ist der teure. Wird aus einer langen Firmendomain durch den Schnitt eine andere, die es wirklich gibt, geht die Auftragsbestätigung an Fremde, und der Bounce, auf den Sie warten, kommt nie.
Dasselbe gilt für signierte Download-Links, API-Tokens, IBANs und Sendungsnummern. Bei diesen Feldern ist Kürzen ein Datenfehler. Unsere Regel dazu: Fließtext darf gekürzt werden. Passt ein Schlüssel nicht ins Zielfeld, bricht der Lauf mit Meldung ab.
Muss ein Schlüssel trotzdem in ein zu kurzes Feld, ersetzen Sie ihn, statt ihn zu schneiden. Ein Hash über den vollständigen Schlüssel, auf die erlaubte Länge gebracht, bleibt für unterschiedliche Ausgangswerte unterschiedlich und passt überall hinein. Zu lesen ist er nicht mehr, eindeutig bleibt er.
In einer Kette entscheidet das kürzeste Feld
Am Ende einer Automatisierung steht selten nur ein System. Der Kommentar aus dem Webshop läuft über eine Middleware ins ERP, von dort in den nächtlichen Export für die Auswertung und in die Versandavis an den Spediteur. Jede Station hat ihre eigene Obergrenze, und die kleinste davon bestimmt, was hinten ankommt.
Unangenehm wird es, weil jede Station erneut schneidet. Kürzt das ERP auf 60 Zeichen und der Export lässt 40 zu, sehen Sie in der Auswertung 40 Zeichen und halten das für die Feldlänge des ERP. Wer das Problem an dieser Stelle behebt, erweitert die falsche Grenze.
Deshalb sehen wir uns bei einer Datenspur alle Stationen an und nicht nur die letzte. Wird eine Grenze irgendwo angehoben, muss jede Station dahinter mitgezogen werden. Sonst wandert der Schnitt nur eine Station weiter.
Ein KI-Text hat keine Längengarantie
Wir bauen inzwischen deutlich mehr Workflows, in denen ein Sprachmodell Text erzeugt, der anschließend in ein festes Feld geschrieben wird: die Zusammenfassung eines Tickets im CRM, die Kurzbeschreibung eines Artikels im Produktstamm.
"Fasse in drei Sätzen zusammen" ist eine Bitte und keine Längenbeschränkung. Im Test mit einer kurzen Anfrage kommen 280 Zeichen zurück, bei der ausführlichen Reklamation im Echtbetrieb 900. Fasst das Zielfeld 255 Zeichen, endet die Zusammenfassung mitten im Satz, und zwar bei genau den Fällen, die kompliziert genug waren, um eine gute Zusammenfassung zu brauchen. Die Kürzung gehört deshalb in den Workflow und nicht in den Prompt.
Was wir vor dem Livegang klären
Wir schreiben die Zielfelder mit ihren Grenzen auf: Feldname, Limit, Einheit, Verhalten bei Überschreitung. Das dauert eine halbe Stunde, weil die Angaben über Dokumentation und Systemkonfiguration verstreut sind, und die Liste hält jahrelang. Steht in der Doku nichts, schicken wir einmal 300 Zeichen hin und sehen nach, was ankommt.
Gekürzt wird mit Absicht im Workflow. Ein Textfeld schneiden wir an der letzten Wortgrenze vor dem Limit und hängen eine sichtbare Markierung wie "[...]" an. Der Empfänger sieht dann, dass etwas fehlt, statt einen abgehackten Satz für die vollständige Information zu halten. Der ganze Text bleibt in der Quelle, im Zielsystem steht ein Verweis darauf.
Zum Testen nehmen wir den längsten Datensatz, den es wirklich gibt, statt "Test 123". Eine Abfrage auf die maximale Feldlänge in der Quelle liefert ihn in Sekunden. Bei dem Sanitärgroßhändler war es ein Lieferhinweis mit 340 Zeichen, komplett mit Öffnungszeiten und zwei Telefonnummern.
Eine Abfrage zeigt, ob es Sie schon getroffen hat
Zählen Sie im Zielsystem die Datensätze, deren Feldlänge exakt dem Limit entspricht. Gewachsener Text trifft eine Obergrenze fast nie punktgenau. Wenn 900 von 14.000 Aufträgen einen Lieferhinweis mit exakt 60 Zeichen haben, sehen Sie die Spur des Abschneidens. Die Gegenprobe geht ebenso schnell: Enden diese Einträge mitten im Wort?
Reparieren lassen sich die Datensätze nur aus der Quelle, und nur solange die Quelle den vollständigen Wert noch hat. Lief die Kürzung bereits beim Eintrag in das erste System, etwa in einem Formular mit begrenztem Feld, ist der Rest des Textes nirgends mehr vorhanden. Deshalb lohnt die Prüfung früh: Je später sie kommt, desto größer der Teil, den niemand wiederherstellen kann.
Genau diese Zahlen kamen bei dem Großhändler heraus, betroffen war jeder sechzehnte Auftrag seit der Anbindung. Das Feld im ERP ließ sich auf 255 Zeichen erweitern, der Workflow kürzt seitdem selbst und schreibt den vollständigen Kundenkommentar zusätzlich in ein Langtextfeld. Die Anrufe der Fahrer sind in der Woche darauf ausgeblieben.