Alle Zeichenketten in einer Datenbank ändern

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

Alle Zeichenketten in einer Datenbank ändern

Beitrag von Gorben (ForumUser / 2 / 0 / 0 ) »
Hallo allerseits,

ich habe angefangen mich in ABAP ein zu arbeiten.
Bei einer Übungsaufgabe bin ich auf ein Problem gestossen.

Dazu erst das Ist-Szenario:
In einer bestehenden Datenbank gibt es mehrere Zeilen, die mit verschiedenen Links befüllt sind.
Beispiel: „I:\System\Vorlagen\.....“

Diese Links sind nun nicht mehr aktuell, da es den betreffenden Server nicht mehr gibt.

Aufgabe des zu erstellenden Programmes ist die Links zu verändern.
Die Links sollen jetzt folgender maßen aussehen:
Beispiel: K:\SystemNeu\VorlagenNeu


Ich habe bis jetzt folgendes ausbaldowert:

REPORT Z_Link_aendern.

DATA: datenfeld(19) TYPE c VALUE 'I:\System\Vorlagen\KB\VL\',

kette1(33) TYPE c VALUE
'System\Vorlagen\KB',

kette2(43) TYPE c VALUE
'SystemNEU\VorlagenNEU\KB'.


REPLACE kette1 WITH kette2 INTO datenfeld.


Eine Zeichenkette zu ändern, ist nicht das Problem, aber ich weiß nicht, wie ich das auf eine ganze Datenbanktabelle anwenden kann.

Könntet ihr mir bitte dabei helfen?

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


Re: Alle Zeichenketten in einer Datenbank ändern

Beitrag von Unit605 (Expert / 975 / 37 / 93 ) »
Da sich noch keiner erbarmt hat, hier eine kleine kurze Anleitung:

Alle relavanten Daten per SELECT von der Datenbank in eine interne Tabelle selektieren.
Dann über diese interne Tabelle loopen und die Sätze entsprechende ändern.
Danache die Daten wieder in der Datenbank "updaten".

Code: Alles auswählen.

SELECT "daten" from Table into internal_Table
          Loop at internal_Table into Workarea.
                  .... Bearbeitung, vielleicht noch daten prüfen.
                  .... replace.....
                  ..... was immer Du machen willst.
          Endloop.
Update Datenbank from Internal_table.

Re: Alle Zeichenketten in einer Datenbank ändern

Beitrag von ewx (Top Expert / 4814 / 298 / 632 ) »
Es gibt auch den REPLACE-Zusatz "IN TABLE". Da spart man sich den Loop drumherum.
Ansonsten wäre es geschickter mit "LOOP AT itab ASSIGNING <wa>" zu arbeiten. Erstens geht es schneller und zweitens muss der geänderte String nicht wieder mit MODIFY in die Tabelle zurück geschrieben werden.

Re: Alle Zeichenketten in einer Datenbank ändern

Beitrag von Unit605 (Expert / 975 / 37 / 93 ) »
ok... oder.....

update database set 'neuer Path' where 'alter Path'.

:P

Re: Alle Zeichenketten in einer Datenbank ändern

Beitrag von ewx (Top Expert / 4814 / 298 / 632 ) »
oder so! ;)
Funktioniert dann nicht mehr, wenn man z.B. REPLACE mit REGEX verwenden möchte... :P

Re: Alle Zeichenketten in einer Datenbank ändern

Beitrag von Gorben (ForumUser / 2 / 0 / 0 ) »
Danke für die Hilfe!

Seite 1 von 1

Vergleichbare Themen

4
Antw.
17244
Views
Zeichenketten verknüpfen
von Preacha » 06.08.2008 13:54 • Verfasst in ABAP® für Anfänger
2
Antw.
364
Views
Zeichenketten verschieben
von mk_02 » 27.03.2022 15:20 • Verfasst in ABAP® für Anfänger
2
Antw.
2711
Views
Dynamisch Zeichenketten zusammensetzen
von Dudu » 08.07.2005 13:25 • Verfasst in ABAP® für Anfänger
2
Antw.
2100
Views
4
Antw.
3153
Views
Datenbank PNP(CE)
von Michael Weyland » 17.03.2016 15:39 • Verfasst in Human Resources

Über diesen Beitrag


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.