Rheinwerk < openbook > SAP-Wissen aus erster Hand
SAP-Wissen aus erster Hand.
 
Inhaltsverzeichnis
Vorwort zur vierten Auflage
1 ABAP und die ersten Schritte im SAP-System
2 ABAP Dictionary
3 Programmieren im ABAP Editor
4 Felder und Berechnungen
5 Modifikation von Zeichenketten
6 Debugging von Programmen
7 Modifikation von transparenten Datenbanktabellen
8 Rechnen mit Datum und Zeit, Mengen und Währungen
9 Mit Daten in einer Datenbanktabelle arbeiten
10 Programmablaufsteuerung und logische Ausdrücke
11 Selektionsbildschirme
12 Interne Tabellen
13 Modularisierung von Programmen
14 Weiterführende Themen
A Icons auf einen Blick
B Abkürzungsverzeichnis
C Die Autoren
Stichwortverzeichnis

Download:
- Beispielprogramme, ca. 23 KB

Buch bestellen
Ihre Meinung?

Spacer
<< zurück
Einstieg in ABAP von Karl-Heinz Kühnhauser, Thorsten Franz
Buch: Einstieg in ABAP

Einstieg in ABAP
Pfeil 5 Modifikation von Zeichenketten
Pfeil 5.1 Zeichenketten deklarieren
Pfeil 5.2 Zeichenketten-Operationen
Pfeil 5.2.1 Zeichenketten verschieben
Pfeil 5.2.2 Zeichenketten ersetzen
Pfeil 5.2.3 Zeichenketten verdichten
Pfeil 5.2.4 Zeichenkettenfelder zusammenziehen
Pfeil 5.2.5 Zeichenketten zerlegen
Pfeil 5.2.6 Zeichenketten-Operationen mit direkter Positionierung
Pfeil 5.3 Codebeispiel zu String-Operationen

In diesem Kapitel beschäftigen wir uns mit dem Thema Zeichenketten. Sie lernen verschiedene Datentypen kennen, die Ihnen für Zeichenketten zur Verfügung stehen, sowie Operationen, die Sie auf Zeichenketten anwenden können.

 
Zum Seitenanfang

5    Modifikation von Zeichenketten Zur vorigen ÜberschriftZur nächsten Überschrift

Wörter sind Zeichenketten, aber auch Zahlen oder Datumsangaben können Zeichenketten sein – je nach Darstellungs- und Verwendungszweck. In diesem Kapitel lernen Sie deshalb die Anwendungsgebiete, Aufgaben und Operationen im Zusammenhang mit Zeichenketten kennen.

Mit dem Handwerkszeug, das Sie in Kapitel 4, »Felder und Berechnungen«, erlernt haben, könnten Sie bereits Telefonnummern oder Artikelnummern multiplizieren. Wahrscheinlich sind Sie aber auch der Ansicht, dass es ziemlich unsinnig wäre, arithmetische Operationen auf solche Zeichenketten anzuwenden. Es könnte hingegen durchaus sinnvoll sein, eine örtliche Telefonnummer um die internationale und nationale Vorwahlnummer zu ergänzen. Hierzu müssen Sie mit den grundlegenden Anweisungen für den Umgang mit Zeichenketten-Operationen vertraut sein – und genau das werden Sie nach diesem Kapitel geschafft haben.

 
Zum Seitenanfang

5.1    Zeichenketten deklarieren Zur vorigen ÜberschriftZur nächsten Überschrift

Technisch betrachtet, spiegelt sich der unterschiedliche Verwendungszweck von Feldern in unterschiedlichen Datentypen wider. Für Zeichenketten sind in ABAP folgende elementare Datentypen vorgesehen:

  • Datentyp c für Zeichenfelder fixer Länge

  • Datentyp n für numerische Zeichenfelder fixer Länge

  • Datentyp string für Zeichenfelder variabler Länge

Der Datentyp string verhält sich für die meisten praktischen Zwecke wie der Datentyp c, weist jedoch einige Besonderheiten auf, auf die wir in diesem Kapitel eingehen werden. Der Datentyp c wird für alphanumerische Zeichen verwendet, wobei die minimale Feldlänge ein Zeichen, die maximale Feldlänge 65.535 Zeichen beträgt und der Initialwert ein Leerzeichen ist. Wie alle anderen Felder müssen Zeichenfelder vor ihrer Verwendung deklariert werden. Das Feld GESCHLECHT mit einer Feldlänge von einem Zeichen können Sie mit der DATA-Anweisung, ausführlich geschrieben, folgendermaßen deklarieren:

DATA geschlecht TYPE c LENGTH 1.

Äquivalent, aber weniger lesbar, ist die ältere Schreibweise:

DATA geschlecht(1) TYPE c.

Die Feldlänge folgt hier unmittelbar hinter dem Feldnamen, ohne Leerzeichen in Klammern; der Datentyp schließt sich als Operand an. Da der Datentyp c ein generischer Datentyp ist, begegnen Sie in älteren ABAP-Programmen auch der verkürzten Deklaration:

DATA geschlecht.
[»]  Standardeinstellungen

Bei einem generischen Datentyp werden fehlende Angaben durch Standardeinstellungen ersetzt: Geben Sie keinen Datentyp an, verwendet das System automatisch den Datentyp c; geben Sie bei einem Datentyp c die Feldlänge nicht explizit an, wird die Standardlänge 1 vom System implizit eingesetzt. Die angeführten Deklarationen für das Feld GESCHLECHT sind daher identisch.

