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 13/04/2011, 13h00   #1
Invité de passage
 
Homme
Ingénieur développement logiciel
Inscription : juillet 2009
Messages : 30
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Maroc

Informations professionnelles :
Activité : Ingénieur développement logiciel
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : juillet 2009
Messages : 30
Points : 3
Points : 3
Par défaut ABAP: Basculer entre deux ecrans de selection

Bonjour,

je suis un nouveau abapeur, je cherche à faire suivre deux écrans de selection, c'est à dire quand l'ulisateur exécute le programme, il a un écran de selection, là où il remplie les données par la suite, il doit cliquer sur "EXECUTER" pour passer à l'autre écran de selection. J'ai essayer de le faire mais en vain..
Si quelqu'un à une idée, Merci de me guider ou me donner un exemple de code.

Merci d'avance.
l_cauchy est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/04/2011, 13h19   #2
Membre actif
 
Avatar de beuzy
 
Femme Marianne
ABAP
Inscription : novembre 2008
Messages : 203
Détails du profil
Informations personnelles :
Nom : Femme Marianne
Âge : 27
Localisation : France

Informations professionnelles :
Activité : ABAP

Informations forums :
Inscription : novembre 2008
Messages : 203
Points : 174
Points : 174
C'est peut être pas la meilleure solution mais j'aurais fait 2 programmes :
Un avec le premier écran dans lequel tu fais un submit du second avec l écran 2
beuzy est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/04/2011, 13h58   #3
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
Salut,

Ou alors, tu fais un écran 2 en 1.

Je m'explique avant que tu crois que je parle de shampooing.

Tu places toutes tes zones sur l'écran. Lors du lancement du programme, tu affiches les premières zones à afficher et tu masques les autres.

Une fois que t'appuies sur Exécuter, tu annules le code fonction en cours, et une fois revenu dans le PBO, tu affiches les zones suivantes.
Par contre, l'appui sur le bouton Exécuter une seconde fois permet de passer dans le START-OF-SELECTION bien entendu.

Je ne sais pas s'il serait plus simple de faire un CALL SELECTION-SCREEN mais je ne peux pas certifier que ça fonctionne... vu que je ne peux pas développer en ce moment.

Bref, bon courage.
__________________
Boaf...signature <= ça suffira ça ??
Celdrøn est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/04/2011, 06h07   #4
Membre confirmé
 
Inscription : août 2009
Messages : 226
Détails du profil
Informations forums :
Inscription : août 2009
Messages : 226
Points : 239
Points : 239
Je ne suis pas trop d'accord avec les 2 réponses avant : si ce que tu veux est aussi simple que ce que tu dis, alors fais-le simplement.

J'imagine que tu as tenté le CALL SELECTION-SCREEN et que tu n'y es pas arrivé.

Regarde le programme de démo DEMO_CALL_SELECTION_SCREEN (écran de sélection par défaut (le 1000), puis écran de sélection 500 en popup, puis écran de sélection 1000 en popup, puis retour au 1000). évidemment, tu n'es pas obligé à faire en popup.

2 choses à se rappeler :
1) quand on fait CALL SELECTION-SCREEN, le Entrée exécute le PAI et le CALL se termine
2) les PBO et PAI de tous les écrans de sélection se gèrent par les mêmes 2 événements, respectivement at selection-screen output et at selection-screen (tout court), il faut donc tester SY-DYNNR pour différencier le traitement
sandraros est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/04/2011, 11h46   #5
Invité de passage
 
Homme
Ingénieur développement logiciel
Inscription : juillet 2009
Messages : 30
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Maroc

Informations professionnelles :
Activité : Ingénieur développement logiciel
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : juillet 2009
Messages : 30
Points : 3
Points : 3
Bonjour,

Merci à vous 3 d'avoir voulu me donner des pistes.
En fait les 3 pistes étaient possibles, mais j'ai opté pour celle de "sandraros" en utilisant même les popups qui répondaient parfaitement à ce que je cherchais.

voilà un extrait de ce que j'ai fait. j'attends vos remarques pour cocher sur résolu.
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
27
28
29
30
 SELECTION-SCREEN BEGIN OF BLOCK block1 WITH FRAME TITLE text-block1.
   SELECT-OPTIONS : so_var1 FOR NUMERO.
   SELECT-OPTIONS so_date FOR d_date DEFAULT SY-DATUM .
 SELECTION-SCREEN END OF BLOCK block1.


*** Block 2 ***
SELECTION-SCREEN BEGIN OF SCREEN 500 AS WINDOW.
 SELECTION-SCREEN BEGIN OF BLOCK block3 WITH FRAME TITLE tit2.
  SELECTION-SCREEN BEGIN OF LINE.
  SELECTION-SCREEN COMMENT 2(56) ecrInt.
  SELECTION-SCREEN POSITION 17.
  SELECTION-SCREEN end OF LINE.
  SELECTION-SCREEN END OF BLOCK block3.
SELECTION-SCREEN END OF SCREEN 500.

**************** AT SELECTION-SCREEN *****
AT SELECTION-SCREEN.
  CASE sy-dynnr. "Pour tester l'écran utiliser
    WHEN '0500'.
      MESSAGE w888(SABAPDOCU) WITH 'Screen 500'.
    WHEN '1000'.
      "MESSAGE w888(SABAPDOCU) WITH 'Screen 1000'.
      CALL SELECTION-SCREEN 500 STARTING AT 10 10.
  ENDCASE.

**************** AT SELECTION-SCREEN OUTPUT******
AT SELECTION-SCREEN OUTPUT.
    ecrInt = 'X périodes à exporter pour Y matricules '.
Merci pour tout.

Cdt.
l_cauchy est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/04/2011, 16h52   #6
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
Merci pour moi !!!

J'avais émis l'hypothèse du CALL SELECTION-SCREEN en premier... non mais !

Je me vengerai !

Sinon il y a une petite faute...
==> Pour tester l'écran utilisé

Sinon c'est bizarre ça : text-block1
Les noms de symboles de texte sont limités à trois caractères (text-001, text-e01, etc), donc ça m'étonnerait que ça fonctionne.

Je n'ai rien vu d'autre.
__________________
Boaf...signature <= ça suffira ça ??
Celdrøn est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/04/2011, 18h26   #7
Invité de passage
 
Homme
Ingénieur développement logiciel
Inscription : juillet 2009
Messages : 30
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Maroc

Informations professionnelles :
Activité : Ingénieur développement logiciel
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : juillet 2009
Messages : 30
Points : 3
Points : 3
Oui vous avez raison Celdron pour les "text-block1" , C'était mon brouillon, j'ai du changer ça pour mon code originale et ça marche.

Merci encore à vous pour le CALL SELECTION-SCREEN.
l_cauchy 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 02h26.


 
 
 
 
Partenaires

Hébergement Web