Z_BP_GUI_CONTROL_02 Spaltenüberschrift fehlt

Getting started ... Alles für einen gelungenen Start.
8 Beiträge • Seite 1 von 1
8 Beiträge Seite 1 von 1

Z_BP_GUI_CONTROL_02 Spaltenüberschrift fehlt

Beitrag von Mondhund76 (ForumUser / 21 / 0 / 2 ) »
Hallo,

ich bin gerade dabei mich in ABAP DynPro einzuarbeiten und habe mir das Buch "ABAP Best Practices" besorgt.

In diesem Buch sind Bespielprogramme. Dieses Z_BP_GUI_CONTROL_02 Programm habe ich versucht im System umzusetzen.

Grundsätzlich kein Problem, was mich jetzt nur wundert, wenn ich anstatt der vorgegebenen Tabelle "SCARR" meine eigene, angelegte Tabelle nehme, werden zwar die Daten aus meiner Tabelle angezeigt, jedoch haben die Spalten keine Überschrift. Wie kommt das?

Muss ich bei meiner Tabelle noch etwas speziell einstellen?

Für eine Antwort wäre ich sehr dankbar!

Mondhund76

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


Re: Z_BP_GUI_CONTROL_02 Spaltenüberschrift fehlt

Beitrag von Azreal (Specialist / 182 / 1 / 0 ) »
Servus,
Ist es eine ALV Tabelle? Da gab es eine Zuordnung zu technischen Namen zu Beschriftung.
Bin länger nicht mehr im Thema, aber im Beispiel unten steht die Wahrheit.

Code: Alles auswählen.

* Komponenten instanziieren
  DATA lo_cmp_usage TYPE REF TO if_wd_component_usage.

  lo_cmp_usage =   wd_this->wd_cpuse_usg_alv( ).
  IF lo_cmp_usage->has_active_component( ) IS INITIAL.
    lo_cmp_usage->create_component( ).
  ENDIF.

* Modelle holen
  DATA lo_interfacecontroller TYPE REF TO iwci_salv_wd_table .
  lo_interfacecontroller =   wd_this->wd_cpifc_usg_alv( ).

  DATA lo_value TYPE REF TO cl_salv_wd_config_table.
  lo_value = lo_interfacecontroller->get_model(
  ).

  DATA: l_table_settings TYPE REF TO if_salv_wd_table_settings .
  l_table_settings ?= lo_value.
  wd_this->l_table =  l_table_settings .

* auf editierbar setzten
  l_table_settings->set_read_only( abap_false ).

* Tabellenüberschrift setzen
  DATA: l_header TYPE REF TO cl_salv_wd_header.
  l_header = l_table_settings->get_header( ).
  l_header->set_text( 'Sales Orders' ).

  DATA: l_column_settings TYPE REF TO if_salv_wd_column_settings.
  l_column_settings ?= lo_value.


  DATA: lt_columns TYPE salv_wd_t_column_ref ,
        ls_columns TYPE salv_wd_s_column_ref .

  DATA: l_column_header  TYPE REF TO cl_salv_wd_column_header .
* Spalten holen
  lt_columns = l_column_settings->get_columns( )              .

* pro Spalte, Beschriftung setzten.
  LOOP AT lt_columns INTO ls_columns .
   CASE ls_columns-id   .                     
      WHEN 'VBELN'     .
        l_column_header = ls_columns-r_column->get_header( )  .
        l_column_header->set_ddic_binding_field(
           if_salv_wd_c_column_settings=>ddic_bind_none )     .
        l_column_header->set_text( 'Bestellung' ). " column header

       WHEN 'POSNR'.
        l_column_header = ls_columns-r_column->get_header( )  .
        l_column_header->set_ddic_binding_field(
           if_salv_wd_c_column_settings=>ddic_bind_none )     .
        l_column_header->set_text( 'Pos. Nr' ) . "column header
  
      WHEN 'ZMENG'.
        l_column_header = ls_columns-r_column->get_header( )  .
        l_column_header->set_ddic_binding_field(
           if_salv_wd_c_column_settings=>ddic_bind_none )     .
        l_column_header->set_text( 'Menge' ). "column header

        WHEN OTHERS                                             .
        ls_columns-r_column->set_visible(
                           cl_wd_uielement=>e_visible-none )  .

    ENDCASE  .
  ENDLOOP.
Weiter Details gibts auch hier: http://help.sap.com/saphelp_nw70/helpda ... ameset.htm
gruß Aze

Re: Z_BP_GUI_CONTROL_02 Spaltenüberschrift fehlt

Beitrag von Mondhund76 (ForumUser / 21 / 0 / 2 ) »
Hallo Aze,

vielen Dank für die schnelle Antwort.

Leider bin ich wohl noch nicht so fit mit diesem Thema.

Was verstehst Du unter ALV-Tabelle?

Meine Parameter-Deklaration ist so: (ZGUI_UMSATZ ist meine angelegte Tabelle unter SE11)

Code: Alles auswählen.

DATA: help_object  TYPE REF TO cl_gui_alv_grid,
      help_object2  TYPE REF TO cl_gui_alv_grid,
      help_container  TYPE REF TO cl_gui_custom_container,
      help_container2  TYPE REF TO cl_gui_custom_container,
      t_table TYPE TABLE OF ZGUI_UMSATZ,
      t_spfli TYPE TABLE OF SPFLI,
      ok_code LIKE sy-ucomm.
Danch geht es wie folgt weiter:

Code: Alles auswählen.

START-OF-SELECTION.
  select * from ZGUI_UMSATZ into table t_table.
  select * from spfli into table t_spfli.

  call screen 100.
*&---------------------------------------------------------------------*
*&      Module  status_0100  OUTPUT
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
MODULE status_0100 OUTPUT.
  set PF-STATUS 'SCREEN_100'.
ENDMODULE.                 " status_0100  OUTPUT

MODULE init_Controls OUTPUT.

  if help_container is initial.
    create object help_container
      exporting container_name = 'CCCONTAINER'.

    create object help_object
      exporting i_parent = help_container.

    CALL METHOD help_object->set_table_for_first_display
      exporting i_structure_name = 'ZGUI_UMSATZ'
        changing it_outtab       = t_table.

   endif.

  if help_container2 is initial.
    create object help_container2
      exporting container_name = 'CCCONTAINER2'.

    create object help_object2
      exporting i_parent = help_container2.

    CALL METHOD help_object2->set_table_for_first_display
      exporting i_structure_name = 'spfli'
        changing it_outtab       = t_spfli.

   endif.

ENDMODULE.                 " status_0100  OUTPUT

module handle_input input.
  if ok_code = 'EXIT'.
    leave program.
  endif.
  clear ok_code.
endmodule.    
Mit dem Ergebnis, dass in der Darstellung die Tabell ZGUI_Umsatz ohne Spaltenüberschrift angezeigt wird und die vorgegebene Tabelle von SAP "spfli" mit Spaltenüberschrift.

Liegt es an der Tabellendefinition?

Schöne Grüße

Mondhund76

Re: Z_BP_GUI_CONTROL_02 Spaltenüberschrift fehlt

Beitrag von casman (Specialist / 420 / 1 / 63 ) »
Mit welchen Datenelementen hast du denn die Tabelle definiert?

Re: Z_BP_GUI_CONTROL_02 Spaltenüberschrift fehlt

Beitrag von Mondhund76 (ForumUser / 21 / 0 / 2 ) »
Hallo Casman,

meine Tabelle ZGUI_UMSATZ ist wie folgt deklariert:

Feld: JAHR; Datenelement: Z_NUMC_JAHR; Datentyp: NUMC; Länge: 4; DezSt.: 0; Kurzbeschreibung: Jahr
Feld: MONAT; Datenelement: Z_NUMC; Datentyp: NUMC; Länge: 2; DezSt.: 0; Kurzbeschreibung: Monat
Feld: UMSATZ2011; Datenelement: Z_CURR_UMSATZ; Datentyp: DEC; Länge: 20; DezSt.: 2; Kurzbeschreibung: Umsatz
Feld: UMSATZ2012; Datenelement: Z_CURR_UMSATZ; Datentyp: DEC; Länge: 20; DezSt.: 2; Kurzbeschreibung: Umsatz

Key: JAHR + MONAT

Ich weiß, der Aufbau der Tabelle ist nicht ganz sinnig, aber für meine Testzwecke reicht sie erst mal.

Schöne Grüße

Mondhund76

Re: Z_BP_GUI_CONTROL_02 Spaltenüberschrift fehlt

Beitrag von JHM (Top Expert / 1197 / 1 / 197 ) »
Mondhund76 hat geschrieben:

Code: Alles auswählen.

    CALL METHOD help_object2->set_table_for_first_display
      exporting i_structure_name = 'spfli'
        changing it_outtab       = t_spfli.
Mit dem Ergebnis, dass in der Darstellung die Tabell ZGUI_Umsatz ohne Spaltenüberschrift angezeigt wird und die vorgegebene Tabelle von SAP "spfli" mit Spaltenüberschrift.

Liegt es an der Tabellendefinition?
1. SAP ist manchmal doch CASE-SENSITIV. Wenn du wie oben etwas als Literal übergibst, muss das Literal in UPPER CASE sein, also 'SPFLI'.
2. Der ALV-Grid hat einen internen Buffer für den Feldkatalog, dieser führt evtl. zu Fehlern. Versuch mal den Parameter BYPASS_BUFFER mit 'X' vorzubelegen, hilft manchmal.
3. Hast du bei den Datenelemente nur den Kurztext gepflegt oder auch die Feldbezeichner?
4. Starte mal den ALV-Selbsttest: SHIFT + doppelklick Rechtemaustaste auf den grauen Hintergrund des ALV-Grids.
Gruß Hendrik

Re: Z_BP_GUI_CONTROL_02 Spaltenüberschrift fehlt

Beitrag von Mondhund76 (ForumUser / 21 / 0 / 2 ) »
Hallo Hendrik,

vielen Dank für Deine detailierte Beschreibung.
1. SAP ist manchmal doch CASE-SENSITIV. Wenn du wie oben etwas als Literal übergibst, muss das Literal in UPPER CASE sein, also 'SPFLI'.
2. Der ALV-Grid hat einen internen Buffer für den Feldkatalog, dieser führt evtl. zu Fehlern. Versuch mal den Parameter BYPASS_BUFFER mit 'X' vorzubelegen, hilft manchmal.
3. Hast du bei den Datenelemente nur den Kurztext gepflegt oder auch die Feldbezeichner?
4. Starte mal den ALV-Selbsttest: SHIFT + doppelklick Rechtemaustaste auf den grauen Hintergrund des ALV-Grids.
zu 1. habe ich verstanden und entsprechend angepasst
zu 2. Diese Änderung habe ich auch vorgenommen.
zu 3. Wo wird der Feldbezeichner gepflegt - die unter 4. genannte Funktion bringt mir den Fehler dass das Feld im Feldkatalog nicht gepflegt ist, aber wo machen ich das genau?
zu 4. Eine sehr hilfreiche Funktion!

Schöne Grüße

Mondhund76

Re: Z_BP_GUI_CONTROL_02 Spaltenüberschrift fehlt

Beitrag von Mondhund76 (ForumUser / 21 / 0 / 2 ) »
Hallo,

ich konnte mein Problem lösen.

Für alle anderen will ich es lieber gleich noch mal dokumentieren.

Es lag daran, dass dem Datenelement selber eine Feldbezeichnung gegeben werden muss.

Wenn Ihr unter SE80 in eurem Programm seit, so geht auf den Button "Übergeordnete Objektliste" und dann zu Dictionary-Objekte->Datenbankelemente.

Doppelklick auf jedes einzelne und dann unter Register Feldbezeichner die "Überschrift" bestimmen.

Anhand meines Beispiels sind die Datenelemente Z_CURR_UMSATZ, Z_NUMC und Z_NUMC_JAHR gewesen. Diese Elemente habe ich mir selber angelegt und diese aktiviert.

Die Deklaration der Überschrift wird dann als Spaltenüberschrift angezeigt.

Vielen Dank an die, die mir mit geholfen haben!

Wieder einen Schritt weiter :D

Schöne Grüße

Mondhund76

Seite 1 von 1

Vergleichbare Themen

1
Antw.
2984
Views
Table Control OK Code/Funktions fehlt
von Frank D. » 31.07.2011 18:34 • Verfasst in Dialogprogrammierung
5
Antw.
3636
Views
Spaltenüberschrift im ALV
von KlausB » 14.03.2006 14:19 • Verfasst in ABAP® Core
8
Antw.
18437
Views
ALV - Spaltenüberschrift ändern
von SAPAlex » 20.02.2008 13:50 • Verfasst in ABAP® Core
1
Antw.
1383
Views
ALV Zweizeilige (mehrzeilige) Spaltenüberschrift?
von reinhold_j » 04.11.2005 11:12 • Verfasst in ABAP® Core
1
Antw.
13478
Views
Spaltenüberschrift in CL_SALV_TABLE exkludieren
von GerryRe » 07.04.2020 14:45 • Verfasst in ABAP® für Anfänger

Ü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.