InputField

Fonction La commande InputField vous permet de créer un champ de saisie supplémentaire. La valeur saisie dans ce nouveau champ de saisie peut être utilisée dans un InputScript.
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].

Format InputField (ligne1,colonne1) “désignation champ” (ligne2,colonne2) Size=“…” Name=“…”
Options supplémentaires
-Numerical Seules les valeurs numériques sont admises.
-Uppercase Seules les données en majuscules sont admises.
-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.
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=

shname=

Spécification d’un nom de champ référant à un champ du web repository dans le R/3 par ex.: TechName=“BSEG-GSBER”. Lorsque l’utilisateur appuie sur F4 ou l’icône
“matchcode”, GuiXT affiche le matchcode standard du R/3 pour ce champ. Vous pouvez utiliser en alternative directement le nom de l’aide à la recherche en utilisant
SearchHelp=“…”.

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 la recherche d’aide (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 la recherche d’aide (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 pouve
z spécifier un InputScript qui sera exécuté après que l’utilisateur ait sélectionné une valeur dans l’affichage de la recherche d’aide.

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 scripte 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 par l’aide standard du R/3 F1. “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)

InputField