CL_GUI_ALV_GRID Summe funktioniert nicht

Die Objektorientierung mit ABAP®: Vererbung, Dynamische Programmierung, GUI Controls (u.a. ALV im OO).
9 Beiträge • Seite 1 von 1
9 Beiträge Seite 1 von 1

CL_GUI_ALV_GRID Summe funktioniert nicht

Beitrag von msdd (ForumUser / 12 / 0 / 0 ) »
Hallo, wer kann mir helfen?

Ich benutze das cl_gui_alv_grid und erhalte ein kurz dump wenn ich Summen-Schaltfläche betätige. Der kurzdump erscheint nur bei Feldern vom Typ I (die ich benutze in der I-Tab) bei anderen Feldern erscheind die Meldung "Für diese Spalte kann die Operation nicht ausgeführt werden)
Wenn ich im Feldkatalo die Option do_sum benutze, lässt sich das Program garnicht ausführen, der dump erscheint sofort.

* Struktur der I-Tab definieren die angezeigt wird
TYPES: BEGIN OF st_it_out,
nummer TYPE i,
rebnr LIKE zukdwftreb-rebnr,
wf_status LIKE zukdwftreb-wf_status,
lifnr LIKE zukdwftreb-lifnr,
fi_belnr LIKE zukdwftreb-fi_belnr,
sknto LIKE bseg-sknto,
zfbdt LIKE bseg-zfbdt,
augdt LIKE bseg-augdt,
END OF st_it_out.



*Feldkatalog
* Tabelle
DATA lt_fcat TYPE lvc_t_fcat.
* Struktur
DATA ls_fcat TYPE lvc_s_fcat.

* Beschreibung der Felder
CLEAR ls_fcat.
ls_fcat-fieldname = 'NUMMER'.
ls_fcat-inttype = 'I'.
ls_fcat-coltext = 'Nummer'.
ls_fcat-seltext = 'Nummer'.
*ls_fcat-do_sum = 'X'.
APPEND ls_fcat TO lt_fcat.

CLEAR ls_fcat.
ls_fcat-fieldname = 'REBNR'.
ls_fcat-inttype = 'zukdwftreb-rebnr'.
ls_fcat-coltext = 'REB-Nr.'.
ls_fcat-seltext = 'REB-Nr.'.
APPEND ls_fcat TO lt_fcat.

CLEAR ls_fcat.
ls_fcat-fieldname = 'LWF_STATUS'.
ls_fcat-inttype = 'zukdwftreb-lifnr'.
ls_fcat-coltext = 'WF-Stat.'.
ls_fcat-seltext = 'WF-Stat.'.
APPEND ls_fcat TO lt_fcat.

CLEAR ls_fcat.
ls_fcat-fieldname = 'LIFNR'.
ls_fcat-inttype = 'zukdwftreb-lifnr'.
ls_fcat-coltext = 'Kreditor'.
ls_fcat-seltext = 'Kreditor'.
APPEND ls_fcat TO lt_fcat.

CLEAR ls_fcat.
ls_fcat-fieldname = 'FI_BELNR'.
ls_fcat-inttype = 'zukdwftreb-fi_bel'.
ls_fcat-coltext = 'FI-Bel.'.
ls_fcat-seltext = 'FI-Bel.'.
APPEND ls_fcat TO lt_fcat.

CLEAR ls_fcat.
ls_fcat-fieldname = 'SKNTO'.
ls_fcat-inttype = 'bseg-sknto'.
ls_fcat-coltext = 'Skonto'.
ls_fcat-seltext = 'Skonto'.
APPEND ls_fcat TO lt_fcat.

CLEAR ls_fcat.
ls_fcat-fieldname = 'ZFBDT'.
ls_fcat-inttype = 'bseg-zfbdt'.
ls_fcat-coltext = 'Basis-Datum'.
ls_fcat-seltext = 'Basis-Datum'.
APPEND ls_fcat TO lt_fcat.

CLEAR ls_fcat.
ls_fcat-fieldname = 'AUGDT'.
ls_fcat-inttype = 'bseg-augdt'.
ls_fcat-coltext = 'Ausgl.-Datum'.
ls_fcat-seltext = 'Ausgl.-Datum'.
APPEND ls_fcat TO lt_fcat.



