Kolor tła

Jeśli programujesz, administrujesz, integrujesz i masz wątpliwość lub obawę, to właśnie najlepsze miejsce dla Ciebie. Pisz śmiało...
RKISIEL
Posty: 605
Rejestracja: pn lut 14, 2011 9:10 pm
Has thanked: 439 times
Been thanked: 278 times

Kolor tła

Post autor: RKISIEL »

Cześć,
Może to już było, jeśli tak to można usunąć :D

W raportach ALV OO przy wyświetlaniu TOP_OF_PAGE wstawiam tam (oprócz innych informacji) logo spółki (PGE S.A.) – utworzyłem i wstawiłem do BDS (OAER).
Ale logo jest na białym tle a tło w HTML jest takie jakie wynika z ustawień użytkownika w SAP GUI.
I wygląda to trochę słabo, w zależności od tematu kolor tła jest różny i logo wygląda jak przyklejony znaczek pocztowy:
PGE_Green.png
PGE_Pink.png
PGE_Blue.png
Przekopałem internet jak zmienić na stałe tło w HTML, którego używam w TOP_OF_PAGE i nic… jakieś dyrdymały, że dla
DATA:
gd_dyndoc_id TYPE REF TO cl_dd_document.

* Create TOP-Document
CREATE OBJECT gd_dyndoc_id
EXPORTING
style = 'ALV_GRID'.
CALL METHOD gd_dyndoc_id->initialize_document
EXPORTING
background_color = cl_dd_area=>col_textarea.

background_color może przyjmować wartości stałe określone jako cl_dd_area=>col_*.

Przetestowałem wszystkie zalecane ustawienia/wartości
COL_BACKGROUND_LEVEL1
COL_BACKGROUND_LEVEL2
COL_TEXTAREA
COL_TREE_LEVEL1
COL_TREE_LEVEL2
COL_TREE_LEVEL3
COL_TREE_LEVEL4

i nic nie zmieniało się :o

Więc kolejna kawa + debugg i wszystko jasne, dla: style = 'ALV_GRID' mogłem zmieniać wartości do końca świata i tak SAP wstawiał co chciał.

Więc pozbyłem się: style = 'ALV_GRID' i już mogłem poszaleć :
* dla białego tła
CALL METHOD gd_dyndoc_id->initialize_document
EXPORTING
background_color = 2. <- dla koloru białego #FFFFFF
Nie masz wymaganych uprawnień, aby zobaczyć pliki załączone do tego posta.
Ostatnio zmieniony czw cze 20, 2024 2:08 am przez RKISIEL, łącznie zmieniany 6 razy.
Rafał Kisiel
RKISIEL
Posty: 605
Rejestracja: pn lut 14, 2011 9:10 pm
Has thanked: 439 times
Been thanked: 278 times

Re: Kolor tła

Post autor: RKISIEL »

cd.
Teraz TOP wygląda lepiej:
PGE_White.png
Dołączam rozkminioną listę kodów kolorów, może kiedyś Wam przyda się.
Nie masz wymaganych uprawnień, aby zobaczyć pliki załączone do tego posta.
Rafał Kisiel
K602
Posty: 146
Rejestracja: śr sie 24, 2022 11:50 am
Has thanked: 72 times
Been thanked: 91 times

Re: Kolor tła

Post autor: K602 »

A czy nie lepiej mieć prawidłową grafikę, z transparentnym tłem? Bo w tym momencie, dostosowujesz kolor tła, do koloru tła obrazka...
SAP ABAP Certified Developer
yacol
Posty: 567
Rejestracja: śr kwie 04, 2007 4:32 pm
Lokalizacja: Poznań
Has thanked: 10 times
Been thanked: 171 times

Re: Kolor tła

Post autor: yacol »

