Zeilenumbruch bei Listausgabe verhindern & zweite Seite erzeugen

Getting started ... Alles für einen gelungenen Start.
4 Beiträge • Seite 1 von 1
4 Beiträge Seite 1 von 1

Zeilenumbruch bei Listausgabe verhindern & zweite Seite erzeugen

Beitrag von Sonne1234 (ForumUser / 30 / 17 / 2 ) »
Hallo zusammen,

ich möchte am Ende meines Programms eine Fehlertabelle ausgeben. Mein Problem hierbei ist jedoch, dass die Tabelle wie folgt ausgegeben wird:

900164654 ZZZZ 28.01.2020 C
Kein Eintrag vorhanden für diesen Beleg in BKPF.
900134654 ZZZZ 28.01.2020 C
Kein Eintrag vorhanden für diesen Beleg in BKPF.

Die Ausgabe hierzu soll jedoch wie folgt sein:

900164654 ZZZZ 28.01.2020 C Kein Eintrag vorhanden für diesen Beleg in BKPF.
900134654 ZZZZ 28.01.2020 C Kein Eintrag vorhanden für diesen Beleg in BKPF.

Mein Code dazu sieht wie folgt aus:

Code: Alles auswählen.

  select vbeln fkart fkdat rfbsk znachricht
    from Z_FEHLER into CORRESPONDING FIELDS OF table gt_fehler.

  loop at gt_fehler into wa_fehler.
    write:/ wa_fehler-vbeln, wa_fehler-fkart, wa_fehler-fkdat, wa_fehler-rfbsk, wa_fehler-znachricht.
   endloop.
Ich weiß leider nicht, was ich an dieser Stelle falsch mache. Könnt ihr mir einen Tipp geben?

Nebenbei - ist wirklich ein Select erforderlich, um die Datenbanktabelle auszugeben? Eigentlich möchte ich nur erreichen, dass die vollständige Fehlertabelle angelistet wird.

Außerdem würde ich eigentlich gerne die Fehlertabelle auf einer zweiten Seite anzeigen lassen. Könnt ihr mir hier evtl. auch noch einen Tipp geben?

Vielen Dank.

Viele Grüße
Julia

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


Re: Zeilenumbruch bei Listausgabe verhindern & zweite Seite erzeugen

Beitrag von Legxis (Specialist / 160 / 90 / 28 ) »
Sonne1234 hat geschrieben:
28.01.2020 10:31
würde ich eigentlich gerne die Fehlertabelle auf einer zweiten Seite anzeigen lassen. Könnt ihr mir hier evtl. auch noch einen Tipp geben?
Für Tabellenausgaben lässt sich eigentlich immer die cl_salv Klasse empfehlen. Die Ausgabe würde dann wie folgt geschehen:

Code: Alles auswählen.

...

DATA: gt_fehler    TYPE STANDARD TABLE OF z_fehler,
      go_alv       TYPE REF TO  cl_salv_table,
      gx_salv_msg  TYPE REF TO  cx_salv_msg.

...

SELECT * 
  FROM z_fehler 
  INTO CORRESPONDING FIELDS OF TABLE gt_fehler.

...

  TRY.
      cl_salv_table=>factory(
      IMPORTING
        r_salv_table = go_alv
      CHANGING
        t_table = gt_fehler ).
    CATCH cx_salv_msg INTO gx_salv_msg.
      ...
  ENDTRY.

  go_alv->display( ).
Man könnte vorher noch Extrafunktionen hinzufügen, wie die Augabezeilen abwechselnd zu färben, oder schon ein bestimmtes Layout/Sortierung/Filterung zu verwenden, etc.

Und wenn du innerhalb eines deiner Programms auf Fehler stößt, also diese nicht von einer Z-Tabelle liest wie hier, dann eignet sich eigentlich der Application Log sehr gut.

Wirkliche Ausgaben mithilfe von WRITE würde ich eigentlich nie empfehlen. Fehlermeldungen könnte man vielleicht in kleinen Programmen per WRITE ausgeben, die immer nur als Job laufen sollen, denn dort kann man die ausgegebenen WRITE Messages überprüfen. So kann man leicht herausfinden, wo welcher Fehler aufgetreten ist. Aber lange Ausgabelisten sollten nicht mit WRITE geschehen.
( SAP ECC 6.0, NetWeaver 7.0, ohne unicode, ohne support/enhancement packages )

Re: Zeilenumbruch bei Listausgabe verhindern & zweite Seite erzeugen

Beitrag von a-dead-trousers (Top Expert / 4399 / 223 / 1182 ) »
Sonne1234 hat geschrieben:
28.01.2020 10:31
Ich weiß leider nicht, was ich an dieser Stelle falsch mache. Könnt ihr mir einen Tipp geben?
Der Zusatz LINE-SIZE beim Befehl REPORT ganz am Anfang legt fest wie breit eine Zeile der Listausgabe sein soll. Wird ein Feld ausgegeben, dass länger ist erfolgt ein implizter Zeilenumbruch. Alternativ, wenn die Liste gdruckt wird, kann man im Druckerdialog die Zeilenbreite auch noch angeben.
Sonne1234 hat geschrieben:
28.01.2020 10:31
Außerdem würde ich eigentlich gerne die Fehlertabelle auf einer zweiten Seite anzeigen lassen. Könnt ihr mir hier evtl. auch noch einen Tipp geben?

Code: Alles auswählen.

NEW-PAGE.
Theory is when you know something, but it doesn't work.
Practice is when something works, but you don't know why.
Programmers combine theory and practice: Nothing works and they don't know why.

ECC: 6.18
Basis: 7.50

Re: Zeilenumbruch bei Listausgabe verhindern & zweite Seite erzeugen

Beitrag von wreichelt (Top Expert / 1046 / 30 / 192 ) »
Hallo,

das passiert beim Write wenn die Zeilenlänge nicht ausreicht, dann
bricht das System das auf eine neue Zeile um.

Gruß Wolfgang

Seite 1 von 1

Vergleichbare Themen

2
Antw.
3271
Views
Zeilenumbruch verhindern
von bliP! » 15.02.2006 14:03 • Verfasst in ABAP® für Anfänger
12
Antw.
8323
Views
Smartforms: Pro Position eine Seite erzeugen
von walda33 » 24.06.2013 10:10 • Verfasst in ABAP® Core
4
Antw.
3315
Views
Neues Logo die Zweite
von commolus » 06.06.2013 13:09 • Verfasst in Dialogprogrammierung
6
Antw.
894
Views
5
Antw.
1049
Views

Aktuelle Forenbeiträge

Daten an Tabelle binden
vor 5 Stunden von Bright4.5 3 / 1476
Regex in where
vor 6 Stunden von tar 6 / 143
Programm anlegen mit Vorlage
vor 21 Stunden von DeathAndPain 2 / 126
IT0024 Qualifikationen CP-ID
vor 22 Stunden von DeathAndPain 2 / 355

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

Daten an Tabelle binden
vor 5 Stunden von Bright4.5 3 / 1476
Regex in where
vor 6 Stunden von tar 6 / 143
Programm anlegen mit Vorlage
vor 21 Stunden von DeathAndPain 2 / 126
IT0024 Qualifikationen CP-ID
vor 22 Stunden von DeathAndPain 2 / 355

Unbeantwortete Forenbeiträge

aRFC im OO-Kontext
vor 5 Wochen von ralf.wenzel 1 / 3261
Hilfe bei SWEC/SWE2
September 2024 von retsch 1 / 9821