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.
Bei Verwenden von
VersionNumber
werden die gelesenen
Texte im GuiXT Cache (lokale Dateien) gespeichert, sodass das
relativ aufwändige Lesen aus dem SAP Repository nur bei Ändern
der VersionNumber anfällt. |
-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=
|
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.
Die Installation
des ABAP Programms ZGUIXTF4 ist hierzu erforderlich.
|
-noSearchHelp
shName=
|
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"
|
searchHelpModal= |
Bei Angabe von
searchHelpModal="X": Die Suchhilfe
wird modal aufgerufen, unabhängig von der F4-Benutzereinstellung.
|
shSelName1=
shSelValue1=
shSelName2=
shSelValue2= ... ...
shSelName12=
shSelValue12=
|
Angabe von bis zu 12 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="[Jahr]"
Der aktuelle Inhalt
des Eingabefeldes
F[Jahr]
wird zur Selektion
des Jahres im Matchcode gesetzt.
InputField
....
searchHelp="COCAN"
shSelName1="GJAHR"
shSelValue1="[Varname]"
Der aktuelle Inhalt
der Variable
V[Varname]
wird zur Selektion
des Jahres im Matchcode gesetzt.
|
shName1=
shDest1=
shName2=
shDest2= ... ...
shName12=
shDest12=
|
Angabe von bis zu 12 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.
|
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-Script 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.
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
|