Removal of left space - next to a docking container

Benutzeroberflächen in SAP®-Systemen.
16 Beiträge Seite 1 von 2 (current) Nächste
16 Beiträge Seite 1 von 2 (current) Nächste

Removal of left space - next to a docking container

Beitrag von Haemma83 (ForumUser / 10 / 0 / 0 ) » 18. Jun 2019 09:44

Hello guys!

I've a simple ALV cl_salv_table where I have left the ALV and on the right side a Docking Container. So far so good.

You can see the explanation in the attached drawing. I simply want to get rid of the red area. The space between. But I do not know how.

It's coded in that way (no dynpro behind):

Code: Alles auswählen.

 CREATE OBJECT go_dock
    EXPORTING
      side                    = cl_gui_docking_container=>dock_at_right
      extension               = 5
      ratio                   = 5
      no_autodef_progid_dynnr = abap_true
    EXCEPTIONS
      cntl_error              = 1
      cntl_system_error       = 2.


  cl_salv_table=>factory(
EXPORTING
    list_display   = IF_SALV_C_BOOL_SAP=>FALSE    " ALV wird im Listenmodus angezeigt

  IMPORTING
    r_salv_table   = lo_alv "DATA(go_alv)     " Basisklasse einfache ALV Tabellen
  CHANGING
    t_table        = gt_bestand
Do you know what I can do in order to remove the space between? I want the alv to get wider.

Thanks


Re: Removal of left space - next to a docking container

Beitrag von LostDarkness (ForumUser / 69 / 13 / 5 ) » 18. Jun 2019 10:01

Good Morning,

you already tried to play around with some other "extension" values?

But even if this will work, user may are still able to drag the container-borders and you may got some struggle with different windowsizes.

Best regards,
Gerrit

EDIT:

Just noticed you want to brighten the ALV, not the container.
Maybe you will find some useful information here:
https://answers.sap.com/questions/17289 ... ution.html
“You should name a variable using the same care with which you name a first-born child.”
― Robert C. Martin

Re: Removal of left space - next to a docking container

Beitrag von Haemma83 (ForumUser / 10 / 0 / 0 ) » 18. Jun 2019 10:10

Hello,

yes, I played already around. But it effects just the width of the docking container, but not the ALV table. I want the ALV to get wider.

Attached you'll find the issue.

Thanks and regards!

Re: Removal of left space - next to a docking container

Beitrag von ewx (Top Expert / 4047 / 172 / 396 ) » 18. Jun 2019 10:15

I assume that you put teh ALV in a custom container on the dynpro?
You will have to set this custom container as big as possible and set "resizing on" in the attributes.

I think, the red area is the part of the dynpro that is not covered by the custom container.

Re: Removal of left space - next to a docking container

Beitrag von Haemma83 (ForumUser / 10 / 0 / 0 ) » 18. Jun 2019 10:20

No, it's not even in container. I'tried it with a split-container but this lead to a dump. Here is the coding:

Code: Alles auswählen.

Data: lr_disp_set type REF TO CL_SALV_DISPLAY_SETTINGS,
      lv_linesize type int4,
      lo_alv type ref to CL_SALV_TABLE.

*DATA: ob_gui_splitter_container_1 TYPE REF TO cl_gui_splitter_container .
*  DATA: ob_gui_container TYPE REF TO cl_gui_container.
*
*  CREATE OBJECT ob_gui_splitter_container_1
*    EXPORTING
*      parent  = cl_gui_container=>screen0
*      rows    = 1
*      columns = 2.
*
*  CALL METHOD ob_gui_splitter_container_1->get_container
*    EXPORTING
*      row       = 1
*      column    = 2
*    RECEIVING
*      container = ob_gui_container.


  CREATE OBJECT go_dock
    EXPORTING
      side                    = cl_gui_docking_container=>dock_at_right
      extension               = 5
      ratio                   = 5
      no_autodef_progid_dynnr = abap_true
    EXCEPTIONS
      cntl_error              = 1
      cntl_system_error       = 2.


  cl_salv_table=>factory(
EXPORTING
    list_display   = IF_SALV_C_BOOL_SAP=>FALSE    " ALV wird im Listenmodus angezeigt

  IMPORTING
    r_salv_table   = lo_alv "DATA(go_alv)     " Basisklasse einfache ALV Tabellen
  CHANGING
    t_table        = gt_bestand
).

Re: Removal of left space - next to a docking container

Beitrag von Haemma83 (ForumUser / 10 / 0 / 0 ) » 18. Jun 2019 11:42

Hallo Enno!

Du bist das - super - der TopExperte schlecht hin! Habe zuletzt 2009 mit dir geschrieben.

Kannst du mir sagen wie ich diesen Fall den Custom Container herum lege?
Der Report hat aktuell nur den Standard-Selection Dynpro hinterlegt.

Ist der Cust Container überhaupt notwendig für diese Anforderung?

Danke.

LG

Andreas

Re: Removal of left space - next to a docking container

Beitrag von ewx (Top Expert / 4047 / 172 / 396 ) » 18. Jun 2019 11:56

Ich weiß ja nicht, wie deine Anforderung aussieht... ;)

