Anlegen, Ändern und Löschen

Die Frage ist als "gelöst" markiert. Den entsprechend Beitrag findest du hier.

ABAP Web Dynpro, BusinessServerPages; Erstellung von Webapplikationen.
5 Beiträge • Seite 1 von 1
5 Beiträge Seite 1 von 1

Anlegen, Ändern und Löschen

Beitrag von msentaburlar (ForumUser / 16 / 2 / 0 ) »
Hallo Leute,

ich bin relativ neue in ABAP und übe ich gerade mit Web-Dynpro. Ich habe jetzt folgende Anforderung. Also ich habe selbst einen internen Tabelle erstellt und sollte ich jetzt über eine Web-Dypro Anwendung neue Daten anlegen, einen erstellten Antrag ändern und löschen. Ich habe schon jeweilige Buttons erstellt. Ich brauche jetzt Hilfe, wie jeweilige Methoden implementieren kann. Ich freuen mich über eure Rückmeldung.

Viele Grüße

msentaburlar

gesponsert
Stellenangebote auf ABAPforum.com schalten
kostenfrei für Ausbildungsberufe und Werksstudenten


Re: Anlegen, Ändern und Löschen

Beitrag von msfox (Specialist / 364 / 56 / 74 ) »
Deine Anforderung ist ja seeeeeeeeehr allgemein formuliert.
1. Die interen Tabelle ist schön und gut, aber im WDY muss du die Daten zunächst an den Context binden (ABAP-OO). Dafür hilft der Wizard (Icon mit Zauberstab). Im Context muss du natürlich erst die Definition vornehmen.
2. Den Context bindest du dann an eine Tabelle. Die einfachste Variante ist hier das UI-Element "Table". Schwieriger CTable und wenn gefordert auch Webdynpro-ALV.
Wenn du die TABLE in deiner View hast, musst du zuerst die Data-Bindung machen (Pflichfeld). Dananch kannst du über "rechte Maustaste" auch die einzelnen Spalten an den Kontext binden. Da du Daten erfassen willst, solltest du als CellEditor "InputField" wählen (oder checkbox für boolean).
3. Den Button hast du ja schon. Dem musst du noch eine Aktion spendieren.
4. In der Aktion kannst du dann die Werte aus dem Context wieder über den Wizard auslesen und Speichern. Speichern ist ja dann wieder ABAP-Standard (Direktes Update auf die DB, oder über FuBa, oder über DAO, oder, oder.)
5. Anlegen löschen: Dafür brauchst du sicher noch zwei Button, die dir jeweils eine neue Zeile einfügen oder wieder löschen.
----
Wenn du mal mehr Erfahrung hast, wirst du sehen, dass meine Beschreibung wirklich nur für Anfänger ist. Inzwischen strukturiere ich meine WDY-Anwendungen. Vieles was mit UI zutun hat kommt in die Assistenzklasse. Alles was Anwendungslogik ist, wieder in eine Klasse, welche keine WDY-Element mehr enthält. Die Datenzugriffe laufen über DAO damit man auch mal einen Unit-Test mit MOCK-Daten drauch schicken kann.

Re: Anlegen, Ändern und Löschen

Beitrag von msentaburlar (ForumUser / 16 / 2 / 0 ) »
Hallo msfox,

danke für die Antwort. Also ich habe die Schritte 1 bis 5 schon erledigt. Am besten ich kopiere mein Methode da für Anlegen. Vielleicht kannst du bessere überblick hast. In Debbuger Bereich sehe ich, dass lo_el_test eine statische Attribute hat und die auch die angegebene Daten besitzt. Ich muss aber diese Daten in meinen Datenbanktabelle (vermutlich durch Hilfe von INSERT- Befehl) hinzufügen.

method ONACTIONANLGEN .
DATA lo_nd_test TYPE REF TO if_wd_context_node.

DATA lo_el_test TYPE REF TO if_wd_context_element.
DATA ls_test TYPE wd_this->element_test.

