Précédent   Forum des professionnels en informatique > Logiciels > Solutions d'entreprise > ERP > SAP
SAP Forum d'entraide sur SAP et sur la programmation avec le langage ABAP
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 30/12/2010, 12h30   #1
Inscrit
 
Consultant SAP
Inscription : novembre 2010
Messages : 276
Détails du profil
Informations personnelles :
Localisation : France, Rhône (Rhône Alpes)

Informations professionnelles :
Activité : Consultant SAP

Informations forums :
Inscription : novembre 2010
Messages : 276
Points : 179
Points : 179
Par défaut Evenement sur RadioButton

Bonjour,

j'ai 2 radio butons appartenant au même groupe.

J'aimerais que quand je sélectionne l'un des radio butons je grise une zone texte et ceci dynamiquement.

Et vis et versa.

Avez-vous une idée sur le type d'évènement à utiliser ?

Merci.
heliy est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/12/2010, 14h16   #2
Rédacteur/Modérateur
 
Avatar de cladsam
 
Morgan Bourgeois
Inscription : août 2003
Messages : 1 730
Détails du profil
Informations personnelles :
Nom : Morgan Bourgeois
Âge : 32
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations forums :
Inscription : août 2003
Messages : 1 730
Points : 1 862
Points : 1 862
Bonjour,

Lorsque tu selectionnes ton radio bouton, ca va déclencher un OK code à récupérer dans le PAI de ton écran ce qui te permet de gérer un flag.

Ensuite la séquence d'écran va repasser dans le PBO de ou tu peux utiliser un loop at screen pour griser/dégriser ton champ

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
DATA : w_display(1) type c.
PBO 

loop at screen.
  case screen-name.
  when 'MON_CHAMP'.
      screen-input = w_display.
  when others.
  endcase.
  modify screen.
endloop.

PAI 

case sy-ucomm.
when 'MON_OK_CODE'.
   if w_display is initial.
   w_display = 'X'.
   else.
   clear w_display.
   endif.
when others.
endcase.
__________________
----------------------------------------------------
Consultant technico-fonctionnel SAP logistique -
Mon site sur developpez
---------------------------------------------------
Anakin Skywalker turn to the Dark Side after his failed attempt to upgrade R/2-D2 to R/3-D2.
cladsam est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/12/2010, 14h20   #3
Inscrit
 
Consultant SAP
Inscription : novembre 2010
Messages : 276
Détails du profil
Informations personnelles :
Localisation : France, Rhône (Rhône Alpes)

Informations professionnelles :
Activité : Consultant SAP

Informations forums :
Inscription : novembre 2010
Messages : 276
Points : 179
Points : 179
Salut et Merci Cladsam,

mais moi dans mon prog j'ai juste un dynpro 1000.

C'est un programme que j'ai créé via SE38.

Comment puis-je accéder au PBO et PAI ?

Merci.
heliy est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/12/2010, 14h37   #4
Inscrit
 
Consultant SAP
Inscription : novembre 2010
Messages : 276
Détails du profil
Informations personnelles :
Localisation : France, Rhône (Rhône Alpes)

Informations professionnelles :
Activité : Consultant SAP

Informations forums :
Inscription : novembre 2010
Messages : 276
Points : 179
Points : 179
je viens mettre ces codes dans le PBO et PAI, mais il ne passe qu'une seule fois dans le PAI lorsque je coche l'autre radiobuton.

Est-ce normal ?
heliy est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/12/2010, 14h43   #5
Rédacteur/Modérateur
 
Avatar de cladsam
 
Morgan Bourgeois
Inscription : août 2003
Messages : 1 730
Détails du profil
Informations personnelles :
Nom : Morgan Bourgeois
Âge : 32
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations forums :
Inscription : août 2003
Messages : 1 730
Points : 1 862
Points : 1 862
Que dirais-tu d'un petit tour par la ?
__________________
----------------------------------------------------
Consultant technico-fonctionnel SAP logistique -
Mon site sur developpez
---------------------------------------------------
Anakin Skywalker turn to the Dark Side after his failed attempt to upgrade R/2-D2 to R/3-D2.
cladsam est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/12/2010, 14h49   #6
Inscrit
 
Consultant SAP
Inscription : novembre 2010
Messages : 276
Détails du profil
Informations personnelles :
Localisation : France, Rhône (Rhône Alpes)

Informations professionnelles :
Activité : Consultant SAP

Informations forums :
Inscription : novembre 2010
Messages : 276
Points : 179
Points : 179
Merci.

Mes blocks d'instruction sont à leur bonne place suivant le process, mais je ne rentre pas dans le PAI pour chaqu'un des évenements rattaché à mes boutons.

Par contre, si je réitère la selection des rdb en alternant l'un à l'autre au bout de 12 fois, il rentre bien dans le PAI à chaque événements "selection du bouton" et pour les 2.


...

Je comprends plus trop là.
heliy est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/12/2010, 14h55   #7
Rédacteur/Modérateur
 
Avatar de cladsam
 
