ALV Zellen einfärben

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

ALV Zellen einfärben

Beitrag von kesap (ForumUser / 1 / 0 / 0 ) »
hallo, da es hier ja viele ALV-Experten gibt wollte ich auch einmal etwas fragen...
und zwar möchte ich einzelne Zellen in Abhängigkeit von bestimmten Werten färben. Dazu lese ich in der allg. Doku im sap help portal --> siehe-->
http://help.sap.com/saphelp_erp2004/hel ... ontent.htm

und zwar fügen die SAPler da ein feld in die Ausgabestruktur ein, dass sich allerdings auf eine DB-Tabellenstruktur bezieht:
CT TYPE LVC_T_SCOL
soweit so gut. Ich habe dann eine ausgabetabelle (ig_zmon_messages) die wiederum eine itab enthält.

was ich jetzt baue ist folgendes:
es geht hier um die 4. Zeile - das geht da so nicht, weil CT ist ja eine tabelle - und jetzt weiss ich aber nicht, wie man das handhaben soll...
--> mein Kot!

CLEAR wg_zmon_messages.
LOOP AT ig_zmon_messages INTO wg_zmon_messages.
IF wg_zmon_messages-service <> 20.
wg_zmon_messages-CT = 'C610'."???
ENDIF.
MODIFY ig_zmon_messages FROM wg_zmon_messages.
ENDLOOP.
layout-ctab_fname = 'CT'.

layout wird dann bei "set_table_for_first_display"
benutzt.
Was tun sprach Zeus... :roll:
WOTAN, der Herrscher der 7 Welten, sei mit Dir

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


Beitrag von OK ( / / 0 / 3 ) »
Hoi,

"CT" ist eine interne Tabelle (sorted), die du durch eine Workarea füllen mußt (Type: lvc_s_scol).

Dann klappt's auch mit dem Nachbarn.

Gruß,
OK

Beitrag von F.T. (ForumUser / 4 / 0 / 0 ) »
Zellen einfärben funktioniert hervorragend !

Ich möchte die komplette Zeile einfärben, ich halte mich strikt an die Hilfe, bekomme aber keine Einfärbung. :roll: Färbe jetzt jede Zelle der Zeile, das funktioniert.

Hat jemand ein Beispiel für das "Zeilen einfärben" ?

Danke.

Frank

Beitrag von Gast ( / / 0 / 3 ) »
:oops: Hat sich gerade erledigt !

Trotzdem Danke.

Frank

Beitrag von dawns (ForumUser / 99 / 0 / 0 ) »
hi, mhhh bei mir klappt das irgendwie leider vorne und hinten net, was mach ich falsch?

DATA: BEGIN OF gt_feld_hum2 OCCURS 0.
INCLUDE TYPE zfeld.
DATA: ct TYPE lvc_t_scol. "Table for colors
DATA: END OF gt_feld_hum2.

DATA: gs_feld_hum2 LIKE LINE OF gt_feld_hum2.


* create data
DO 12 TIMES.
APPEND gs_feld_hum2 TO gt_feld_hum2.
ENDDO.


DATA: ls_ct TYPE lvc_s_scol.

CLEAR gs_feld_hum2.
LOOP AT gt_feld_hum2 INTO gs_feld_hum2.
LOOP AT gs_feld_hum2-ct INTO ls_ct.
ls_ct = 'C610'.
MODIFY gs_feld_hum2-ct FROM ls_ct.
ENDLOOP.
ENDLOOP.
gs_start_layout-ctab_fname = 'CT'.




nun habe ich einmal das problem, dass...
* display alv
CALL METHOD ref_start_alv->set_table_for_first_display
EXPORTING
is_layout = gs_start_layout
CHANGING
it_fieldcatalog = gt_start_fieldcat
it_outtab = gt_feld_hum2

...gt_feld_hum2 typunkompatibel ist, und zum anderen auch gar keine felder farbig gefüllt werden. könnt ihr mir helfen?

thx im voraus
mfg dawns

Beitrag von ereglam (Top Expert / 1829 / 2 / 7 ) »
Hallo dawns,

hast Du Dir mal im Debugger angeschaut, was er in Deinem inneren LOOP (AT gs_feld_hum2-ct) macht?
Soweit ich das sehen kann, hat die Farbtabelle keine Einträge und daher kann natürlich auch kein Eintrag modifiziert werden...
Probier's mal stattdessen mit einem INSERT oder APPEND, ohne den LOOP...
Gruß
Ereglam


