Code: Alles auswählen.
*&---------------------------------------------------------------------*
*& Report  Z_TEILNEHMERLISTE_EINFUEGEN
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT  Z_TEILNEHMERLISTE_EINFUEGEN.
*Tabelle deklarieren
TABLES zteilnehmer02.
SELECTION-SCREEN BEGIN OF BLOCK teilnehmer WITH FRAME TITLE text-001.
*Eingabefelder deklarieren
PARAMETERS: nummer TYPE zteilnehmer02-tnummer,
            name   TYPE zteilnehmer02-tname LOWER CASE,
            gebdat TYPE zteilnehmer02-tgeburtsdatum LOWER CASE,
            geschl TYPE zteilnehmer02-tgeschlecht LOWER CASE,
            kurspr TYPE zteilnehmer02-tkurspreis LOWER CASE,
            waehru TYPE zteilnehmer02-twaehrung LOWER CASE,
            kfz    TYPE zteilnehmer02-zzkfztyp LOWER CASE,
            kursti TYPE zteilnehmer02-zzkurstitel LOWER CASE.
SELECTION-SCREEN END OF BLOCK teilnehmer.
*Workarea deklarieren die dann in die DB Tabelle zteilnehmer02 gechrieben wird
DATA: wa_teil LIKE zteilnehmer02.
*deklarieren der Felder
wa_teil-tnummer = nummer.
wa_teil-tname = name.
wa_teil-tgeburtsdatum = gebdat.
wa_teil-tgeschlecht = geschl.
wa_teil-tkurspreis = kurspr.
wa_teil-twaehrung = waehru.
wa_teil-zzkfztyp = kfz.
wa_teil-zzkurstitel = kursti.
*Daten werden nun aus der Workarea wa_teil in die Tabelle zteilnehmer02 geschrieben
INSERT INTO zteilnehmer02 VALUES wa_teil.
*Wenn das Feld tnummer leer ist dann mache nichts... AUSSER es ist oben die Checkbox vollstli angehackt.. dann zeige die komplette Liste
IF wa_teil-tnummer IS INITIAL.
  EXIT.
ENDIF.
*wenn Returncode irgendwas anderes als NULL dann gib Fehlermeldung aus und schreibe den Datensatz NICHT
IF sy-subrc NE 0.
  ROLLBACK WORK.
  WRITE: / 'Fehler beim anlegen des neuen Teilnehmer mit der Nummer', wa_teil-tnummer, '. Diese Nummer existiert bereits.'.
  ELSE.
*Wenn RC=0 dann gib folgende Meldung aus nachdem der Datensatz geschrieben wurde
  WRITE: / 'Neuer Teilnehmer mit Teilnehmernummer ', wa_teil-tnummer, 'eingetragen'.
ENDIF.
SELECTION-SCREEN BEGIN OF BLOCK anzeige WITH FRAME TITLE text-002.
  PARAMETERS vollstli AS CHECKBOX.
SELECTION-SCREEN END OF BLOCK anzeige.
*Checkbox prüfen
IF NOT vollstli IS INITIAL.
* vollständigen Tabelleninhalt ausgeben
  SELECT * FROM zteilnehmer02.
    WRITE: / zteilnehmer02-tnummer,
             zteilnehmer02-tname,
             zteilnehmer02-tgeburtsdatum,
             zteilnehmer02-tgeschlecht,
             zteilnehmer02-tkurspreis,
             zteilnehmer02-twaehrung,
             zteilnehmer02-zzkfztyp,
             zteilnehmer02-zzkurstitel.
   ENDSELECT.
   SKIP.
ENDIF.
Code: Alles auswählen.
*&---------------------------------------------------------------------*
*& Report  Z_TEILNEHMERLISTE_EINFUEGEN
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT  Z_TEILNEHMERLISTE_EINFUEGEN.
*Tabelle deklarieren
TABLES zteilnehmer02.
SELECTION-SCREEN BEGIN OF BLOCK teilnehmer WITH FRAME TITLE text-001.
*Eingabefelder deklarieren
PARAMETERS: nummer TYPE zteilnehmer02-tnummer,
            name   TYPE zteilnehmer02-tname LOWER CASE,
            gebdat TYPE zteilnehmer02-tgeburtsdatum LOWER CASE,
            geschl TYPE zteilnehmer02-tgeschlecht LOWER CASE,
            kurspr TYPE zteilnehmer02-tkurspreis LOWER CASE,
            waehru TYPE zteilnehmer02-twaehrung LOWER CASE,
            kfz    TYPE zteilnehmer02-zzkfztyp LOWER CASE,
            kursti TYPE zteilnehmer02-zzkurstitel LOWER CASE.
SELECTION-SCREEN END OF BLOCK teilnehmer.
SELECTION-SCREEN BEGIN OF BLOCK anzeige WITH FRAME TITLE text-002.
  PARAMETERS vollstli AS CHECKBOX.
SELECTION-SCREEN END OF BLOCK anzeige.
*Checkbox prüfen
IF NOT vollstli IS INITIAL.
* vollständigen Tabelleninhalt ausgeben
  SELECT * FROM zteilnehmer02.
    WRITE: / zteilnehmer02-tnummer,
             zteilnehmer02-tname,
             zteilnehmer02-tgeburtsdatum,
             zteilnehmer02-tgeschlecht,
             zteilnehmer02-tkurspreis,
             zteilnehmer02-twaehrung,
             zteilnehmer02-zzkfztyp,
             zteilnehmer02-zzkurstitel.
   ENDSELECT.
   SKIP.
ENDIF.
*Workarea deklarieren die dann in die DB Tabelle zteilnehmer02 gechrieben wird
DATA: wa_teil LIKE zteilnehmer02.
*deklarieren der Felder
wa_teil-tnummer = nummer.
wa_teil-tname = name.
wa_teil-tgeburtsdatum = gebdat.
wa_teil-tgeschlecht = geschl.
wa_teil-tkurspreis = kurspr.
wa_teil-twaehrung = waehru.
wa_teil-zzkfztyp = kfz.
wa_teil-zzkurstitel = kursti.
*Daten werden nun aus der Workarea wa_teil in die Tabelle zteilnehmer02 geschrieben
INSERT INTO zteilnehmer02 VALUES wa_teil.
*Wenn das Feld tnummer leer ist dann mache nichts... AUSSER es ist oben die Checkbox vollstli angehackt.. dann zeige die komplette Liste
IF wa_teil-tnummer IS INITIAL.
  EXIT.
ENDIF.
*wenn Returncode irgendwas anderes als NULL dann gib Fehlermeldung aus und schreibe den Datensatz NICHT
IF sy-subrc NE 0.
  ROLLBACK WORK.
  WRITE: / 'Fehler beim anlegen des neuen Teilnehmer mit der Nummer', wa_teil-tnummer, '. Diese Nummer existiert bereits.'.
  ELSE.
*Wenn RC=0 dann gib folgende Meldung aus nachdem der Datensatz geschrieben wurde
  WRITE: / 'Neuer Teilnehmer mit Teilnehmernummer ', wa_teil-tnummer, 'eingetragen'.
ENDIF.