1. #1
    Nouveau membre du Club
    Homme Profil pro
    Responsable d'exploitation informatique
    Inscrit en
    janvier 2014
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Responsable d'exploitation informatique
    Secteur : Industrie

    Informations forums :
    Inscription : janvier 2014
    Messages : 30
    Points : 33
    Points
    33

    Par défaut Message de type i ne s'affiche pas dans un user-exit ZXV56U17

    Bonjour,
    ce user-exit est utilisé dans la transaction VT01N pour effectuer des contrôles de données qui autorisent ou pas l’enregistrement du transport.
    c'est à dire contrôle si le poids est saisi, l'article client, ...si l'emballage est effectué etc...

    Le but est d'empêcher l'enregistrement mais de ne pas quitter la transaction.
    Or quand le message de type i001, i006 ou i019 devrait apparraître rien ne se passe.
    Par contre le message i008 s'affiche toujours. Je ne comprends pas.
    Merci pour votre aide.

    voici un bout de code :

    if xverif = 'X'.
    if brgew_error = 'X'. " Si pas de poids
    message i001(z1) with i_xvttp-vbeln.
    e_errors_occurred = 'X'.
    endif.
    endif.

    if kdmat_error = 'X'."Si pas d article-client
    message i006(z1) with xmatnr xkunnr.
    e_errors_occurred = 'X'.
    endif.

    if xpackerr = 'X'. " Si pas d'emballage
    message i019(z1) with xmatnr i_xvttp-vbeln.
    e_errors_occurred = 'X'.
    ENDIF.

    if e_errors_occurred = 'X'.
    message i008(z1).
    endif.



    dav

  2. #2
    Membre éclairé Avatar de Celdrøn
    Homme Profil pro
    Consultant SAP
    Inscrit en
    juillet 2007
    Messages
    563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France

    Informations professionnelles :
    Activité : Consultant SAP

    Informations forums :
    Inscription : juillet 2007
    Messages : 563
    Points : 887
    Points
    887

    Par défaut

    Bonjour,

    Pour commencer, vérifie que les messages existent bien dans la classe de message Z1.

    Sinon, je pense que le type I n'est pas le bon type à utiliser, car avec un type I le message s'affiche sans interruption de traitement, il me semble tout du moins, donc le dernier affiché écrasera le précédent, et donc comme cela s'enchaîne excessivement vite, t'as l'impression que seul le dernier s'affiche, surtout si le message s'affiche dans la barre d'état en bas de l'écran.

    Si tu essaies plutôt d'afficher les messages sous la forme «message type 'W' display like 'I'.» ?
    Un message type Warning demande une validation à l'écran mais n'est pas bloquant.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    if xverif = 'X'.
      if brgew_error = 'X'. " Si pas de poids
        message w001(z1)
          display like 'I'
          with i_xvttp-vbeln.
        e_errors_occurred = 'X'.
      endif.
    endif.
    
    if kdmat_error = 'X'."Si pas d article-client
      message w006(z1)
        display like 'I'
        with xmatnr xkunnr.
      e_errors_occurred = 'X'.
    endif.
    
    if xpackerr = 'X'. " Si pas d'emballage
      message w019(z1)
        display like 'I'
        with xmatnr i_xvttp-vbeln.
      e_errors_occurred = 'X'.
    endif.
    
    if e_errors_occurred = 'X'.
      message w008(z1)
        display like 'I'.
    endif.
    Boaf...signature <= ça suffira ça ??

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Responsable d'exploitation informatique
    Inscrit en
    janvier 2014
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Responsable d'exploitation informatique
    Secteur : Industrie

    Informations forums :
    Inscription : janvier 2014
    Messages : 30
    Points : 33
    Points
    33

    Par défaut

    Bonjour,
    Merci pour ton aide, j'ai testé et ça ne fonctionne toujours pas, il n'y a que le i008 qui s'affiche :

    if xverif = 'X'.
    if brgew_error = 'X'.
    message w001(z1) with i_xvttp-vbeln.
    e_errors_occurred = 'X'.
    endif.
    endif.

    if kdmat_error = 'X'."CD20170917_1
    message w006(z1) with xmatnr xkunnr.
    e_errors_occurred = 'X'.
    endif.
    if xpackerr = 'X'.
    message w019(z1) with xmatnr i_xvttp-vbeln.
    e_errors_occurred = 'X'.
    ENDIF.

    if e_errors_occurred = 'X'.
    message i008(z1).
    endif.

    Dav

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    août 2009
    Messages
    571
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : août 2009
    Messages : 571
    Points : 757
    Points
    757

    Par défaut

    Les messages sont ignorés (mais mémorisés) dans l'exit ZXV56U17 (EXIT_SAPLV56U_002) car SAP l'appelle en contrôlant l'exception spéciale ERROR_MESSAGE (cf appel par module fonction SD_SHIPMENTS_CHECK_COMPLETE). C'est pour ça que dans l'exit il y a un paramètre dédié pour signaler qu'une erreur ou warning est à afficher. SAP affichera alors le dernier message "mémorisé" dans l'exit.
    Pour afficher une popup, je pense qu'il faut faire comme suit: si le paramètre I_OPT_DIALOG <> space alors il faut faire un CALL FUNCTION 'POPUP_TO_CONFIRM', sinon faire CALL FUNCTION 'SD_SHIPMENT_PROTOCOL_APPEND'.

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Responsable d'exploitation informatique
    Inscrit en
    janvier 2014
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Responsable d'exploitation informatique
    Secteur : Industrie

    Informations forums :
    Inscription : janvier 2014
    Messages : 30
    Points : 33
    Points
    33

    Par défaut

    Bonjour,
    Merci sandraros, je vais testé ça et vous tiendrais informé du résultat ;-)

    @+ Dav

  6. #6
    Nouveau membre du Club
    Homme Profil pro
    Responsable d'exploitation informatique
    Inscrit en
    janvier 2014
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Responsable d'exploitation informatique
    Secteur : Industrie

    Informations forums :
    Inscription : janvier 2014
    Messages : 30
    Points : 33
    Points
    33

    Par défaut

    Je n'ai as utilisé la même fonction POPUP car l'utiklisateur ne devait pas avoir le choix que de valider mais ça m'a tout de même mis sur la voie et j'ai utilisé la fonction POPUP_TO_INFORM.

    Concatenate 'Error :' 'Packaging missing ' 'DN' i_xvttp-vbeln INTO xmess1 SEPARATED BY SPACE.
    CALL FUNCTION 'POPUP_TO_INFORM'
    EXPORTING
    titel = 'Warning'
    txt1 = xmess1.

    Merci à tous ;-)
    Dav

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Le message de mon validator ne s'affiche pas
    Par stc074 dans le forum JSF
    Réponses: 5
    Dernier message: 18/01/2013, 21h58
  2. Réponses: 11
    Dernier message: 19/01/2011, 12h39
  3. [CSS][IE]background d'affiche pas dans div sur IE
    Par Thomzz dans le forum Mise en page CSS
    Réponses: 7
    Dernier message: 22/09/2005, 00h32
  4. Noms des colonnes ne s'affichent pas dans un JTable
    Par Bourdet dans le forum Fenêtres/Dialogues
    Réponses: 5
    Dernier message: 07/07/2005, 16h26
  5. Une valeur ne s'affiche pas dans un champ texte
    Par KibitO dans le forum JavaScript
    Réponses: 5
    Dernier message: 13/03/2005, 21h42

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo