Selection-Screen Datanbanktabellen

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

Selection-Screen Datanbanktabellen

Beitrag von erzoo24 (ForumUser / 46 / 28 / 0 ) » 20.11.2020 01:59
Hallo,

ich versuche mit ein Selection-Screen zu bauen, welcher mir dabei hilf Datenbanktabellen auszuwählen, heißt es sollte eine Mehrfachselection machbar sein.

Diese möchte ich dem Funktionsbaustein DD_DB_OPERATION übergeben damit dieser die ausgewählte Tabelle /Tabellen löscht.

Ich habe bereits etwas schon versucht doch bin ich nicht wirklich weit gekommen denke ich, hat jemand villt eine hilfreiche Antwort ?

VG

Code: Alles auswählen.

DATA: wa      TYPE DD02L,
      v_subrc TYPE sysubrc.

TABLES dd02l.
*PARAMETERS: p_tab type dd02l-tabname.
*test select options
select-options: s_tab for dd02l-tabname no intervals.

AT SELECTION-SCREEN ON s_tab.

  IF s_tab IS INITIAL.
    MESSAGE 'Geben Sie den Namen der Datenbanktabelle ein!' type 'E'.
  ENDIF.

START-OF-SELECTION.

  select single * from  dd02l into wa where tabname = s_tab.

  IF SY-SUBRC <> 0.

    WRITE:/ 'Bitte geben sie einen gültigen Datenbanktabellennamen ein '.

  else.

* Abfrage mit popup " sind sie sicher?
* Löschvorgang ?
** Tabelle löschen
    CALL FUNCTION 'DD_DB_OPERATION'
      EXPORTING
        fct                  = 'DEL'
        forced               = ' '
        id_name              = ' '
        obj_name             = 'S_TAB'
        obj_type             = 'TABL'
        prid                 = space
      IMPORTING
        subrc                = v_subrc
      EXCEPTIONS
        unexpected_error     = 1
        unsupported_function = 2
        unsupported_obj_type = 3
        unsupported_status   = 4
        object_locked        = 5
        op_failure           = 6
        OTHERS               = 7.
    IF sy-subrc <> 0.
      MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
              WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
    ENDIF.

* Tabelle neu anlegen
    CALL FUNCTION 'DD_DB_OPERATION'
      EXPORTING
        fct                  = 'CRE'
        forced               = ' '
        id_name              = ' '
        obj_name             = 'S_TAB'
        obj_type             = 'TABL'
        prid                 = space
      IMPORTING
        subrc                = v_subrc
      EXCEPTIONS
        unexpected_error     = 1
        unsupported_function = 2
        unsupported_obj_type = 3
        unsupported_status   = 4
        object_locked        = 5
        op_failure           = 6
        OTHERS               = 7.
    IF sy-subrc <> 0.
      MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
              WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
    ENDIF.

  ENDIF.
_________________________________________________________________________________
Gruß Özgür


Re: Selection-Screen Datanbanktabellen

Beitrag von A6272 (Specialist / 153 / 1 / 20 ) » 20.11.2020 09:28
Hallo,
Mehrfachselection und "select single" passt doch nicht zusammen. Wenn es an sowas schon scheitert, lass bitte davon die Finger!

Der Report ist verdammt heikel, nimm doch dafür die SAP Standardtransaktionen.

Oder Codiere die Tabellen zumindest hart im Coding, damit nicht aus versehen was schief geht.


Ich sehe woran es überall hakt, aber der Report ist so kritisch, dass ich dir garantiert nicht helfe das zum laufen zu bringen.

Re: Selection-Screen Datanbanktabellen

Beitrag von erzoo24 (ForumUser / 46 / 28 / 0 ) » 20.11.2020 09:46
Hallo,
Ich hantiere deshalb auch nur mit Testdaten, auf lokaler Basis ich mach schon nichts kaputt.
ich muss es leider in der Form lösen und komme halt nicht wirklich drauf wie. Ich weiß auch das es nicht zusammen passt deswegen frage ich ja hier.

A6272 hat geschrieben:
20.11.2020 09:28
Hallo,
Mehrfachselection und "select single" passt doch nicht zusammen. Wenn es an sowas schon scheitert, lass bitte davon die Finger!

