Leerzeichen ausgeben

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

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

Leerzeichen ausgeben

Beitrag von Gast ( / / 0 / 3 ) »
Hallo!

Ich habe eine interne Tabelle, deren Datenzeilen aus einem Feld vom Typ Char255 bestehen. Dabei stehen innerhalb der Strings bestimmte Informationen, bspw. Nachname und Vorname, immer an der gleichen Stelle und mit der gleichen Länge. Ist der Name kürzer als die Länge, wird mit Leerzeichen aufgefüllt. Diese Infos muß ich in einen neuen String, d.h. in neuer Reihenfolge zusammensetzen. Dazu - und jetzt kommt mein Problem - möchte ich die Leerzeichen am Ende erhalten. Im Moment macht das System mit "concatenate feld+11(10) feld(10) into neufeld" aus dem Benutzer

Code: Alles auswählen.

'Schmidt  Paul      '
den Benutzer

Code: Alles auswählen.

'PaulSchmidt'
ich brauche aber

Code: Alles auswählen.

'Paul      Schmidt  '
.

Schonmal vielen Dank,
F.T.

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


Beitrag von ereglam (Top Expert / 1829 / 2 / 7 ) »
Hallo F.T.,

probier's mal mit folgendem Verfahren:

Code: Alles auswählen.

TYPES:
  BEGIN OF ts_itab, "gedachte Struktur in ITAB
*...
    nachname TYPE c LENGTH 10,
    vorname  TYPE c LENGTH 10,
*...
  END   OF ts_itab,
  BEGIN OF ts_neufeld, "gedachte Struktur in GS_NEUFELD
*...
    vorname  TYPE c LENGTH 10,
    nachname TYPE c LENGTH 10,
*...
  END   OF ts_neufeld.

DATA:
  gs_itab    TYPE char255, "beide CHAR255
  gs_neufeld TYPE char255.

FIELD-SYMBOLS:
  <gs_itab>   TYPE ts_itab,
  <gs_neufeld TYPE ts_neufeld.

* mittels Feldsymbol geänderte Bedeutung auf jeweiliges Feld legen
ASSIGN:
 gs_itab    TO <gs_itab>    CASTING,
 gs_neufeld TO <gs_neufeld> CASTING.

* feldweise Übertragung
gs_neufeld-vorname = gs_itab_vorname.
*...
Gruß
Ereglam


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

Beitrag von Margolwes (ForumUser / 83 / 2 / 0 ) »
Hallo Ereglam,

vielen Dank für Deinen Tip. An eine feldweise Übertragung hatte ich auch mal gedacht, aber dann habe ich ein anderes Problem. Die Ausgabedatei, die ich erzeugen muß, ist leider nicht gänzlich einheitlich.

Es kommen zunächst ca. 10 Zeilen mit Text, statistischen Angaben etc., die sich nicht in Felder strukturieren lassen, jedenfalls nicht in solche, die der eigentlichen Datenaufbereitung entsprechen. Aus diesem Grund habe ich versucht, die Daten mit concatenate in einen langen Sstring zu übertragen.

Viele Grüße, F.T.

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

es hindert Dich doch niemand daran, Daten direkt aus GS_ITAB zu holen und direkt in GS_NEUFELD zu stellen.
Deshalb habe ich hier ja die Variante mit den zusätzlichen Feldsymbolen gezeigt.

Mit den Feldsymbolen wird ja nur eine andere Sichtweise zusätzlich auf die Felder gelegt, die einen (offset-freien) Zugriff auf einzelne Bereiche ermöglicht..

Mittels unterschiedlich typisierter Feldsymbole kann man wunderbar in einer Datenzeile unterschiedliche Bedeutungen legen und über das jeweilige Feldsymbol die Daten in der richtigen Art auslesen oder schreiben.

Code: Alles auswählen.

*'AName   Vorname       '
*'BStraße 11            '
*'C12345Musterstadt     '

TYPES: 
  BEGIN OF ts_typ, "Name
    type     TYPE c LENGTH 1, 
    data     TYPE c LENGTH 20, 
  END   OF ts_type, 
  BEGIN OF ts_a, "Name
    nachname TYPE c LENGTH 10, 
    vorname  TYPE c LENGTH 10, 
  END   OF ts_a, 
  BEGIN OF ts_b, "Straße
    strasse  TYPE c LENGTH 20, 
  END   OF ts_b, 
  BEGIN OF ts_b, "Straße
    plz      TYPE c LENGTH 5, 
    ort      TYPE c LENGTH 15, 
  END   OF ts_b. 

DATA: 
  gs_zeile TYPE ts_typ. 

FIELD-SYMBOLS: 
  <gs_a> TYPE ts_a, 
  <gs_b> TYPE ts_b, 
  <gs_c> TYPE ts_c. 

* mittels Feldsymbol geänderte Bedeutung auf jeweiliges Feld legen 
ASSIGN: 
  gs_zeile-data TO <gs_a>    CASTING, 
  gs_zeile-data TO <gs_b>    CASTING,
  gs_zeile-data TO <gs_c>    CASTING. 

LOOP AT gt_itab INTO gs_zeile.
* Zeile besorgen
  CASE gs_zeile-typ.
    WHEN 'A'.
* Name
      WRITE:
        / <gs_a>-vorname,
          <gs_a>-nachname.
    WHEN 'B'.
* Straße
      WRITE:
        / <gs_b>-strasse.
    WHEN 'C'.
* Ort
      WRITE:
        / <gs_c>-plz,
          <gs_c>-ort.
  ENDCASE.
ENDLOOP.
Gruß
Ereglam


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

Beitrag von Margolwes (ForumUser / 83 / 2 / 0 ) »
Hallo Ereglam,

ja! Hat prima geklappt. Vielen Dank für die Hilfe. Netter Nebeneffekt: Ich habe endlich (!) mal eine Vorstellung davon bekommen, was man mit den Feldsymbolen so anstellen kann. :=))

Viele Grüße,
F.T.

Beitrag von ereglam (Top Expert / 1829 / 2 / 7 ) »
gut....



und wohin geht die Rechnung? :twisted:
Gruß
Ereglam


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

Seite 1 von 1

Vergleichbare Themen

8
Antw.
3980
Views
write ausgeben vor Selektionsbildschirm ausgeben
von bohne » 14.02.2006 12:50 • Verfasst in ABAP® für Anfänger
8
Antw.
3567
Views
Ungewollte Leerzeichen in CSV
von andipalamos » 28.10.2014 11:40 • Verfasst in ABAP® für Anfänger
1
Antw.
1905
Views
Verketten / Leerzeichen
von Gast » 03.05.2005 16:10 • Verfasst in ABAP® für Anfänger
1
Antw.
1828
Views
SapScript Leerzeichen
von Gast » 06.05.2005 16:47 • Verfasst in ABAP® Core
3
Antw.
2775
Views
REPLACE von Leerzeichen
von dingo » 26.03.2009 08:07 • 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

E-Mail versenden mit GroupWise 18
vor einer Stunde von a-dead-trousers 3 / 291
PDF-Anzeige unter EDGE
vor 5 Tagen von jocoder 2 / 73

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

E-Mail versenden mit GroupWise 18
vor einer Stunde von a-dead-trousers 3 / 291
PDF-Anzeige unter EDGE
vor 5 Tagen von jocoder 2 / 73

Unbeantwortete Forenbeiträge

Zwischensumme Adobe Forms
vor 4 Wochen von Lucyalison 1 / 132
Group Items auf einer Filterbar
vor 4 Wochen von Bright4.5 1 / 166