Tutorials für Datenbankabfragen

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

Tutorials für Datenbankabfragen

Beitrag von schlang (ForumUser / 7 / 0 / 0 ) »
Moin moin,

ich wollte einmal fragen ob ihr vielleicht ein paar gute Links, oder noch besser, ein Tutorial für eine Datenbankabfrage parat habt.

Ich komme aus der Web-Programmierung (PHP,Perl) und darf mich nun intern in ABAP versuchen. Genauer gesagt soll ich Datensätze anhand eines Merkmals ändern und ich habe keine Ahnung wie das gehen soll :D

Literatur habe ich bestellt und kommt auch die Woche, bis dahin fühle ich mich allerdings etwas verloren mit sämtlichen internen Tabellen und Arbeitsbereichen.

Könnt ihr mir vielleicht ein kleines Getting-Started zeigen? Das wäre wirklich toll!

Danke+Gruß
Markus

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


Beitrag von LoLo ( / / 0 / 3 ) »
Moin Markus,

Mit Tutorials ist das so eine Sache. Einige Programmierbeispiele findest Du in der Transaktion ABAPDOCU. Was Du lesen solltest in der Docu ist das Kapitel über interne Tabellen. Das ist meiner Meinung nach eins der besten Features in ABAP.
Doculink:
http://help.sap.com/saphelp_webas630/he ... ameset.htm

Siehe dort ABAP Programmiersprache -> Bearbeitung grosser Datenmengen.

Am ehesten kann man damit vielleicht die mulidimensionalen, assoziativen Arrays unter PHP vergleichen, wobei ich persönlich das Konzept der internen Tabellen wesentlich mächtiger finde.

Ansonsten kann ich Dir nur empfehlen: Einfach hier fragen.

Ciao, LoLo

Beitrag von babap (Expert / 681 / 1 / 1 ) »
Hallo,

eine ziemlich brutale Methode ist folgender Befehl, der direkt auf der Datenbank die gewünschte Änderung vornimmt:

Code: Alles auswählen.

UPDATE dbtabelle
                       SET   attribut  = feld_mit_neuem_inhalt
                       WHERE attribut/key1    = vgl1
                        AND  attribut/key2    = vgl2.

Natürlich kann man auch die Daten (wie oben schon gesagt) in den Speicher laden (interne Tabelle) ändern und wieder rausschreiben.

Code: Alles auswählen.

* Daten holen

select * from dbtabelle into table itabelle.

* (entweder alle oder einschränken mit WHERE).


* Geholte Daten verarbeiten (einschränken wenn notwendig)

loop at itabelle where attribut/key1 = vgl1 
                        and  attribut/key2 = vgl2.
* Änderung vornehmen

itabelle.attribut = feld_mit_neuem_inhalt.

endloop.

* Falls der LOOP was gefunden hat
if sy-subrc = 0.
* Änderungen wieder speichern
    update dbtabelle from itabelle.

endif. "was gefunden
Ansonsten gibt es noch jede Menge Beispiele in der SE80 unter UMFELD/PERFORMANCEBEISPIELE

Viel Erfolg!
mfg.
babap

Beitrag von schlang (ForumUser / 7 / 0 / 0 ) »
Vielen Dank für die schnellen Antworten :)
Ich bin gerade dabei, die betreffenden Tabellen zu suchen. Das ist allerdings leichter gesagt als getan, ich halte euch mal auf dem Laufenden :D

Beitrag von Thomas R. (Expert / 766 / 84 / 40 ) »
Hallo "schlang",
generell sollten im SAP durch Kundenprogramme nie Daten direkt in SAP-eigenen Datenbanktabellen geändert werden, sondern immer über die entsprechenden Transaktionen/Funktionsbausteine. Bei kundeneigenen Tabellen sind die Abhängigkeiten dem Kunden ja bekannt und er kann selber abschätzen, welche Auswirkungen sich durch direkte Änderungen auf die Konsistenz der gesamten Datenbank ergeben.

MfG
Thomas R.

Beitrag von schlang (ForumUser / 7 / 0 / 0 ) »
Hallo Thomas,

das ist mir bekannt, es handelt sich in dem Fall auch nur um eine einmalige Modifikation, wo man es den Mitarbeitern nicht zumuten will, bei 800 Kunden jedesmal das gleiche Häckchen setzen zu müssen.

Gruß Markus

Beitrag von Gast ( / / 0 / 3 ) »
Welches Häkchen denn? Bzw. welches Feld soll geändert werden?

Beitrag von Olaf P. (ForumUser / 61 / 0 / 0 ) »
Hallo Markus,
wenn es sich dabei um den SAP-Kundenstamm und keine Eigenentwicklung handelt, dann sollten andere Methoden zum Massenupdate genutzt werden (z.B. Batch-Input, BAPI, (SAP-)FBs ).

Man sollte nie Felder in SAP-Standardtabellen direkt ändern, da man die Auswirkungen nicht abschätzen kann. Eventuell schreibt SAP beim Setzen des Häkchens Informationen in anderen DB-Tabellen fort etc.. Dadurch kann es zu Inkonsistenzen führen.

Viele Grüße

Olaf

Beitrag von schlang (ForumUser / 7 / 0 / 0 ) »
Anhand eines Marketingmerkmals sollen Interessenten zu Kunden gemacht werden (CRM) :shock:

Beitrag von schlang (ForumUser / 7 / 0 / 0 ) »
habs hingekriegt 8)

Seite 1 von 1

Vergleichbare Themen

0
Antw.
8742
Views
Query Tutorials
von joe_hd » 13.02.2011 12:49 • Verfasst in Tutorials & Cookbooks

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.