Z Tabelle Key Feld ändern

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

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

Z Tabelle Key Feld ändern

Beitrag von carlie (ForumUser / 49 / 0 / 2 ) »
Hallo,

ich habe folgende frage. Bei uns hat sich wegen verschiedener umstände eine Z-Tabelle zerschossen. In dieser Z-Tabelle gibt es ein Key feld welches ich manupulieren müsste. Hierfür habe ich ein kleines Programm geschrieben.
Ich versuche dies über den befehl "Update". Bei nicht Key felder geht dies ohne Probleme. Kann mir jemand helfen, wie ich ein Keyfeld ändern kann. Bei dem Update befehlt bekomme ich dann SY-SUBRC = 4.

Code: Alles auswählen.

IF wa_zmerk_p_loesch-atnam = merkmal_name.
        wa_zmerk_p_loesch-KDIND = KDIND2.
        UPDATE zmerk_p from wa_zmerk_p_loesch.
      else.
        CONTINUE.
Gruß,

Thorsten

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


Re: Z Tabelle Key Feld ändern

Beitrag von DeathAndPain (Top Expert / 1972 / 264 / 418 ) »
Primärschlüsselfelder kann man nicht ändern, weil sich über diese ja die Tabellenzeile definiert (deswegen ist es ja der Primärschlüssel). Das bedeutet, dass Du die Zeilen nicht änderst, sondern neue anlegst und die alten löschen musst.

Was Du also machen musst, ist ein DELETE der alten Zeile, gefolgt von einem nachfolgenden INSERT der neuen. Am besten danach erst ein COMMIT WORK, damit nicht nach dem DELETE und vor dem INSERT ein Fehler auftreten kann, durch den die Zeile verlorengeht. Erst wenn der INSERT Dir einen SY-SUBRC von Null bringt, machst Du einen COMMIT WORK (oder je nach Umfang des Ganzen auch erst nach mehreren solcher Änderungen, denn nach jedem einzelnen INSERT ein COMMIT WORK gilt als nicht effizient).

Re: Z Tabelle Key Feld ändern

Beitrag von carlie (ForumUser / 49 / 0 / 2 ) »
Hallo,

vielen dank, hat wunderbar funktioniert.

Gruß, Thorsten

Re: Z Tabelle Key Feld ändern

Beitrag von DeathAndPain (Top Expert / 1972 / 264 / 418 ) »
Gern geschehen ("Danke" kann man auch anklicken ;-) ). Vielleicht sollte man noch anmerken, dass die Vorgehensweise mit DELETE und INSERT als Dirty-Variante in einem Pannenfall mal praktikabel sein mag. Wenn Du aber grundsätzlich vor dem Problem stehst, öfter mal Primärschlüsselfelder ändern zu müssen, dann ist das ein ganz starkes Indiz dafür, dass der Primärschlüssel Deiner Tabelle falsch definiert ist.

Seite 1 von 1

Vergleichbare Themen

1
Antw.
1553
Views
Feld mit Tabelle Vergleichen
von derSarge » 26.04.2006 14:28 • Verfasst in ABAP® für Anfänger
2
Antw.
1918
Views
IN -> Feld IN einer Tabelle
von aaaarrrggh » 24.11.2006 15:35 • Verfasst in ABAP® für Anfänger
2
Antw.
2507
Views
Tabelle mit DropDown-Feld
von Lamerman » 27.03.2006 13:50 • Verfasst in Web-Dynpro, BSP + BHTML
4
Antw.
2480
Views
ein Feld aus der ? Tabelle auslesen
von HH_ABAP » 28.01.2019 16:05 • Verfasst in ABAP® für Anfänger
3
Antw.
2745
Views
zusätzliche Tabelle bzw. Feld in SapScript ?
von strobbel » 02.03.2008 21:06 • Verfasst in ABAP® für Anfänger

Ü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

Aktuelle Forenbeiträge

IBAN und BUT0BK
vor 39 Minuten von wreichelt 2 / 45
Gewährleistungsende im Equipment
vor 15 Stunden von Yourairld gelöst 8 / 22384
IF mit AND und OR
vor einer Woche von GastX 6 / 10119
Meine Inbox
vor einer Woche von Rabea1103 1 / 7744

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.

Aktuelle Forenbeiträge

IBAN und BUT0BK
vor 39 Minuten von wreichelt 2 / 45
Gewährleistungsende im Equipment
vor 15 Stunden von Yourairld gelöst 8 / 22384
IF mit AND und OR
vor einer Woche von GastX 6 / 10119
Meine Inbox
vor einer Woche von Rabea1103 1 / 7744