Der Report ist verdammt heikel, nimm doch dafür die SAP Standardtransaktionen.

Oder Codiere die Tabellen zumindest hart im Coding, damit nicht aus versehen was schief geht.


Ich sehe woran es überall hakt, aber der Report ist so kritisch, dass ich dir garantiert nicht helfe das zum laufen zu bringen.
_________________________________________________________________________________
Gruß Özgür

Re: Selection-Screen Datanbanktabellen

Beitrag von A6272 (Specialist / 153 / 1 / 20 ) » 20.11.2020 09:55
Es ist in einem Schulungssystem?
Wer kommt auf die Idee sowas zu verlangen?

Re: Selection-Screen Datanbanktabellen

Beitrag von erzoo24 (ForumUser / 46 / 28 / 0 ) » 20.11.2020 10:05
im Grunde soll es ein Report sein, der Abfragt anhand von checkboxen die man anklicken muss und einer Popup Abfrage mit "sind sie sicher Tabelleninhalte löschen zu wollen ?"
aber das ist halt der einfache teil nur komme ich nicht dahinter wie ich das mit der Mehrfachselektion machen soll wie schon gesagt. Bzw. würde das ganze dann in einer Loop dem FB übergeben nur funktioniert der Selection Screen nicht :D
_________________________________________________________________________________
Gruß Özgür

Re: Selection-Screen Datanbanktabellen

Beitrag von A6272 (Specialist / 153 / 1 / 20 ) » 20.11.2020 10:25
select * from dd02l into Table lt_wa where tabname in s_tab.
lt_wa ist als Tabelle von wa zu definieren.

IF SY-SUBRC <> 0. liefert aber dann nur einen Fehler wenn alle Einträge aus s_tab nicht gefunden werden.
Statt dessen könnte man die Anzahl der Einträge in s_tab und lt_wa vergleichen.

Oder welche Stelle wird beanstandet?

Re: Selection-Screen Datanbanktabellen

Beitrag von ewx (Top Expert / 4279 / 202 / 459 ) » 20.11.2020 10:36
Tabelleninhalte löschen ist etwas anderes, als eine Tabelle zu löschen...!
Vergiss die Funktionsbausteine und beschäftige dich mit dem Befehl DELETE

Re: Selection-Screen Datanbanktabellen

Beitrag von erzoo24 (ForumUser / 46 / 28 / 0 ) » 20.11.2020 11:26
den Code den ich reingestellt hatte hab ich etwas ausgebaut, der funktionierte nur nicht weil ich dem FB S_TAB mitgegeben habe, statt S_TAB-low.

einziges Problem was ich noch habe, der findet meine meine Testtabelle gar nicht.

Code: Alles auswählen.

select single * from  dd02l into wa where tabname = s_tab.
bei der Zeile krieg ich ein subrc = 4 obwohl die Tabelle aktiv vorhanden ist und mit Daten füllt.
_________________________________________________________________________________
Gruß Özgür

Re: Selection-Screen Datanbanktabellen

Beitrag von erzoo24 (ForumUser / 46 / 28 / 0 ) » 20.11.2020 11:26
ewx hat geschrieben:
20.11.2020 10:36
Tabelleninhalte löschen ist etwas anderes, als eine Tabelle zu löschen...!
Vergiss die Funktionsbausteine und beschäftige dich mit dem Befehl DELETE
Da hast du natürlich recht
_________________________________________________________________________________
Gruß Özgür

Re: Selection-Screen Datanbanktabellen

Beitrag von DeathAndPain (Top Expert / 1454 / 159 / 331 ) » 20.11.2020 12:19
DROP TABLE or nothing, sage ich immer.

Seite 1 von 1

Aktuelle Forenbeiträge

IDoc-Segmente löschen
vor 6 Stunden von littleJohn 2 / 57
Shortdump wegen Speicherüberlauf
vor 8 Stunden von chhe001 8 / 123

Vergleichbare Themen

Selection Screen
von cschmoel » 20.08.2012 12:53
at selection-screen....
von domezug » 25.07.2007 09:07
Selection-Screen
von Gast » 15.11.2004 09:27
selection screen
von anki_86 » 13.06.2007 07:30
Selection Screen
von frany*89* » 06.08.2011 05:11