Die folgende Deklaration könnte Ihnen ebenfalls in einem älteren ABAP-Programm begegnen. Hier wird die Länge in der Klammernotation angegeben und der Datentyp ganz weggelassen.

DATA familienname(20).
[ ! ]  Vorsicht, veraltet!

Die Verwendung der Standardeinstellungen, wie hier gezeigt, ist in modernem ABAP nicht mehr üblich. Warum? Die Angabe von Datentyp und Länge fehlt, der Programmierer hat sich darauf verlassen, dass das System die Standardeinstellungen für Typ und Länge automatisch übernimmt. Für eine andere Person, die das Programm in Zukunft einmal warten muss, bedeutet dies, dass sie das Standardverhalten des Systems genau kennen muss, um das Verhalten des Programms korrekt zu verstehen. Aber genau hier lauern Fallstricke, weil das System nicht immer das tut, was man erwartet, sondern sich zuweilen ziemlich bizarr verhält. Daher empfehlen wir: Formulieren Sie Ihre Deklarationen so explizit wie möglich, um bösen Überraschungen aus dem Weg zu gehen.

Felder des Datentyps n haben einen besonderen Verwendungszweck: Zwar handelt es sich um Felder für Zeichenketten, die auch formal wie solche behandelt werden, aber sie dürfen nur aus numerischen Zeichen bestehen. Die Zeichenkette wird rechtsbündig in das Feld geschrieben. Hat das Feld mehr Stellen als die Zeichenkette, werden die führenden Stellen links mit Nullen aufgefüllt. Typische Beispiele sind Artikelnummern, Positionsnummern, Hierarchiestufen und Feld- oder Satzlängen. Wenn Sie zwar mit Nummern arbeiten, aber im herkömmlichen Sinn keine Rechenoperationen mit ihnen durchführen möchten, bietet sich der Datentyp n an. Man nennt diese Felder deshalb auch numerische Textfelder.

Auch der Datentyp n ist ein generischer Datentyp. Die minimale Feldlänge ist 1, die maximale Feldlänge 65.535 Zeichen – genau wie bei Datentyp c. Im Gegensatz zu Feldern vom Typ c ist jedoch bei Feldern vom Typ n der Initialwert eine Null.

Die übrigen Zusätze der DATA-Anweisung gelten für beide Datentypen gleichermaßen, insbesondere die Zusätze TYPE, LIKE und VALUE. Beispielsweise könnte man das Feld FAMILIENNAME wie das Datenelement des Feldes TNAME der Tabelle ZTEILNEHMER deklarieren:

DATA familienname TYPE zteilnehmer-tname.

Somit gelten für das Feld FAMILIENNAME dieselben Eigenschaften wie für das Tabellenfeld TNAME: Datentyp c, Feldlänge 20 Zeichen.

Die korrekte Anweisung für die Vorbelegung des Feldes GESCHLECHT mit dem Wert W lautet:

DATA geschlecht TYPE c LENGTH 1 VALUE 'W'.
[ ! ]  Groß-/Kleinschreibung

Der Startwert wird als Literal geschrieben. Sehr wichtig ist es hier, Groß- und Kleinschreibung zu unterscheiden. Insbesondere bei späteren Abfragen ist der Unterschied entscheidend: Suchen Sie in einem Feld ein großes W, und befindet sich dort tatsächlich ein kleines w, kann das System keinen Treffer verzeichnen.

 


Ihre Meinung?

Wie hat Ihnen das Openbook gefallen? Wir freuen uns immer über Ihre Rückmeldung. Schreiben Sie uns gerne Ihr Feedback als E-Mail an kommunikation@rheinwerk-verlag.de

<< zurück
 Zum Rheinwerk-Shop
Zum Rheinwerk-Shop: Einstieg in ABAP Einstieg in ABAP
Jetzt Buch bestellen

 Buchempfehlungen
Zum Rheinwerk-Shop: SAP – Der technische Einstieg
SAP – Der technische Einstieg


Zum Rheinwerk-Shop: ABAP Objects – Das umfassende Handbuch
ABAP Objects – Das umfassende Handbuch


Zum Rheinwerk-Shop: ABAP-Entwicklung für SAP S/4HANA
ABAP-Entwicklung für SAP S/4HANA


Zum Rheinwerk-Shop: Kundeneigene Erweiterungen mit ABAP
Kundeneigene Erweiterungen mit ABAP


Zum Rheinwerk-Shop: Schrödinger programmiert ABAP
Schrödinger programmiert ABAP


Zum Rheinwerk-Shop: Migration nach SAP S/4HANA
Migration nach SAP S/4HANA


Zum Rheinwerk-Shop: Design Thinking mit SAP
Design Thinking mit SAP


 Lieferung
Versandkostenfrei bestellen in Deutschland, Österreich und in die Schweiz
InfoInfo

 
 


Copyright © Rheinwerk Verlag GmbH 2020
Für Ihren privaten Gebrauch dürfen Sie die Online-Version natürlich ausdrucken. Ansonsten unterliegt das <openbook> denselben Bestimmungen, wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt.
Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.

 
[Rheinwerk]

Rheinwerk Verlag GmbH, Rheinwerkallee 4, 53227 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, service@rheinwerk-verlag.de

Cookie-Einstellungen ändern