* navigate from <CONTEXT> to <TEST> via lead selection
lo_nd_test = wd_context->get_child_node( name = wd_this->wdctx_test ).

* @TODO handle non existant child
* IF lo_nd_test IS INITIAL.
* ENDIF.

* get element via lead selection
lo_el_test = lo_nd_test->get_element( ).

* @TODO handle not set lead selection
IF lo_el_test IS INITIAL.
ENDIF.

CALL METHOD lo_nd_test->set_lead_selection
EXPORTING
element = lo_el_test " INDEX
.
*INSERT DATTBL FROM lo_nd_test.


* @TODO fill static attributes
* ls_test = xxx->get_yyy( ).

* set all declared attributes
lo_el_test->set_static_attributes(
static_attributes = ls_test).

endmethod.

Re: Anlegen, Ändern und Löschen

Beitrag von msentaburlar (ForumUser / 16 / 2 / 0 ) »
Hallo,

ich habe eben geschafft, dass ich in Datenbanktabelle neue Einträge anlegen kann. Ich habe noch folgende Code am Ende eingefügt und jetzt klappt es.

CALL METHOD lo_nd_test->set_lead_selection
EXPORTING
element = lo_el_test " INDEX
.

INSERT DATTBL FROM ls_test.


Ich brauche aber Hilfe bei der Löschen immer noch Hilfe. Wäre schön, wen jemand sich meldet.

Viele Grüße

msentaburalr

Re: Anlegen, Ändern und Löschen

Beitrag von msfox (Specialist / 364 / 56 / 74 ) »
...ich habe leider gerade kein SAP-System in Zugriff, daher aus dem Kopf.
Du brauchst noch einen zweiten Button für das Löschen mit einer Action.
In der Action lässt du dir dann das selectierte Element geben.

Code: Alles auswählen.

data(lo_element) = lo_nd_test->get_selected_element( ). "*
*****get_lead_selection( ) gibt es auch, musst du mal probieren.
if lo_element is bound."Wenn zuvor keine Zeile gewählt ist.
lo_element->get_static_attributes( static_attributes = ls_test ).
Delete from DATTBL where xxx = ls_test-xxx.
else.
"Fehlermeldung für Auswahl der Zeile.
"Oder, die höhere Kunst :): den Button deaktivieren, wenn keine Zeile markiert ist.
endif.

Seite 1 von 1

Vergleichbare Themen

3
Antw.
6850
Views
Transaktionscode für Programm anlegen und löschen
von Ben » 29.10.2007 10:15 • Verfasst in ABAP® für Anfänger
2
Antw.
2033
Views
Wie ~150.000.000 DS löschen
von c0lt.seavers » 17.07.2007 08:03 • Verfasst in ABAP® für Anfänger
3
Antw.
8544
Views
Objektinstanzen löschen
von abapjunior » 03.09.2014 10:06 • Verfasst in ABAP Objects®
4
Antw.
12520
Views
Bestellung löschen
von vhoffe » 07.12.2006 14:21 • Verfasst in Material Management & Produktionsplanung
0
Antw.
1854
Views

Über diesen Beitrag


Die Frage ist als "gelöst" markiert. Den entsprechend Beitrag findest du hier.

Unterstütze die Community und teile den Beitrag für mehr Leser und Austausch

Newsletter Anmeldung

Keine Beiträge verpassen! Wöchentlich versenden wir lesenwerte Beiträge aus unserer Community.
Die letzte Ausgabe findest du hier.
Details zum Versandverfahren und zu Ihren Widerrufsmöglichkeiten findest du in unserer Datenschutzerklärung.

Unbeantwortete Forenbeiträge

Daten an Tabelle binden
Gestern von Bright4.5 1 / 498
aRFC im OO-Kontext
vor 4 Wochen von ralf.wenzel 1 / 2139
Hilfe bei SWEC/SWE2
letzen Monat von retsch 1 / 8735