Morgan Bourgeois
Inscription : août 2003
Messages : 1 730
Détails du profil
Informations personnelles :
Nom : Morgan Bourgeois
Âge : 32
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations forums :
Inscription : août 2003
Messages : 1 730
Points : 1 862
Points : 1 862
SAP ne réagi qu'à la validation, c'est le process standard des écrans.
Change tes cases et clique sur entrer ?
Tu dois pouvoir utiliser "CHAIN" ou le nom du groupe pour n'utiliser qu'un module propre au 2 boutons
__________________
----------------------------------------------------
Consultant technico-fonctionnel SAP logistique -
Mon site sur developpez
---------------------------------------------------
Anakin Skywalker turn to the Dark Side after his failed attempt to upgrade R/2-D2 to R/3-D2.
cladsam est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/12/2010, 15h02   #8
Inscrit
 
Consultant SAP
Inscription : novembre 2010
Messages : 276
Détails du profil
Informations personnelles :
Localisation : France, Rhône (Rhône Alpes)

Informations professionnelles :
Activité : Consultant SAP

Informations forums :
Inscription : novembre 2010
Messages : 276
Points : 179
Points : 179
Que serait le Forum SAP sans Cladsam et Celdron !

Vraiment sympa de ta part et merci encore pour ta réactivité Cladsam !

Cdlt.
heliy est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/12/2010, 15h30   #9
Rédacteur/Modérateur
 
Avatar de cladsam
 
Morgan Bourgeois
Inscription : août 2003
Messages : 1 730
Détails du profil
Informations personnelles :
Nom : Morgan Bourgeois
Âge : 32
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations forums :
Inscription : août 2003
Messages : 1 730
Points : 1 862
Points : 1 862
Avec plaisir, merci pour ces compliments
__________________
----------------------------------------------------
Consultant technico-fonctionnel SAP logistique -
Mon site sur developpez
---------------------------------------------------
Anakin Skywalker turn to the Dark Side after his failed attempt to upgrade R/2-D2 to R/3-D2.
cladsam est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/12/2010, 16h14   #10
Inscrit
 
Consultant SAP
Inscription : novembre 2010
Messages : 276
Détails du profil
Informations personnelles :
Localisation : France, Rhône (Rhône Alpes)

Informations professionnelles :
Activité : Consultant SAP

Informations forums :
Inscription : novembre 2010
Messages : 276
Points : 179
Points : 179
Mais de rien.

Cependant, j'ai un nouveau soucis.


j'ai rajouté ma déclaration de module dans la Logic d'Exection PAI/PBO.

Code :
1
2
3
4
5
6
Chain. Field R1. Field R2. Module check_rd. Chain.
Mais en faite, cette partie de Logic d'Exécution est généré dynamiquement, ce qui fait qu'il m'écrase le bout de code que j'ai rajouté.

Comment puis-je parer ce problème ?

Merci bien.
heliy est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/12/2010, 15h49   #11
Membre confirmé
 
Inscription : août 2009
Messages : 226
Détails du profil
Informations forums :
Inscription : août 2009
Messages : 226
Points : 239
Points : 239
tu ne dois pas modifier la logique de flux de l'écran de sélection 1000, car il est généré dynamiquement.

A la place, comme disait Cladsam (lien vers la sap library), tu dois utiliser les événements AT SELECTION-SCREEN ON radiobutton1 et AT SELECTION-SCREEN ON radiobutton2.

tu peux aussi voir les exemples fournis par SAP -> transaction ABAPDOCU (par exemple le programme demo_sel_screen_user_command)
sandraros est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/01/2011, 09h21   #12
Membre expérimenté
 
Avatar de Celdrøn
 
Homme Celdrøn Valdersen
Consultant SAP
Inscription : juillet 2007
Messages : 438
Détails du profil
Informations personnelles :
Nom : Homme Celdrøn Valdersen
Âge : 26
Localisation : France

Informations professionnelles :
Activité : Consultant SAP

Informations forums :
Inscription : juillet 2007
Messages : 438
Points : 579
Points : 579
Envoyer un message via MSN à Celdrøn
Citation:
Envoyé par heliy Voir le message
Que serait le Forum SAP sans Cladsam et Celdron !
[...]
Salut, merci pour le compliment.
Désolé de ne réagir que maintenant, j'ai pris quelques jours de congés histoire d'hiverner un petit peu.

Sinon, pour réagir un petit peu, il n'y a nul besoin d'utiliser l'événement AT SELECTION-SCREEN ON radiobutton pour ce genre de traitement.
En effet, tout ce que l'on a besoin dans ce traitement c'est d'un relancement du PBO ce qui induit donc une action utilisateur (USER COMMAND) et d'un témoin pour connaitre l'état que doit prendre l'écran suite à l'action sur le groupe de cases d'option et les cases d'options remplissent à merveille ce rôle.

Donc en gros :
Code :
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
PARAMETERS : rb_1 RADIOBUTTON GROUP radi USER-COMMAND rad,
             rb_2 RADIOBUTTON GROUP radi.


AT SELECTION-SCREEN OUTPUT.

  LOOP AT SCREEN.

    CASE 'X'.
      
      WHEN rb_1.
*      screen-... = 0, 1 ou 2.

      WHEN rb_2.
*      screen-... = 0, 1 ou 2.

*    Autre
      WHEN OTHERS.
*      Ne rien faire

    ENDCASE. "'X'.

    MODIFY SCREEN.

  ENDLOOP. "AT SCREEN.
Voila, c'est tout, pas la peine de s'embêter avec un témoin.

Bon courage pour la suite et Bonne Année à tout le monde !!!
__________________
Boaf...signature <= ça suffira ça ??
Celdrøn est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 15h36.


 
 
 
 
Partenaires

Hébergement Web