seitenumbruch

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

seitenumbruch

Beitrag von c oco (Specialist / 326 / 12 / 16 ) »
hallo liebe user,

bin wieder einmal verzweifelt.

habe folgende "herausforderung".

ich selektiere objekte aus einer tabelle und möchte, dass bei der ausgabe, erst ein Seitenumbruch bei Objektwechsel erfolgt, falls nicht mehr alles auf eine seite passt.

habe mir überlegt, einen zähler einzubauen, der mir die zeilen liest und ab einer bestimmten zeile dann einen umbruch vornimmt.

aber es klappt nicht so ganz.
immer nach der 24. zeile macht er bei jedem neuen Objekt einen Seitenumbruch.

im forum habe ich leider nichts gefunden. entweder es geht um abap objects oder sonstwas.

kann mir jemand einen heißen tipp geben?

bin dankbar für jeden hinweis.
grüße coco

Code: Alles auswählen.

CLEAR it_col.                                                           
 LOOP AT it_col.                                                        
                                                                        
    AT NEW drerz.                                                       
     IF zeile > 24.                                                     
     NEW-PAGE.                                          "XXXXXXXXXXXXXXX
     ELSE. "keine aktion.                                               
     ENDIF.                                                             
         SKIP.       
                                                   
         WRITE:/5 'Objekt:', it_col-drerz.                              
         zeile = zeile + 2.                             "XXXXXXXXXXXXXXX
      ENDAT.                                                            
                                                                        
      CLEAR t685t.                                                      
      SELECT SINGLE * FROM t685t                                        
        WHERE spras EQ 'DE'                                             
        AND   kvewe EQ 'B'                                              
        AND   kappl EQ it_col-kappl                                     
        AND   kschl EQ it_col-kschl.                                    
                                                                        
*     write:/10 it_col-drerz,                                           
      WRITE:/13 it_col-kappl,                                           
                it_col-kschl,                                           
                t685t-vtext,                                            
it_col-objky,                                           
                it_col-anz.                                             
     zeile = zeile + 1.                                 "XXXXXXXXXXXXXXX
                                                                        
      AT END OF drerz.                                                  
         SUM.                                                           
         WRITE:/13 '---------------------------------------'.           
         WRITE:/35 'SUMME:', it_col-anz.                                
         zeile = zeile + 2.                                  "XXXXXXXXXX
      ENDAT.                                                            
      gesamt = gesamt + it_col-anz.                                 "XXX
 ENDLOOP.                                                               
      WRITE:/35 'GESAMTSUMME:', gesamt.                             "XXX
SKIP 4.                                                                 
                                                                        

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


Beitrag von TWP (Specialist / 445 / 0 / 1 ) »
Hi Coco,

sieh dir mal die Hilfe zu RESERVE an. Hiermit kannst du prüfen ob noch XX Zeilen auf die Seite passen. Eventuell solltest du die Seitengröße hierzu auch in der REPORT Anweisung mitgeben (Line-Count Line-Size.

Gruß

Thomas

Beitrag von TakerOne (Specialist / 102 / 0 / 3 ) »
Hi,

ich könnte mir vorstellen, daß nach dem NEW-PAGE ein zurücksetzen des Zeilenzählers 'ZEILE' auf 0 dich richtig glücklich machen könnte. :D

Gruß TakerOne
Ich bin eigentlich ein sehr netter Mensch.
Wenn ich Freunde hätte, könnten diese es bestätigen. :-)

Beitrag von c oco (Specialist / 326 / 12 / 16 ) »
hallo twp,

vielen vielen dank. hat super funktioniert.

takerOne das hätte es bestimmt. aber mit dem reserve befehl funtioniert es einwandfrei. brauche die zähler nicht mehr.

danke für eure Tipps und liebe grüße
coco.

also für die nachwelt:

oben beim report:
REPORT test LINE-SIZE 132 LINE-COUNT 65.
und dann in der ausgabe:
AT NEW drerz.
CLEAR zeile.
RESERVE 19 LINES.
SKIP.
WRITE:/5 'Objekt:', it_col-drerz.
ENDAT.

Beitrag von c oco (Specialist / 326 / 12 / 16 ) »
ich bins nochmal.

nächstes problem :cry:

jetzt soll auf jeder seite der gleiche titel wie auf der ersten seite stehen.

top-of-page geht nicht. laufzeitfehler wegen line-count.

wie soll ich es machen, dass ích einen seitenwechsel und gleichzeitig immer die gleiche überschrift habe?

grüße coco

Beitrag von ereglam (Top Expert / 1829 / 2 / 7 ) »
Hallo coco,

was für einen Laufzeitfehler bekommst Du denn?
Vielleicht ist Deine Ausgabe im TOP-OF-PAGE breiter als von LINE-COUNT spezifiziert.

PS:
warum benutzt Du explizit LINE-COUNT. Ist meistens garnicht nötig. ;)
Gruß
Ereglam


May the Force be with your code
|| .| |.|| | .... . ..|. ||| .|. |.|. . |... . .|| .. | .... |.|| ||| ..| .|. |.|. ||| |.. .

Beitrag von c oco (Specialist / 326 / 12 / 16 ) »
hallo ereglam,

ich muss aber line-count benutzen. sonst klappt es mit dem seitenwechsel nicht.

laufzeitfehler:
Die Zeilenzahl pro Seite wurde mit 60 vereinbart. Diese Zeilen werden
auf der aktuellen Seite 1 bereits durch das Ereignis TOP-OF-PAGE
vollständig aufgebraucht, so daß es nicht möglich ist, den gesamten
Seitenkopf in die Seite aufzunehmen.
Während normalerweise bei Seitenüberlauf automatisch eine neue Seite
begonnen wird, ist dies in diesem Fall nicht möglich, weil diese neue
Seite selbst wieder mit einem Seitenkopf beginnen würde (Loop).

gruß coco

Beitrag von ereglam (Top Expert / 1829 / 2 / 7 ) »
:oops: sorry, hatte Tomaten auf den Augen und hab's mit LINE-SIZE verwechselt... :roll:

Hm, dann solltest Du mal TOP-OF-PAGE hier posten, damit man sehen kann, warum er glaubt, mehr als 60 Zeilen schreiben zu wollen...
Gruß
Ereglam


May the Force be with your code
|| .| |.|| | .... . ..|. ||| .|. |.|. . |... . .|| .. | .... |.|| ||| ..| .|. |.|. ||| |.. .

Beitrag von c oco (Specialist / 326 / 12 / 16 ) »
hallo ereglam,

Code: Alles auswählen.

REPORT auswertung LINE-SIZE 80 LINE-COUNT 60.


dann kommt die ausgabe:
  IF NOT s_erdat IS INITIAL.                                           
     WRITE:/ 'Erstellungszeitraum der Nachrichten',                    
             'vom', s_erdat-low, 'bis', s_erdat-high.                  
  ELSE.                                                                
     WRITE:/ 'Verarbeitungszeitraum der Nachrichten',                  
             'vom', s_datvr-low, 'bis', s_datvr-high.                  
  ENDIF.                                                               
ULINE.                                                                 
                                                                       
In eine if-schleife akzeptiert es gar keinen top-of-page. 

und ausserhalb der if-schleife bei einer zusätzlichen Überschrift bringt er Syntaxfehler.
sieht so aus:
TOP-OF-PAGE.                                              
WRITE:/ 'Nachrichten zu Aufträgen:'.                      

grüße coco

Beitrag von c oco (Specialist / 326 / 12 / 16 ) »
entwarnung.

top-of-page ist richtig, nur die platzierung war falsch.

"Vergessen Sie nicht den Verarbeitungsblock hinter TOP-OF-PAGE durch Angabe eines geeigneten Ereignisschlüsselworts, z.B. START-OF-SELECTION, abzuschließen, wenn Sie danach mit der eigentlichen Listenverarbeitung beginnen wollen."

