SELECT-OPTIONS gruppieren

Die Frage ist als "gelöst" markiert. Den entsprechend Beitrag findest du hier.

Getting started ... Alles für einen gelungenen Start.
16 Beiträge • Seite 1 von 2 (current) Nächste
16 Beiträge Seite 1 von 2 (current) Nächste

SELECT-OPTIONS gruppieren

Beitrag von hausi (ForumUser / 56 / 11 / 1 ) »
Hallo zusammen,

ich versuche gerade etwas Neues und würde mich über Anregungen eurerseits freuen:

Ich habe geschätzt 20 Parameter.. anhand derer ich unterhalb einen Grid ausgeben lasse.
Jetzt ist natürlich wenn man nicht gerade einen riesigen Monitor hat, der ALV-Grid unterhalb der Select-Options sagen wir mal - schmal - :D

So meine Idee...

Code: Alles auswählen.

SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 1(5) text-t09.
SELECT-OPTIONS: gr_abc1  FOR tab-abc1.
SELECTION-SCREEN COMMENT 57(6) text-t10. 
SELECT-OPTIONS: gr_abc2  FOR tab-abc2.
Wenn ich meinen Screen so aufbaue werden tatsächlich 2 Select-Options hintereinander geschrieben und ich könnte so die Anzahl der Zeilen von 20 auf 10 halbieren.

Problem dabei ist -> leider darf der Text in text-t09 und text-t10 maximal 5 oder 6 Zeichen lang sein da ich sonst über den Frame Rahmen hinauskomme (geht zwar und wird angezeigt
aber sieht ***** aus!!) Ich möchte den Frame gerne erweitern - breiter machen... Kann doch nicht sein das der Tabstrip der die Select-Options beinhaltet und der ALV auf die volle breite
gehen aber dieser eine Frame in Stein gemeißelt ist oder?

Bitte um Hilfe - Danke :P
hausi

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


Re: SELECT-OPTIONS gruppieren

Beitrag von Unit605 (Expert / 975 / 37 / 93 ) »
Wenn es dann wirklich auf einem Bildschirm passen muss, wuerde mir spontan ein Docking / Splittercontainer einfallen.

Oben die Select-Options, darunter den ALV.

Allerdings mit der Moeglichkeit, den oberen Teil aus- bzw. einzublenden.

CL_GUI_DOCKING_CONTAINER-> SET_VISIBLE "Set Control Visible or Invisible

Vergleichbar mit <SHIFT><F12> in der SE80

Re: SELECT-OPTIONS gruppieren

Beitrag von hausi (ForumUser / 56 / 11 / 1 ) »
Hallo Unit,

erst mal vielen Dank für deine Antwort...

ok - dieses ein- und ausblenden klingt für mich super interessant.... heißt das, es ist ebenso dynamisch wie in der SE80... zum Beispiel durch einen Button oder so?
Sprich der Benutzer könnte seine Werte oben eingeben -> SELECT -> und dann die Parameter ausblenden? Reagiert der Grid dann dynamisch und wird größer?

Wäre es viel verlangt kurz die Logik sofern ich das richtig verstanden habe in Pseudo darzustellen (damit mein Hirn das auf die Kette kriegt ^^)

Liebe Grüße
hausi

Re: SELECT-OPTIONS gruppieren

Beitrag von ewx (Top Expert / 4849 / 313 / 642 ) »
Lösung 1: TabStrip und die Select-Options aufteilen
Lösung 2: Selection-Screen auslagern:

Code: Alles auswählen.

REPORT.

DATA h_bukrs TYPE bukrs.
DATA h_land1 TYPE land1.

selection-screen pushbutton /1(20) text-010 user-command PUSH.
SELECTION-SCREEN BEGIN OF SCREEN 1.
SELECT-OPTIONS s_bukrs FOR h_bukrs.
SELECT-OPTIONS s_land1 FOR h_land1.
SELECTION-SCREEN END OF SCREEN 1.

AT SELECTION-SCREEN.
  IF sy-ucomm = 'PUSH'.
    CALL SELECTION-SCREEN 1 STARTING AT 1 1 ENDING AT 150 30.
  ENDIF.
Lösung 3: Abwandlung von Unit605: Docking container rechts, so dass die Selopts links über den gesamten Bildschirm zu sehen sind. Evtl.ohne die EXTENSION, aber zumindest die Parameternamen
Lösung 4: Eigene Bestückung der Select-Options in einem Normalen Dynpro (Kein SelScreen). Select-Options ggfs. etwas unorthodox aufbereitet in einem String (I-EQ:1234;E-BT:200-300)
Lösung 5: SAP-Standardvorgehensweise: SELECT-OPTIONS eintragen, F8, Listanzeige.

Re: SELECT-OPTIONS gruppieren