dump:
i_event_name = 'SUBTOTAL_TEXT'
is_subtottxt_info = ls_subtot_info
ip_subtot_line = lr_data
changing
c_subtottxt = l_subtottxt.
ls_lvc_data-value = l_subtottxt.

append ls_lvc_data to ct_lvc_data.
endif.

************************************
* Column per Fieldcat Entry
************************************
clear ls_lvc_data-style.
loop at it_fcat_local assigning <ls_fcat>
where tech ne 'X' and no_out ne 'X'.
if l_invisible eq 'X'.
clear l_invisible.
if <ls_fcat>-do_sum is initial.
continue.
else.
clear ls_lvc_data-col_pos.
endif.
endif.

add 1 to ls_lvc_data-col_pos.

assign component <ls_fcat>-fieldname
of structure <ls_data> to <l_field_value>.
if sy-subrc ne 0.
message x000(0k).
endif.

*... work on average
if <ls_fcat>-do_sum eq 'C'.
clear l_entries.

assign space to <l_unit>.
if not <ls_fcat>-cfieldname is initial.
assign component <ls_fcat>-cfieldname
of structure <ls_data> to <l_unit>.
endif.
if not <ls_fcat>-qfieldname is initial.
assign component <ls_fcat>-qfieldname
of structure <ls_data> to <l_unit>.
endif.

l_from = ls_grpl-index_from.
l_to = ls_grpl-index_to.
if ls_grpl-index_from is initial and

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


Beitrag von DeathGuardian (Expert / 759 / 0 / 3 ) »
HI,

muss man nicht wenn man einen INTTYPE mitgebt nicht auch den INTLEN mitgeben?
Und seit wann kann bei INTTYPE eine DDIC-Refferenz angeben. (Geht doch nur über die REF* im Fieldcat)

Ohne Summen kannst den Grid ja aufrufen, dann mach mal da dann auf dem CONTROL ein STRG+SHIFT+Doppel_RECHTS_Klick.
Da bekommst dann die Möglichkeit einige Sachen nachzuprüfen und Warnmeldungen wenn was nicht ganz stimmen sollte.

Beitrag von msdd (ForumUser / 12 / 0 / 0 ) »
Auch mit INTLEN funktioniert nicht.
Übrigens ist das Feld SKNTO im Dictionary hinterlegt und es funktioniert trotzdem nicht.
Sobald man eigene, nicht im Dictionary hinterlegt, Struktur verwendet,
ist es sehr tricki mit dem ALV_GRID.
Liegt es an dem Feldkatalog?
Ich habe etwas mit der Struktur SPFLI getestet, da funktioniert alles prima.

Ja, mit eigenen Strukturen und Feldkatalogen ist es etwas tricki.
Ich habe die Struktur im Dictionary angelegt,
den Feldkatalog übergebe ich nicht mehr an die
grid->set_table_for_first_display sondern nur i_structure_name
und siehe da, es funktioniert!

Beitrag von JHM (Top Expert / 1197 / 1 / 197 ) »
msdd hat geschrieben:Sobald man eigene, nicht im Dictionary hinterlegt, Struktur verwendet, ist es sehr tricki mit dem ALV_GRID.
Liegt es an dem Feldkatalog?
Wenn du einen Feldkatalog von hand aufbaust, solltest du alles in UPCASER übergeben, ausgenommen die Texte. Sonst gibt es Probleme.
Gruß Hendrik

Beitrag von msdd (ForumUser / 12 / 0 / 0 ) »
Da habe ich was nicht verstanden.
Was ist UPCASER???

Beitrag von JHM (Top Expert / 1197 / 1 / 197 ) »
msdd hat geschrieben:Was ist UPCASER???
Alles in Großbuchstaben.

sowas:
ls_fcat-inttype = 'zukdwftreb-rebnr'.

muss so aussehen:
ls_fcat-inttype = 'ZUKDWFTREB-REBNR'.
Gruß Hendrik

Beitrag von msdd (ForumUser / 12 / 0 / 0 ) »
War ein Versuch wert, aber auch mit Großbuchstaben bekomme ich ein dump.

Beitrag von JHM (Top Expert / 1197 / 1 / 197 ) »
msdd hat geschrieben:War ein Versuch wert, aber auch mit Großbuchstaben bekomme ich ein dump.
Stand heute morgen noch unter den Nachwirkungen des Wochenendes. Habe nur dem ersten Gedanken nachgeben.

Zum Problem:
Wenn du auf ein Tabellenfeld referenzierst wird das nicht über inttype übergeben, sondern über die Felder REF_TABLE/REF_FIELD

Code: Alles auswählen.

CLEAR ls_fcat. 
ls_fcat-fieldname = 'REBNR'. 
ls_fcat-ref_table = 'ZUKDWFTREB'
ls_fcat-ref_field = 'REBNR'
*ls_fcat-inttype = 'zukdwftreb-rebnr'. 
ls_fcat-coltext = 'REB-Nr.'. 
ls_fcat-seltext = 'REB-Nr.'. 
APPEND ls_fcat TO lt_fcat.
Wenn Texte in der Domäne hinterlegt sind, brauchen diese im Feldkatalog nicht mit gegeben werden.

Wenn du keinen Bezug zum DDIC hast, dann müssen folgende Felder gefüllt werden:

Code: Alles auswählen.

CLEAR ls_fcat. 
ls_fcat-FIELDNAME  =  'NUMMER':
ls_fcat-INTTYPE       = 'I'.
ls_fcat-OUTPUTLEN = 4.
ls_fcat-COLTEXT      = 'Nummer'.
ls_fcat-SELTEXT       = 'Nummer'.
APPEND ls_fcat TO lt_fcat. 
Um zu überprüfen ob der Feldkatalog fehler frei ist, einfach auf dem grauen Hintergrund des ALV SHIFT + doppelklick rechte Maustaste. Du verzweigst dann in ein Prüfprotokoll.
Gruß Hendrik

Beitrag von msdd (ForumUser / 12 / 0 / 0 ) »
Vielen Dank! :shock:

Mein Feldkatalog hatte einen Fehler.
Mit SHIFT+r.maus doppel habe ich es sofort gesehen.

Seite 1 von 1

Vergleichbare Themen

13
Antw.
1923
Views
ALV-GRID Standard Filter funktioniert nicht nach Kundenaktion
von Prego » 16.07.2024 08:44 • Verfasst in ABAP® Core
0
Antw.
1061
Views
Summe in ALV ...
von jensschladitz » 27.06.2006 13:57 • Verfasst in ABAP Objects®
2
Antw.
1805
Views
Summe über ITAB
von supermario73 » 04.07.2007 17:03 • Verfasst in ABAP® für Anfänger
0
Antw.
1008
Views
Summe nach Material?
von tuete » 06.06.2006 12:26 • Verfasst in Sales and Distribution
2
Antw.
2661
Views
Summe-Button in REUSE_ALV_GRID_DISPLAY
von Michi » 28.11.2011 18:12 • Verfasst in ABAP® für Anfänger

Über diesen Beitrag


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

Aktuelle Forenbeiträge

IT0024 Qualifikationen CP-ID
vor 5 Minuten von DeathAndPain 2 / 268
BUSOBJEKT zu CMIS PHIO ermitteln
vor einer Stunde von snooga87 1 / 2
Bedarfszusammenfassung "Einzelbedarfe"
vor 3 Stunden von harri 2 / 1200
Trennen Strasse und Hausnummer
vor 5 Stunden von ralf.wenzel 21 / 11303

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

IT0024 Qualifikationen CP-ID
vor 5 Minuten von DeathAndPain 2 / 268
BUSOBJEKT zu CMIS PHIO ermitteln
vor einer Stunde von snooga87 1 / 2
Bedarfszusammenfassung "Einzelbedarfe"
vor 3 Stunden von harri 2 / 1200
Trennen Strasse und Hausnummer
vor 5 Stunden von ralf.wenzel 21 / 11303

Unbeantwortete Forenbeiträge

BUSOBJEKT zu CMIS PHIO ermitteln
vor einer Stunde von snooga87 1 / 2
aRFC im OO-Kontext
vor 5 Wochen von ralf.wenzel 1 / 3196
Hilfe bei SWEC/SWE2
September 2024 von retsch 1 / 9785