Skip to Content
0
Former Member
Jun 03, 2009 at 11:27 AM

IF EXIT and Checkbox.. need help

70 Views

Hi there,

i have a Problem.

I am new in ABAP and try out now a lot of thing. Now i have a problem and i dont know how to solve it... Here is my Code.. After that i tell you my problem.

*&---------------------------------------------------------------------*
*& 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.



As you can see above i wrote:

IF wa_teil-tnummer IS INITIAL.
  EXIT.
ENDIF.

But in a another BLOCK i have a CHECKBOX. When i "check" the Box i become a List of all Members. But this will not work because the field wa_teil-tnummer IS INITIAL so the program EXIT.

How can i solve this?

Thanks

Bjoern

Edited by: bjoern bayerschmidt on Jun 3, 2009 1:27 PM

Edited by: bjoern bayerschmidt on Jun 3, 2009 1:28 PM