Beitrag von Unit605 (Expert / 975 / 37 / 93 ) »
Ich habe noch eine Gegenfrage. Die Antwort koennte das Ganze evtl. noch einfacher machen koennte.

Handelt es sich bei Deinem Screen um einen Selection-Screen? Falls ja, koennte das doch schon mit Loop at Screen erschlagen werden?!?!

Oder handelt es sich um einen Customer-Screen/Dialogmodul?

Re: SELECT-OPTIONS gruppieren

Beitrag von hausi (ForumUser / 56 / 11 / 1 ) »
So hallo nochmal,

erstmal zu ewx,
Lösung 1: Es handelt sich hierbei leider schon um einen von mehreren Tabstrips
Lösung 2: Durchaus möglich hab ich auch schon bedacht leider bereits abgelehnt von der Obrigkeit :?
Lösung 3: Dadurch dass es mehrere Tabstrips sind (die alle auch kürzer sind) sollte es auch oben sein
Lösung 4: Leider muss es ein SelScreen sein
Lösung 5: hab ich leider nicht ganz verstanden :P sry

und dann die Antwort an Unit,
jap es ist ein Selection-Screen in einem von 3 Tabstrips - darunter dann jeweil der ALV der die Selektion ausgibt.... ich verstehe nur nicht wie das mit einem Loop at Screen dann verkürzt werden könnte? Die Felder ausblenden die leer sind oder wie?

Sry - ich weiß das die Frage sehr speziell ist ... aber ich kann mich nicht damit abfinden, dass es keine grafisch annehmbare Lösung für diesen Fall geben soll :twisted:

Vielleicht habt ihr 'noch mehr' Ideen?

LG
hausi

Re: SELECT-OPTIONS gruppieren

Beitrag von ewx (Top Expert / 4849 / 313 / 642 ) »
hausi hat geschrieben:Lösung 5: hab ich leider nicht ganz verstanden :P sry
Habe ich auch nur irgendwoher kopiert. Ohne Sinn und Verstand. Sorry! ;)

Lösung 7: Darstellung der Daten in einer Dialogbox. Vorteil: Der Anwender kann die Größe selber bestimmen (Mit etwas gutem Willen kann man sogar die letzten Koordinaten und Größe der Box speichern und beim nächsten Aufruf wieder verwenden... ;) und die Daten können sogar auf einen zweiten Bildschirm geschoben werden. Dann sollte wirklich genug Platz vorhanden sein...

Code: Alles auswählen.

REPORT.

CLASS lcl_main DEFINITION DEFERRED.

DATA gs_t005t TYPE t005t.

SELECT-OPTIONS s_land1 FOR gs_t005t-land1.

CLASS lcl_main DEFINITION.
  PUBLIC SECTION.
    CLASS-METHODS go.
  PROTECTED SECTION.
    CLASS-DATA mt_data         TYPE STANDARD TABLE OF t005t.
    CLASS-DATA ms_data         LIKE LINE OF mt_data.
    CLASS-DATA mr_box          TYPE REF TO cl_gui_dialogbox_container.
    CLASS-DATA mr_salv_table   TYPE REF TO cl_salv_table.
    CLASS-METHODS box.
    CLASS-METHODS select.
    CLASS-METHODS display.
    CLASS-METHODS box_close    FOR EVENT close OF cl_gui_dialogbox_container.
ENDCLASS.

CLASS lcl_main IMPLEMENTATION.
  METHOD go.

    select( ).
    display( ).

  ENDMETHOD.

  METHOD select.

    SELECT * FROM t005t INTO TABLE mt_data
     WHERE land1 IN s_land1
       AND spras = sy-langu.

  ENDMETHOD.

  METHOD display.


    box( ).

    IF mr_salv_table IS INITIAL.
      TRY.
          cl_salv_table=>factory(
            EXPORTING
              r_container = mr_box
            IMPORTING
              r_salv_table   = mr_salv_table
            CHANGING
              t_table        = mt_data
                 ).
          mr_salv_table->display( ).
        CATCH cx_salv_msg .
      ENDTRY.
    ELSE.
      mr_salv_table->refresh( ).
    ENDIF.

  ENDMETHOD.

  METHOD box.

    IF mr_box IS INITIAL.
      CREATE OBJECT mr_box
        EXPORTING
          width  = 1800
          height = 800
          top    = 10
          left   = 100.
      SET HANDLER box_close FOR mr_box.
    ELSE.
      mr_box->set_visible( abap_true ).
    ENDIF.

  ENDMETHOD.
  METHOD box_close.
    mr_box->set_visible( abap_false ).
  ENDMETHOD.
ENDCLASS.


AT SELECTION-SCREEN.

  lcl_main=>go( ).

Re: SELECT-OPTIONS gruppieren

Beitrag von DHE (ForumUser / 10 / 4 / 0 ) »
was mit Lösung 5 gemeint ist: standardmäßig funktionieren SAP Programme so:

