Führende Nullen in einem c-Feld auffüllen

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

Alles rund um die Sprache ABAP®: Funktionsbausteine, Listen, ALV
22 Beiträge • Vorherige Seite 2 von 2 (current)
22 Beiträge Vorherige Seite 2 von 2 (current)

Re: Führende Nullen in einem c-Feld auffüllen

Beitrag von ralf.wenzel (Top Expert / 3776 / 176 / 262 ) »
sapjunior2015 hat geschrieben:Ich bin neu in der Programmierung und hoffe das ich die richtigen Daten liefern kann.

*" IMPORTING
*" VALUE(INPUT) TYPE CLIKE
*" EXPORTING
*" VALUE(OUTPUT) TYPE CLIKE
Das Standardcoding kann ich selbst nachgucken - ich will wissen, welchen Typ DEINE Felder haben.
Bild
Ralf Wenzel Heuristika SAP-Development
25 Jahre SAP-Entwickler • 20 Jahre Freiberufler
PublikationenUngarische NotationXing

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


Re: Führende Nullen in einem c-Feld auffüllen

Beitrag von sapjunior2015 (ForumUser / 14 / 0 / 0 ) »
Das ist der Funktionsbaustein...
demnach aktuell noch keine Datendeklaration für input und output vorgenommen.

Code: Alles auswählen.

FUNCTION conversion_exit_huid_output.
*"----------------------------------------------------------------------
*"*"Lokale Schnittstelle:
*"  IMPORTING
*"     REFERENCE(INPUT) TYPE  ANY
*"  EXPORTING
*"     REFERENCE(OUTPUT) TYPE  ANY
*"----------------------------------------------------------------------
  DATA: lo_appl    TYPE REF TO /scwm/ex_hu_appl_conversion,
        lv_huident TYPE /scwm/de_huident.

  IF input IS INITIAL.
    output = input.
    RETURN.
  ENDIF.

  IF go_hugm->gs_main-appl IS INITIAL.
* default: alpha conversion
    CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT'
             EXPORTING
                  input  = input
            IMPORTING
                  output = output.
  ELSE.
    TRY.
      GET BADI lo_appl FILTERS appl = go_hugm->gs_main-appl.
      lv_huident = input.
      CALL BADI lo_appl->exit_output EXPORTING iv_input  = lv_huident
                                     IMPORTING ev_output = output.
      CATCH cx_badi_not_implemented.
        CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT'
                 EXPORTING
                      input  = input
                 IMPORTING
                      output = output.
    ENDTRY.
  ENDIF.
ENDFUNCTION.

Re: Führende Nullen in einem c-Feld auffüllen

Beitrag von ralf.wenzel (Top Expert / 3776 / 176 / 262 ) »
So, und jetzt erklärst du bitte nochmal genau, was du machen willst, was der Standard-Funktionsbaustein (den du *natürlich* nicht ändern darfst) conversion_exit_huid_output nicht macht.
Bild
Ralf Wenzel Heuristika SAP-Development
25 Jahre SAP-Entwickler • 20 Jahre Freiberufler
PublikationenUngarische NotationXing

Re: Führende Nullen in einem c-Feld auffüllen

Beitrag von sapjunior2015 (ForumUser / 14 / 0 / 0 ) »
Ich muss ehrlich gestehen, dass ich nicht weiß was gemacht werden soll.
Habe nur die Aufgabe bekommen die führenden Nullen zu löschen.
Und da ich Anfänger bin, bin ich ein wenig ratlos.
Aber eigentlich würde ich Ihr vorgeschlagenes Coding

Code: Alles auswählen.

TRANSLATE feld USING '0 '.
anstatt des Funktionsbausteins

Code: Alles auswählen.

CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT'
einsetzen.


Dann würde das Coding des Funktionsbausteins

Code: Alles auswählen.

'CONVERSION_EXIT_ALPHA_OUTPUT'
abgeändert werden.

Könnte dies so funktionieren?

Re: Führende Nullen in einem c-Feld auffüllen

Beitrag von ralf.wenzel (Top Expert / 3776 / 176 / 262 ) »
Ich habe nach Daniels Einwurf schon geschrieben, dass TRANSLATE eine schlechte Idee ist und du lieber den SHIFT nimmst.

Aber du kannst das Standardcoding im Funktionsbaustein der SAP aber nicht ändern.
Bild
Ralf Wenzel Heuristika SAP-Development
25 Jahre SAP-Entwickler • 20 Jahre Freiberufler
PublikationenUngarische NotationXing

Re: Führende Nullen in einem c-Feld auffüllen

Beitrag von sapjunior2015 (ForumUser / 14 / 0 / 0 ) »
Das mit dem ändern habe ich egrade gemerkt.

Das bedeutet ich kann den Funktionsbaustein

Code: Alles auswählen.

CALL FUNCTION 'CONVERSION_EXIT_HUID_OUTPUT'
durch die Codezeile

Code: Alles auswählen.

SHIFT feld LEFT DELETING LEADING '0'
ersetzen und habe mein Ziel erreicht?

Re: Führende Nullen in einem c-Feld auffüllen

Beitrag von ralf.wenzel (Top Expert / 3776 / 176 / 262 ) »
sapjunior2015 hat geschrieben:Das mit dem ändern habe ich egrade gemerkt.

Das bedeutet ich kann den Funktionsbaustein

Code: Alles auswählen.

CALL FUNCTION 'CONVERSION_EXIT_HUID_OUTPUT'
durch die Codezeile

Code: Alles auswählen.

SHIFT feld LEFT DELETING LEADING '0'
ersetzen und habe mein Ziel erreicht?
Das kommt drauf an, ob der Aufruf in einem SAP-Programm steckt oder nicht. Was der Funktionsbaustein macht, ist offensichtlich vom Zustand des Objektes vom Typ /scwm/ex_hu_appl_conversion abhängig (ich habe den nicht auf meinem System, darum bin ich etwas vorsichtig), aber grundsätzlich geht das.
Bild
Ralf Wenzel Heuristika SAP-Development
25 Jahre SAP-Entwickler • 20 Jahre Freiberufler
PublikationenUngarische NotationXing

Vergleichbare Themen

5
Antw.
12655
Views
Führende Nullen auffüllen
von ChrissixD » 24.03.2017 12:59 • Verfasst in ABAP® für Anfänger
3
Antw.
2050
Views
Auffüllen mit Nullen
von nachtfalkeBS » 25.04.2008 14:36 • Verfasst in ABAP® für Anfänger
9
Antw.
6844
Views
Führende Nullen
von Beginner014 » 24.10.2014 08:51 • Verfasst in ABAP® für Anfänger
4
Antw.
3006
Views
Führende Nullen
von Kelly » 05.10.2005 09:48 • Verfasst in ABAP® für Anfänger
18
Antw.
12929
Views
führende Nullen
von tabea* » 14.04.2007 09: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

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.