Reports - Teile der Bildschirmausgabe schon vorher versenden

Alles rund um die Sprache ABAP®: Funktionsbausteine, Listen, ALV
10 Beiträge • Seite 1 von 1
10 Beiträge Seite 1 von 1

Reports - Teile der Bildschirmausgabe schon vorher versenden

Beitrag von stoi (ForumUser / 84 / 8 / 0 ) »
Hallo Community,

habe mal ne kurze Frage - da ich mir ein wenig Arbeit sparen will.

Ist es möglich, die während der Laufzeit in einem Report durchlaufenen write-Statements vor dem Programmende (also vor der Bildschirmanzeige) schon abzugreifen und bspw. per Mail zu versenden (bspw. mit FuBa SO_DOCUMENT_SEND_API1).

Ich kann in diesem Kontext leider nicht warten bis die Ausgabe im Spool ist, da die Liste Gruppenwechsel enthält und quasi bei jedem Wechsel ein anderer Empfänger auch nur die vorherigen Zeilen erhalten soll.

Vielen dank schonmal für eure Hilfe und Anregungen.

Gruß
Jürgen

gesponsert
Stellenangebote auf ABAPforum.com schalten
kostenfrei für Ausbildungsberufe und Werksstudenten


Beitrag von MarkusW (Specialist / 406 / 5 / 0 ) »
Schreib die Zeilen die mit Write ausgegeben werden, gleichzeit in eine int. Tabelle.

die übergibste dann dem Fuba zum Gruppenwechsel und sendest die mail.
löscht die int. tabelle und die nächste Gruppe wird geschrieben.

Müsste bei den Parametern unter TABLES 'CONTENTS_TXT' sein.
Die int. Tabelle gleich diesem Parameter typisiern, arbeitsbereich noch definieren und dann mit APPEND nach nem WRITE vollmachen.

Hoffe ist einigermassen verständlich.

Gruß
Markus

Beitrag von MarkusW (Specialist / 406 / 5 / 0 ) »
Hab grad gesehen, dass der Parameter nicht wirklich dafür gedacht ist.

Aber von der theorie würd ichs so machen wie ich geschrieben hab. Ist halt die Frage ob es nicht ein anderen FuBa gibt der eine int. Tabelle als Rumpf erkennt.

Oder selber schreiben, die grobe Logik dafür kannst ja von dem FuBa 'SO_DOCUMENT_SEND_API1' abschauen.

Gruß
Markus
und Feierabend ;)

Beitrag von stoi (ForumUser / 84 / 8 / 0 ) »
Hallo Markus,

erstmal danke für die Antwort.

Dass es mit der int. Tabelle funktioniert habe ich mir auch schon überlegt, nur ist der Report bereits vorhanden mit einer Menge an write-Statements durch das ganze Coding verteilt und genau an der Stelle an der derzeit der Gruppenwechsel stattfindet müsste ich einen "Break" machen, um die bis dahin generierte Liste abzuschicken.

Ich hatte nur die Hoffnung, nicht alle write-Statements mit "to Feld" versehen zu müssen, deswegen auch meine Anfrage hier im Forum.
Wenn´s aber nicht anders geht, werde ich wohl in den saueren Apfel beißen müssen und alle write´s in eine int. Tabelle schreiben und appenden.

vielleicht doch noch ne Idee?

Gruß und schönen Feierabend
Jürgen

Beitrag von stoi (ForumUser / 84 / 8 / 0 ) »
Ist es eigentlich möglich die Formate und Zeilenvorschübe beim Schreiben der write-Anweisungen in eine int. Tabelle zu behalten.

ich würde wenigstens gerne die Formate so beibehalten - ansonsten müsste ich mir wahrscheinlich doch was ganz anderes überlgen und den Report leider grundlegend überarbeiten.

Gruß,
Jürgen

Beitrag von MarkusW (Specialist / 406 / 5 / 0 ) »
Wenn du eine Stringtabelle hernimmst (tabelle mit einem Feld mit Typ String)
dann werden leerzeichen beibehalten. Allerdings schriftart, größe etc müsste extra mitgespeichert werden.Leerzeilen müsste man sich auch merken.

Machbar ist es schon, ob es den Aufwand lohnt ist die andere Frage ;)

Gruß
Markus

Beitrag von stoi (ForumUser / 84 / 8 / 0 ) »
ja, genau eben nur die leerzeichen und nicht die Formate....

und ich dachte, es wäre mit ein wenig Aufwand möglich diese Anforderung umzusetzen - scheinbar wird das dann doch etwas aufwendiger.