Sobald du ein Selektionsbild hast und eine Ausgabe, solltest du für die Ausgabe ein eigenes Dynpro nutzen. Dort definierst du im Screen-Painter den Custom container.
Entweder packst du dann den Docker dran oder du definierst einen Splitter im Custom container.

Re: Removal of left space - next to a docking container

Beitrag von Haemma83 (ForumUser / 10 / 0 / 0 ) » 18. Jun 2019 12:07

Hast du da im Tricktresor ein Beispiel wie man sowas aus einen vorhandenen Report baut?

Re: Removal of left space - next to a docking container

Beitrag von ewx (Top Expert / 4047 / 172 / 396 ) » 18. Jun 2019 12:24

https://help.sap.com/doc/saphelp_tm94/9 ... ameset.htm

Du legst ein Dynpro an, definierst den Custom Container, gibst ihm einen Namen und dann erzeugt du das Container Objekt mit

Code: Alles auswählen.

CREATE OBJECT my_container EXPORTING container_name = 'CNAME'.
Den Container gibst du beim Aufruf CL_SALV_TABLE=>FACTORY mit (r_container). bin mir nicht sicher, ob du gleich den Namen bei container_name mitgeben kannst und der SALV den custom container selbstständig erzeugt.

Re: Removal of left space - next to a docking container

Beitrag von Haemma83 (ForumUser / 10 / 0 / 0 ) » 18. Jun 2019 12:37

Das hab ich gemacht:
1. Neuen Dynpro angelegt
2. Custom Control darauf gepflantscht - Name: gc_custom_control_name
3. Coding:

Code: Alles auswählen.

  DATA: lr_disp_set            TYPE REF TO cl_salv_display_settings,
        gc_custom_control_name TYPE scrfname VALUE 'CC_ALV',
        lv_linesize            TYPE int4,
        gr_ccontainer          TYPE REF TO cl_gui_custom_container,
        lo_alv                 TYPE REF TO cl_salv_table.

*DATA: ob_gui_splitter_container_1 TYPE REF TO cl_gui_splitter_container .
*  DATA: ob_gui_container TYPE REF TO cl_gui_container.
*
*  CREATE OBJECT ob_gui_splitter_container_1
*    EXPORTING
*      parent  = cl_gui_container=>screen0
*      rows    = 1
*      columns = 2.
*
*  CALL METHOD ob_gui_splitter_container_1->get_container
*    EXPORTING
*      row       = 1
*      column    = 2
*    RECEIVING
*      container = ob_gui_container.
  CREATE OBJECT gr_ccontainer
    EXPORTING
      container_name              = gc_custom_control_name
      "parent  = cl_gui_container=>screen0
      repid = sy-repid
      dynnr = '9002'
    EXCEPTIONS
      cntl_error                  = 1
      cntl_system_error           = 2
      create_error                = 3
      lifetime_error              = 4
      lifetime_dynpro_dynpro_link = 5
      OTHERS                      = 6.

  IF sy-subrc <> 0.

  ENDIF.

  CREATE OBJECT go_dock
    EXPORTING
      side                    = cl_gui_docking_container=>dock_at_right
      extension               = 5
      ratio                   = 5
      no_autodef_progid_dynnr = abap_true
    EXCEPTIONS
      cntl_error              = 1
      cntl_system_error       = 2.



  cl_salv_table=>factory(
EXPORTING
    list_display   = if_salv_c_bool_sap=>false    " ALV wird im Listenmodus angezeigt
    r_container = gr_ccontainer
  IMPORTING
    r_salv_table   = lo_alv "DATA(go_alv)     " Basisklasse einfache ALV Tabellen
  CHANGING
    t_table        = gt_bestand
).
Beim Ausführen des Selektionscreens passiert einfach nichts.

