Listausgabe begrenzen

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

Listausgabe begrenzen

Beitrag von thiemf (ForumUser / 5 / 0 / 0 ) »
Hallo Kollegen,
als ABAP Anfänger stehe ich vor folgendem Problem. Ich habe einen Report der eigentlich nur eine Aneinanderreihung von Standartreports (Subreports) ist. Die Ausgabe erfolgt nicht im ALV sondern 'unstrukturiert' am Bildschirm.
Werden im Produktivsystem nun Massendatenänderungen vorgenommen kann es sein, daß die Ausgabe 2500 Seiten lang ist.

Gibt es eine Möglichkeit die Listenausgabe der 'Subreports' zu begrenzen? z.B. zeige nur die ersten hundert Treffer und eine Message, daß eigentlich mehr Treffer vorhanden sind.
An welcher Stelle müsste dies dann eingefügt werden?

Danke schonmal für Eure Hilfe! Kann ab Montag 5.11. erst wieder ans System.
Flo

anbei ein code-ausschnitt:
i_str_usr = interne Tabelle mit usernamen aus select-options.

Code: Alles auswählen.

   WRITE: /  '|******************************************Beginn**********************************************|',
           /  '|*                                          CA1                                               *|',
           /  '|*              Es werden alle Änderung an Kreditoren-, Debitoren-Stammdaten                  *|',
           /  '|*                               und Konditionen angezeigt.                                   *|',
           /  '|**********************************************************************************************|'.
    SKIP.

    SKIP 1.

    LOOP AT i_str_usr INTO wa_str_usr.
      SELECT * FROM cdhdr
               INTO TABLE gt_cdhdr
               WHERE username EQ wa_str_usr
                AND udate GE p_von
                 AND udate LE p_bis.
    ENDLOOP.

    LOOP AT gt_cdhdr INTO gs_cdhdr.
      IF sy-tabix = 1.
        WRITE: /
                 'Mdt',      "Mandant
               5 'Objkl',    "Objektklasse
              21 'Objektid', "Objektwert
             112 'Changenr', "Änderungsnummer des Belegs
             123 'User',     "Benutzername des Änderers im Ä.beleg
             136 'Datum',    "Erstellungsdatum des Änderungsbelegs
             150 'Zeit',     "Uhrzeit der Änderung
             162 'Tac',      "Transaktion der Änderung
             183 'Chngnr',   "Nummer, die gepl. Änd. zusammenfaßt
             196 'Chngno',   "Änderungsnr.d.erzeugten Belegs
             207 'K',        "Kz.,daß Änderung aus gepl. Änderung
             210 'I'.        "Art der Änderung (U, I, E, D)  Objekt
      ENDIF.
      WRITE: /
               gs_cdhdr-mandant,
            5  gs_cdhdr-objectclas,
           21  gs_cdhdr-objectid,
          112  gs_cdhdr-changenr,
          123  gs_cdhdr-username,
          136  gs_cdhdr-udate,
          150  gs_cdhdr-utime,
          162  gs_cdhdr-tcode,
          183  gs_cdhdr-planchngnr,
          196  gs_cdhdr-act_chngno,
          207  gs_cdhdr-was_plannd,
          210  gs_cdhdr-change_ind.
    ENDLOOP.
    IF sy-subrc NE 0.
      WRITE: / '-> No changes found!'..
    ELSE.
*  WRITE: / '-> End of list!'..
    ENDIF.
    FORMAT RESET.
    PERFORM block_ende.
  ENDIF.
Zuletzt geändert von thiemf am 30.10.2007 16:13, insgesamt 1-mal geändert.

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


Beitrag von khb (Specialist / 184 / 7 / 1 ) »
Hallo,

stell' doch erst einmal fest, wie groß die auszugebende Tabelle ist:

data: count type i.
describe table gt_cdhdr lines count.


