InputField

Funktion Mit der InputField-Anweisung können Sie eigene Eingabefelder definieren. Der dort eingetragene Wert kann in einem InputScript verwendet werden.
Beispiel InputField (10,1)"Referenznummer" (10,20) Size="10" Name="Refnr"

Hierdurch wird ein 10-stelliges Eingabefeld definiert. Der Feldtext wird an Position (10,1) angezeigt, das Eingabefeld selbst an Position (10,20). Der interne Feldname ist Refnr, d.h. in einem InputScript wird das Feld in der Form &[Refnr] genannt.

Format InputField (Zeile1,Spalte1) "Feldtext" (Zeile2,Spalte2) Size="..." Name="..."
Zusatzoptionen 
-Numerical Nur Zifferneingabe möglich
-Uppercase Eingabe nur in Grossbuchstaben 
-NoLabel Eingabefeld ohne Text. Die Angaben (Zeile1,Spalte1) and “Feldtext” entfallen dann.
-Invisible Unsichtbare Eingabe (Passwort)
-Required Das Feld wird als Mussfeld (obligatorische Eingabe) dargestellt. Eine automatische Prüfung auf Eingabe findet nicht statt, sie muss selbst im InputScript durchgeführt werden.
-Intensified Der Wert wird farblich hervorgehoben (Standard: rot)
-AlignRight Der Wert wird rechtsbündig ausgegeben
-LeadingSpace Führende Leerzeichen werden übernommen
-ReadOnly Nur Ausgabe
Default= Angabe eines Defaultwertes
MaxLength= Maximale Eingabelänge. Hier kann eine größere Länge als in Size= angegeben werden; das Feld wird dann automatisch scrollbar.
TechName=

SearchHelp=

shname=

Angabe eines Feldnamens aus dem R/3 Repository, z.B. TechName=”BSEG-GSBER”. Es wird dann bei F4 bzw. Matchcode-Anwahl der R/3-Standard-Matchcode prozessiert. Alternativ kann auch direkt der Name einer Suchhilfe aus R/3 durch SearchHelp=“…” angegeben werden.

Falls die Suchhilfe mehr als ein Feld liefert, nimmt GuiXT das erste Feld. Optional kann durch shname= der gewünschte Feldname aus der Suchhilfe direkt angegeben werden, z.B.  shname=“MATNR”

Die Installation des ABAP Programms ZGUIXTF4 ist hierzu erforderlich  (verfügbar auf Download-Seite)  

shselname1=
shselvalue1=

shselname2=
shselvalue2=

shselname3=
shselvalue3=

Angabe von bis zu 3
Selektionskriterien, die bei der Anzeige der Matchcodeliste berücksichtigt werden. Die unter
shselname1, shselname2, shselname3 angegebenen Namen müssen so wie in der Suchhilfe  (Transaktion SE11) definiert  angegeben werden. Als Werte shselvalue1, shselvalue2, shselvalue3 können entweder Direktwerte oder andere Eingabefelder [...] angegeben werden. Beispiele:

InputField   ….    searchhelp=“COCAN”    shselname1=“GJAHR”   shselvalue1=“2002″

Es werden nur Kostenstellen mit Jahr “2002″ zur Auswahl angeboten 

InputField   ….    searchhelp=“COCAN”    shselname1=“GJAHR”   shselvalue1=F[Jahr]

Der aktuelle Inhalt des Eingabefeldes F[Jahr] wird zur Selektion des Jahres im Matchcode gesetzt.

InputField   ….    searchhelp=“COCAN”    shselname1=“GJAHR”   shselvalue1=“V[Varname]“

Der aktuelle Inhalt der Variable V[Varname] wird zur Selektion des Jahres im Matchcode gesetzt.

shname1=
shdest1=

shname2=
shdest2=

shname2=
shdest2=

Angabe von bis zu 3 weiteren Feldern, die nach Auswahl eines Matchcode-Eintrages ebenfalls gefüllt werden. Die unter shname1, shname2, shname3 angegebenen Namen müssen so wie in der Suchhilfe  (Transaktion SE11) definiert  angegeben werden. Als Zielfeld shdest1, shdest2, shdest3 können entweder Eingabefelder F[Feldname] oder Variablen V[Varname] angegeben werden. Beispiele:

InputField   ….    searchhelp=“COCAN”    shname1=“LSTAR”   shdest1=F[Leistungsart]

Nach Auswahl der Kostenstelle wird diese in das neu definierte InputField gestellt. Zusätzlich wird die Leistungsart aus dem selektierten Eintrag in das Eingabefeld Leistungsart übernommen.

InputField   ….    searchhelp=“COCAN”    shname1=“LSTAR”   shdest1=F[Leistungsart]  shname2=“KTEXT_KOSTL” shdest2=V[CC_text]

Zusätzlich wird die Variable V[CC_text] mit dem Kostenstellentext gefüllt, der für die weitere Verarbeitung genutzt werden kann.

Hinweis: Bitte hierzu das ABAP Programm ZGUIXTF4 in der Version 2002 Q3 6 oder höher einsetzen.

SearchHelpProcess=
Angabe eines InputScripts, das nach Auswahl eines Matchcodeeintrags prozessiert wird. 

