Spaltenüberschriften in einem ALV ändern

Alles rund um die Sprache ABAP®: Funktionsbausteine, Listen, ALV
4 Beiträge • Seite 1 von 1
4 Beiträge Seite 1 von 1

Spaltenüberschriften in einem ALV ändern

Beitrag von BabsiCSC (ForumUser / 86 / 0 / 0 ) »
Hallo,

Ich lasse in meinem ALV Klassifizierungen mittels dem CLAF_CLASSIFICATION_OF_OBJECTS zu Objekten ausgeben.
Mit folgendem code:
" ... CALL FUNCTION 'CLAF_CLASSIFICATION_OF_OBJECTS'
EXPORTING
class = lw_ziappliclass-class
classtext = 'X'
classtype = '002'
clint = 0
features = 'X'
language = sy-langu
object = l_object
* OBJECTTABLE = ' '
key_date = sy-datum
* INITIAL_CHARACT = 'X'
* NO_VALUE_DESCRIPT =
change_service_clf = 'X'
* INHERITED_CHAR = ' '
* CHANGE_NUMBER = ' '
TABLES
t_class = it_class
t_objectdata = it_objectdata
* I_SEL_CHARACTERISTIC =
* T_NO_AUTH_CHARACT =
EXCEPTIONS
no_classification = 1
no_classtypes = 2
invalid_class_type = 3
OTHERS = 4
.
IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF.


CLEAR counter.

LOOP AT it_objectdata INTO ls_objectdata.

ADD 1 TO counter.

CONCATENATE 'WA_DATA-AUSP1_' counter INTO fieldname.
ASSIGN (fieldname) TO <l_field>.


IF <l_field> IS ASSIGNED.

IF ls_objectdata-ausp1 = '?'.
<l_field> = ''.

ELSE.

<l_field> = ls_objectdata-ausp1.

ENDIF.

ENDIF.


ENDLOOP.


APPEND wa_data TO it_data.
... "

Die Ausgabe ist nun so, dass die Zeilen aus dem Funktionsbaustein in Spalten in meinem ALV ausgegeben werden.

-> Wie kann ich nun aus dem BAPI_CLASS_GETDETAIL die Bezeichnungen (DESCR) der Merkmale (NAME_CHAR), die mit dem SMBEZ des Fkt.bausteins CLAF_CLASSIFICATION_OF_OBJECTS zusammenhängen, als Überschrift in mein ALV bringen (statt dem bisherigen Characteristic Value) ?
(- siehe screenshot um sich mein "Problem" besser vorzustellen...)
Mein bisheriger Code dazu sieht folgendermaßen aus ->
** Überschriften zu den Texten lesen.
CALL FUNCTION 'BAPI_CLASS_GETDETAIL'
EXPORTING
classtype = '002'
classnum = lw_ziappliclass-class
* LANGUISO =
languint = sy-langu
* KEYDATE = SY-DATUM
* IMPORTING
* CLASSBASICDATA =
* CLASSDOCUMENT =
* CLASSADDITIONAL =
* CLASSSTANDARD =
* RETURN =
TABLES
* CLASSDESCRIPTIONS =
* CLASSLONGTEXTS =
classcharacteristics = it_classchar
* CLASSCHARVALUES =
.


ls_classchar-name_char = ls_objectdata-smbez.


CLEAR counter.

LOOP AT it_classchar INTO ls_classchar.

ADD 1 TO counter.


READ TABLE it_fieldcat INTO lw_fieldcat WITH KEY fieldname =
fieldname.

IF sy-subrc = 0.

lw_fieldcat-seltext_s = lw_fieldcat-seltext_m =
lw_fieldcat-seltext_l = ls_objectdata-smbez.

MODIFY it_fieldcat FROM lw_fieldcat INDEX sy-tabix.

ENDIF.


ENDLOOP.

Wobei dafür brauch' ich doch auch concatenate? oder?

Danke!
lg

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


Beitrag von BabsiCSC (ForumUser / 86 / 0 / 0 ) »
Hallo,

Ich habe diesbezüglich Änderungen und zwar verwende ich nun doch einen anderen Fkt.baustein dafür ->

CALL FUNCTION 'CLME_FEATURE_ATTR_OF_CLASS_ALL'
EXPORTING
class = lw_ziappliclass-class
classtype = '002'
language = sy-langu
* KEY_DATE = SY-DATUM
with_values = ''
* CHANGE_NUMBER = ' '
* DEFAULT_VAL_EXTRA = ' '
* I_SORTED_BY_CLASS = 'X'
TABLES
tfeatures = it_tfeatures
* TVALUES =
* EXCEPTIONS
* CLASS_NOT_FOUND = 1
* NO_AUTHORITY = 2
* OTHERS = 3
.
IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.


CLEAR counter.

LOOP AT it_fieldcat INTO lw_fieldcat.



ADD 1 TO counter.

CONCATENATE 'L_FIELD' counter INTO lv_field.

READ TABLE it_fieldcat INTO lw_fieldcat WITH KEY fieldname =
lv_field.

IF sy-subrc = 0.

lw_fieldcat-seltext_s = lw_fieldcat-seltext_m =
lw_fieldcat-seltext_l = ls_classchar-descr.