May the Force be with your code
|| .| |.|| | .... . ..|. ||| .|. |.|. . |... . .|| .. | .... |.|| ||| ..| .|. |.|. ||| |.. .

Beitrag von dawns (ForumUser / 99 / 0 / 0 ) »
das problem ist ja, das ich soweit ja nich ma bin... :(

die tabelle gt_feld_hum2 ist angeblich typinkompatibel. daher kann ich auch das prog nich starten und nich debuggen...

edit: habe deinen vorschlag umgesetzt:
DATA: ls_ct TYPE lvc_s_scol.

CLEAR gs_feld_hum2.
LOOP AT gt_feld_hum2 INTO gs_feld_hum2.
ls_ct-color-col = '6'.
APPEND ls_ct TO gs_feld_hum2-ct.
ENDLOOP.
gs_start_layout-ctab_fname = 'CT'.


aber die typunkompatiblität bleibt... :( ?

Beitrag von ereglam (Top Expert / 1829 / 2 / 7 ) »
Hallo dawns,

in meinem System lässt sich dieser Code fehlerfrei checken:

Code: Alles auswählen.

  DATA: BEGIN OF gt_feld_hum2 OCCURS 0.
*  INCLUDE TYPE zfeld. 
  INCLUDE TYPE feld. 
  DATA: ct TYPE lvc_t_scol. "Table for colors
  DATA: END OF gt_feld_hum2.

  DATA: gs_feld_hum2 LIKE LINE OF gt_feld_hum2.


* create data
  DO 12 TIMES.
    APPEND gs_feld_hum2 TO gt_feld_hum2.
  ENDDO.

  DATA: ls_ct TYPE lvc_s_scol.

  CLEAR gs_feld_hum2.
  LOOP AT gt_feld_hum2 INTO gs_feld_hum2.
    LOOP AT gs_feld_hum2-ct INTO ls_ct.
      ls_ct = 'C610'.
      MODIFY gs_feld_hum2-ct FROM ls_ct.
    ENDLOOP.
  ENDLOOP.
Es könnte sein, dass Euer Typ ZFELD Probleme bereitet. Was definiert er denn?
Gruß
Ereglam


May the Force be with your code
|| .| |.|| | .... . ..|. ||| .|. |.|. . |... . .|| .. | .... |.|| ||| ..| .|. |.|. ||| |.. .

Beitrag von dawns (ForumUser / 99 / 0 / 0 ) »
habe statt zfeld nun auch mal nur feld genommen wie du, läuft trotzdem net. es kommt immer noch 'typunkompatibel" . *verzeifeln*, sonst noch ideen?

müssen denn bestimmte vorrausetzungen gegeben sein damit das funktioniert, oder wenn man z.b. hotspots registriert, dass das dann nich gehen kann oder so was?

Beitrag von ereglam (Top Expert / 1829 / 2 / 7 ) »
hm,

ist der hier angegebene Code auch wirklich identisch zu dem in Deinem System. Ansonsten habe ich keine Idee.

Wie heißt denn die genaue Fehlermeldung und in welchen Release arbeitest Du?
Gruß
Ereglam


May the Force be with your code
|| .| |.|| | .... . ..|. ||| .|. |.|. . |... . .|| .. | .... |.|| ||| ..| .|. |.|. ||| |.. .

Beitrag von dawns (ForumUser / 99 / 0 / 0 ) »
habs von dir oben kopiert, ist also identisch. hab halt nur noch im layout das ctab_fname auf "CT" gesetzt.
ich nutze das 620er release.

Fehlermeldung:
"GT_FELD_HUM2" ist nicht typkompatibel zum formalen Parameter "IT_OUTTAB".

und "IT_OUTTAB" is bei mir vom typ "STANDARD_ TABLE".
ein beispiel prog würde mir da sicherlich auch weiterhelfen, weiß da jemand eins?

Beitrag von JHM (Top Expert / 1223 / 2 / 204 ) »
dawns hat geschrieben:Fehlermeldung:
"GT_FELD_HUM2" ist nicht typkompatibel zum formalen Parameter "IT_OUTTAB".

und "IT_OUTTAB" is bei mir vom typ "STANDARD_ TABLE".
ein beispiel prog würde mir da sicherlich auch weiterhelfen, weiß da jemand eins?
Ändere mal die Deklaration der Tabelle GT_FELD_HUM2 wie folgt ab:

Code: Alles auswählen.

  TYPES: BEGIN OF t_feld_hum2. 
  INCLUDE TYPE zfeld. 
*  INCLUDE TYPE feld. 
  TYPES: ct TYPE lvc_t_scol. "Table for colors 
  TYPES: END OF t_feld_hum2. 

DATA: gt_feld_hum2 TYPE TABLE OF t_feld_hum.
Anscheinend versteht der Syntaxcheck die Data-Anweisung nicht richtig. Zu mal OCCURS in ABAP-OO obsolet ist.
Gruß Hendrik

Beitrag von ereglam (Top Expert / 1829 / 2 / 7 ) »
Hallo Dawns,

der Fehler liegt darin, dass Du beim Übergeben von GT_FELD_HUM2 nicht den Tabellenkörper ( GT_FELD_HUM2[] ), sondern die (implizit mitdefinierte) Kopfzeile übergibst. Unjd die ist nun mal keine Tabelle...

Daher wird auch die Verwendung der Tabellendefinition mit OCCURS nicht mehr empfohlen:

Code: Alles auswählen.

  TYPES: 
  BEGIN OF ts_feld_hum2. 
*  INCLUDE TYPE zfeld.
    INCLUDE TYPE feld.
  TYPES: 
    ct TYPE lvc_t_scol, "Table for colors
  END OF ts_feld_hum2,
  tt_feld_hum2 TYPE STANDARD TABLE OF ts_feld_hum2.

  DATA: 
    gt_feld_hum2 TYPE tt_feld_hum2,
    gs_feld_hum2 LIKE LINE OF gt_feld_hum2.
Alternativ könntest Du auch expliizt den Tabellenkörper an die Methode mit GT_FELD_HUM2[] übergeben...
Gruß
Ereglam


May the Force be with your code
|| .| |.|| | .... . ..|. ||| .|. |.|. . |... . .|| .. | .... |.|| ||| ..| .|. |.|. ||| |.. .

Beitrag von dawns (ForumUser / 99 / 0 / 0 ) »
hehe, echt klasse! nun klappts, ich danke euch :)

Seite 1 von 1

Vergleichbare Themen

0
Antw.
9806
Views
ALV Keyspaltenfeld einfärben. Geht das?
von Nordlicht » 12.04.2022 09:44 • Verfasst in Dialogprogrammierung
6
Antw.
5325
Views
ALV Grid - einzelnes Feld einfärben
von pippi1710 » 13.09.2011 08:33 • Verfasst in ABAP® für Anfänger
3
Antw.
3803
Views
Zeile einer Tabelle in einem PMD einfärben
von stony007_de » 02.06.2021 22:31 • Verfasst in ABAP® für Anfänger
12
Antw.
11801
Views
Mehrzeilige Zellen im ALV?
von mawi » 31.05.2007 15:15 • Verfasst in ABAP Objects®
4
Antw.
2778
Views
Schließen Zellen im ALV
von SAP_ENTWICKLER » 09.04.2015 13:34 • Verfasst in ABAP® Core

Über diesen Beitrag


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

Aktuelle Forenbeiträge

BAPI zur ABSO?
vor 2 Tagen von msfox 1 / 296
Materialstammerweiterung: Neuer Reiter
vor einer Woche von DeathAndPain gelöst 4 / 925
Ermittlung der Arbeitstage (Mosid)
vor einer Woche von Radinator 11 / 46603
LSMW-Problem
vor 3 Wochen von DeathAndPain gelöst 6 / 4479

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

BAPI zur ABSO?
vor 2 Tagen von msfox 1 / 296
Materialstammerweiterung: Neuer Reiter
vor einer Woche von DeathAndPain gelöst 4 / 925
Ermittlung der Arbeitstage (Mosid)
vor einer Woche von Radinator 11 / 46603
LSMW-Problem
vor 3 Wochen von DeathAndPain gelöst 6 / 4479

Unbeantwortete Forenbeiträge

BAPI zur ABSO?
vor 2 Tagen von msfox 1 / 296
SFP/SEGW - Fehler beim Rendering
March 2026 von Manfred K. 1 / 90151