h_da SAP Vorlesung SS2006

Lösungsmöglichkeit Praktikum 1

Lösungsmöglichkeit Praktikum 1

Hallo,

anbei erhalten sie eine mögliche Lösung für Praktikum 1.

* Parameter, welche vor ausführung abgefragt werden sollen.
PARAMETER: pa_k TYPE zde_kuerzel.
PARAMETER: pa_sws TYPE zde_sws .
* Sprach Feld mit aktueller Sprache vorbelegt
PARAMETER: pa_spr TYPE spras DEFAULT sy-langu.

DATA: BEGIN OF hs.
* Basiert auf Tabelle hochschule
INCLUDE TYPE ztb_hochschule.
* Fügt zusätzliche Felder von HochschuleT
DATA: beschreibung TYPE ztb_hochschulet-beschreibung,
sprache TYPE ztb_hochschulet-sprache,
END OF hs,
* zählvariable zum feststellen, ob ausgabe erfolgte
count TYPE i VALUE 0.


* Durchgehen aller Einträge der kombinierten Tabelle.
START-OF-SELECTION.
SELECT *
FROM ztb_hochschule INNER JOIN ztb_hochschulet
ON ztb_hochschule~kuerzel = ztb_hochschulet~kuerzel
INTO CORRESPONDING FIELDS OF hs
ORDER BY ztb_hochschule~kuerzel.

IF
( hs-kuerzel = pa_k OR pa_k = '' ) AND
( hs-sws = pa_sws OR pa_sws = '' ) AND
( hs-sprache = pa_spr OR pa_spr = '' ) .

IF count = 0.
WRITE: AT /5 sy-vline,
(4) 'K', sy-vline,
(30) 'Beschreibung', sy-vline,
(10) 'Dozent', sy-vline,
(6) 'Raum', sy-vline,
(4) 'SWS', sy-vline,
(8) 'Sprache', sy-vline,
sy-uline.
ENDIF.

* Hochzählen der Datensätze
count = count + 1.
* Ausgabe des Datensatzen als Tabellenzeile
WRITE: AT /5 sy-vline,
(4) hs-kuerzel, sy-vline,
(30) hs-beschreibung, sy-vline,
(10) hs-dozent, sy-vline,
(6) hs-raum, sy-vline,
(4) hs-sws CENTERED, sy-vline,
(8) hs-sprache CENTERED, sy-vline.
ENDIF.
ENDSELECT.

*Prüfen, ob keine Ausgabe gemacht wurde.
IF count = 0 .
MESSAGE ID 'ZWARNUNG' TYPE 'I' NUMBER '000'.
ELSE.
WRITE sy-uline.
ENDIF.