- Visuellement, il est possible de souligner un champ par la case à cocher « resp. to double-click » mais c’est facultatif (c’est-à-dire que cela n’impactera pas le comportement du système lors d’un double-clic sur cette zone).
- Dans le PF-STATUS, assigner une commande utilisateur sur la touche F2 – ceci est par contre obligatoire !
Cela va rendre la plupart des champs réactifs au double-clic. - Dans un PAI, créer un module qui va contrôler la commande utilisateur (rappel : F2 !) ;
- utiliser l’instruction ABAP
get cursor field
pour obtenir le nom du champ qui a été double-cliqué.
Catégorie : Développement ABAP
-
-
Table ENOTE :
- SPRAS – secteur d’activité ;
- OBJKEY – identifiant de l’emplacement d’appareil (sans les zéros préfixant) ;
- OBJTYPE – « 3 » (pour un emplacement d’appareil ; voir l’aide à la recherche pour d’autres valeurs si besoin) ;
- LFDNR – non pertinent → tout lire (retourne une table) ;
- NOTE – tel quel (le code de note utilisé plus bas).
Pour le texte, table TE582T :
- SY-LANGU – langue recherchée ;
- NOTE (voir plus haut) ;
- récupérer NOTE_TEXT.
-
- Copier le push button (i.e. titre de l’onglet) d’un onglet existant et le copier dans la « ligne de titre des onglets » ;
- ne pas oublier d’affecter une commande utilisateur (UCOMM) au push button ;
- le type de la fonction doit être « P » (local GUI func) ;
- Assigner également un nom de sous-écran dans le champ Référence ;
- Enfin, créer une zone de sous-écran dans l’onglet ;
- Son nom doit être celui renseigné dans la configuration du push button.
-
- Alimenter le customer include CI_AUFK (ce qui modifiera les structures AUFK et BAPI_TE_AUFK) ;
- créer un append de la structure IBAPI_CAUFVD_UPDATE avec les mêmes champs qu’à l’étape précédente, mais typés BAPIUPDATE ;
- implémenter la BAdI IBAPI_ALM_ORD_MODIFY (méthode IF_EX_IBAPI_ALM_ORD_MODIFY~MODIFY_INPUT_DATA) ;
- l’implémentation doit lire EXTENSION_IN (utiliser CL_ABAP_CONTAINER_UTILITIES=>READ_CONTAINER_C) puis modifier les données d’entête CT_HEADER_INT (identifiables par ORDERID) et CT_HEADER_INT_UP (avec ABAPI_TRUE pour les champs modifiés).
Attention !
Les champs spécifiques ne sont pas automatiquement remontés par la BAPI standard BAPI_ALM_ORDER_GET_DETAIL, ils doivent être lus directement dans AUFK (à ma connaissance).