User Tools

Site Tools


abap:search_help

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
Last revisionBoth sides next revision
abap:search_help [2015/10/05 18:04] – created ginkoabap:search_help [2016/01/04 15:52] – [Match code sans search help] ginko
Line 11: Line 11:
  
 __**Astuce**__ : si on sélectionne soi-même les données, on peut tout simplement trier les données de sa table interne. Mais si l'on se contente d'appeler ''F4UT_RESULTS_MAP'', le standard va retrier les entrées par ordre alphabétique derrière sans qu'on lui ai rien demandé... pour prévenir ce comportement irritant, il faut placer un petit ''callcontrol-sortoff = 'X'.'' ! __**Astuce**__ : si on sélectionne soi-même les données, on peut tout simplement trier les données de sa table interne. Mais si l'on se contente d'appeler ''F4UT_RESULTS_MAP'', le standard va retrier les entrées par ordre alphabétique derrière sans qu'on lui ai rien demandé... pour prévenir ce comportement irritant, il faut placer un petit ''callcontrol-sortoff = 'X'.'' !
 +
 +===== Match code "sans" search help =====
 +Il est possible de définir un matchcode sans créer d'aide à la recherche en ''SE11''.
 +Pour cela, faire appel au FM ''F4IF_INT_TABLE_VALUE_REQUEST''.
 +
 +Exemple :
 +<code abap>  CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
 +    EXPORTING
 +      retfield        = 'IT_FIELD' "Champ alimenté en retour
 +      dynpprog        = sy-repid " Données écran
 +      dynpnr          = sy-dynnr
 +      dynprofield     = 'DYN_FIELD'
 +      value_org       = 'S'
 +    TABLES
 +      value_tab       = wlt_plop "Table des valeurs
 +    EXCEPTIONS
 +      parameter_error = 1
 +      no_values_found = 2
 +      OTHERS          = 3.</code>
 +Ne pas oublier de mettre ça dans un module ''pai'' et de l'appeler dans le dynpro : <code abap>PROCESS ON VALUE-REQUEST.
 +FIELD wgt_plop-field MODULE pai.</code>
 +Ou en ''SELECTION-SCREEN'' : <code abap>  AT SELECTION-SCREEN ON HELP-REQUEST FOR field.
 +
 +    PERFORM show_f1_help_field.</code>
 +==== Dans un table control ====
 +Le cas d'un champ dans un table control est plus chiadé : si l'on veut adapter le search help en fonction d'un autre champ du tableau, cet autre champ n'est pas forcément encore passé dans le module PAI correspondant (et donc dans notre table interne correspondante). Il faut donc :
 +  *  récupérer la ligne courante en utilisant le FM ''DYNP_GET_STEPL'' (IMPORTING povstepl)
 +  * Lire la valeur directement dans le dynpro en utilisant le FM ''DYNP_VALUES_READ'' (lui passer dyname, dynumb et cocher translate_to_upper, ça ne fait pas de mal ; alimenter la table dynpfields avec stepl et fieldname ; récupérer à la sortie dynpfields-fieldvalue).
 +
abap/search_help.txt · Last modified: 2016/01/08 10:36 by ginko