Jak tu by opisać mój problem...
Muszę dostać się do informacji na temat oczekujących wniosków dot. nieobecności.
W normalnych warunkach lecę po tabelach PTREQ_ATTABSDATA sprawdzając szczegóły wniosków. Dla interesujących mnie wpisów, sięgam w oparciu o identyfikatory do tabeli PTREQ_ACTOR by sprawdzić status wniosku, a także do PTREQ_ACTOR by zerknąć, kto aktualnie ma wniosek u siebie do obsłużenia.
Tyle z teorii.
W praktyce korzystamy z mechanizmu zastępstw, opierając się o tabelę HRUS_D2 (plus jakieś klienckie dodatki do obsługi wniosków, które nie wpływają na sam mechanizm zastępstw).
Problem polega na tym, że gdy mamy aktywne zastępstwo w hrus_d2, to standardowy raport wniosków o nieobecność (RPTARQDBVIEW) pokazuje jedynie pierwotnego aktora (czyli przełożonego), do którego trafia wniosek. Nie uwzględnia zastępstwa. Tabela ptreq_actor też zawiera informacje jedynie o aktorze wynikającym z relacji wnioskujący-przełożony.
Zastanawiam się, w jaki sposób rozpoznaje zalogowanego na portalu Usera jako zastępcę? Grzebanie w standardzie portalowym jest ostatnią rzeczą, którą chciałbym robić.
Na pewno rozwiązanie nie jest na tyle proste, by sprawdzić, czy zalogowany user ma wpis jako zastępca na dany okres w hrus_d2, bo standard działa w taki sposób, że wnioski zarejestrowane przed ustawieniem zastępstwa, nie są w ramach zastępstwa widoczne.
Czy ktoś z Was już mierzył się z tym problemem?
Jakieś sugestie?
Zastępstwa, czyli czas pracy + HRUS_D2
Re: Zastępstwa, czyli czas pracy + HRUS_D2
Z samej tabeli HRUS_D2 może być to problematyczne, bo te wpisy znikają. Wiele lat temu zrobiłem rozszerzenie, które w momencie tworzenia zastępstwa, tworzy wpis w osobnej tabeli (kopia struktury HRUS_D2)... potem to można raportować, łącznie ze stanowiskami, bo tak to zapisuję.
Zmian nie robisz po stronie portalu, ale po stronie back-end...
Zmian nie robisz po stronie portalu, ale po stronie back-end...
SAP ABAP Certified Developer
Re: Zastępstwa, czyli czas pracy + HRUS_D2
Dokładnie. Użyłem zbyt ogólnego stwierdzenia

Re: Zastępstwa, czyli czas pracy + HRUS_D2
Nie bardzo rozumiem problem. Pole rep_name to zastępca, a us_name to zastępowany... jeśli zrobisz to tak, jak ja, to nie potrzebujesz tabeli PTREQ 
Podpowiem: Include: LRHW2F04, FORM: insert_hrus_d2

Podpowiem: Include: LRHW2F04, FORM: insert_hrus_d2
SAP ABAP Certified Developer
Re: Zastępstwa, czyli czas pracy + HRUS_D2
O, wiem, jak uprościć pytanie! (dwa dni nad tym dumałem)
W hrus_d2 jest zastępstwo, a w RPTARQDBVIEW nie widać, że kolejnym aktorem jest zastępca
Kolejny problem:
1) Pracownik 1 marca składa wniosek urlopowy.
2) Przełożony NIE podejmuje żadnej akcji związanej z wnioskiem.
3) 2go marca Przełożony daje zastępstwo na Zastępującego. Zastępstwo jest od 1 marca do 10 marca.
4) Zastępujący nie widzi wniosku Pracownika. A niby zastępstwo "ogarnia" swoim zasięgiem 1 marca.
Prościej nie potrafię :/
W hrus_d2 jest zastępstwo, a w RPTARQDBVIEW nie widać, że kolejnym aktorem jest zastępca

Kolejny problem:
1) Pracownik 1 marca składa wniosek urlopowy.
2) Przełożony NIE podejmuje żadnej akcji związanej z wnioskiem.
3) 2go marca Przełożony daje zastępstwo na Zastępującego. Zastępstwo jest od 1 marca do 10 marca.
4) Zastępujący nie widzi wniosku Pracownika. A niby zastępstwo "ogarnia" swoim zasięgiem 1 marca.
Prościej nie potrafię :/
Re: Zastępstwa, czyli czas pracy + HRUS_D2
Niestety nie rozumiem, jaki jest problem...
SAP ABAP Certified Developer
Re: Zastępstwa, czyli czas pracy + HRUS_D2
Taki, że zastępca nie widzi wniosku na 1 marca, chociaż od tego dnia ma zastępstwo.
Dodatkowo standardowy raport (RPTARQDBVIEW) nie widzi zastępcy, tylko aktora pierwotnego.
Dodatkowo standardowy raport (RPTARQDBVIEW) nie widzi zastępcy, tylko aktora pierwotnego.
Re: Zastępstwa, czyli czas pracy + HRUS_D2
W takim razie podpowiedziałem, jak można to raportować, wcześniej zapisując dane 'z boku'...
SAP ABAP Certified Developer