Konvertierungsroutine CONVERSION EXIT NAME INPUT und CONVERSION EXIT NAME OUTPUT

Aus SAP-Wiki
Wechseln zu:Navigation, Suche

In SAP gibt es eine Reihe von Konvertierungsroutinen.

Zum Beispiel konvertiert bei der Konvertierungsroutine ALPHA der Funktionsbaustein CONVERSION_EXIT_ALPHA_INPUT ein CHAR-Feld mit einer Nummer ohne führende Nullen in ein CHAR-Feld mit führenden Nullen. Umgekehrt konvertiert der Funktionsbaustein CONVERSION_EXIT_ALPHA_OUTPUT ein CHAR-Feld mit führenden Nullen in ein Feld, wo die führenden Nullen nicht ausgegeben werden.

Zu einer Konvertierungsroutine-/Exit gibt es immer 2 Funktionsbausteine.

CONVERSION_EXIT_<NAME>_INPUT 

und

CONVERSION_EXIT_<NAME>_OUTPUT.

Man sollte die SAP-Hilfe zu den Konvertierungsroutinen lesen, wenn man sich mit diesem Thema näher beschäftigt. Die Arbeitsweise der Konvertierungsroutinen ist nicht intuitiv.

Eintrag Konvertierungsroutine in Domäne

  • Für eine Domäne kann eine Konvertierungsroutine im Feld "Konv.-Routine" eingetragen sein. <NAME> steht hier für den Namen der Konvertierungsroutine. Die Konvertierungsroutinen sind als Funktionsbausteine realisiert.
  • In diesem Beispiel steht die Konvertierungsroutine CUNIT.

KonvertierungCUNIT3.jpg

Suche nach Konvertierungsroutinen

  • Die Suche nach "conversion_exit*" in der Transaktion SE37 zeigt alle Konvertierungsfunktionsbausteine an. Hier 1951 Treffer.

Konvertierungsroutine6.jpg


Man könnte z. B. nun nach "Sprach" suchen, um alle Konvertierungsbausteine betreffend Sprachkonvertierungen zu finden.

Konvertierungsroutine7.jpg


Konvertierungsroutine8.jpg

Hier findet er z. B. die interessanten Funktionsbausteine

  • CONVERSION_EXIT_ISOLA_INPUT
  • CONVERSION_EXIT_ISOLA_OUTPUT

Parameter Funktionsbausteine Konvertierungsroutinen

  • Die Parameter der Funktionsbausteine zu den Konvertierungsroutinen sind immer gleich.
  • Es gibt einen Importparameter INPUT und einen Exportparameter OUTPUT beim Funktionsbaustein CONVERSION_EXIT_<NAME>_INPUT und genauso beim korrespondierenden Funktionsbaustein CONVERSION_EXIT_<NAME>_OUTPUT.
  • Hier am Beispiel der beiden Funktionsbausteine CONVERSION_EXIT_ALPHA_INPUT und CONVERSION_EXIT_ALPHA_OUTPUT.


Funktionsbaustein CONVERSION_EXIT_ALPHA_INPUT.

Konvertierungsroutine10.jpg


Konvertierungsroutine11.jpg


Funktionsbaustein CONVERSION_EXIT_ALPHA_OUTPUT.

Konvertierungsroutine12.jpg


Konvertierungsroutine13.jpg

Beispiele Konvertierungsroutinen

  • einem CHAR-Feld, welches auf der Datenbank mit führenden Nullen abgelegt ist, soll ohne führende Nullen angezeigt werden.
  • die Sprache ist gewöhnlich in einem Feld der Länge 1 auf der Datenbank gespeichert, wird aber in der Regel in Anzeigefeldern mit einem zweistelligen Wert angezeigt.

Konvertierungsroutine CUNIT

Auf der Datenbank ist die Mengenheit (Domäne MEINS) anders als die Mengenheit, die in anderen Sprachen dem User angezeigt wird. Dafür verantwortlich ist die Konvertierungsroutine CUNIT.

KonvertierungCUNIT1.jpg


KonvertierungCUNIT2.jpg


KonvertierungCUNIT3.jpg


Der Funktionsbaustein CONVERSION_EXIT_CUNIT_OUTPUT gibt für den Wert der Mengenheit auf der Datenbank und eine Sprache den Outputwert der Mengeneinheit, z. B. PC (Piece) statt ST (Stück).

KonvertierungCUNIT4.jpg


KonvertierungCUNIT5.jpg


KonvertierungCUNIT6.jpg


KonvertierungCUNIT7.jpg


KonvertierungCUNIT8.jpg

Konvertierungsroutine ALPHA

Im Dynpro werden beim Ereignis PAI (Process-After-Input) die Ziffern nach rechts geschoben und links mit Nullen aufgefüllt, z.B. '1' --> '00000001'.

Beim Feldtransport vor der Bildausgabe oder bei WRITE auf die Liste läuft genau die umgekehrte Konvertierung ab. '00000001' --> '1'.

Alpha1.jpg

Alpha2.jpg

Alpha3.jpg

Konvertierungsroutine ISOLA bei einem Sprachfeld

Das Feld NAST-SPRAS hat die Länge 1 und verweist auf das Datenelement NA_SPRAS.

Konvertierungsroutine1.jpg


Das Datenelement typisiert auf die Domäne SPRAS.

Konvertierungsroutine2.jpg


Das Datenelement SPRAS hat im Feld "Konv.-Routine" die Konvertierungsroutine ISOLA.

Konvertierungsroutine3.jpg


Ein Doppelklick auf den Namen der Konvertierungsroutine öffnet ein Fenster, in dem die Namen der Funktionsbausteine aufgeführt sind, die die Konvertierung durchführen. Hier konvertiert z. B. der Funktionsbaustein CONVERSION_EXIT_ISOLA_INPUT den einstelligen Sprachwert in einen zweistelligen Sprachwert, und der Funktionsbaustein CONVERSION_EXIT_ISOLA_OUTPUT den zweistelligen Sprachwert in einen einstelligen Sprachwert.

Konvertierungsroutine4.jpg


Die Auswirkung der Konvertierungsroutine sieht man in der Transaktion SE16/SE16N, wenn man die Tabelle NAST aufruft. Das Sprachkennzeichen wird in einem zweistelligen Feld dargestellt, obwohl es auf der Datenbank nur einstellig abgelegt ist.

Konvertierungsroutine5.jpg

Konvertierungsroutine5.jpg

Eigene Konvertierungsroutinen

  • Es können auch eigene Konvertierungsroutinen angelegt werden. Dazu kopiert man z. B. die Funktionsbaustein CONVERSION_EXIT_ALPHA_INPUT und CONVERSION_EXIT_ALPHA_OUTPUT und ersetzt ALPHA durch ein 5stelliges Kürzel, was bisher noch nicht existiert. Die Funktionsbausteine müssen in eine Funktionsgruppe im Kundennamensraum.
  • Das Coding in den Funktionsbausteinen wird abhängig von der eigenen Anwendung ersetzt, aber der Eingaparameter und Ausgabeparameter muss sowohl Namen als auch vom Typ CLIKE gleich bleiben.

Web-Links