- es gibt einen Selektion-Screen mit allen Parametern und Select-Options (ggf. gegliedert mit Tab-Strips
- es gibt einen F8-Button zum Ausführen
- das Ergebnis wird mit einem ALV auf dem Folgescreen angezeigt
- mit Zurück kommt man zum Selektionsbild zurück

Wie ich das verstanden habe, soll in deinem Fall alles auf einen Screen. Ich würde es eigentlich auch mit Docking-Containern machen, einer oben, einer unten. Der oberen enthält die Parameter als Dynpro, der unteren den ALV. Allerdings sehe ich 2 Probleme: Select-Option (mehrfachauswahl) und Tabstrips funktionieren dann glaube ich nicht. Könntest du ausprobieren.
Grüße,
Dominic

Re: SELECT-OPTIONS gruppieren

Beitrag von a-dead-trousers (Top Expert / 4399 / 223 / 1182 ) »
Es gäbe auch die Möglichkeit einen Dynpro-Splitter zu verwenden.
Damit ließe sich der Bereich mit den SELECT-OPTIONS variabel verkleinern.
Einfach im oberen Subscreen den Selection-Screen einblenden und im unteren ein Dynpro mit dem ALV Grid.
(Siehe CL_DYNPRO_SPLITTER und ABAP Hilfe)
Das wird zum Beispiel im neuen Debugger verwendet.

lg ADT
Theory is when you know something, but it doesn't work.
Practice is when something works, but you don't know why.
Programmers combine theory and practice: Nothing works and they don't know why.

ECC: 6.18
Basis: 7.50

Re: SELECT-OPTIONS gruppieren

Beitrag von ewx (Top Expert / 4849 / 313 / 642 ) »
a-dead-trousers hat geschrieben:Es gäbe auch die Möglichkeit einen Dynpro-Splitter zu verwenden.
Damit ließe sich der Bereich mit den SELECT-OPTIONS variabel verkleinern.
Einfach im oberen Subscreen den Selection-Screen einblenden und im unteren ein Dynpro mit dem ALV Grid.
(Siehe CL_DYNPRO_SPLITTER und ABAP Hilfe)
Das wird zum Beispiel im neuen Debugger verwendet.

lg ADT
Ja, das ist ein lustiger Geselle... ;)

Code: Alles auswählen.

 Element SPLITTER in DEMO_DYNPRO_SPLITTER_CONTROL 0100 ist ein Splitter
 Control; Bearbeitung nicht möglich

     Meldungsnr. 37052

 Diagnose

     Zurzeit kann der Grafische Layout Editor Splitter Controls noch nicht
     bearbeiten.

 Systemaktivitäten

     Sie gelangen automatisch in den Alphanumerischen Layout Editor.

 Vorgehen

     Bearbeiten Sie die Elemente des Dynpros im Alphanumerischen Layout
     Editor oder in der Elementliste.
Aber da ein Grid zur Darstellung verwendet wird, ist dieser Splitter eh nicht praktikabel.

Re: SELECT-OPTIONS gruppieren

Beitrag von a-dead-trousers (Top Expert / 4399 / 223 / 1182 ) »
ewx hat geschrieben:Aber da ein Grid zur Darstellung verwendet wird, ist dieser Splitter eh nicht praktikabel.
Okay, das mit dem "unhandlichen" anlegen des Splitters ist ein Problem, das geb ich zu, aber warum sollte das Vorgehen mit einem ALV nicht praktikabel sein?
Theory is when you know something, but it doesn't work.
Practice is when something works, but you don't know why.
Programmers combine theory and practice: Nothing works and they don't know why.

ECC: 6.18
Basis: 7.50

Re: SELECT-OPTIONS gruppieren

Beitrag von ewx (Top Expert / 4849 / 313 / 642 ) »
a-dead-trousers hat geschrieben:[...] aber warum sollte das Vorgehen mit einem ALV nicht praktikabel sein?
Weil du in "deinem" Splitter einen Subscreen anlegen müsstest, der ein Custom-Control enthält, in dem du einen Custom-Container verwenden musst in den dann der ALV kann.
Wenn du einfach einen Docker verwendest, kann der ALV direkt in diesen Container.

Re: SELECT-OPTIONS gruppieren

Beitrag von a-dead-trousers (Top Expert / 4399 / 223 / 1182 ) »
ewx hat geschrieben:
a-dead-trousers hat geschrieben:[...] aber warum sollte das Vorgehen mit einem ALV nicht praktikabel sein?
Weil du in "deinem" Splitter einen Subscreen anlegen müsstest, der ein Custom-Control enthält, in dem du einen Custom-Container verwenden musst in den dann der ALV kann.
Wenn du einfach einen Docker verwendest, kann der ALV direkt in diesen Container.
Klar, das ist aufwändig, aber meines Erachtens nicht unbedingt unpraktikabel.
Im Gegensatz dazu verkleinert ein Docker den ganzen restlichen Schirm und wie hausi erwähnt hat möchte er ja beides (Selektion und Ergebnis) in einem Tabstrip gelöst bekommen was mit dem Docker meines Wissens nicht geht.
Theory is when you know something, but it doesn't work.
Practice is when something works, but you don't know why.
Programmers combine theory and practice: Nothing works and they don't know why.

