Summierung im ALV

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

Summierung im ALV

Beitrag von KlausB (Specialist / 143 / 0 / 0 ) »
Hallo zusammen,

beim Lesen einer Tabelle wird ein Char-Feld (wa_t931c-stund = CHAR 5) via MOVE in ein gepacktes Feld (h-stund type p decimals 2) gebracht. In der ALV-Liste jedoch z.B. 9.15 angezeigt (linksbündig) und es kann nicht darauf summiert werden. Das Summen-Icon fehlt. Anscheinend wird das Feld nicht als gepackt erkannt.

Anbei das Coding. Wo liegt der Fehler?

Danke für Eure Hilfe.

Klaus



Code: Alles auswählen.

DATA: WA_T931C TYPE T931C.
DATA:
  BEGIN OF NAME, VORNA(25), NACHN(25), END OF NAME.
DATA: h-stund type p decimals 2.


*$*$- Start of INCLUDE ZPALV_DATA_STRUC                        --$*$*
*----------------------------------------------------------------------*
*   INCLUDE ZPALV_DATA_STRUC                                           *
*----------------------------------------------------------------------*
TYPE-POOLS: slis.

DATA: alv_fieldcat TYPE slis_t_fieldcat_alv,
      alv_layout   TYPE slis_layout_alv.

TYPES: BEGIN OF data_struc,
              pernr LIKE wa_t931c-pernr,
              datum LIKE wa_t931c-datum,
              kostl LIKE wa_t931c-kostl,
              stunx type p decimals 2,
       END OF data_struc.

DATA: data_tab TYPE TABLE OF data_struc,
      data_tab_wa TYPE data_struc.

DATA: stru_disvar TYPE disvariant.
*$*$--- End of INCLUDE ZPALV_DATA_STRUC                        --$*$*


START-OF-SELECTION.

select * from t931c client specified into WA_t931C.
  check select-options.
*    MOVE-CORRESPONDING:
*                        wa_t931c TO data_tab_wa.
    move wa_t931c-pernr to data_tab_wa-pernr.
    move wa_t931c-datum to data_tab_wa-datum.
    move wa_t931c-kostl to data_tab_wa-kostl.
    move wa_t931c-stund to h-stund.
    move h-stund        to data_tab_wa-stunx.
    APPEND data_tab_wa TO data_tab.
endselect.

END-OF-SELECTION.

  PERFORM fieldcat_init USING alv_fieldcat.
  alv_layout-colwidth_optimize = 'X'.

  CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
    EXPORTING
     i_callback_program                = 'Z_CPTY2001_ALV'
     i_grid_title                      = 'Abwesenheiten (I-Typ 2001)'
     is_layout                         = alv_layout
     it_fieldcat                       = alv_fieldcat
     i_save                            = 'A'
     is_variant                        = stru_disvar
    TABLES
      t_outtab                          = data_tab
            .
  IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
  ENDIF.

*---------------------------------------------------------------------*
*       FORM fieldcat_init                                            *
*---------------------------------------------------------------------*
*       ........                                                      *
*---------------------------------------------------------------------*
*  -->  P_FIELDCAT                                                    *
*---------------------------------------------------------------------*
FORM fieldcat_init USING p_fieldcat
                   TYPE slis_t_fieldcat_alv.
  DATA: ls_fieldcat TYPE slis_fieldcat_alv.

  CLEAR ls_fieldcat.
  ls_fieldcat-fieldname           = 'PERNR'.
  ls_fieldcat-ref_tabname         = 'PERNR'.
  ls_fieldcat-key                 = 'X'.
  APPEND ls_fieldcat TO p_fieldcat.

  CLEAR ls_fieldcat.
  ls_fieldcat-fieldname           = 'DATUM'.
  ls_fieldcat-ref_tabname         = 'DATUM'.
  APPEND ls_fieldcat TO p_fieldcat.

  CLEAR ls_fieldcat.
  ls_fieldcat-fieldname           = 'KOSTL'.
  ls_fieldcat-ref_tabname         = 'KOSTL'.
  APPEND ls_fieldcat TO p_fieldcat.

  CLEAR ls_fieldcat.
  ls_fieldcat-fieldname           = 'STUNX'.
  ls_fieldcat-ref_tabname         = 'STUNX'.
  LS_FIELDCAT-REPTEXT_DDIC        = 'Stunden'.
  APPEND ls_fieldcat TO p_fieldcat.

ENDFORM.

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


Re: Summierung im ALV

Beitrag von JHM (Top Expert / 1197 / 1 / 197 ) »
KlausB hat geschrieben:Wo liegt der Fehler?
Dein Feldkaltalog ist falsch aufgebaut.

