zurück zum selectionsbild???

Alles rund um die Sprache ABAP®: Funktionsbausteine, Listen, ALV
7 Beiträge • Seite 1 von 1
7 Beiträge Seite 1 von 1

zurück zum selectionsbild???

Beitrag von dimes (Specialist / 146 / 0 / 0 ) »
Hallo,

Ich habe 2 Selectionsbilder in Abap Programm erstellt, und rufe dann nach einer Bedingung, entweger das eine oder das andere Selectionsbild auf.

Dannach gebe ich was aus und wenn ich wieder zurück will (F3), dann will ich wieder auf dem Selectionsbild landen, der geht aber ganz aus dem Programm.

z.B

Code: Alles auswählen.

report test.

selection-screen begin of screen 1.
parameter test1(30) type c obligatory.
selection-screen end of screen 1.

selection-screen begin of screen 2.
parameter test2(30) type c  obligatory.
selection-screen end of screen 2.

data: a.

if a = 'X'.
  call selection-screen 1.
else.
  call selection-screen 2.
endif.

start-of-selection.

  if a = 'X'.
    write: test1.
  else.
    write: test2.
  endif.

Wie kann ich das realisieren???
Danke für jeden Tip.

gesponsert
Stellenangebote auf ABAPforum.com schalten
kostenfrei für Ausbildungsberufe und Werksstudenten


Beitrag von c oco (Specialist / 326 / 12 / 16 ) »
mit at selection-screen.

bevor du deine bedingung angibst, schreibst du "at selection-screen" davor.

somit kommst du nicht aus deinem modus raus.

grüße
coco

Beitrag von dimes (Specialist / 146 / 0 / 0 ) »
Wie meinst du das???
Wenn ich vor der Bedingung

Code: Alles auswählen.

if a = 'X'.
  call selection-screen 1.
else.
  call selection-screen 2.
endif.
"at selection-screen" schreibe dann kommt er doch garnicht in die Selectionsmaske weil das doch erst aufgerufen wird wenn eine Selectionsmaske bearbeitet wird.

Kannst du es vielleicht in nem coding ausdrücken...

Danke

Beitrag von c oco (Specialist / 326 / 12 / 16 ) »
ich versuche es:

zu deiner frage:

nein. du beginnst vor der anweisung "at selection-screen" mit der Bearbeitung des Selektionsbidschirmes an.

bei der anweisung angelangt arbeitet die Steuerlogik alles ab der anweisung ab. d.h. wenn du bedingungen eingeben willst, oder eine message ausgeben willst, dann wird dies nach "at selection-screen" gemacht.

hier ein altes code von mir.
hoffe es hilft dir weiter.

Code: Alles auswählen.

REPORT testprogramm .                                      
                                                                       
TABLES: sscrfields.                                                    
                                                                       
SELECTION-SCREEN PUSHBUTTON  5(15) pb1 USER-COMMAND 0001.              
SELECTION-SCREEN PUSHBUTTON 25(15) pb2 USER-COMMAND 0002.              
                                                                       
                                                                       
SELECTION-SCREEN BEGIN OF SCREEN 1.                                    
PARAMETER test1(30) TYPE c OBLIGATORY.                                 
SELECTION-SCREEN END OF SCREEN 1.                                      
                                                                       
SELECTION-SCREEN BEGIN OF SCREEN 2.                                    
PARAMETER test2(30) TYPE c  OBLIGATORY.                                
SELECTION-SCREEN END OF SCREEN 2.                                      
                                                                       
INITIALIZATION.                                                        
test1 = 'Screen 1'.                                                    
test2 = 'Screen 2'.                                                    
                                                                       
AT SELECTION-SCREEN.                                                   
  CASE sscrfields-ucomm.                                               
    WHEN '0001'.                                                       
      CLEAR: test1, test2.                                             
      CALL SELECTION-SCREEN 1.                                         
      sscrfields-ucomm = 'ONLI'.                 
    WHEN '0002'.                                 
      CLEAR: test1, test2.                       
      CALL SELECTION-SCREEN 2.                   
