60 likes | 214 Views
Einführung in Programmierung mit ABAP. Prof. Dr. Manfred Scheer Technische Hochschule Mittelhessen FB MNI. SS 2012. Zusammenspiel: log. DB und Report. logische Datenbank. Report. PARAMETERS wa_nr1 TYPE tab1-nr1 .
E N D
Einführung in Programmierung mit ABAP Prof. Dr. Manfred Scheer Technische Hochschule Mittelhessen FB MNI SS 2012
Zusammenspiel: log. DB und Report logische Datenbank Report PARAMETERS wa_nr1 TYPE tab1-nr1. FORM put_tab1. SELECT * FROM tab1 ... WHERE nr1 = wa_nr1. PUT tab1. ENDSELECT. ENDFORM. FORM put_tab2. SELECT * FROM tab2 ... WHERE nr1 = tab1-nr1. PUT tab2. ENDSELECT. ENDFORM. NODES: tab1, tab2 . START-OF-SELECTION. GET tab1. WRITE: tab1-nr1, tab1-name . GET tab2. WRITE: tab2-irgend_etwas . END-OF-SELECTION. WRITE 'Ende der Liste'.
Report Log. DB PARAMETERS wa_nr1 TYPE tab1-nr1. Tables: tab1, tab2 . SELECT * FROM tab1 ... WHERE nr1 = wa_nr1.<Verarb. Knoten tab1>. SELECT * FROM tab2 ... WHERE nr2 = tab1-nr1.<Verarb. Knoten tab2>.<Nachverarb. Knoten tab2> ENDSELECT. <Nachverarb. Knoten tab1>. ENDSELECT. <Selektion> TABLES: tab1, tab2 . START-OF-SELECTION. GET tab1. <Verarb. Knoten tab1> . GET tab2. <Verarb. Knoten tab2> . GET tab2 LATE. <Nachverarb. tab2> GET tab1 LATE. <Nachverarb. tab1> END-OF-SELECTION. WRITE 'Ende der Liste'. <TOP-Include> FORM put_tab1. FORM put_tab2. log. DB und Report
<Vorlauf Schleife 1> while (<Bedingung 1> {<Verarbarbeitung Schleife 1> <Vorlauf Schleife 1> while (<Bedingung 2> { <Verarbeitung Schleife 2> } // Ende Schleife 2 <Nachlauf Schleife 2>. } // Ende Schleife 1 <Nachlauf Schleife 1> Logik der Gruppenverarbeitung Vorlauf: Initialisierung (Zähler, Summen auf 0 setzen) Verarbeitung: Daten verdichten (Zähler inkrementieren, Summen bilden) Nachlauf: Werte ausgeben, Summen zur nächst höheren Ebene addieren
SELECT-OPTION s_carrid TYPE scarr-carrid. Tables: scarr, spfli . DATA: ispfli, igesamt TYPE i . igesamt = 0 . SELECT * FROM scarr ... WHERE carrid in s_carrid. ispfli = 0. SELECT * FROM spfli ... WHERE carrid = scarr-carrid.ispfli = ispfli + 1 .ENDSELECT. WRITE: / scarr-carrname, ispfli. igesamt = igesamt + ispfli. ENDSELECT. WRITE: / 'Summe:', igesamt . START-OF-SELECTION. GET scarr. GET spfli. GET scarr LATE. END-OF-SELECTION. Gruppenverarbeitung mit log. DB