Lokale Wertehilfe und Matchcode für Ihre eigenen Eingabefelder

Die Standard Hilfefunktion von R/3 (F4) steht für neue Eingabefelder nicht automatisch zur Verfügung.

Sie haben drei Möglichkeiten, hier Abhilfe zu schaffen:

Radiobuttons anstelle eines Eingabefeldes verwenden 

Dies ist sinnvoll bei einer begrenzten kleinen Anzahl von Eingabemöglichkeiten.

Vorgehensweise: Anstelle der Definition Ihres neuen Eingabefeldes …

InputField (10,1) “Währung” (10,12) Size=“3″ Name=“Vwaer” 


 Sap Guixt matchcode1 Lokale Wertehilfe und Matchcode für eigene Eingabefelder

… verwenden Sie eine Gruppe von Radiobuttons für die gleiche Variable:

Offset (10,1)
Box (0,0) (5,40)  “Währung”
Radiobutton (1,1) “USD US Dollar”          Name=“Vwaer” Value=“USD”
Radiobutton (2,1) “EUR Euro”               Name=“Vwaer” Value=“EUR”
Radiobutton (3,1) “GBP Britisches Pfund”   Name=“Vwaer” Value=“GBP”
Radiobutton (4,1) “MXN Mexikanische Pesos” Name=“Vwaer” Value=“MXN”

 
 Sap Guixt matchcode2 Lokale Wertehilfe und Matchcode für eigene Eingabefelder

Sie können auch einen Default zuweisen, indem Sie die Variable V[MeineWährung] mit einem Wert belegen:

Offset (10,1)
Box (0,0) (5,40) “Währung”

// “USD” als Default definieren wenn V[MeineWährung] nicht belegt ist
if not V[Vwaer]
 
Set V[Vwaer] “USD”
endif

Radiobutton (1,1) “USD US Dollar”          Name=“Vwaer” Value=“USD”
Radiobutton (2,1) “EUR Euro”               Name=“Vwaer” Value=“EUR”
Radiobutton (3,1) “GBP Britisches Pfund”   Name=“Vwaer” Value=“GBP”
Radiobutton (4,1) “MXN Mexikanische Pesos” Name=“Vwaer” Value=“MXN”

Weiterhin können Sie auch Radiobuttons mit einem Eingabefeld kombinieren:

offset (10,1)
box (0,0) (6,40) “Währung”

// “USD” als Default definieren wenn V[Vwaer] nicht belegt ist

if not V[Vwaer]
 
Set V[Vwaer] “USD”
endif

Radiobutton (1,1) “USD US Dollar”          Name=“Vwaer” Value=“USD”
Radiobutton (2,1) “EUR Euro”               Name=“Vwaer” Value=“EUR”
Radiobutton (3,1) “GBP Britisches Pfund”   Name=“Vwaer” Value=“GBP”
Radiobutton (4,1) “MXN Mexikanische Pesos” Name=“Vwaer” Value=“MXN”
radiobutton (5,1) “andere Währung:”        Name=“Vwaer” Value=“XXX”
inputfield (5,20) name=“Vandere” size=“3″ “-nolabel

Sap Guixt matchcode3 Lokale Wertehilfe und Matchcode für eigene Eingabefelder

In dem zugeordneten InputScript benötigen Sie dann eine IF Anweisung für den Fall der “Anderen Währung” :

// Wurde “Andere Währung” ausgewählt?
if V[Vwaer=XXX]
 
Set V[Vdiewaer] “&V[Vandere]“
else
 
Set V[Vdiewaer] “&V[Vwaer]“
endif

Die lokale Wertehilfe für ein neues Eingabefeld definieren

In diesem Fall verwenden Sie die normale InputField Anweisung:

InputField (10,1) “Währung” (10,12) Size=“3″ Name=“Vwaer” 

Zusätzlich können Sie dem Eingabefeld einen Domänenamen zuweisen in der Datei domText.D.txt, die Sie in Ihrem Domänenverzeichnis finden: (vgl. Profile)