Kiedyś pisałem obsługę różnych kontrolek ActiveX w ABAP tak żeby można je było wykorzystać bezpośrednio na ekranach w SAPGUI (np. slider). Wiem, że ten temat (choć pozornie prosty) należy do tej kategorii, którą developerzy określają "rzeźba w gównie" :D
Szacun za upór w dążeniu do rozpoznania tematu.
Pozdrawiam,

Jacek Witczak
http://novertio.pl
yacol
Posty: 567
Rejestracja: śr kwie 04, 2007 4:32 pm
Lokalizacja: Poznań
Has thanked: 10 times
Been thanked: 171 times

Re: Kolor tła

Post autor: yacol »

Ponieważ dostałem kilka zapytań o ten temat, więc publicznie go przybliżę (bardzo pobieżnie) dla zainteresowanych a na końcu wyjaśnię dlaczego w dzisiejszych realiach lepiej tego nie robić :)

1. trzeba dobrze znać kontrolkę ActiveX, którą chcemy wykorzystać na ekranach SAPGUI (własności, metody i zdarzenia kontrolki, jej sposób działania, itede, itepe). Pomocne tu będzie narzędzie systemu Windows o nazwie OLE Viewer (lub nowsze OLE/COM Object Viewer).
2. kontrolka Ole/ActiveX musi być zarejestrowana w systemie Windows, na którym działa SAPGUI (patrz CLSID i rejestr Windows)
3. trzeba utworzyć własną klasę dziedziczącą z CL_GUI_CONTROL
4. trzeba zredefiniować przynajmniej dwie metody: SET_REGISTERED_EVENTS oraz DISPATCH i odpowiednio je zaimplementować aby ABAP mógł "gadać" z kontrolką i jej metodami/własnościami
5. w konstruktorze naszej klasy musimy oczywiście wywołać konstruktor klasy bazowej oraz zarejestrować naszą instancję z wykorzystaniem metody CL_GUI_CFW=>SUBSCRIBE
6. w SET_REGISTERED_EVENTS musimy zarejestrować nasze własne zdarzenia (tj. kontrolki Ole/ActiveX) z wykorzytaniem metody SET_REGISTERED_EVENTS_EX

Teraz można już na ekranie utworzyć kliencki kontener (patrz klasa CL_GUI_CUSTOM_CONTAINER), ustawić go jako rodzica naszej kontrolki i używać tej kontrolki w aplikacjach ekranowych SAPGUI.

Dlaczego dzisiaj to jest już słaby temat?

I. tylko działa na ekranach SAPGUI w systemie Windows (patrz punkt 2)
II. nie działa w innych GUI (np. SAPGUI for Java) i innych systemach operacyjnych niż Windows (np. Linux)
III. nie działa na FIORI
IV. do rozwiązania są problemy takie jak np. właśnie z tłem SAPGUI (biorąc pod uwagę różne motywy SAPGUI, kolory, itd. trudno jest zgrać wizualnie naszą kontrolkę z wyglądem ekranu SAPGUI)
V. czy ktoś jeszcze dzisiaj pisze ABAPy posługujące się zwykłym DYNPRO dla SAPGUI? Zabawa z PBO, PAI, MODULE i inne tam takie nudy?
Pozdrawiam,

Jacek Witczak
http://novertio.pl
dominik.tylczynski
Posty: 8465
Rejestracja: wt kwie 03, 2007 4:05 pm
Has thanked: 1991 times
Been thanked: 1501 times

Re: Kolor tła

Post autor: dominik.tylczynski »

yacol pisze: sob cze 22, 2024 12:28 pm V. czy ktoś jeszcze dzisiaj pisze ABAPy posługujące się zwykłym DYNPRO dla SAPGUI? Zabawa z PBO, PAI, MODULE i inne tam takie nudy?
Pisze, pisze :wink:
Moim zdaniem znacznie łatwiej napisać ekrany DYNPRO do standardowych modułów, niż na siłę robić aplikację Fiori, zwłaszcza jeśli nie ma do niej gotowego OData providera. Napisanie takowego w SEGW np. do LE-WM to jest droga przez mękę.