folgender Sachverhalt:
ich habe im Entwicklungssystem einen Report mit dem Report Painter erstellt. Da der Report automatisch täglich als csv-Datei bereitgestellt werden soll, hat ein Entwickler ein Programm dafür geschrieben und das Coding des Reports hierfür verwendet.
Nun ist beides ins Testsystem transportiert worden und das Programm bricht mit einem Kurzdump ab. Anscheinend hängt es damit zusammen, dass das Coding des Reports im Entwicklungssystem vom Coding des Reports im Testsystem abweicht, und zwar an folgender Stelle:
Es muss irgendetwas mit den Kostenarten- und/oder Kostenstellengruppen zu tun haben. An den Stellen mit VAL00XX werden hier neue Werte "generiert/erzeugt"...
Ich habe nun durch Debugging die Stelle gefunden, an der der Dump erfolgt.
- Ursache ist eine unterschiedliche Befüllung der Tabelle TMSB. Im Entwicklungssystem hat diese 476 Einträge,
im Test-System hat diese 260 Einträge. Das Programm bricht im Q-System ab, weil es den 305. Satz der Tabelle lesen möchte.
- Meine Frage daher: An welcher Stelle wird die Tabelle TMSB befüllt? Im Debugger ist die Tabelle nur im Standardprogramm SAPFGSB5 sichtbar. Interessanterweise ist sie beim Absprung in dieses Programm über eine Perform-Anweisung aus einem anderen Programm bereits gefüllt.
sap-junior hat geschrieben:Ich habe nun durch Debugging die Stelle gefunden, an der der Dump erfolgt.
Das Vorgehen ist verlorene Zeit/der falsche Weg.
Der ReportPainter generiert Reports, die Generierung läuft je nach System anders ab. Jetzt werden Teile des generierten Programms ins ZProgramm kopiert und man wundert sich das es nicht läuft.
Entweder man macht direkt alles in Z oder man baut einen ZReport der den generierten Report aufruft/ausführt und die Ausgabe entsprechend exportiert (z.b. SUBMIT TO SPOOL/CONVERT SPOOL, TO LIST MEMORY/FROM LIST MEMORY, http://www.tricktresor.de/blog/exportin ... o-memory2/, etc...).
Wenn man den Exportreport geschickt programmiert, kann man damit dann beliebige Reports aufrufen und wie gewünscht exportieren.