String Variablen mit Assign ersetzen

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

String Variablen mit Assign ersetzen

Beitrag von Adrian (Specialist / 126 / 61 / 0 ) »
Hi @ all

Hi ich habe eine Vorlageemail und möchte in dieser die Variablen die mit $Variable geschrieben wurden ersetzen.
Ich möchte dann zur laufzeit z.B. $NAME durch Max Mustermann ersetzen aber er bricht immer beim replace ab.
Die möglichen Variablen sind die Feldnamen der Tabelle ZVERSAND_PAKETE.

Code: Alles auswählen.

  DATA : zfieldname(50) TYPE c.
  DATA : zzfieldname(50) TYPE c.

Code: Alles auswählen.

 SELECT * FROM dd03l
    WHERE tabname  = 'ZVERSAND_PAKETE'
    AND   as4local = 'A'.

    CONCATENATE '$' dd03l-fieldname INTO zfieldname.
    CONCATENATE dd03l-tabname dd03l-fieldname INTO zzfieldname SEPARATED BY '-'.
    ASSIGN  (zzfieldname) to <zzfieldname>.

    REPLACE ALL OCCURRENCES OF zfieldname IN zversand_vorlage_sms-data WITH <zzfieldname>.

  ENDSELECT.
ENDFORM.                    "sms_text
Vielen Dank.

Grüße Adrian

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


Re: String Variablen mit Assign ersetzen

Beitrag von a-dead-trousers (Top Expert / 4399 / 223 / 1182 ) »
Hi!

Veruschs mal so ;)

Code: Alles auswählen.

SELECT * FROM dd03l
    WHERE tabname  = 'ZVERSAND_PAKETE'
    AND   as4local = 'A'.

    CONCATENATE '$' dd03l-fieldname INTO zfieldname.
    CONCATENATE dd03l-tabname dd03l-fieldname INTO zzfieldname SEPARATED BY '-'.
    ASSIGN (zzfieldname) to <zzfieldname>.
    IF sy-subrc EQ 0.
      REPLACE ALL OCCURRENCES OF zfieldname IN zversand_vorlage_sms-data WITH <zzfieldname>.
    ENDIF.
  ENDSELECT.
So kannst du zumindest den Kurzdump abfangen, wenn ein Feld nicht zugewiesen werden kann.

Was du hier versuchst, ist die Variable ZVERSAND_PAKETE-FELDNAME auszulesen. Das heißt aber auch, das eine Variable mit dem Namen ZVERSAND_PAKETE und der Struktur von ZVERSAND_PAKETE in deinem Programm vorhanden sein muss (entweder global oder lokal im Unterprogram).

Code: Alles auswählen.

data: ZVERSAND_PAKETE type ZVERSAND_PAKETE.
*oder
TABLES: ZVERSAND_PAKETE. "Sollte nicht mehr verwendet werden
lg ADT
Theory is when you know something, but it doesn't work.
Practice is when something works, but you don't know why.
Programmers combine theory and practice: Nothing works and they don't know why.

ECC: 6.18
Basis: 7.50

Seite 1 von 1

Vergleichbare Themen

3
Antw.
4251
Views
Dirty Assign auf Variablen einer Klasse
von jensschladitz » 17.01.2019 11:23 • Verfasst in ABAP® Core
9
Antw.
1432
Views
Im String mit Regex Zeichen ersetzen
von MarkusW » 20.08.2020 13:42 • Verfasst in ABAP® Core
5
Antw.
5571
Views
Tabulator in String mit Replace ersetzen
von DoGaS » 15.06.2005 15:02 • Verfasst in Web-Dynpro, BSP + BHTML
5
Antw.
1321
Views
Letzte String Zeichen ersetzen
von ichse18577 » 13.11.2019 14:02 • Verfasst in ABAP® für Anfänger
2
Antw.
7630
Views
Einfachen Anführungsstrich in String ersetzen
von kbit100 » 07.05.2008 08:55 • Verfasst in ABAP® für Anfänger

Über diesen Beitrag


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

Aktuelle Forenbeiträge

Regex in where
vor 6 Stunden von tar 8 / 189
Daten an Tabelle binden
Gestern von Bright4.5 3 / 1489

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

Regex in where
vor 6 Stunden von tar 8 / 189
Daten an Tabelle binden
Gestern von Bright4.5 3 / 1489

Unbeantwortete Forenbeiträge

aRFC im OO-Kontext
letzen Monat von ralf.wenzel 1 / 3261
Hilfe bei SWEC/SWE2
September 2024 von retsch 1 / 9822