| 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.
|
| Zusatzoptionen |
| -Numerical |
Nur
Zifferneingabe möglich |
| -Uppercase |
Eingabe nur in
Grossbuchstaben |
| -date |
Nur Datumseingabe möglich. |
| -NoLabel |
Eingabefeld ohne Text.
Die Angaben (Zeile1,Spalte1) und "Feldtext" entfallen
dann. |
| -dynamicLabel |
In Verbindung mit TechName=:
Der angegebene Text wird durch den im SAP Repository abgelegten
Feldtext überschrieben. Je nach verfügbarem Platz wird der
kurze, mittlere oder lange Text gewählt. Im GuiXT Profile muss
dazu ein RFC Benutzer mit entsprechenden
Berechtigungen hinterlegt sein. |
| -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=
-nosearchhelp
shname=
|
Angabe eines
Feldnamens aus dem SAP Repository, z.B. TechName="BSEG-GSBER".
Es wird dann bei F4 bzw. Matchcode-Anwahl der SAP-Standard-Matchcode
prozessiert und bei F1 die Standard-Feldhilfe. Alternativ kann auch direkt der Name
einer Suchhilfe aus SAP durch SearchHelp="..."
angegeben werden.
Falls durch
techname= nur die F1-Hilfe, aber
keine F4-Suchhilfe zugeordnet werden soll, können Sie die Option
-nosearchhelp verwenden.
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.
|
| Tipps
& 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 SAP 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)
- Sie können die Eingabe eines Datums wie folgt
überprüfen (wir setzen hier
ein Datum in der Form dd.mm.yyyy voraus):
InputField
(5,5)
"Datum"(5,20)
name=d1
-date
if not
V[d1]
Message
"E: Bitte das
Datum eingeben"
-statusline
else
Set
V[x]&V[d1]-
&V[today_d.m.y]
Set
V[x]&V[today_d.m.y]+
&V[x]
if
not
V[x=&V[d1]]
Message
"E: Bitte ein
gültiges Datum im Format dd.mm.yyyy eingeben, z.B. 12.05.2010"
-statusline
endif
endif
|