Währung: Waers

Wenn Sie nicht mit einem Standard Domänenamen arbeiten möchten, verwenden Sie stattdessen die Datei domTextScreen.D.txt:

SAPMC29C.0584.Währung: Meinewaer

Hier ist SAPMC29C der Programmname, 0584 die Screen Nummer, Währung der Name des Eingabefeldes, und Meinewaer ein Domänename, den Sie für Ihr Feld erfunden haben.

Danach erstellen Sie die Datei für die lokale Wertehilfe, entweder

dom.D.Waers.txt

oder

dom.D.Meinewaer.txt

die etwa so wie in diesem Beispiel aussehen könnte:

Bei rechtem Mausklick auf das Eingabefeld werden die Werte angezeigt, die in der Vergangenheit eingegeben wurden (History), zusammen mit Erklärungstexten und gefolgt von einer Liste aller möglichen Währungen. Diese Liste ist frei editierbar, wie Sie an unserem Beispiel sehen können.

Sap Guixt matchcode4 Lokale Wertehilfe und Matchcode für eigene Eingabefelder

Die lokale Werteliste ist sehr schnell. Sie bietet die zuletzt getätigten Eingaben zusammen mit Erklärungstexten und allen Möglichkeiten zur Auswahl. Zu Details, z.B. wie Sie die lokale Wertehilfe generieren, vergleichen Sie bitte die entsprechende Seite zum InputAssistant.

Eine Verbindung zu den R/3 Standard Hilfetexten definieren

Für Eingabefelder für Kunden, Bestellungen, Materialien … können Sie weder Radiobuttons noch die lokale Wertehilfe verwenden, da das Eingabefeld sich auf eine relativ große und dynamische Wertemenge bezieht.

Wenn Sie Ihr Eingabefeld mit dem R/3 Repository verbinden, indem Sie den technischen Namen des geeigneten R/3 Data Dictionary Feldes angeben, dann verarbeitet GuiXT automatisch die korrespondierenden Hilfetexte .

InputField (10,1) “Währung” (10,12) Size=“3″ Name=“Vwaer” Techname=“BKPF-WAERS”


 Sap Guixt matchcode5 Lokale Wertehilfe und Matchcode für eigene Eingabefelder

Sap Guixt matchcode6 Lokale Wertehilfe und Matchcode für eigene Eingabefelder

Das funktioniert nur dann, wenn Sie die folgenden R/3 Objekte in Ihrem System installiert haben:

  • ABAP program ZGUIXTF4 (wird bei der Installation von GuiXT in das Installationsverzeichnis gestellt)
  • Transaktionscode ZXF4

Um den Transaktionscode ZXF4 zu erstellen, gehen Sie folgendermaßen vor:

Starten Sie die Transaktion SE93, geben Sie den neuen Transaktionsnamen ZXF4 ein und drücken Sie den Anlegen Druckknopf:

Sap Guixt matchcode7 Lokale Wertehilfe und Matchcode für eigene Eingabefelder

Definieren Sie ihn als Parametertransaktion:

Sap Guixt matchcode8 Lokale Wertehilfe und Matchcode für eigene Eingabefelder

Die neue Transaktion ist eine Parametertransaktion, die  ZGUIXTF4 aufruft. Sie müssen sodann den Transaktionscode SA39 (internal transaction) eingeben, markieren Sie die Checkbox “Einstiegsbild überspringen” und geben Sie den Namen des Dynprofeldes RS38M-PROGRAMM mit dem Wert ZGUIXTF4 an:

Sap Guixt matchcode9 Lokale Wertehilfe und Matchcode für eigene Eingabefelder

Zum Schluß drücken Sie den Sichern Button und geben eine passende Entwicklungsklasse an, oder, wenn kein Transport in andere R/3 Systeme geplant sind, geben Sie es als lokales Objekt an.

Lokale Wertehilfe und Matchcode für eigene Eingabefelder