IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

SAP Discussion :

Check box avec champ associé


Sujet :

SAP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2014
    Messages : 16
    Par défaut Check box avec champ associé
    Bonjour à tous,

    J'ai un petit soucis pour afficher le champ associé à une check box et j'aurais besoin d'aide.

    Je déclare tout d'abord mon block dans un screen, il y a deux boutons radio situé plus haut et un autre block après celui-ci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECTION-SCREEN BEGIN OF BLOCK block2 WITH FRAME TITLE text-tup.
    PARAMETERS : p_transf TYPE localfile.
    PARAMETERS : cb1 AS CHECKBOX USER-COMMAND cmd.
    PARAMETERS : p_test TYPE localfile.
    SELECTION-SCREEN END OF BLOCK block2.
    Ensuite je rend le tout dynamique

    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
    AT SELECTION-SCREEN.
    AT SELECTION-SCREEN OUTPUT.
    
      LOOP AT SCREEN.
        CASE 'X'.
          WHEN rd_upd.
            IF screen-name CP c_param_trans2
              OR screen-name CP c_param_test.
              screen-invisible = 1.
              screen-input = 0.
              MODIFY SCREEN.
            ENDIF.
          WHEN cb1.
            IF screen-name CP c_param_test.
              screen-invisible = 0.
              screen-input = 1.
              MODIFY SCREEN.
            ENDIF.
        ENDCASE.
    
      ENDLOOP.
    Quand j’exécute, le champ paramètre que je dois afficher, une fois que la checkbox est coché, ne s'affiche pas. Lorsque je lance le debug il me dit que cb1 (la checkbox) a pour valeur 'X'. On dirait qu'elle est sélectionné par défaut alors que visuellement elle ne l'est pas, et puis si elle l'était le champ s'afficherait ?!
    On m'a conseillé de checké si la checkbox est cochée ou pas, mais je ne sais pas comment faire ça ...

    Je suis un peu perdue :'(

    J'espère que vous pourrez m'aider, si oui merci d'avance !!

  2. #2
    Membre chevronné
    Inscrit en
    Octobre 2007
    Messages
    313
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 313
    Par défaut
    Bonjour,

    Il faut corriger d'abord le case

    c'est pas :

    case valeur
    when zone1
    when zone2
    ...
    endcase

    mais plutot:
    case zone
    when valeur1
    when valeur2
    ...
    endcase

    attention il faut gérer aussi le cas ou tes radioboutons passent a blanc

  3. #3
    Membre émérite
    Profil pro
    Inscrit en
    Août 2009
    Messages
    574
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 574
    Par défaut
    Bonjour,

    Il manque qq infos pour aider. C'est quoi RD_UPD? ça ressemblerait à un bouton radio. D'où la forme CASE 'X' WHEN rd_upd, WHEN rd_2 WHEN rd_3 qu'on utilise souvent dans ce cas. Je te conseille de te former avec les exemples SAP -> transaction ABAPDOCU.

    Bon courage!

    Sandra

  4. #4
    Membre éclairé
    Homme Profil pro
    Développeur ABAP
    Inscrit en
    Août 2012
    Messages
    55
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur ABAP

    Informations forums :
    Inscription : Août 2012
    Messages : 55
    Par défaut
    Bonjour,

    Tu peux faire

    CASE 'X'.
    WHEN A.
    ...
    WHEN B.
    ...

    Si A et B ont une relation mutuellement exclusive.

    Je ne pense pas que ce soit le cas... Je te conseille de tester rd_upd et cb1 dans des IF séparés.

  5. #5
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2014
    Messages : 16
    Par défaut
    Merci à tous pour vos réponses ! J'ai finit par trouver la réponse (enfin avec de l'aide des collègues ) !

    En fait il manquait "juste" un IS INITIAL sur la check box.

    Je met la réponse au cas où ça aiderait quelqu'un plus tard :

    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
    28
    29
    30
    31
    32
    33
    34
    AT SELECTION-SCREEN.
    
    AT SELECTION-SCREEN OUTPUT.
    
      LOOP AT SCREEN.
    
        CASE 'X'.
          WHEN rd_upd.
            IF cb1 IS INITIAL.
              IF screen-name CP c_param_test
                OR screen-name CP c_param_trans2.
                screen-invisible = 1.
                screen-input = 0.
                MODIFY SCREEN.
              ENDIF.
            ELSE.
              IF screen-name CP c_param_trans2.
                screen-invisible = 1.
                screen-input = 0.
                MODIFY SCREEN.
              ENDIF.
            ENDIF.
    
          WHEN rd_gen.
            IF screen-name CP c_param_test
              OR screen-name CP c_checkbox_test
              OR screen-name CP c_param_trans1.
              screen-invisible = 1.
              screen-input = 0.
              MODIFY SCREEN.
            ENDIF.
        ENDCASE.
    
      ENDLOOP.
    Je risque de revenir dans le coin car je débute en ABAP, et c'est pas toujours évident ... Merci à tous en tout cas

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

Discussions similaires

  1. Réponses: 0
    Dernier message: 09/10/2008, 13h33
  2. GUI avec nombre de Check Box parametrable
    Par laurent12 dans le forum Interfaces Graphiques
    Réponses: 8
    Dernier message: 02/07/2008, 15h44
  3. check box ne reative pas mon champ
    Par pierrot2908 dans le forum Interfaces Graphiques en Java
    Réponses: 6
    Dernier message: 15/05/2007, 16h52
  4. Réponses: 15
    Dernier message: 21/04/2007, 23h49
  5. Listbox avec Check Box
    Par jeff91 dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 04/04/2007, 15h32

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