Ist hier etwas im PBO, PAI zu berücksichtigen?

Danke.


Re: Removal of left space - next to a docking container

Beitrag von Haemma83 (ForumUser / 10 / 0 / 0 ) » 18. Jun 2019 12:57

Na der alv Aufbau per se ist schon klar und auch das Statement zum Anzeigen, nur nicht der Sprung vom Selection-Screen zum neuen Dynpro (in der Dialogprogrammierung bin ich nicht fit).

Außerdem wie muss die Definition des neuen Dynpros sein, wenn er vom Selection Screen aus aufgerufen wird - sprich modulares Dialogfenster, subscreen oder Normal?

Siehe Anhang.

Also der Sprung von der Selectionsdynpro zum Container-Dynpro und die Datenübergabe in den Dynpro2.

Re: Removal of left space - next to a docking container

Beitrag von ewx (Top Expert / 4047 / 172 / 396 ) » 18. Jun 2019 13:07

Start-of-selection.
Call Screen 9002.

Re: Removal of left space - next to a docking container

Beitrag von Haemma83 (ForumUser / 10 / 0 / 0 ) » 18. Jun 2019 13:32

Der Screen wird gerufen, aber bleibt nach wie vor leer:

Code: Alles auswählen.

CREATE OBJECT gr_ccontainer
    EXPORTING
      container_name              = gc_custom_control_name
      "parent  = cl_gui_container=>screen0
      repid = sy-repid
      dynnr = '9002'
    EXCEPTIONS
      cntl_error                  = 1
      cntl_system_error           = 2
      create_error                = 3
      lifetime_error              = 4
      lifetime_dynpro_dynpro_link = 5
      OTHERS                      = 6.

  IF sy-subrc <> 0.

  ENDIF.

  CREATE OBJECT go_dock
    EXPORTING
      side                    = cl_gui_docking_container=>dock_at_right
      extension               = 5
      ratio                   = 5
      no_autodef_progid_dynnr = abap_true
    EXCEPTIONS
      cntl_error              = 1
      cntl_system_error       = 2.



  cl_salv_table=>factory(
EXPORTING
    list_display   = if_salv_c_bool_sap=>false    " ALV wird im Listenmodus angezeigt
    r_container = gr_ccontainer
  IMPORTING
    r_salv_table   = lo_alv "DATA(go_alv)     " Basisklasse einfache ALV Tabellen
  CHANGING
    t_table        = gt_bestand
).

 lr_layout = lo_alv->get_layout( ).
  lr_layout->set_initial_layout( p_layout ).
  ls_key-report = sy-repid.
  lr_layout->set_key( ls_key ).
  lr_layout->set_save_restriction( if_salv_c_layout=>restrict_none ).


  CREATE OBJECT lcl_event.
  SET HANDLER lcl_event->on_double_click FOR lo_alv->get_event( ).

  lo_alv->display( ).

CALL SCREEN 9002.

Re: Removal of left space - next to a docking container

Beitrag von ewx (Top Expert / 4047 / 172 / 396 ) » 18. Jun 2019 13:54

Mache entweder die Erstellung der Controls im PBO oder probiere mal SY-CPROG anstelle SY-REPID bei der Übergabe. SY-REPID ändert sich bei Übergabe an die Methode evtl...

Seite 1 von 2 (current) Nächste

Aktuelle Forenbeiträge

Web Service Restful API
vor 11 Stunden von Tron 2 / 32
Entwurfsmuster in ABAP / OO
vor 2 Tagen von Maximus 16 / 2132
VA01, Kundenauftragserfassung Preisdatum
vor 2 Tagen von SAP_ENTWICKLER 1 / 53
Rabax Fehlermeldung
vor 2 Tagen von zzcpak 2 / 84
Aufgabe Programm/- Tabellenerstellung
vor 2 Tagen von SaskuAc 3 / 84

Unbeantwortete Forenbeiträge

VA01, Kundenauftragserfassung Preisdatum
vor 2 Tagen von SAP_ENTWICKLER 1 / 53
HANA Audit Trail
vor einer Woche von JohnLocklay 1 / 97
Halber Tag Urlaub
vor einer Woche von SO4SAP 1 / 61
Funktionsbausteine BAPI_INCOMINGINVOICE*****
vor einer Woche von Rabea1103 1 / 70
S4/HANA in der Cloud / 14 Tage Trial
vor 3 Wochen von Tron 1 / 101