Funktionsbaustein Aufgabe 1: String

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

Funktionsbaustein Aufgabe 1: String

Beitrag von Django90 (ForumUser / 27 / 15 / 0 ) »
Guten Tag liebes ABAP Forum,

Meine erste Aufgabe war:


Ein Funktionsbaustein mit zwei IMPORT Parametern und einem EXPORT Parameter.

Import Parameter sind jeweils STRINGS
Export Parameter ist auch STRING

Die Inhalte aus Import Parameter 1 und 2 sollen zusammengefügt werden und im Export Parameter zurückgegeben werden.

Meine Lösung ist:

ConFUNCTION ZMF_TEXT_CONCAT.
*"----------------------------------------------------------------------
*"*"Lokale Schnittstelle:
*" IMPORTING
*" REFERENCE(IV_ERSTESWORT) TYPE STRING
*" REFERENCE(IV_ZWEITESWORT) TYPE STRING
*" EXPORTING
*" REFERENCE(EX_TEXT) TYPE STRING
*"----------------------------------------------------------------------

Concatenate IV_ERSTESWORT IV_ZWEITESWORT into EV_TEXT.

ENDFUNCTION.

Nun ist meine zweite Aufgabenstellung:
-Von den beiden Strings jeweils nur die ersten drei Buchstaben in den Export Parameter stecken.
-Stichwort: ABAP String Operationen/Ich muss davon ausgehen, dass die Eingabe variablen beliebige Werte beinhalten.
Könnte mir jemand ein Beispiel für die Aufgabenstellung geben?


Vielen Dank und Mfg, MF

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


Re: Funktionsbaustein Aufgabe 1: String

Beitrag von a-dead-trousers (Top Expert / 4271 / 213 / 1140 ) »
Mit den + und () Operatoren kann man auf Teilfelder zugreifen.
+ gibt den Startindex an
(...) gibt die Länge an

IV_ERSTESWORT(3) wären somit die ersten drei Buchstaben. Der Index ist automatisch 0 und muss in diesem Beispiel nicht angegeben werden.
Bei Strings ist aber aufzupassen. Wenn diese Angaben über das Ende des Strings hinausreicht, dann gibts einen schönen kleinen Dump.
Das kannst du aber abfangen indem du vorher die Länge prüfts. Zum Beispiel mit der Funktion STRLEN.

Mehr Infos dazu findest du in der ABAP-Hilfe. Einfach suchen.

Folgende Benutzer bedankten sich beim Autor a-dead-trousers für den Beitrag:
Django90

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

Re: Funktionsbaustein Aufgabe 1: String

Beitrag von Django90 (ForumUser / 27 / 15 / 0 ) »
Vielen Dank für deine Antwort.

Ich habe die Aufgabenstellung leider nicht so richtig verstanden, jedoch gibt mir deine Antwort den kleinen, jedoch feinen schlag gegen meinen Kopf den ich gebraucht habe.

Concatenate IV_ERSTESWORT(3) IV_ZWEITESWORT(3) into EV_TEXT.

Mfg, MF

Re: Funktionsbaustein Aufgabe 1: String

Beitrag von a-dead-trousers (Top Expert / 4271 / 213 / 1140 ) »
Wie gesagt: Aufpassen, wenn ein String eingegeben wird, der kürzer als drei Zeichen ist. Dann kommt es zu einem Fehler.
Beim Testen des Funktionsbausteins ist das kein Problem, da SAP hier die Eingabefelder mit einer fixen Breite vorgibt.
Ruft man diesen Baustein aber in einem Programm auf und übergibt kürzere Texte, passiert ein Kurzdump.

Folgende Benutzer bedankten sich beim Autor a-dead-trousers für den Beitrag:
Django90

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

Re: Funktionsbaustein Aufgabe 1: String

Beitrag von Django90 (ForumUser / 27 / 15 / 0 ) »
Und jetzt ein weiteren import Parameter als Zahl welcher festlegt wie viele Zeichen verwendet werden.also nicht drei wie eben sondern auch noch variabel viele...

Wie mache ich das?

Den Importparameter habe ich schon angelegt, aber wie soll der Quellcode aussehen "Thinkingface"

Mfg

Re: Funktionsbaustein Aufgabe 1: String

Beitrag von Romaniac (Specialist / 198 / 57 / 26 ) »
wenn I_LEN deine Anzahl Zeichen ist dann so:

Concatenate IV_ERSTESWORT(I_LEN) IV_ZWEITESWORT(I_LEN) into EV_TEXT

oder mit ander Syntax:

EV_TEXT = IV_ERSTESWORT(I_LEN) && IV_ZWEITESWORT(I_LEN).
Geht nicht gibts nicht

Re: Funktionsbaustein Aufgabe 1: String

Beitrag von Django90 (ForumUser / 27 / 15 / 0 ) »
Mein Parameter für die Int Variable habe ich wie folgt Deklariert: IV_ERSTEZAHLE TYPE INTEGER

Leider verstehe ich dein (I_LEN) nicht so richtig.
Soll (I_LEN) der Import Parameter sein?

Ich hoffe du kannst mir weiter helfen :)

Re: Funktionsbaustein Aufgabe 1: String

Beitrag von JohnLocklay (Specialist / 183 / 30 / 2 ) »
was Du auch machen kannst - Du könntest im Funktionsbaustein
die länge der Eingabe bei den Importingparameter testen.

Code: Alles auswählen.

DATA lv_length type i.

"Gibt dir die Anzahl der Zeichen aus.
iv_lenght = strlen(  IV_ERSTEZAHLE ).

if lv_lenght < 3.
"Fehler Abfangen
ELSE:
"Funktion weiter ausführen
Endif.

Code once - Think twice

Seite 1 von 1

Vergleichbare Themen

1
Antw.
838
Views
Funktionsbaustein Aufgabe 2: Write into...
von Django90 » 21.09.2017 14:31 • Verfasst in ABAP® für Anfänger
2
Antw.
2288
Views
Hilfe bei Aufgabe benötigt
von RpL196 » 21.12.2011 08:20 • Verfasst in ABAP® für Anfänger
1
Antw.
1605
Views
Wieder so eine ... Aufgabe. :-((
von Anfänger » 19.11.2010 18:44 • Verfasst in ABAP® für Anfänger
2
Antw.
497
Views
Aufgabe Programm/- Tabellenerstellung
von jonasx46 » 16.10.2019 14:49 • Verfasst in ABAP® für Anfänger
0
Antw.
2524
Views
Instanzmethode in WF-Aufgabe aufrufen?
von bapimueller » 30.09.2019 20:42 • Verfasst in ABAP® Core

Aktuelle Forenbeiträge

Zwischensumme Adobe Forms
vor 3 Tagen von Lucyalison 1 / 64
Interne Tabelle
vor 5 Tagen von black_adept 2 / 133
MaLo-Checker in ABAP
vor einer Woche von A6272 6 / 255

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

Zwischensumme Adobe Forms
vor 3 Tagen von Lucyalison 1 / 64
Interne Tabelle
vor 5 Tagen von black_adept 2 / 133
MaLo-Checker in ABAP
vor einer Woche von A6272 6 / 255

Unbeantwortete Forenbeiträge

Zwischensumme Adobe Forms
vor 3 Tagen von Lucyalison 1 / 64
Group Items auf einer Filterbar
vor einer Woche von Bright4.5 1 / 107
tRFC Transaktionen SM58
vor 4 Wochen von A6272 1 / 140