Wenn sie zu groß ist, verlasse den loop:
LOOP AT gt_cdhdr INTO gs_cdhdr.
...
if count > 500.
if sy-tabix = 500.
exit.
endif.
endif.
endloop.

endif.

Hilft das?

lg khb

Beitrag von thiemf (ForumUser / 5 / 0 / 0 ) »
Danke, ich kann erst nächste Woche Montag wieder ans System... werde auf jeden fall Feedback geben!
Grüße,
Flo

Beitrag von Krueger ( / / 0 / 3 ) »
stell' doch erst einmal fest, wie groß die auszugebende Tabelle ist:
data: count type i.
describe table gt_cdhdr lines count.
Muss man nicht feststellen, steht fest: sy-dbcnt. (nach Select-Anweisung).

Beispiel aus'm Kopf....

Code: Alles auswählen.

Parameters: P_ausg type TBMAXSEL default 500.


Loop at table.....
 LOOP AT gt_cdhdr INTO gs_cdhdr. 

AT FIRST.
        WRITE: /     Text-100,
                        5  Text-101, 
                       21 Text-102, 
                     112 Text-103
ENDAT.
*                 'Mdt',      "Mandant 
*              5 'Objkl',    "Objektklasse 
*             21 'Objektid', "Objektwert 
*            112 'Changenr', "Änderungsnummer 

............

if sy-tabix > p_ausg.
    exit.
endif.

 WRITE: /   gs_cdhdr-mandant      under text-100,
                   gs_cdhdr-objectclas   under text-101, 
                   gs_cdhdr-objectid      under text-102,   
                   gs_cdhdr-changenr    under text-102, 
...........

endloop.


write 


Beitrag von thiemf (ForumUser / 5 / 0 / 0 ) »
vielen lieben Dank für die Antworten, ich habe mich für die letzte Variante entschieden, funktioniert wunderbar! :D

Grüße,
Flo

Seite 1 von 1

Vergleichbare Themen

2
Antw.
2959
Views
Listausgabe auf x- Treffer begrenzen
von thiemf » 19.11.2007 13:50 • Verfasst in ABAP® für Anfänger
2
Antw.
4306
Views
select begrenzen
von tech » 27.03.2008 19:42 • Verfasst in ABAP® für Anfänger
4
Antw.
2617
Views
Formatierungsproblem bei Listausgabe
von Kali » 25.10.2012 10:01 • Verfasst in ABAP® für Anfänger
4
Antw.
1978
Views
Listausgabe in Methode
von ralf.wenzel » 22.08.2015 14:38 • Verfasst in ABAP Objects®
8
Antw.
4104
Views
Dynamische Listausgabe
von GERDLA » 15.11.2005 09:15 • Verfasst in ABAP® Core

Über diesen Beitrag


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

Aktuelle Forenbeiträge

User Exit EXIT_RQCPRM10_001
vor einer Stunde von Manfred K. 1 / 27
Trennen Strasse und Hausnummer
vor 2 Stunden von payten 13 / 10308
Dialog-Container mit Toolbar/Status
vor 17 Stunden von DeathAndPain gelöst 22 / 3239
Daten an Tabelle binden
vor 22 Stunden von Lukas Sanders 2 / 1096

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

User Exit EXIT_RQCPRM10_001
vor einer Stunde von Manfred K. 1 / 27
Trennen Strasse und Hausnummer
vor 2 Stunden von payten 13 / 10308
Dialog-Container mit Toolbar/Status
vor 17 Stunden von DeathAndPain gelöst 22 / 3239
Daten an Tabelle binden
vor 22 Stunden von Lukas Sanders 2 / 1096

Unbeantwortete Forenbeiträge

User Exit EXIT_RQCPRM10_001
vor einer Stunde von Manfred K. 1 / 27
aRFC im OO-Kontext
vor 4 Wochen von ralf.wenzel 1 / 2657
Hilfe bei SWEC/SWE2
September 2024 von retsch 1 / 9245