ersetzen in tabelle

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

Alles rund um die Sprache ABAP®: Funktionsbausteine, Listen, ALV
13 Beiträge • Seite 1 von 1
13 Beiträge Seite 1 von 1

ersetzen in tabelle

Beitrag von Gast ( / / 0 / 3 ) »
hallo


ich lese eine textdatei ein.
parameter habe ich unter anderem:

Alt(10) TYPE c,
Ersetz(10) TYPE c,

nun möchte ich das was ich in das feld alt schreibe (bsp a) durch das in dem feld ersetz (bsp. haoala) ersetzt wird.
wie mache ich das?

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


Beitrag von Gast ( / / 0 / 3 ) »
alt = ersetz.

Beitrag von Gast ( / / 0 / 3 ) »
:arrow: move ersetz to alt.

Beitrag von Gast ( / / 0 / 3 ) »

Code: Alles auswählen.

LOOP AT Tabelle INTO wa_Tabelle.
Alt = Ersetz.
MOVE Ersetz TO Alt.
WRITE: / wa_Tabelle.
ENDLOOP.
weder das eine noch das andere geht.

Beitrag von Gast ( / / 0 / 3 ) »
Das wundert mich jetzt aber. Eigentlich müßte das funktionieren :lol:

Ok, ernsthaft. Was füllst Du denn in Deine Felder alt und ersetz und welchen Bezug stellst Du zu Deiner internen Tabelle her?
Antwort: Keinen!

Hat die Workstruktur wa_Tabelle Felder, z.B. das Feld Alt?
Dann könnte man zumindest mal folgendes machen (wobei ich davon ausgehe, daß ersetz gefüllt ist!)

Code: Alles auswählen.

Loop at tabelle into wa_tabelle.
wa_tabelle-alt = ersetz.
modify tabelle from wa_tabelle.
endloop.

Beitrag von Gast2 ( / / 0 / 3 ) »
Noch ein Nachtrag meinerseits (Gast2).
Das obige Beispiel macht m.E. nicht so richtig viel Sinn. Du solltest Dir den Befehl replace anschauen. Hier ein Beispiel aus der ABAP-Dokumentation:

Code: Alles auswählen.

DATA: text1 TYPE string, 
      text2(18) TYPE c, 
      cnt TYPE i, 
      off TYPE i, 
      len TYPE i. 

text1 = text2 = 'I know you know'. 

REPLACE ALL OCCURRENCES OF 'know' IN: 
        text1 WITH 'should know that' 
              REPLACEMENT COUNT  cnt 
              REPLACEMENT OFFSET off 
              REPLACEMENT LENGTH len, 
        text2 WITH 'should know that' 
              REPLACEMENT COUNT  cnt 
              REPLACEMENT OFFSET off 
              REPLACEMENT LENGTH len. 

Beitrag von Gast ( / / 0 / 3 ) »
ich hab schon alles mögliche ausprobiert.

Code: Alles auswählen.

PARAMETERS: Alt(10) TYPE c,
            Ersetz(10) TYPE c.

DATA:       BEGIN OF Tabelle OCCURS 0,
            Text(200) TYPE c,
            END OF Tabelle,
            wa_Tabelle LIKE LINE OF Tabelle.

Code: Alles auswählen.

old = Alt.
new = Ersetz.
REPLACE old WITH new INTO wa_Tabelle.
Write: / wa_Tabelle.
weitere replace befehle hab ich auch schon getestet. es geht nicht. [/code]

Beitrag von Gast2 ( / / 0 / 3 ) »
Welchen Begriff bzw. welchen String möchtest Du in der Tabelle bzw. den Tabellenzeilen ersetzen?
Durch was soll der String ersetzt werden? Ist das was Du ersetzen willst in der Tabelle vorhanden?

Beitrag von Gast ( / / 0 / 3 ) »
nun, in der textdatei die ich in die tabelle lade steht z.b. "hallo heino, altes haus".
dann gebe ich in das feld alt: a ein und in das feld ersetz trage ich gogo ein.
dann soll beim ausführen aus
hallo heino, altes haus
hgogollo heino, gogoltes hgogous werden.

Beitrag von Gast2 ( / / 0 / 3 ) »
Hier Dein Beispiel:

Code: Alles auswählen.

data: text(400) type c value 'Hallo Heino, altes Haus'.

data: old(5) type c,
      neu(5) type c.

write: / text.

old = 'a'.
neu = 'gogo'.

REPLACE ALL OCCURRENCES OF old IN:
        text WITH neu.

write: / text.

Beitrag von Gast ( / / 0 / 3 ) »
ja, so ist es kein problem wenn ich im quelltext angebe was durch was ersetzt werden soll. aber es ist komfortabler wenn ich einfach in das textfeld eingebe was durch was ersetzt werden soll.

Beitrag von Gast ( / / 0 / 3 ) »
Mit parameters ist es auch kein Problem. Man muss nur darauf achten, daß keine automatische Großbuchstabenkonvertierung durchgeführt wird. Das kann man z.B. wie folgt umgehen:

Code: Alles auswählen.

parameters: alt type text10,
            new type text10.

data: text(400) type c value 'Hallo Heino, altes Haus'.

data: old(10) type c,
      neu(10) type c.

write: / text.

old = alt.
neu = new.

REPLACE ALL OCCURRENCES OF old IN:
        text WITH neu.

write: / text.

Beitrag von Gast ( / / 0 / 3 ) »
jo danke so geht das.

Seite 1 von 1

Vergleichbare Themen

3
Antw.
5453
Views
Tabelle ohne Kopfzeile ersetzen - Read table
von joester » 19.04.2016 09:25 • Verfasst in ABAP® Core
4
Antw.
3940
Views
Werte einer Tabelle durch die aus anderen ersetzen
von s_belisio » 14.11.2011 15:38 • Verfasst in ABAP® für Anfänger
2
Antw.
2723
Views
Ersetzen von Zeichen
von SAP_ENTWICKLER » 10.12.2018 08:01 • Verfasst in ABAP® Core
4
Antw.
3872
Views
SE16 Ersetzen
von milk_shake_69 » 03.04.2007 09:44 • Verfasst in Sonstige Module
0
Antw.
2942
Views
in SAP FI die Daten von xx in fr xx ersetzen
von mac2023 » 14.04.2023 20:59 • Verfasst in Financials

Über diesen Beitrag

Anonymous
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

FOR mit CORRESPONDING
vor 2 Stunden von DeathAndPain 12 / 2721
Netzplan drucken
vor 3 Tagen von sap_enthusiast 2 / 740
SALV: Titel zu lang
vor 6 Tagen von ralf.wenzel 3 / 1328
Web Feature Services (WFS) im SAP
vor einer Woche von msfox 1 / 1867

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

FOR mit CORRESPONDING
vor 2 Stunden von DeathAndPain 12 / 2721
Netzplan drucken
vor 3 Tagen von sap_enthusiast 2 / 740
SALV: Titel zu lang
vor 6 Tagen von ralf.wenzel 3 / 1328
Web Feature Services (WFS) im SAP
vor einer Woche von msfox 1 / 1867

Unbeantwortete Forenbeiträge

Web Feature Services (WFS) im SAP
vor einer Woche von msfox 1 / 1867
Erweiterung in ME51N/ME52N:
vor 4 Wochen von ABAPlerv 1 / 4166
Erweiterung in ME51N/ME52N:
vor 4 Wochen von ABAPlerv 1 / 4070