In REF_TABNAME soll der DDIC-Tabellenname übergeben, wo das Feld herkommt. Bei dir also T931C.

Für das Feld STUNX gibt es keinen DDIC Bezug deshalb musst du andere Felder pflegen.
Da ich selber noch nicht viel mit packed Zahlen zutun hatte kann ich dir nur grob weiter helfen.
Du musst im Feld DATATYPE den entsprechende DDIC-Datentype zu P eintragen und im Feld Outputlen die entsprechende Länge. Die Werte unten sind nur Beispiele, keine Ahnung ob es so funktioniert.

Wieso brauchst du denn PACKET als Datentype?

Code: Alles auswählen.

FORM fieldcat_init USING p_fieldcat
                   TYPE slis_t_fieldcat_alv.
  DATA: ls_fieldcat TYPE slis_fieldcat_alv.

  CLEAR ls_fieldcat.
  ls_fieldcat-fieldname           = 'PERNR'.
  ls_fieldcat-ref_tabname         = 'T931C'.
  ls_fieldcat-key                 = 'X'.
  APPEND ls_fieldcat TO p_fieldcat.

  CLEAR ls_fieldcat.
  ls_fieldcat-fieldname           = 'DATUM'.
  ls_fieldcat-ref_tabname         = 'T931C'.
  APPEND ls_fieldcat TO p_fieldcat.

  CLEAR ls_fieldcat.
  ls_fieldcat-fieldname           = 'KOSTL'.
  ls_fieldcat-ref_tabname         = 'T931C'.
  APPEND ls_fieldcat TO p_fieldcat.

  CLEAR ls_fieldcat.
  ls_fieldcat-fieldname           = 'STUNX'.
  ls_fieldcat-outputlen           = '16''.
  ls_fieldcat-datatype           = 'FLPT'.
  ls_fieldcat-seltext_s           = 'Stunden'.
  ls_fieldcat-seltext_l           = 'StundenX'.

  LS_FIELDCAT-REPTEXT_DDIC        = 'Stunden'.
  APPEND ls_fieldcat TO p_fieldcat.

ENDFORM.
Gruß Hendrik

Beitrag von KlausB (Specialist / 143 / 0 / 0 ) »
Hallo Hendrik,

danke für Deine Unterstützung.

Mir geht's darum, dass ich im ALV eine Summierung auf diese Stunden machen kann. Bekomm jedoch in der oberen ALV-Zeile das Summen-Icon nicht angezeigt.

Nun dachte ich, dass dies bei CHAR-Felder nicht möglich ist und hab den Versuch der Feldübergabe gestartet.

Deine Einstellungen bringen mir die Liste, jedoch ebenfalls ohne Summen-Icon.

Wie bekomm ich das Teil?

Klaus

Beitrag von KlausB (Specialist / 143 / 0 / 0 ) »
Fall ist erledigt. Hab die Tabelle geändert. Aus CHAR Feld ein Numerisches gemacht, jetzt passt die Summierung.

Beitrag von m.schwertle (ForumUser / 94 / 0 / 0 ) »
Klingt logisch, Text summieren ist eh schwer... ;-)

Gruss, Martin

Seite 1 von 1

Vergleichbare Themen

0
Antw.
1120
Views
Summierung in Excel
von KlausB » 19.09.2008 08:39 • Verfasst in ABAP® für Anfänger
2
Antw.
1878
Views
ALV Grid Summierung erzwingen
von Kleenmex » 14.05.2008 16:11 • Verfasst in ABAP Objects®
20
Antw.
16721
Views
ALV-Grid - Summierung nicht möglich
von khb » 29.04.2005 08:18 • Verfasst in ABAP® für Anfänger
5
Antw.
3089
Views
Summierung von Spalten in Abhängigkeit einer Eingabe
von chiara » 30.07.2008 15:23 • Verfasst in ABAP® für Anfänger
1
Antw.
1913
Views
ALV editierbar nach jeder Zelle Summierung in der gl. Spalte
von Kleenmex » 09.05.2008 11:00 • Verfasst in ABAP Objects®

Über diesen Beitrag


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

Aktuelle Forenbeiträge

Daten an Tabelle binden
vor 12 Stunden von Bright4.5 3 / 1485
Regex in where
vor 14 Stunden von tar 6 / 158

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

Daten an Tabelle binden
vor 12 Stunden von Bright4.5 3 / 1485
Regex in where
vor 14 Stunden von tar 6 / 158

Unbeantwortete Forenbeiträge

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