{"id":6357,"date":"2016-04-20T17:31:42","date_gmt":"2016-04-20T15:31:42","guid":{"rendered":"https:\/\/erlebe-software.de\/?p=6357"},"modified":"2021-06-24T13:27:51","modified_gmt":"2021-06-24T11:27:51","slug":"reuse_alv_fieldcatalog_merge-dump-read_report_line_too_long","status":"publish","type":"post","link":"https:\/\/erlebe-software.de\/abap-und-co\/reuse_alv_fieldcatalog_merge-dump-read_report_line_too_long\/","title":{"rendered":"REUSE_ALV_FIELDCATALOG_MERGE: Dump READ_REPORT_LINE_TOO_LONG"},"content":{"rendered":"\n

Jeder kennt sie: Die REUSE-Funktionsbausteine für die ALV-Generierung in einem klassischen ABAP-Report. Oft benutzt, wenn schnell ein kleiner Report benötigt wird, um Daten auszulesen, aber auch bei komplexeren Programmen mit langwieriger interner Verarbeitung ist das Ergebnis oft eine Tabelle, die wir dem User präsentieren möchten. Und mit was geht das schneller und simpler, als mit den bekannten REUSE-Bausteinen? Mit der internen Tabelle füttern, die man dargestellt haben möchte und fertig!<\/p>\n

Dazu wird zuerst der Feldkatalog mit dem FuBa REUSE_ALV_FIELDCATALOG_MERGE mithilfe der internen Tabelle aufgebaut und anschließend der Baustein REUSE_ALV_GRID_DISPLAY mit Feldkatalog und ebenfalls interner Tabelle versorgt.<\/p>\n

\"REUSE_ALV_FIELDCATALOG_MERGE\"<\/a>

REUSE_ALV_FIELDCATALOG_MERGE<\/p><\/div>\n

Der Dump READ_REPORT_LINE_TOO_LONG<\/h2>\n

Jetzt kommt es dabei aber – manchmal – zu dem im ersten Moment wenig aussagekräftigen Dump READ_REPORT_LINE_TOO_LONG<\/strong> aufgrund der Ausnahme CX_SY_READ_SRC_LINE_TOO_LONG.<\/p>\n

\"Dump<\/a>

Dump READ_REPORT_LINE_TOO_LONG<\/p><\/div>\n

Die Ursache<\/h2>\n

Bei der Analyse verwirrt der Hinweis “Die ABAP-Programmzeilen sind breiter als die interne Tabelle”. Wir schließen gleich auf “unsere” eigene Tabelle, die wir mit Daten gefüllt haben und nun ausgeben wollten (oben: gt_output) und fragen uns, was diese Meldung heißen soll. Wenn wir weiter in der angegebenen Codestelle des Dumps nachforschen, geraten wir noch mehr ins Grübeln, denn der präsentierte Code ist nicht der von uns erstellte.<\/p>\n

\"Fremdes<\/a>

Fremdes Coding<\/p><\/div>\n

Der Grund des Programmabbruchs ist ebenso simpel, wie die Lösung des Problems: Da wir dem Funktionsbaustein REUSE_ALV_FIELDCATALOG_MERGE den Namen der internen Tabelle und des Reports mitgeben, liest der Baustein das komplette Coding, intern in eine interne Tabelle. Deren Zeilen haben aber eine maximale Zeilenlänge von 72 Zeichen. Besitzt unser Report nun Zeilen, die länger als 72 Zeichen sind, tritt der Laufzeitfehler auf.<\/p>\n

\"Top<\/div>

Whitepaper: Top 3 Programmierfehler in ABAP f\u00fcr SAP HANA<\/h3><\/div>

\n\t\t\t\t\tVermeiden Sie diese Top 3 Fehler bei der Programmierung in ABAP f\u00fcr HANA.\t\t\t\t<\/p><\/div><\/div>

Jetzt anfordern<\/a><\/div><\/div>

Whitepaper: Top 3 Programmierfehler in ABAP f\u00fcr SAP HANA<\/h3>