ALV: bestimmte Zeile färben

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

ALV: bestimmte Zeile färben

Beitrag von Jimmy Chandra (ForumUser / 5 / 0 / 0 ) »
Guten Tag,

wie kann ich best. ALV-Felder färben?

Sachverhalt:

ich bekomme Daten aus Fremdsystem und soll diese daten in SAP-Sytem per FB einspielen.

davor möchte ich Daten überprüfen, wenn die Daten z.B. Kostenstelle "1118" nicht vorhanden ist dann wird später in einem Bericht in form ALV erscheint.
(die betroffene felder soll in ROT erscheinen)

momentan kann ich zwar die fehlerhaften Datensatz in ALV sehen, leider keine Farbe.

Danke für jede Hinweis.


Coding:
tables: csks, cskb, aufk.


data: zdoc_header like table of BAPIDOCHDRU12P with header line.
data: zdoc_item like table of BAPIRCITM with header line.
data: zreturn like table of BAPIRET2 with header line.
data: bapi_return_commit like table of BAPIRET2 with header line.
data: zdoc_no like BAPIDOCHDRU12P-DOC_NO.

data: n(3) type n,
error_fb(1) type c,
error_alv_temp(1) type c,
error_alv(1) type c.


* Definition für ALV
DATA: ok_code LIKE sy-ucomm,
gs_variant type disvariant,
g_repid LIKE sy-repid,
v_headline(100) TYPE c,
v_layout TYPE lvc_s_layo,
v_katalog type LVC_T_FCAT with header line,
CONTAINER1,
g_container TYPE scrfname VALUE 'CONTAINER1',
grid1 TYPE REF TO cl_gui_alv_grid,
g_custom_container TYPE REF TO cl_gui_custom_container.

data: begin of alv_error01 occurs 0,
kostl like csks-kostl,
kstar type kstar,
aufnr type aufnr,
datum like syst-datum,
zcolor type slis_t_specialcol_alv,
end of alv_error01.

types: begin of t_alv_error.
include structure alv_error01.
types: end of t_alv_error.

data: alv_error type TAble OF t_alv_error INITIAL
SIZE 100.


DATA: BEGIN OF it_output_alv_col OCCURS 0.
INCLUDE type t_alv_error.
DATA: color TYPE slis_t_specialcol_alv,
END OF it_output_alv_col.

DATA: wa_output_alv_col LIKE LINE OF alv_error01.

DATA: wa_color TYPE LINE OF slis_t_specialcol_alv.
DATA: it_color TYPE slis_t_specialcol_alv.

* definition Screen painter
data: fcode like sy-ucomm.

**** Daten bearbeiten
zdoc_header-co_area = '0001'.
zdoc_header-docdate = sy-datum.
zdoc_header-postgdate = sy-datum.
zdoc_header-period = '010'.
zdoc_header-obj_type = 'COBK'.
zdoc_header-username = syst-uname.
append zdoc_header.


zdoc_item-send_cctr = '0000001118'. " 1118 ist die
falsche Kostenstelle
zdoc_item-rec_order = '000000400020'.
zdoc_item-value_tcur = '550.00'.
zdoc_item-cost_elem = '0000000075'.
zdoc_item-trans_curr = 'EUR'.
append zdoc_item.

clear n.
clear error_alv.

loop at zdoc_item.

clear error_fb.
clear error_alv_temp.

* Überprüfung ob die entsprechende Kostenstelle vorhanden ist.
select single * from csks
where kokrs = '0001' and kostl = zdoc_item-send_cctr and
datbi >= syst-datum.

if sy-subrc = 4.
error_alv = 'X'.
error_alv_temp = 'X'.
error_fb = 'X'.

endif.

* Überprüfung ob die entsprechende Kostenart vorhanden ist.

select single * from cskb
where kokrs = '0001' and kstar = zdoc_item-cost_elem and datbi >= syst-datum.
*in diesem Bspl:kostenstelle 1118 ist nicht vorhanden
if sy-subrc = 4.
error_alv = 'X'.
error_alv_temp = 'X'.
error_fb = 'X'.

