Was soll hier "manuell übersteuert" werden?doeme hat geschrieben:über den feldkatalog kann ich ja mittels DO_SUM = 'C', den mittelwert berechnen - dummerweise handelt es sich bei mittelwert3 um eine neue berechnung, nämlich mittelwert1 * mittelwert2.
kann ich dieses feld manuell übersteuern?
Schau dir mal die EDIT-Masken im Feldkatalog an. Damit sollte es gehen. Alternativ könntest du wie bliss bereits erwähnt hat, ein CHAR Feld verwenden und selber das % reinschreiben. Dann verlierst du aber die Summen/Mittelwert-Funktionen.doeme hat geschrieben:frage so nebenbei: kann ich die ausgabe prozentuell irgendwie darstellen, also statt 0,54 --> 54%
hmmm... Entweder eine "undokumentierte" Funktion oder ein Schreib-Fehler. Ich hab auf die schnelle den H_FTYPE im Feldkatalog gefunden. Steht aber, dass das für den ALV-Tree wäre.bliss hat geschrieben:Wo hast du DO_SUM = 'C' her?
der Trick wurde hier im Forum auch schon mal erwähnt:doeme hat geschrieben: - DO_SUM = 'C': ja, das steht komischerweise in keiner doku, das habe ich in einem forum gefunden.
in meinem fall habe ich es direkt nach SET_TABLE_FOR_FIRST_DISPLAY aufgerufen.JHM hat geschrieben:Wann bzw. Wo rufst du den FuBa auf?doeme hat geschrieben:nur funktioniert der funktionsbaustein überhaupt nicht bei mir. nach dem aufruf ist meine referenz auf den alv initial.
Stimmt du bist ja mit dem OO-ALV unterwegs, dann brauchst du dir auch nicht den Umweg über den FuBa 'GET_GLOBALS_FROM_SLVC_FULLSCR' nicht, du hast bereits die Referenz auf deinen ALV.doeme hat geschrieben:in meinem fall habe ich es direkt nach SET_TABLE_FOR_FIRST_DISPLAY aufgerufen.
Code: Alles auswählen.
form P_CHANGE_SUB .
DATA: it_01 TYPE REF TO data.
FIELD-SYMBOLS: <ft_tab> TYPE ANY TABLE,
<fs_tab> TYPE ANY,
<ff_field> TYPE ANY.
*
CALL METHOD gr_grid->get_subtotals
IMPORTING
ep_collect01 = it_01.
ASSIGN it_01->* TO <ft_tab>.
*
LOOP AT <ft_tab> ASSIGNING <fs_tab>.
ASSIGN COMPONENT 'PROD' OF STRUCTURE <fs_tab> TO <ff_field>.
<ff_field> = '100'. "overwriting for test
ASSIGN COMPONENT 'LEIST' OF STRUCTURE <fs_tab> TO <ff_field>.
<ff_field> = '100'.
ASSIGN COMPONENT 'AVAIL' OF STRUCTURE <fs_tab> TO <ff_field>.
<ff_field> = '100'.
ENDLOOP.
CALL METHOD gr_grid->refresh_table_display
EXPORTING
i_soft_refresh = 'X'
.
endform. " P_CHANGE_SUB
Mit folgende Edit-Mask (LVC_S_FCAT-EDIT_MASK) solte es funktionieren:doeme hat geschrieben:- Prozent Darstellung: wie schon gesagt, hatte ich bereits implementiert, da waren meine "rechenfelder" vom typ string und habe dann einfach ein '%' hinzugefügt, aber wie bereits erwähnt, verlor ich dadurch die aggregat funktion.
in den funktionen des feldkatalogs finde ich nichts mit % darstellung.