MODIFY it_fieldcat FROM lw_fieldcat INDEX sy-tabix.

ENDIF.


ENDLOOP.

Jedoch ich vermute, dass bei mir der Fehler beim read_table bzw. schon vorher beim concatenate liegt, oder?

Bitte um Hilfe!

thx,
lg

Beitrag von A6272 (Specialist / 238 / 8 / 36 ) »
Hallo,

mal zusätzlich zu den Feldern lw_fieldcat-seltext_s = lw_fieldcat-seltext_m =
lw_fieldcat-seltext_l noch das Feld lw_fieldcat-reptext_ddic füllen.

LOOP AT it_fieldcat INTO lw_fieldcat.
ADD 1 TO counter.
CONCATENATE 'L_FIELD' counter INTO lv_field.
READ TABLE it_fieldcat INTO lw_fieldcat WITH KEY fieldname =
lv_field.

ist da nicht
LOOP AT it_fieldcat INTO lw_fieldcat where fieldname CP 'L_FIELD*'.
einfacher?

ls_classchar-descr ändert sich im loop nicht! Ist das so OK, dass x-mal die selbe Spaltenüberschrift kommen soll?


Ansonsten mal einen Breakpoint setzen und die Feldinhalte prüfen, damit kann die Frage "Jedoch ich vermute, dass bei mir der Fehler beim read_table bzw. schon vorher beim concatenate liegt, oder? " geklärt werden.


Viele Grüße
Alex

Beitrag von BabsiCSC (ForumUser / 86 / 0 / 0 ) »
Hallo,
Danke für den "Denkanstoß" , denn offensichtlich war es genau das Feld lw_fieldcat-reptext_ddic , das mir gefehlt hat.
Nun funkt.

Der richtige Codeteil sieht so aus:

Code: Alles auswählen.

  
CALL FUNCTION 'CLME_FEATURE_ATTR_OF_CLASS_ALL'
    EXPORTING
      class                   = lw_ziappliclass-class
      classtype               = '002'
     language                = sy-langu
*   KEY_DATE                = SY-DATUM
     with_values             = ''
*   CHANGE_NUMBER           = ' '
*   DEFAULT_VAL_EXTRA       = ' '
*   I_SORTED_BY_CLASS       = 'X'
    TABLES
      tfeatures               = it_tfeatures
*   TVALUES                 =
 EXCEPTIONS
   class_not_found         = 1
   no_authority            = 2
   OTHERS                  = 3
            .
  IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
  ENDIF.


  CLEAR counter.

  LOOP AT it_tfeatures INTO ls_tfeatures.

    ADD 1 TO counter.

    CONCATENATE 'AUSP1_' counter INTO lv_field.

    READ TABLE it_fieldcat INTO lw_fieldcat WITH KEY fieldname =
     lv_field.


    IF sy-subrc = 0.


      lw_fieldcat-seltext_s = lw_fieldcat-seltext_m =
      lw_fieldcat-seltext_l = lw_fieldcat-reptext_ddic = ls_tfeatures-atbez.


      MODIFY it_fieldcat FROM lw_fieldcat INDEX sy-tabix.

    ENDIF.


  ENDLOOP.
thx
lg

Seite 1 von 1

Vergleichbare Themen

6
Antw.
3928
Views
Spaltenüberschriften in ALV
von Dyrdek » 26.02.2014 08:00 • Verfasst in ABAP® für Anfänger
16
Antw.
4732
Views
Feldkatalog -> Spaltenüberschriften
von Bugfix13 » 06.08.2014 08:43 • Verfasst in ABAP® für Anfänger
2
Antw.
2517
Views
ALV, Spaltenüberschriften dynamisch
von Sascha_a » 14.08.2007 21:13 • Verfasst in ABAP® für Anfänger
2
Antw.
3909
Views
SAP_CONVERT_TO_XLS_FORMAT mit Spaltenüberschriften
von Thanatos82 » 01.10.2012 11:42 • Verfasst in ABAP® Core
4
Antw.
3464
Views
Technische Spaltenüberschriften
von Bugfix13 » 28.01.2014 13:40 • 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

Feldwerte vergleichen
vor 6 Stunden von wreichelt 2 / 29
Workflow-Datenfluss mit Multi-Line-Container
vor 8 Stunden von ewx gelöst 2 / 83
Mahnung erstellen
vor 12 Stunden von Sebastian82 4 / 114
Absprung VA02 Position
vor 2 Tagen von gs3rr4 gelöst 3 / 113

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

Feldwerte vergleichen
vor 6 Stunden von wreichelt 2 / 29
Workflow-Datenfluss mit Multi-Line-Container
vor 8 Stunden von ewx gelöst 2 / 83
Mahnung erstellen
vor 12 Stunden von Sebastian82 4 / 114
Absprung VA02 Position
vor 2 Tagen von gs3rr4 gelöst 3 / 113

Unbeantwortete Forenbeiträge

OPD Druck im SPOOL
vor 2 Tagen von Manfred K. 1 / 71
Export von Spools in XLSX
vor einer Woche von abapamateur 1 / 782
Feldberechnung ME32K
vor einer Woche von ZF_SAPler 1 / 1383