Für alle die vielleicht mal ein ähnliches Problem haben:
Ich denke ich mache es jetzt so dass ich einen zweiten Report bastle und in diesem nach dem Gruppierungsbegriff für jedes Argument einmal den "alten" Report via submit aufrufe, das Ergbis bekomme ich ja dann als ABAP-liste zurück und diese kann ich dann auch in allen möglichen Formaten verschicken.

Vielen Dank nochmal für die Hilfe - Falls noch einer ne Idee hat, wie man das noch machen könnte, wäre ich dennoch interessiert von dem Lösungsansatz zu erfahren.

Gruß
Jürgen

Beitrag von JHM (Top Expert / 1223 / 2 / 204 ) »
stoi hat geschrieben:Falls noch einer ne Idee hat, wie man das noch machen könnte, wäre ich dennoch interessiert von dem Lösungsansatz zu erfahren.
Du kannst auch einfach die Liste einlesen:

Code: Alles auswählen.

* benötigte Variablen
DATA: g_index     TYPE          sy-index,
      gt_prot     TYPE TABLE OF solisti1,

* Mailtext aus Listausgabe lesen

*   Ausgabe einlesen
* Erste Schleife über alle Seiten
    DO sy-pagno TIMES.
      g_index = sy-index.
*     Zweite Schleife über alle Zeilen einer Seite
      DO.
        READ LINE sy-index OF PAGE g_index.
*     Abbruchbedingung: Wenn keine Listzeile gelesen wurde
        IF sy-subrc <> 0.
          EXIT.
        ENDIF.
*     Zeile übernehmen
        APPEND sy-lisel TO gt_prot.
      ENDDO.
    ENDDO.

* Mailversenden
* wie gehabt über SO_NEW_DOCUMENT_SEND_API1 oder cl_BCS
Im Protokoll bleibt die Formatierung(Einrückungen, Linien) erhalten, nur Farben gehen verloren.
Eine Einschränkung gibt es: Die Linesize der Liste darf nicht größer 255 Zeichen sein, sonst wird die Zeile in der Mail abgeschnitten.
Gruß Hendrik

Beitrag von MarkusW (Specialist / 406 / 5 / 0 ) »
An das System Feld hatte ich gar nicht gedacht :roll:

:arrow: Super Tip JHM


Gruß
Markus

Beitrag von stoi (ForumUser / 84 / 8 / 0 ) »
Hallo,
danke nochmal für die Tipps - ihr seid Spitze.

Hier nun noch eine Anregung:

Einfach in dem Report am Anfang das Tag

vorher mit FuBa get_print_parameters die Druckparameter einstellen.

NEW-PAGE PRINT ON
PARAMETERS PRI_PARAM

setzen (nun wird schonmal ein Spool angelegt und alle writes gehen da rein).
dann beim Gruppenwechsel ein NEW-PAGE PRINT OFF (Spoolauftrag ist jetzt fertig)

jetzt noch die Spool-Nr. aus der TSP01 lesen - dann den Spoolauftrag per Mail verschicken ;)

viele Grüße
Jürgen

Seite 1 von 1

Vergleichbare Themen

0
Antw.
1680
Views
Reports IS-U
von addi » 28.09.2009 09:14 • Verfasst in Sonstige Module
4
Antw.
4495
Views
Währungsumrechnung in Reports
von BlueMC » 27.08.2008 11:40 • Verfasst in Financials
2
Antw.
2779
Views
Textbausteine in Reports
von Foppa » 10.08.2006 15:40 • Verfasst in ABAP® Core
0
Antw.
1410
Views
Übersetzung von Reports
von kimak » 09.07.2009 14:58 • Verfasst in ABAP® für Anfänger
10
Antw.
8032
Views
Textbausteine in Reports
von Foppa » 28.09.2006 15:10 • Verfasst in ABAP® für Anfänger

Über diesen Beitrag


Unterstütze die Community und teile den Beitrag für mehr Leser und Austausch

Aktuelle Forenbeiträge

ATC Finding in Smartforms
vor 23 Stunden von sap_enthusiast 2 / 176
LSMW-Problem
vor 2 Tagen von rob_abc 4 / 241

Newsletter Anmeldung

Keine Beiträge verpassen! Wöchentlich versenden wir lesenwerte Beiträge aus unserer Community.
Die letzte Ausgabe findest du hier.
Details zum Versandverfahren und zu Ihren Widerrufsmöglichkeiten findest du in unserer Datenschutzerklärung.

Aktuelle Forenbeiträge

ATC Finding in Smartforms
vor 23 Stunden von sap_enthusiast 2 / 176
LSMW-Problem
vor 2 Tagen von rob_abc 4 / 241

Unbeantwortete Forenbeiträge

SFP/SEGW - Fehler beim Rendering
letzen Monat von Manfred K. 1 / 66303
Benutzerdefinierte Felder PSP
January 2026 von Rabea1103 1 / 119099