Führende Nullen auffüllen

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

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

Führende Nullen auffüllen

Beitrag von ChrissixD (ForumUser / 27 / 17 / 0 ) »
Hallo Leute,
ich suche jemand der mir bei meinem kleinen Problem helfen kann.
Ich weise ein Textfeld (in dem meisten Zahlen stehen) einem WorkArea Feld zu und gebe dieses dann nachher aus mit der länge festgelegt auf 10:

Code: Alles auswählen.

WRITE (10) wa-kommi.
In meinem Beispiel weise ich diesem Feld eine 7-Stellige Zahl zu (1234567). Die soll dann nachher so ausgegeben werden: 0001234567

Ich habe schon versucht mich schlau zu machen doch mit diesem Code funktioniert es leider nicht:

Code: Alles auswählen.

SHIFT wa-kommi RIGHT DELETING TRAILING space.
OVERLAY wa-kommi WITH '0000000000'.
Dann ist das Ergebnis: 0000000000.
Wenn ich die Overlay Zeile weglasse, dann ist das Feld leer. Wenn ich einen Breakpoint setzt gibt das Feld:
[!10 Leerzeichen!]1234567
aus. => Weil es auf 10 begrenzt ist, ist das Feld dann leer. *Der zeigt die Leerzeichen hier nicht an,deswegen [!10 Leerzeichen!]

Ich versteh aber nicht wieso, wie kann ich das am besten umsetzten.
Danke für eure Hilfe
MfG

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


Re: Führende Nullen auffüllen

Beitrag von Tron (Top Expert / 1327 / 35 / 332 ) »
Moin.
mit dem Baustein CONVERSION_EXIT_ALPHA_INPUT.
Overlay ist meines Wissens obsolet.
gruß Jens

Folgende Benutzer bedankten sich beim Autor Tron für den Beitrag:
ChrissixD

<:: XING-Gruppe Tricktresor::>
Die deutsche Rechtschreibung ist Freeware, du darfst sie kostenlos nutzen –
Aber sie ist nicht Open Source, d. h. du darfst sie nicht verändern oder in veränderter Form veröffentlichen.

Re: Führende Nullen auffüllen

Beitrag von ChrissixD (ForumUser / 27 / 17 / 0 ) »
Hi Jens ,
danke für deine schnelle Antwort. Mit dieser Funktion funktioniert es bei wa-kommi.
Da es die Feldlänge 20 hat, aber ich nur 10 brauche, musste ich das so ausgeben:

Code: Alles auswählen.

wa-kommi+10(10)
Jetzt hab ich noch ein Feld, aber mit der Länge 10. Ich rufe den Baustein CONVERSION_EXIT_ALPHA_INPUT genauso auf wie bei wa-kommi (Kann man die auch kombinieren?)
Dort ist eine 9-stellige Nummer drin und wenn ich einen Breakpoint setzte beim Write Befehl dann steht dort auch dass der Inhalt 0123456789 ist, was richtig wär.
Aber wenn ich das Programm dann ausführe kommt nur 123456789 mit einem freien Feld hinter der 9. Woran liegt das?

Gruß

Re: Führende Nullen auffüllen

Beitrag von JHM (Top Expert / 1197 / 1 / 197 ) »
ChrissixD hat geschrieben:Woran liegt das?
Wie ist das Feld definiert, dass du per WRITE ausgibst?
Wenn dort im DDICT eine Convertierungsroutine hinterlegt ist, führt der WRITE Befehl diese vor der Bildschirmausgabe aus. Es ist wahrscheinlich, dass impliziert der FuBa CONVERSION_EXIT_ALPHA_OUTPUT ausgeführt wird.


Schau dir mal den WRITE Zusatz USING NO EDIT MASK an:
This addition overrides a conversion routine defined by a reference to ABAP Dictionary. The addition NO EDIT MASK only switches off the execution of an assigned conversion routine. The addition EDIT MASK calls either another conversion routine or defines an edit mask. mask expects a character-like data object.

Folgende Benutzer bedankten sich beim Autor JHM für den Beitrag:
ChrissixD

Gruß Hendrik

Re: Führende Nullen auffüllen

Beitrag von ralf.wenzel (Top Expert / 3924 / 200 / 280 ) »
In ein Feld schieben, das als type n length 10 deklariert ist und dann in dein 20er Feld zurückschreiben.

ABAP 7.40 und neuer: Datenelenent NUMC 10 suchen, CONV-Anweisung nutzen. Angenommen, das Datenelenent heißt numc10:

wa-kommi = CONV numc10( wa-kommi ).

Ralf

Folgende Benutzer bedankten sich beim Autor ralf.wenzel für den Beitrag:
ChrissixD

Bild
Ralf Wenzel Heuristika SAP-Development
25 Jahre SAP-Entwickler • 20 Jahre Freiberufler
PublikationenUngarische NotationXing

Re: Führende Nullen auffüllen

Beitrag von ChrissixD (ForumUser / 27 / 17 / 0 ) »
Klappt wunderbar, danke Leute.
Habe das wa-kommi Feld (mit Länge 20) in ein neues Feld type C (Länge 10) geschrieben und das dann mit SHIFT und OVERLAY die führenden Nullen vorgehängt. Habe C genommen weil in dem Kommi-Feld auch Text sein kann. "CONVERSION_EXIT_ALPHA_INPUT" funktionierte nicht sobald Text in dem Feld war.

Bei dem anderen Feld war das einfacher. Das hat nur 10 Stellen und dort sind auch nur Zahlen zulässig. Du hattest Recht JHM, dass es an EDIT MASK lag, dass die führenden Nullen bei der Ausgabe gelöscht wurden. Mit dem Zusatz "NO EDIT MASK" bleiben sie da.

Danke für eure Hilfe
Gruß

Seite 1 von 1

Vergleichbare Themen

21
Antw.
65383
Views
Führende Nullen in einem c-Feld auffüllen
von wexpress » 16.02.2005 10:51 • Verfasst in ABAP® Core
3
Antw.
2193
Views
Auffüllen mit Nullen
von nachtfalkeBS » 25.04.2008 14:36 • Verfasst in ABAP® für Anfänger
18
Antw.
13897
Views
führende Nullen
von tabea* » 14.04.2007 09:21 • Verfasst in ABAP® für Anfänger
4
Antw.
3322
Views
Führende Nullen
von Kelly » 05.10.2005 09:48 • Verfasst in ABAP® für Anfänger
9
Antw.
7219
Views
Führende Nullen
von Beginner014 » 24.10.2014 08:51 • 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

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.

Unbeantwortete Forenbeiträge

Daten an Tabelle binden
vor 2 Tagen von Bright4.5 1 / 775
aRFC im OO-Kontext
vor 4 Wochen von ralf.wenzel 1 / 2395
Hilfe bei SWEC/SWE2
letzen Monat von retsch 1 / 8982