# ABAP Screen Painter Problem



## SirNeo (24. Februar 2003)

Hallo zusammen,

ich weiß meine Frage ist schon sehr speziell, aber vielleicht kann mir doch jemand weiterhelfen.
Ich versuche schon seit Ewigkeiten in ABAP mit dem Screenpainter ein Selektionsfeld zu erzeugen.

In einem Report kann ich dies einfach über 

```
SELECT-OPTIONS belnr FOR bseg-belnr.
```
erreichen, aber im Scrren Painter finde ich keine entsprechende Funktion damit ich einen von - bis Wert eingeben kann.

Muss ich mir diese Variante etwa selber basteln mit zwei Felder un einer internen Tabelle dahinter? Das wäre dochj viel zu umständlich oder?

Vielleicht weiß jemand etwas genaueres.
Die Hilfe in ABAP reichte leider dazu nicht aus. 

Grüsse und vielen Dank im voraus
SirNeo


----------



## algorith (1. Juli 2003)

*Lösung*

Hi, 
vielleicht interessiert Dich das ganze ja noch...
Du mußt in Deinen TOP-Include einen Selectionscreen anlegen (z.b. 0200) , und diesen dann mit CALL SELECTION-SCREEN 0200 aus Deinem Dynpro rufen. Falls direkt beim Programmstart der Selectionscreen erscheinen soll, rufe ihn zum Zeitpunkt PBO, und prozessiere das rufende Dynpro "dunkel" ( mit dem Befehl SUPRESS DIALOG )

Gruss
Oliver


----------



## Cookie (20. Januar 2004)

Hey algorith,
ich hab deine Lösung mal ausprobiert, weil ich das selbe Problem hatte, aber wenn ich den CALL SCREEN innerhalb des PBO (über ein zwischengeschaltetes Modul) aufrufe, dann wird der SELECTION-SCREEN mit dem SELECT-OPTIONS zwar angezeigt, aber mein DYNPRO nicht, sondern erst nach Verlassen des SELECTION-SCREEN!
Ich möchte aber ein SELECT-OPTIONS direkt in einem DYNPRO (wie ein normales Eingabefeld) mit anderen Komponenten einbauen! Das wird aber wahrscheinlich nicht funktionieren, oder?!  

Wenn Du doch noch was weißt, würd mich freuen!  

Greetz


----------



## algorith (2. November 2004)

Hallo,

ich habe die Frage nicht gesehen.
Besteht noch Bedarf?

Gruß,
Oliver


----------



## SirNeo (3. November 2004)

Hallo,

inzwischen habe ich zwar einige Schulungne in SAP hintermir, unter anderem auch eine im Screen Painter, aber wenn man mir noch einmal eine kurze Auffrischugen geben kann wie dies funktionierte, wäre das super.
Das oben angesprochene Problem hat sich allerdings erledigt.

Gruß
SirNeo


----------



## algorith (3. November 2004)

> aber wenn man mir noch einmal eine kurze Auffrischugen geben kann wie dies funktionierte, wäre das super.


Wie meinst Du das   
Um auf die ursprüngliche Thematik zurückzukommen, also Select-Options auf Dynpro, das habe ich selber noch nie gebraucht und daher auch noch nie gemacht.  

ABER in der Funktionsgruppe *ALDB* gibt es z.B. den Funktionsbaustein *COMPLEX_SELECTIONS_DIALOG*. Damit muß man das wohl hinkriegen.

Ich weiß nicht demnach auch nicht genau, wie es in diesem Zusammenhang mit dem Datentransport zwischen Dynpro und ABAP aussieht. Evtl. dazu mal den Funtkionsbaustein *DYNP_VALUES_READ* anschauen. Damit kann man die Daten eines Dynpros auslesen.

Falls ich anderweitig helfen kann, raus damit   

Gruß,
Oliver


----------



## Arno Simon (11. Juli 2008)

Auch wenn der Beitrag schon Asbach ist - immerhin der letzte Post in 2004 - schreibe ich mal eine mögliche Lösung rein, auf die ich gerade mit einem Kollegen zusammen gekommen bin:

1. Einen Selektionsschirm als SubScreen definieren


```
selection-screen begin of screen 8000 as subscreen.
selection-screen begin of block b1 with frame title text-a01.
......
selection-screen end of block b1.
selection-screen end of screen 8000.
```

und 

2. diesen im eigenen Dynpro in einem SubScreen-Bereich einbinden.


```
process before output.
  module status_2100.

  call subscreen sub8
       including 'dein_programm_name'
                 '8000'.
```

Anschliessend muss man nur über einen entsprechenden OK-Code dafür sorgen, das die Werte des Selektionsschirms auch in die eigene Suche einfliessen 

vG

Arno

PS Haken der Lösung: Ein Test über den Screen-Painter ist nicht möglich. Die Einbindung kann nur durch direkte Ausführung des übergeordneten Dynpros getestet werden.


----------

