Jakob Poggemann
16. April 2020

SAP PDF: „Diese Datei ist beschädigt und kann nicht repariert werden“ – Lösung und exemplarischer Lösungsweg

Sieht es bei Ihnen auch so aus?

Wenn Sie diesen Blog lesen, stehen Sie vielleicht vor genau demselben Problem wie einer meiner Kunden und ich in der vergangenen Woche. „Diese Datei ist beschädigt und kann nicht repariert werden“: In scheinbar unberechenbaren Abständen wurde auf dem Produktivsystem gemeldet, dass bestimmte PDFs mit eben dieser Fehlermeldung angezeigt wurden. In diesem Blog werde ich zeigen, was die Lösung ist und auch, wie wir bei der Lösungsfindung vorgehen können.

Fehlermeldung "Diese Datei ist beschädigt und kann nicht repariert werden"

Fehlermeldung: „Diese Datei ist beschädigt und kann nicht repariert werden“

Sieht es bei Ihnen auch so aus wie in der obrigen Abbildung? Das werden wir in den folgenden Zeilen Schritt für Schritt beheben:

Die Lösung für „Diese Datei ist beschädigt und kann nicht repariert werden“

Hier schon einmal der Quickwin: In diesem Fall war es so, dass der Funktionsbaustein SCMS_XSTRING_TO_BINARY das PDF im XSTRING Format in eine Tabelle umwandelt. Die Binary-Tabelle wurde dann mithilfe eines PDF Anzeigeelements im Dynpro angezeigt (go_html_viewer).

In der go_html_viewer->load_data kam es dann zu dem entscheidenden Problem. Der Funktionsbaustein SCMS_XSTRING_TO_BINARY gibt normalerweise eine weitere Variable mit der Länge der Ausgabe aus. Diese Variable kann auch in der load_data genutzt werden. Aber auch ohne diese Variable funktioniert es – zumindest bis zu einer gewissen Länge. Durch das Einfügen konnten wir das Problem dann auch lösen:

Der SCMS_XSTRING_TO_BINARY ohne den Längenparameter sorgt für diese Datei ist beschädigt und kann nicht repariert werden

Der SCMS_XSTRING_TO_BINARY ohne den Längenparameter

Finden der Lösung

Mit diesem Vorwissen könnte man jetzt denken, dass dies in einer halben Stunde gefunden wird. Weit gefehlt: Wie auch hier ist so ein Problem nämlich sehr vielschichtig. Das PDF wird aufwändig mit unterschiedlichen Daten erstellt und innerhalb des Programms passieren natürlich auch diverse unterschiedliche Schritte. Wo sollen wir also starten?

LSMW – Massendatenpflege mit der Legacy System Migration Workbench

Howto: LSMW – Massendatenpflege mit der Legacy System Migration Workbench

Das folgende Howto zeigt Ihnen anhand eines konkreten Beispiels, wie der Infotyp 6 durch die LSMW gepflegt wird.

Der Start

Zunächst einmal sollten Sie alles Mögliche tun, um das Problem auf dem Entwicklungs- oder Qualitätssicherungssystem nachzustellen. Haben Sie öfter ähnliche Herausforderungen, so empfiehlt sich, ein Tool wie ein Personalnummernkopierer oder die automatische Generierung von Testdaten zu nutzen. Oft können Sie hier unterschiedliche Fehlerfälle vergleichen, um den Fehler nachzustellen.

Und dann?

Ist der Fehler erstmal nachgestellt, so können Sie mithilfe des Debuggers nachvollziehen, welche Schritte durchlaufen werden und in welchem Schritt das PDF generiert wird. Natürlich unterstützen wir bei solchen Fehlern gerne. Hierbei ist es sinnvoll, Experten zu Rate zu ziehen. Mit der Hilfe meiner Kollegen von mindforms habe ich erste Hilfe zum PDF bekommen und schnell Best Practices erhalten. In diesem Fall bietet sich der Vergleich eines funktionierenden und nicht funktionierenden Aufrufs an.

Personaleinsatzplanung
Anhand eines Kundenbeispiels stellen wir Ihnen in diesem Webinar vor, wie Sie mit einer direkt im SAP-System integrierten Personaleinsatzplanung Ihre Produktionsplanung vereinfachen können.

Wie kam es dann zu dem Ergebnis?

Da das PDF erstmal keine Auffälligkeiten aufwies, war klar, dass wir die nachgelagerten Schritte betrachten müssen. Dabei fiel mir der nicht versorgte Parameter „Länge„“ auf. Im Debugger setze ich diesen einmal auf manuell und das bisher beschädigte Formular wurde sauber ausgegeben.

Es braucht die richtige Systematik

Es gibt immer eine logische Erklärung für scheinbar unerklärliche programmatische Phänomene. Mit der passenden Systematik können wir diese gemeinsam lösen. Wir konnten hier sicher stellen, dass die Nachricht “Diese Datei ist beschädigt und kann nicht repariert werden” durch das PDF ersetzt wird.

SAP HR Renewal Einführung und Konfiguration

Sie sind auf HR Renewal mit der neuen Landing Page aufmerksam geworden & möchten diese bei sich im Unternehmen einführen? Erfahren Sie hier mehr dazu.

Jakob Poggemann

Jakob Poggemann

Ich bin Jakob Poggemann und Ihr SAP Consultant bei der mindsquare. Ich freue mich darauf Ihre HR Abteilung und Prozesse auf das nächste Level der Digitalisierung zu bringen!

Sie haben Fragen? Kontaktieren Sie mich!



Das könnte Sie auch interessieren

Wie stellen Sie die Weichen so, dass Ihr Unternehmen auch in Zukunft erfolgreich ist? Welche Unternehmensstrategien werden sich in der digitalen Transformation durchsetzen, welche sind zum Scheitern verurteilt? Finden Sie heraus, […]

weiterlesen

Die wohl interessanteste und wichtigste Nachricht auf dem DSAG Jahreskongress 2019 war, dass die Forderung der DSAG Arbeitsgruppe Personalwesen die SAP bewegt hat, ihre Strategie für SAP HCM zu überdenken.

weiterlesen

Das SCP4HR (SCP = SAP Cloud Plattform) Event ist eine Veranstaltung der SAP. Kunden erhalten dort einen Einblick in die neusten Entwicklungen rund um die SAP Cloud Plattform und haben […]

weiterlesen

Schreiben Sie einen Kommentar

Bitte füllen Sie alle mit * gekennzeichneten Felder aus. Ihre E-Mail Adresse wird nicht veröffentlicht.





Kontaktieren Sie uns!
Nadja Messer
Nadja Messer Kundenservice