sscrfields-ucomm = 'ONLI'.                       
  ENDCASE.                                       
                                                 
START-OF-SELECTION.                              
  WRITE: /'parameter A:', test1.                 
  WRITE: /'parameter B:', test2.    

grüße
coco             

Beitrag von dimes (Specialist / 146 / 0 / 0 ) »
Hi coco,

Danke für die Hilfe. Hab mir das angeschaut.
Das lösst irgendwie nicht mein Problem.

Meine Bedingung wird nicht erst nach einer eingabe auf einem selectionsbild überprüft sonder aus einer Tabelle. Sozusagen ob der benutzer das recht hat zusatzinformationen auf dem bildschirm zu haben oder nicht.

Bei dir ist auch das problem das wenn ich jetzt nach der Ausgabe des Textes zurück gehe er nicht auf einem der aufgerufenen screens stehen bleibt sondern wieder zum enscheidungs screen zurück springt...

Code: Alles auswählen.



REPORT testprogramm .

TABLES: sscrfields.

data darf value ' '.

SELECTION-SCREEN BEGIN OF SCREEN 1.
PARAMETER test1(30) TYPE c OBLIGATORY.
SELECTION-SCREEN END OF SCREEN 1.

SELECTION-SCREEN BEGIN OF SCREEN 2.
PARAMETER test2(30) TYPE c  OBLIGATORY.
SELECTION-SCREEN END OF SCREEN 2.

INITIALIZATION.
select single flag 
  from zberechtigungen
  into darf
  where report = sy-repid.


CASE darf.                                                
    WHEN 'X'.                                                        
      CLEAR: test1, test2.                                              
      CALL SELECTION-SCREEN 1.                                          
    WHEN ' '.   
      CALL SELECTION-SCREEN 2. "Selectionsmaske mit mehreren         
                               "Auswahlmöglichkeiten                   
  ENDCASE.                      



START-OF-SELECTION.
  WRITE: /'parameter A:', test1.
  WRITE: /'parameter B:', test2.




Hab mir das so vorgestellt. Nur hier springt er nie zu dem zeitpunkt at selection-screen.
Wie kann man das machen????
Danke

Beitrag von DeathGuardian (Expert / 759 / 0 / 3 ) »
Versuch mal folgendes:
Pack beide Screens zu einem zusammen, damit alle den 1000 darstellen.
Anschliessend machst du bei "AT SELECTIONCREEN OUTPUT" einen "loop at screen" und tust dir die nicht benötigten Felder ausblenden.

Beitrag von dimes (Specialist / 146 / 0 / 0 ) »
Ohhhh man bin ich blöd!!!
Und ich versuch es die ganze zeit mit irgendwelchen Dynpros. Naja, hab jetzt vielleicht auch was dazu gelernt. Vielen Dank

Seite 1 von 1

Vergleichbare Themen

2
Antw.
1821
Views
Wertehilfe auf Selectionsbild
von daalbrec » 30.11.2006 19:48 • Verfasst in Human Resources
5
Antw.
2605
Views
F1-Hilfetext im Selectionsbild
von mofis » 22.05.2007 11:48 • Verfasst in ABAP® Core
1
Antw.
1976
Views
Tipp für Selectionsbild?
von zickzack0312 » 27.12.2006 19:36 • Verfasst in ABAP® für Anfänger
2
Antw.
1380
Views
Zurück zu Selectionsbildschirm
von holderda » 11.03.2014 13:38 • Verfasst in ABAP® für Anfänger
5
Antw.
1972
Views
zurück zum Selectionsscreen
von RiffRaff » 14.09.2005 16:20 • Verfasst in ABAP® Core

Über diesen Beitrag


Unterstütze die Community und teile den Beitrag für mehr Leser und Austausch

Newsletter Anmeldung

Keine Beiträge verpassen! Wöchentlich versenden wir lesenwerte Beiträge aus unserer Community.
Die letzte Ausgabe findest du hier.
Details zum Versandverfahren und zu Ihren Widerrufsmöglichkeiten findest du in unserer Datenschutzerklärung.