Grüße Coco

Beitrag von ereglam (Top Expert / 1829 / 2 / 7 ) »
Glückwunsch.

ich war schon am überlegen, ob ich den ganzen Quelltext einfordern müsste... :roll:

Wie das Beispiel zeigt, ist es sinnvoll, immer START-OF-SELECTION im Programm zu verwenden, auch wenn es keine sonstigen Ereigniszeitpunkte gibt.

PS:
ich versuche auch, immer END-OF-SELECTION mit einzubringen, weil es u.a. auch einen dokumentatorischen Effekt hat...
Gruß
Ereglam


May the Force be with your code
|| .| |.|| | .... . ..|. ||| .|. |.|. . |... . .|| .. | .... |.|| ||| ..| .|. |.|. ||| |.. .

Beitrag von c oco (Specialist / 326 / 12 / 16 ) »
ja da hast du recht. dass mit end-of-selection muss ich mir auf jeden fall angewöhnen es immer mit aufzunehmen.

wünsche dir einen schönen sonnigen nachmittag.

grüße coco

Beitrag von TakerOne (Specialist / 102 / 0 / 3 ) »
Hi,

das END-OF-SELECTION hat noch einen weiteren Vorteil.

Wenn man den Befehl STOP verwendet, wird das Programm nach END-OF-SELECTION fortgesetzt. Hat die Auswirkung, daß man seine bisherigen Listausgaben behält (im Gegensatz zu ERROR-Messages), bzw. die Listausgabe trotzdem durchführen kann. Man kann dann die Fehlermeldung ans Ende der Liste setzen.

Wermutstropfen: Unter OO verboten.

Gruß TakerOne
Ich bin eigentlich ein sehr netter Mensch.
Wenn ich Freunde hätte, könnten diese es bestätigen. :-)

Seite 1 von 1

Vergleichbare Themen

6
Antw.
3947
Views
ALV: Seitenumbruch....
von ralf.wenzel » 04.04.2006 18:30 • Verfasst in ABAP® Core
5
Antw.
3018
Views
SF Seitenumbruch
von b0rsti » 20.03.2008 15:29 • Verfasst in Dialogprogrammierung
4
Antw.
1604
Views
Seitenumbruch in Abhängigkeit
von GSa » 21.05.2014 13:38 • Verfasst in ABAP® für Anfänger
2
Antw.
6743
Views
Smartforms Seitenumbruch
von siggi76 » 16.04.2012 13:06 • Verfasst in ABAP® für Anfänger
1
Antw.
1193
Views
Seitenumbruch im ALV_TOP_OF_PAGE ?
von TakerOne » 10.01.2008 10:55 • Verfasst in ABAP® Core

Über diesen Beitrag


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

Aktuelle Forenbeiträge

Regex in where
vor 15 Stunden von tar 8 / 343
Daten an Tabelle binden
Gestern von Bright4.5 3 / 1624
Programm anlegen mit Vorlage
vor 2 Tagen von DeathAndPain 2 / 270
IT0024 Qualifikationen CP-ID
vor 2 Tagen von DeathAndPain 2 / 513

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

Regex in where
vor 15 Stunden von tar 8 / 343
Daten an Tabelle binden
Gestern von Bright4.5 3 / 1624
Programm anlegen mit Vorlage
vor 2 Tagen von DeathAndPain 2 / 270
IT0024 Qualifikationen CP-ID
vor 2 Tagen von DeathAndPain 2 / 513

Unbeantwortete Forenbeiträge

BUSOBJEKT zu CMIS PHIO ermitteln
vor 2 Tagen von snooga87 1 / 208
aRFC im OO-Kontext
letzen Monat von ralf.wenzel 1 / 3389
Hilfe bei SWEC/SWE2
September 2024 von retsch 1 / 9940