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 :

ABAP: Basculer entre deux ecrans de selection


Sujet :

SAP

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Ingénieur développement logiciel
    Inscrit en
    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 : 25
    Points
    25
    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.

  2. #2
    Membre éclairé Avatar de beuzy
    Femme Profil pro
    SAP
    Inscrit en
    Novembre 2008
    Messages
    613
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : SAP
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2008
    Messages : 613
    Points : 705
    Points
    705
    Par défaut
    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

  3. #3
    Membre éprouvé Avatar de Celdrøn
    Homme Profil pro
    Consultant SAP
    Inscrit en
    Juillet 2007
    Messages
    614
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Consultant SAP

    Informations forums :
    Inscription : Juillet 2007
    Messages : 614
    Points : 1 008
    Points
    1 008
    Par défaut
    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.

  4. #4
    Membre éclairé
    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
    Points : 764
    Points
    764
    Par défaut
    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

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Ingénieur développement logiciel
    Inscrit en
    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 : 25
    Points
    25
    Par défaut
    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 : 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
     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.

  6. #6
    Membre éprouvé Avatar de Celdrøn
    Homme Profil pro
    Consultant SAP
    Inscrit en
    Juillet 2007
    Messages
    614
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Consultant SAP

    Informations forums :
    Inscription : Juillet 2007
    Messages : 614
    Points : 1 008
    Points
    1 008
    Par défaut
    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.

  7. #7
    Nouveau membre du Club
    Homme Profil pro
    Ingénieur développement logiciel
    Inscrit en
    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 : 25
    Points
    25
    Par défaut
    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.

Discussions similaires

  1. PL/SQL différence entre deux dates et select into
    Par athone666 dans le forum PL/SQL
    Réponses: 2
    Dernier message: 01/07/2009, 10h38
  2. Bascule entre deux cartes reseau
    Par jawed dans le forum Windows
    Réponses: 3
    Dernier message: 18/05/2009, 00h40
  3. Basculer entre deux sessions
    Par serna dans le forum Langage
    Réponses: 1
    Dernier message: 22/09/2008, 15h44
  4. basculer entre deux form?
    Par UnSofteuxAmateur dans le forum Windows Forms
    Réponses: 9
    Dernier message: 04/07/2007, 12h35
  5. Simuler ecart entre deux ecran
    Par Robeeeert dans le forum OpenGL
    Réponses: 4
    Dernier message: 11/06/2007, 15h18

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