ECC: 6.18
Basis: 7.50

Re: SELECT-OPTIONS gruppieren

Beitrag von ewx (Top Expert / 4849 / 313 / 642 ) »
a-dead-trousers hat geschrieben:[...] möchte er ja beides (Selektion und Ergebnis) in einem Tabstrip gelöst bekommen was mit dem Docker meines Wissens nicht geht.
Du hast Recht. Ich hatte das bisher gar nicht erkannt, dass er es IN dem Tabstrip haben möchte. Das käme für mich aber auch nicht in Frage, wenn es Platzprobleme gibt.
Wie auch immer, ich denke, jetzt haben wir so ziemlich jede Lösungsmöglichkeit angesprochen. Da sollte für hausi eigentlich was dabei sein... :)

Manchmal löst man ein Problem auch einfach nur dadurch, dass man sagt: Das geht so nicht!
Bzw. Das Problem löst man dadurch natürlich nicht, aber die Voraussetzungen, die für das Problem verantwortlich sind...

Re: SELECT-OPTIONS gruppieren

Beitrag von hausi (ForumUser / 56 / 11 / 1 ) »
So hallo,

alsoooooo 8)

Ich habe jetzt durch mehrfaches 'Besprechen' erwirkt - dass über die Layoutfrage nochmals gesprochen wird...
Eben wie in dem bereits erwähntem Sinne - wenns nicht geht -> Ändere die Anforderung :D

Aber noch mal kurz zur Ausgangssituation und meiner -vorläufig zufriedenstellenden- Version:
Ich (hausi ==> weiblich -> eine Sie :D :D :D ) hab mich da vielleicht unklar ausgedrückt - das Ergebnis sollte nicht in den Tabstrip sondern darunter, aber mit zu vielen Parametern wäre eben jener Tabstrip über zwei Drittel des Monitors gegangen was dem Ergebnis-ALV nicht viel Platz gelassen hätte

>> Vorläufige (meiner Meinung Pfusch-Lösung... aber sie tut) Lösung ist die korrekte Anzahl an Stellen für eine Select-Option einzutragen bzw. den Wert zu Mitteln...
Sprich

Code: Alles auswählen.

SELECTION-SCREEN COMMENT 1(7) text-t01.
"Select-Option
SELECTION-SCREEN COMMENT 58(7) text-t02.
"Select-Option
So habe ich für die Label-Felder immer exakt 7 Stellen also ist mal wieder Kreativität für die Benennung gefragt :evil:

Grundsätzlich habe ich so den verbrauchten Platz halbiert, aber ich arbeite hier mal stark auf die Pop-Up Lösung hin die bereits erwähnt wurde - ich fand die Klasse - und bedanke mich mal wieder seeeehr für eure Hilfe

Liebe Grüße
hausi (w XD)

Vergleichbare Themen

0
Antw.
2290
Views
select-options depend on select-options.
von dragospirnut1 » 19.07.2017 09:54 • Verfasst in ABAP® Core
4
Antw.
18700
Views
Select nach Parameter & Select-Options
von doeme » 10.07.2012 16:37 • Verfasst in ABAP® für Anfänger
10
Antw.
6713
Views
2 Select-Options zu einem für Select zusammenfügen
von manuk » 23.03.2005 11:02 • Verfasst in ABAP® Core
2
Antw.
3822
Views
SELECT - Options & SELECT Abfrage
von Mavrix » 14.05.2007 08:41 • Verfasst in ABAP® für Anfänger
1
Antw.
2024
Views
Select-options
von Max » 09.12.2004 16:12 • Verfasst in Dialogprogrammierung

Über diesen Beitrag


Die Frage ist als "gelöst" markiert. Den entsprechend Beitrag findest du hier.

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

Aktuelle Forenbeiträge

Regex in where
vor 6 Stunden von edwin 7 / 163
Daten an Tabelle binden
vor 19 Stunden von Bright4.5 3 / 1487

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.

Aktuelle Forenbeiträge

Regex in where
vor 6 Stunden von edwin 7 / 163
Daten an Tabelle binden
vor 19 Stunden von Bright4.5 3 / 1487

Unbeantwortete Forenbeiträge

aRFC im OO-Kontext
vor 5 Wochen von ralf.wenzel 1 / 3261
Hilfe bei SWEC/SWE2
September 2024 von retsch 1 / 9822