endif.

* Überprüfung ob der entsprechende Innenauftrag vorhanden ist.

select single * from aufk
where aufnr = zdoc_item-rec_order and autyp = '01' and
kokrs = '0001'.

if sy-subrc = 4.
error_alv = 'X'.
error_alv_temp = 'X'.
error_fb = 'X'.

endif.

if error_alv_temp = 'X'.

n = n + 1.
alv_error01-kostl = zdoc_item-send_cctr. "1118
alv_error01-kstar = zdoc_item-cost_elem.
alv_error01-aufnr = zdoc_item-rec_order.
alv_error01-datum = syst-datum.
insert alv_error01 into alv_error index n.
append alv_error01.

endif.


loop at alv_error01.

wa_color-fieldname = 'KOSTL'.
wa_color-color-col = '6'.
APPEND wa_color to it_color.
wa_output_alv_col-zcolor = it_color.
MODIFY alv_error index sy-tabix FROM wa_output_alv_col transporting zcolor.

endloop.

call function 'LVC_FIELDCATALOG_MERGE'
exporting
i_structure_name = 'ZALV_COST_ERROR'
changing
ct_fieldcat = v_katalog[].

loop at v_katalog.
if v_katalog-FIELDNAME = 'KOSTL'.
v_katalog-EMPHASIZE = '0006'.
modify v_katalog.
endif.

endloop.

* die Fehlerhafte Datensätze anzeigen

if error_alv = 'X'.
clear gs_variant.

g_repid = sy-repid.
gs_variant-report = g_repid.


CONCATENATE 'Fehlerhafte Daten aus Quell-Datei' sy-uname sy-datum
INTO v_headline SEPARATED BY space.

call screen 100.

endif.

*---------------------------------------------------------------------*
* MODULE create_control OUTPUT
*---------------------------------------------------------------------*
*
*---------------------------------------------------------------------*
MODULE create_control OUTPUT.

SET PF-STATUS 'MAIN0100'.
SET TITLEBAR '001'.


IF g_custom_container IS INITIAL.
CREATE OBJECT g_custom_container
EXPORTING container_name = 'CONTAINER1'.
CREATE OBJECT grid1
EXPORTING i_parent = g_custom_container.

v_layout-grid_title = v_headline.

CALL METHOD grid1->set_table_for_first_display
EXPORTING
i_structure_name = 'ZALV_COST_ERROR'
is_variant = gs_variant
i_save = 'A'
i_default = 'X'
is_layout = v_layout
CHANGING
it_outtab = alv_error
IT_FIELDCATALOG = v_katalog[].

ELSE.
CALL METHOD grid1->refresh_table_display
EXPORTING
i_soft_refresh = 'X'.



ENDIF.

endmodule.

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


Beitrag von Haubi (Expert / 625 / 20 / 30 ) »
Das ABAP Kochbuch ab sofort bei Amazon...

I'd rather write code that writes code than write code...

Seite 1 von 1

Vergleichbare Themen

3
Antw.
1758
Views
Zeile in ALV nach Bedienung färben.
von annaarnst » 01.09.2008 18:03 • Verfasst in ABAP® Core
1
Antw.
1671
Views
ALV Zeile Färben wenn Bedingung erfüllt ist
von an4kh4 » 11.07.2007 14:19 • Verfasst in ABAP Objects®
3
Antw.
4782
Views
Loop ab bestimmte Zeile
von autohandel7 » 13.09.2018 12:15 • Verfasst in ABAP® für Anfänger
6
Antw.
4504
Views
Bestimmte Spalte einer bestimmten Zeile in einer itab
von DonBosca » 19.10.2005 13:34 • Verfasst in ABAP® für Anfänger
5
Antw.
5190
Views
ALV-Tree Farben
von dexter » 08.02.2006 10:53 • Verfasst in ABAP® Core

Ü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 8 Stunden von Bright4.5 3 / 1481
Regex in where
vor 9 Stunden von tar 6 / 148

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 8 Stunden von Bright4.5 3 / 1481
Regex in where
vor 9 Stunden von tar 6 / 148

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