Folgende Anwendungsfälle sind denkbar: 

  • Anzeige eines Langtextes zu dem ausgewählten Wert:
    Angabe  SearchHelpProcess=“return.txt
    , wobei das InputScript return.txt lediglich die Anweisung “Return” enthält. Hierdurch wird der Bildschirm neu angezeigt, und die durch den Matchcode gesetzten Variablen (wie 
    V[CC_text] im vorangehenden Abschnitt) werden dem Benutzer angezeigt. 
  • Anzeige weiterer abgeleiteter Daten zu dem ausgewählten Wert:
    Das angegebene InputScript besorgt (z.B. durch eine Call-Anweisung) weitere Daten und kehrt durch  “Return” zur Anzeige zurück. Die neu besorgten Daten können durch das zum Bild gehörende GuiXT-Skript dargestellt werden.
Eigene Matchcodehilfe Sie können dem InputField auch eine selbst programmierte Matchcodehilfe zuordnen durch die Notation
 
searchhelp=“exit.progname.formname”
wobei progname der ABAP Programmname ist und formname der Name der Unterroutine (FORM-Routine), die aufgerufen wird. Die Unterroutine  wird mit einer standardisierten Schnittstelle (s.u.) aufgerufen und liefert den ausgewählten Wert zurück.  Auch die über shselname1=, shselvalue1=, …, shname1=, shdest1= möglichen Zusatzparameter können in der selbst programmierten Matchcodehilfe behandelt werden (siehe Beispiel in den “Special Topics”).

Beispiel 1: Lesen von Werten aus SAP Datenbank

Inputfield (18,1) “Bk” (18,20) name=”buk” size=”4″ searchhelp=”exit.zguixtmc1.mcbuk”

ABAP-Programm: 

Program ZGUIXTMC1.

* Value table
data: begin of t1 occurs 100,
  bukrs like t001-bukrs,
  butxt like t001-butxt,
  land1 like t001-land1,
  ort01 like t001-ort01,
end of t1.

* Returned value
data: begin of r1 occurs 1.
  include structure DDSHRETVAL.
data: end of r1.

Form mcbuk
   tables 
       sel    “table with 
shselname1=, shselvalue1=, 
       dest   “table with 
shname1=, shdest1
     using invalue
       changing selvalue.

* Select data
  Select bukrs butxt land1 ort01 from t001
  into corresponding fields of table t1.

* SAP standard function to display table as matchcode selection
CALL FUNCTION ‘F4IF_INT_TABLE_VALUE_REQUEST’
  EXPORTING
    RETFIELD = ‘BUKRS’
    WINDOW_TITLE = ‘Please select a company code’
    VALUE_ORG = ‘S’
  TABLES
    VALUE_TAB = T1
    RETURN_TAB = R1
  EXCEPTIONS
    OTHERS = 1.

* Return selected value
if sy-subrc = 0.
  selvalue = r1-fieldval.
endif.

endform.

Beispiel 2: Lokaler Dateiname

Inputfield (6,1) “Filename” (6,20) name=”filename” size=”50″ searchhelp=”exit.zguixtmc1.mcfile”

ABAP-Programm: 

Program ZGUIXTMC1.

Data: tmp_filename(80).

Form mcfile
  tables
    sel “table with shselname1=, shselvalue1=,
    dest “table with shname1=, shdest1
  using invalue
  changing selvalue.

Call Function ‘WS_FILENAME_GET’
  Exporting
    DEF_FILENAME = invalue
    DEF_PATH = ‘C:\GuiXT’
    MASK = ‘,*.*,*.*.’
    MODE = ‘O’
    TITLE = ‘Please select a file ‘
  Importing
    FILENAME = TMP_FILENAME
  Exceptions
    others = 1.


* Return selected value
If sy-subrc = 0.
  selvalue = tmp_filename.
Endif.

Endform.


Tips
&Tricks
  • Sie können bei dem Feldtext eine Quickinfo hinterlegen, indem Sie den Text in der SAP-Konvention für Quickinfos aufbauen, z.B.:

@0L\QBitte die externe Dokumentennummer angeben, falls bekannt@Referenznummer”

  • Der InputAssistant verwaltet auch die Eingabehistorie der selbst definierten Felder
  • Den für die Matchcode-Funktionalität erforderlichen technischen Namen finden Sie im R/3 in der Hilfe für das betreffende Feld (F1) unter “Technische Informationen”.
  • Folgende speziellen Suchhilfen können durch eine Angabe  unter SearchHelp=“…” ebenfalls aktiviert werden:
    • searchhelp=
      GuiXT.ORGEH”
        Hierarchische Sicht der Organisation
    • searchhelp=“GuiXT.ZTERM”  Zahlungsbedingungen
    • searchhelp=“GuiXT.ZTERM.D”  Zahlungsbedingungen, nur Debitoren
    • searchhelp=“GuiXT.ZTERM.K”  Zahlungsbedingungen, nur Kreditoren
    • searchhelp=“GuiXT.DATE”  Datum (Kalender)
    • searchhelp=“GuiXT.TIME”  Zeitauswahl
    • searchhelp=“GuiXT.AKONT.D”  shselname1=“BUKRS” shselvalue1=“&F[::Buchungskreis]“ Abstimmkonto Debitoren. Der Buchungskreis muss zwingend mitgegeben werden (als Konstante oder Variable)
    • searchhelp=“GuiXT.AKONT.K”  shselname1=“BUKRS” shselvalue1=“&F[::Buchungskreis]“ Abstimmkonto Kreditoren. Der Buchungskreis muss zwingend mitgegeben werden (als Konstante oder Variable)

InputField