Zeichenkette mit geschützten Leerzeichen

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

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

Zeichenkette mit geschützten Leerzeichen

Beitrag von Irie ( / / 0 / 3 ) »
Hallo zusammen!

Ich würde gerne wissen, wie ich eine Zeichenkette mit geschützten Leerzeichen zustande bekomme.

Diese soll anschließend ausgegeben bzw. in eine Datei geschrieben werden. Das Problem ist, dass er mit concatenate eingefügte Leerstellen (' ') einfach verschluckt.

Im Voraus vielen Dank für die Hilfe!

Irie

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


Beitrag von Flo (Specialist / 161 / 0 / 0 ) »
du kannst strings mit concatenate string1 string2 separated by space mit leerzeichen dazwischen zusammenfügen. wenn du mehrere leerzeichen hintereinander haben willst tut es allerdings so nicht.

Beitrag von ewx (Top Expert / 4851 / 313 / 642 ) »
Hi Irie,

du kannst anstelle der Leerzeichen einfach ein Zeichen nehmen, dass sonst nicht vorkommt (§, ~, #, ^ etc) und danach im konkatenierten String mittels

Code: Alles auswählen.

TRANSLATE feld USING '§ '.
dein Sonderzeichen durch Leerzeichen austauschen.

Gruß,
Enno

Beitrag von Irie ( / / 0 / 3 ) »
Danke für die beiden Tipps!

Mit dem Translate klappt es auch prima, jetzt kann ich den Daten genau das erforderliche Format geben, sehr schön :D

Beitrag von ereglam (Top Expert / 1829 / 2 / 7 ) »
Hallo Irie,

gib doch bitte mal ein Beispiel für Deine Datenstruktur.
Möglicherweise gibt es noch eine weitere Möglichkeit unter Verwendung von Feldsymbolen und strukturierten Typen.
Gruß
Ereglam


May the Force be with your code
|| .| |.|| | .... . ..|. ||| .|. |.|. . |... . .|| .. | .... |.|| ||| ..| .|. |.|. ||| |.. .

Beitrag von Gast ( / / 0 / 3 ) »
Verschiedene Daten sollen zu einer Datei mit fester Spaltenbreite und insgesamt 206 Stellen verschmelzen.

Beispiel: aus Zeichenfolgen à la A0123456789, 0123 und 20051121 soll folgendes entstehen:
A0123456789[6 Leerstellen]0123[12 Leerstellen]20051121

Welche andere Möglichkeit könnte es hierfür geben?

Beitrag von black_adept (Top Expert / 4100 / 128 / 941 ) »

Code: Alles auswählen.

TYPES: BEGIN OF TY_ITAB,
          FELD1(17) TYPE C,
          FELD2(16) TYPE C,
          FELD3(8)  TYPE C,
          FILLER(165) TYPE c,
       END OF TY_ITAB.

DATA: ITAB TYPE STANDARD TABLE OF ITAB WITH NON_UNIQUE DEFAULT KEY.
So etwa könnte man das machen.
live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de

Beitrag von ereglam (Top Expert / 1829 / 2 / 7 ) »
Sollte man den Fall haben, dass sich der Feldinhalt eines Schlüssels aus mehreren Teilen bestehen und man das Schlüsselfeld nicht selbst als strukturierten Typ definieren kann (hier als Beispiel DELETE_TEXT), kann man auf die Verwendung von Feldsymbolen ausweichen.

Am Beispiel Vertriebstext zum Material:

Code: Alles auswählen.

TYPES:
  BEGIN OF ts_vtxt_key,
    matnr TYPE matnr,
    vkorg TYPE vkorg,
    vtweg TYPE vtweg,
  END OF  ts_vtxt_key.

DATA:
  l_tdname TYPE tdobname. "STXH-TDNAME

FIELD-SYMBOLS:
  <ls_tdname> TYPE ts_vtxt_key.

* Feldsymbol auf L_TDNAME legen
ASSIGN l_tdname TO <ls_tdname> CASTING. "CASTING ist wichtig
* jetzt kann man mittels des FS die Daten sauber befüllen
<ls_tdname>-matnr = mvke-matnr.
<ls_tdname>-vkorg = mvke-vkorg.
<ls_tdname>-vtweg = mvke-vtweg.

* etc.
alternativ:

Code: Alles auswählen.

DATA:
  ls_tdname TYPE ts_vtxt_key.
ls_tdname-matnr = mvke-matnr.
ls_tdname-vkorg = mvke-vkorg.
ls_tdname-vtweg = mvke-vtweg.
l_tdname = ls_tdname. "umkopieren
PS: ich preferiere die Variante mit Feldsymbolen. Das ist aber ein bisschen auch Geschmackssache

Und nun noch ein FB, der einen bestimmten Typ fordert: hier NAME: TDOBNAME oder STXH-TDNAME

Code: Alles auswählen.

        CALL FUNCTION 'DELETE_TEXT'
          EXPORTING
*         CLIENT                = SY-MANDT
            id                    = '0001'
            language              = sy-langu
            name                  = l_tdname "Typ muss TDBONAME o.Ä. sein
            object                = 'MVKE'
            savemode_direct       = 'X'
*         TEXTMEMORY_ONLY       = ' '
*         LOCAL_CAT             = ' '
          EXCEPTIONS
            not_found             = 1
            OTHERS                = 2.
Gruß
Ereglam


May the Force be with your code
|| .| |.|| | .... . ..|. ||| .|. |.|. . |... . .|| .. | .... |.|| ||| ..| .|. |.|. ||| |.. .

Seite 1 von 1

Vergleichbare Themen

3
Antw.
3092
Views
Zeichenkette nach 2. Leerzeichen abschneiden
von BubbleSort » 03.08.2016 10:23 • Verfasst in ABAP® für Anfänger
12
Antw.
10254
Views
Fehler bei Zuweisung: Überschreiben eines geschützten Felds.
von c oco » 10.04.2012 16:49 • Verfasst in ABAP® für Anfänger
3
Antw.
2751
Views
Wie Zeichenkette bei Buchstaben trennen?
von samson » 29.01.2008 13:33 • Verfasst in ABAP® für Anfänger
4
Antw.
20650
Views
Abschneiden einer Zeichenkette
von Katta » 09.08.2007 11:23 • Verfasst in ABAP® für Anfänger
11
Antw.
7972
Views
Zeichenkette suchen in C-Feld
von m4nu » 12.09.2013 11:21 • 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

Rechnung: Belegspez. Adresse
vor 11 Stunden von Manfred K. 3 / 461
Daten an Tabelle binden
Gestern von Lukas Sanders 4 / 2308
Regex in where
vor 3 Tagen von tar 8 / 1145

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

Rechnung: Belegspez. Adresse
vor 11 Stunden von Manfred K. 3 / 461
Daten an Tabelle binden
Gestern von Lukas Sanders 4 / 2308
Regex in where
vor 3 Tagen von tar 8 / 1145

Unbeantwortete Forenbeiträge

BUSOBJEKT zu CMIS PHIO ermitteln
vor 5 Tagen von snooga87 1 / 758
aRFC im OO-Kontext
letzen Monat von ralf.wenzel 1 / 3938
Hilfe bei SWEC/SWE2
September 2024 von retsch 1 / 10363