|
Exemple |
InputField (10,1)"Numéro
de référence" (10,20) Size="10" Name="Refnr" Ceci définit un
champ de saisie avec une longueur maximale de 10 caractères. Le nom
du champ de saisie sera affiché aux coordonnées (10,1), le champ de saisie
aux coordonnées (10,20). Le nom interne du
champ de saisie sera Refnr, c'est à dire que
sa valeur sera désignée par sa forme symbolique &[Refnr].
|
|
Options
supplémentaires |
| -Numerical |
Seules
les valeurs numériques sont admises. |
| -Uppercase |
Seules les données en
majuscules sont admises. |
| -date |
Seules
les dates sont admises. |
| -dynamicLabel |
Avec TechName=:
La désignation spécifiée est remplacée par la désignation du
champ stockée dans le SAP Repository. Selon l'espace qui est
disponible, la désignation courte, moyenne ou longue est
utilisée. Un utilisateur RFC et un mot
de passe valables sont nécessaires pour cette fonction
(configuration GuiXT). |
| -NoLabel |
Champ de saisie sans
désignation. Les indications (ligne1,colonne1) et "désignation
champ" seront alors omises. |
| -Invisible |
Affichage invisible (mot de passe
par ex.). |
| -Intensified |
La
valeur du champ est affichée d'une autre couleur (en standard:
rouge). |
| -AlignRight |
La
valeur du champ est alignée à droite. |
| -LeadingSpace |
Les espaces précédant la valeur sont conservés. |
| -Required |
Le
champ est affiché tel qu'un champ qui doit être obligatoirement
rempli. Dans l'InputScript vous pouvez vérifier que
l'utilisateur a saisi une valeur. Cette vérification ne se fait
pas automatiquement. |
|
-ReadOnly |
Supprime
la possibilité de saisie |
| Default= |
Spécification d'une
valeur par défaut. |
| MaxLength= |
Longueur de saisie maximale. Avec
cette option, vous pouvez indiquer une longueur plus grande
qu'avec Size= ; le champ deviendra automatiquement
scrollable. |
| TechName= SearchHelp=
-nosearchhelp
shname=
|
Spécification d'un nom de champ
référant à un champ du SAP Web Repository, par ex.: TechName="BSEG-GSBER".
Lorsque l'utilisateur appuie sur F4 ou l'icône
"matchcode", GuiXT affiche le matchcode standard de SAP
pour ce champ. Avec F1, l'utilisateur peut afficher l'aide
SAP standard du champ.
Vous pouvez utiliser en alternative
directement le nom de l'aide de recherche de valeurs en utilisant SearchHelp="...".
Si vous spécifiez
techname= pour l'aide F1, mais ne voulez pas attribuer
un matchcode (F4), vous pouvez utiliser l'option
-nosearchhelp.
Si plus d'un champ
est exporté par le module matchcode, GuiXT prend le premier. Vous
pouvez également spécifier le nom du champ désiré en
utilisant l'option shname=.
Cette fonction nécessite l'installation du programme ABAP
GUIXTF4 (disponible sur la page de téléchargement du site
internet).
|
shselname1=
shselvalue1=shselname2=
shselvalue2=
shselname3=
shselvalue3=
|
Vous pouvez spécifier jusqu'à 9 critères de sélection pour l'affichage du matchcode. Les noms
que vous spécifiez avec shname1,
shname2, shname3
doivent être exactement comme dans
la définition de l'aide de recherche de valeurs (transaction SE11). Les
valeurs shselvalue1,
shselvalue2,
shselvalue3,... peuvent être soit des constantes
ou d'autres champs de saisie [...] . Exemples: InputField
.... searchhelp="COCAN"
shselname1="GJAHR"
shselvalue1="2002"
Seules les valeurs pour l'année 2002
sont affichées.
InputField
.... searchhelp="COCAN"
shselname1="GJAHR"
shselvalue1="F[Année]"
Le contenu du champ de saisie F[Année]
est utilisé comme critère de
sélection de l'année.
InputField
.... searchhelp="COCAN"
shselname1="GJAHR"
shselvalue1="[nom
de variable]"
Le contenu de la variable
[nom de variable]
est utilisé comme critère de
sélection de l'année.
Veuillez noter qu'il
vous faut le programme ABAP ZGUIXTF4 de la version 2002 Q3 8 ou
plus haut.
|
shname1=
shdest1=
shname2=
shdest2=
shname2=
shdest2=
|
Vous
pouvez spécifier jusqu'à 9 champs supplémentaires; ils seront
remplis lorsque l'utilisateur choisira une entrée de matchcode.
Les noms que vous spécifiez avec
shname1, shname2, shname3,...
doivent être exactement comme définis dans l'aide de recherche
(transaction SE11). Les champs de destination shdest1,
shdest2, shdest3,...
peuvent soit être des champs de saisie F[nomdechamp]
ou des variables
V[nomdevariavble].
Exemples:
InputField
.... searchhelp="COCAN"
shname1="LSTAR"
shdest1=F[Type d'activité]
Lorsque l'utilisateur
sélectionne un centre de coût, la clé correspondant au centre
de coût est saisie dans le champ de saisie. En plus, le type
d'activité contenu dans la ligne de matchcode choisi est saisie
dans le champ de saisie Type d'activité.
InputField
.... searchhelp="COCAN"
shname1="LSTAR"
shdest1=F[Type d'activité]
shname2="KTEXT_KOSTL"
shdest2=V[CC_text]
La variable V[CC_text]
aura pour contenu le texte du centre de coût pour être
utilisée pour des traitements ultérieurs.
Veuillez noter: cette
fonction nécessite le programme ABAP ZGUIXTF4 de la version 2002 Q3 6
ou plus haut. |
SearchHelpProcess=
|
Vous pouvez spécifier un InputScript
qui sera exécuté après que l'utilisateur ait sélectionné
une valeur dans l'affichage de l'aide de recherche.
Quelques
applications typiques:
- Afficher un
texte en plus de la valeur choisie
Specifiez SearchHelpProcess="return.txt",
où l'InputScript return.txt
est constitué uniquement d'une instruction "Return".
Ceci force un nouvel affichage de l'écran et les
variables fixées par le matchcode sont affichées
(comme V[CC_text] dans
l'écran décrit plus haut).
- Afficher des
données supplémentaires en fonction de la valeur
sélectionnée. L'InputScript spécifié lit les données
supplémentaires (par ex.: avec une commande call) et
utilise ensuite "Return"
pour afficher l'écran à nouveau. Les données nouvellement
lues peuvent être affichées dans le script GuiXT.
|
|
| Aide matchcode programmée |
Vous pouvez
également programmer une fonction spéciale pour le matchcode en ABAP et
l'associer à votre champ de saisie. Notation:
searchhelp="exit.progname.formname"
progname
est le nom du programme ABAP et formname
est le nom de la sous-routine (routine FORM). La routine FORM a une
interface standardisée (voir plus bas). Elle donne en retour la valeur
sélectionnée. Les options particulières shselname1=,
shselvalue1=,...
,
shname1=, shdest1= peuvent
également être utilisées (reportez-vous à "Documentation - Special Topics
- Aide de valeurs et matchcode pour vos propres champs de saisie"
pour plus de détails).
Exemple
Inputfield
(18,1) "Bk"
(18,20) name="buk"
size="4"
searchhelp="exit.zguixtmc1.mcbuk"
Programme ABAP:
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.
Exemple 2
Inputfield (6,1)
"Filename" (6,20) name="filename" size="50"
searchhelp="exit.zguixtmc1.mcfile"
Programme ABAP:
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.
|
Conseils
& astuces |
- Vous
pouvez également afficher une information rapide
(quickinfo) pour ce nouveau champ, en suivant la
convention standard de SAP pour une information
rapide d'un texte. Exemple:
"@0L\QVeuillez
utiliser le numéro de référence externe du
document comme numéro de référence@Numéro
de référence"
- L'InputAssistant
affichera également l'historique de saisie de ce
nouveau champ.
- Le nom technique du
champ de saisie indispensable pour la fonctionnalité "matchcode"
peut-être obtenue grâce à l'aide standard F1 du système SAP
"Informations techniques".
- Vous pouvez activer
les aides de recherche de valeurs particulières suivantes avec
l'option SearchHelp="...":
- ... searchhelp="GuiXT.ORGEH"
Vue hiérarchique de l'unité structurelle
- ... searchhelp="GuiXT.ZTERM"
Conditions de paiement
- ... searchhelp="GuiXT.ZTERM.D"
Conditions de paiement, que clients
- ... searchhelp="GuiXT.ZTERM.K"
Conditions de paiement, que fournisseurs
- ... searchhelp="GuiXT.DATE"
Date (calendrier)
- ... searchhelp="GuiXT.TIME"
Heure
- ... searchhelp="GuiXT.AKONT.D"
shselname1="BUKRS"
shselvalue1="&F[::Company
code]" Compte
collectif débiteur. Le code société doit obligatoirement
être spécifié (constant ou variable)
- ... searchhelp="GuiXT.AKONT.K"
shselname1="BUKRS"
shselvalue1="&F[::Company
code]" Compte
collectif créditeur. Le code société doit obligatoirement
être spécifié (constant ou variable)
- Vous pouvez
vérifier la saisie d'une date de la manière suivante
(nous supposons que la date
est de la forme jj.mm.aaaa (jour.mois.année):
InputField
(5,5)
"Date"(5,20)
name=d1
-date
if not
V[d1]
Message
"E: Veuillez
saisir la date"
-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: Veuillez
saisir la date sous un format correcte jj.mm.aaaa, par ex.: 12.05.2010"
-statusline
endif
endif
|