Hej
czy ktoś używa BADI VATDATE_VALUES do zmiany wartości pola BKPF-VATDATE?
Moje pytanie jest takie, czy jeśli mamy fakturę SD, do tej faktury powstaje księgowanie FI i w tym BADI zmieniamy wartość pola BKPF-VATDATE, to czy możemy w nim bezpiecznie zrobić SELECT FROM VBRK, czy tabela z fakturami SD jeszcze nie jest zapisana?
Dzięki
BKPF-VATDATE, BADI VATDATE_VALUES
-
- Posty: 213
- Rejestracja: czw lip 10, 2014 7:53 pm
- Has thanked: 21 times
- Been thanked: 258 times
Re: BKPF-VATDATE, BADI VATDATE_VALUES
Cześć,
to BADI jest odpalane w takcie księgowania, awięc tabele SD muszą być już wypełnione na 100%, bo inaczej nie uzupełnił by się interfejs. Ja na jednym z projektów używałem dokładnie tego BADI do wyciągania rzeczywistej daty dostawy i ustawiania jej jako Daty VAT i działało spokojnie po wszystkich tabelach SD, włącznie z VBFA.
Marek
to BADI jest odpalane w takcie księgowania, awięc tabele SD muszą być już wypełnione na 100%, bo inaczej nie uzupełnił by się interfejs. Ja na jednym z projektów używałem dokładnie tego BADI do wyciągania rzeczywistej daty dostawy i ustawiania jej jako Daty VAT i działało spokojnie po wszystkich tabelach SD, włącznie z VBFA.
Marek
Marek Turczyński
-
- Posty: 1058
- Rejestracja: pt mar 14, 2008 12:51 pm
- Has thanked: 71 times
- Been thanked: 313 times
Re: BKPF-VATDATE, BADI VATDATE_VALUES
Dzięki za perfekcyjną odpowiedź!
Szkoda że u nas rzeczywistej daty dostawy nie mamy w systemie, musielibyśmy sprawdzać po listach przewozowych kurierów, dlatego uznaliśmy arbitralnie że transport trwa dwa dni robocze.
Szkoda że u nas rzeczywistej daty dostawy nie mamy w systemie, musielibyśmy sprawdzać po listach przewozowych kurierów, dlatego uznaliśmy arbitralnie że transport trwa dwa dni robocze.
-
- Posty: 1058
- Rejestracja: pt mar 14, 2008 12:51 pm
- Has thanked: 71 times
- Been thanked: 313 times
Re: BKPF-VATDATE, BADI VATDATE_VALUES
Niestety nie działa to tak: może to zależy od momentu księgowania faktur w FI u Was?
U nas faktura SD powstaje wieczorem w dniu wysyłki towaru, od razu idzie księgowanie do FI.
W tym BADI w tym momencie w bazie nie ma jeszcze faktury SD, więc nie mam jak sprawdzić rodzaju faktury.
Rozwiązaniem by było śledzenie listów przewozowych i dat rzeczywistej dostawy - mamy je w dostawach wyjściowych. Tylko że jest to zwykle dwa dni po zaksięgowaniu faktury. Należałoby napisać dodatkowy program, który dla wszystkich faktur sprawdza rzeczywiste daty dostawy i wypełnia pole BKPF-VATDATE, czy źle myślę?
U nas faktura SD powstaje wieczorem w dniu wysyłki towaru, od razu idzie księgowanie do FI.
W tym BADI w tym momencie w bazie nie ma jeszcze faktury SD, więc nie mam jak sprawdzić rodzaju faktury.
Rozwiązaniem by było śledzenie listów przewozowych i dat rzeczywistej dostawy - mamy je w dostawach wyjściowych. Tylko że jest to zwykle dwa dni po zaksięgowaniu faktury. Należałoby napisać dodatkowy program, który dla wszystkich faktur sprawdza rzeczywiste daty dostawy i wypełnia pole BKPF-VATDATE, czy źle myślę?
-
- Posty: 213
- Rejestracja: czw lip 10, 2014 7:53 pm
- Has thanked: 21 times
- Been thanked: 258 times
Re: BKPF-VATDATE, BADI VATDATE_VALUES
Faktura w FI nie powstanie do póki nie ma stworzonej faktury w SD - tak działa interfejs między FI a SD. Nie ma możliwości zaksięgowania dokumentu FI bez tabel SD, bo to na podstawie tabel SD tworzony jest dokument księgowy.
Zaimplementowałeś enhancement point w tym BADI w metodzie VATDATE_DETERMINE? Jeżeli nie, to:
Czy edytowaleś standardowy kod?
Czy zrobiłeś właśną implementację BADI i zdezaktywowałeś domyślną implementację SAP (klasa implementująca CL_BADI_EXM_VATDATE_VALUES_SAP)?
Pozdrawiam,
Marek
Zaimplementowałeś enhancement point w tym BADI w metodzie VATDATE_DETERMINE? Jeżeli nie, to:
Czy edytowaleś standardowy kod?
Czy zrobiłeś właśną implementację BADI i zdezaktywowałeś domyślną implementację SAP (klasa implementująca CL_BADI_EXM_VATDATE_VALUES_SAP)?
Pozdrawiam,
Marek
Marek Turczyński
-
- Posty: 1058
- Rejestracja: pt mar 14, 2008 12:51 pm
- Has thanked: 71 times
- Been thanked: 313 times
Re: BKPF-VATDATE, BADI VATDATE_VALUES
Oczywiście że najpierw księguje się faktura SD, a potem w FI. W moim systemie testowym jest 4s różnicy czasu wpisów w tabelach VBRK i BKPF a mimo to faktura SD w BADI nie jest jeszcze dostępna w tabeli VBRK.
BADI oczywiście aktywowane prawidłowo - dodaję w nim 2 dni robocze do pola VAT DATE, ale mam taki przypadek, gdzie dla określonego typu faktury SD nie chcę dodawać tych 2 dni i zostawic datę księgowania w VAT DATE. W BADI jest select from vbrk, i nie odnajduje, i dodaje te 2 dni, więc na 99,99% faktury SD po prostu nie ma jeszcze zcommitowanej w bazie..
BADI oczywiście aktywowane prawidłowo - dodaję w nim 2 dni robocze do pola VAT DATE, ale mam taki przypadek, gdzie dla określonego typu faktury SD nie chcę dodawać tych 2 dni i zostawic datę księgowania w VAT DATE. W BADI jest select from vbrk, i nie odnajduje, i dodaje te 2 dni, więc na 99,99% faktury SD po prostu nie ma jeszcze zcommitowanej w bazie..
-
- Posty: 8327
- Rejestracja: wt kwie 03, 2007 4:05 pm
- Has thanked: 1916 times
- Been thanked: 1474 times
- Kontakt:
Re: BKPF-VATDATE, BADI VATDATE_VALUES
Tak jak Wojtek piszesz skoro faktura SD i faktura FI są zapisywane w tym samym LUW (Logical Unit of Work) to nagłówek faktury SD w tablicy VBRK nie jest jeszcze zapisany, nie został wykonany commit work.
Natomiast rekordy, a przynajmniej ich część w tablicy VBFA na pewno są dostępne. VBFA to obieg dokumentów SD. Zatem rekordy dotyczące zlecenia sprzedaży, dostawy na pewno są już w tej tablicy i można je odczytać w BADI VATDATE_VALUES.
Zobacz czy na podstawie danych przekazywanych do BADI VATDATE_VALUES i zawartości tablicy VBFA dasz radę odczytać faktyczną datę dostawy.
Natomiast rekordy, a przynajmniej ich część w tablicy VBFA na pewno są dostępne. VBFA to obieg dokumentów SD. Zatem rekordy dotyczące zlecenia sprzedaży, dostawy na pewno są już w tej tablicy i można je odczytać w BADI VATDATE_VALUES.
Zobacz czy na podstawie danych przekazywanych do BADI VATDATE_VALUES i zawartości tablicy VBFA dasz radę odczytać faktyczną datę dostawy.
-
- Posty: 213
- Rejestracja: czw lip 10, 2014 7:53 pm
- Has thanked: 21 times
- Been thanked: 258 times
Re: BKPF-VATDATE, BADI VATDATE_VALUES
Jeszcze, jak chcesz w prosty sposób zmanipulować datę VAT a nie chcesz robić selekcji z VBFA (sprawdziłem kod jaki robiliśmy u klienta i tam opieraliśmy się o VBFA w wyciąganiu zależnych danych), to możesz użyć exita SDVFX008 (moduł funkcyjny EXIT_SAPLV60B_008). W tym miejscu, masz dostęp do VBRK i VBRK podczas runtime.
Tam wystarczy, że w każdej linii dokumentu podasz datę VAT jaką chcesz zaktualizować w systemie i wtedy wartości będą przekazane do dokumentu księgowego.
Przykładowy kod dla Twojego przypadku:
Oczywiście kod może się różnić, jeżeli nie masz na systemie ABAP 7.5 - wtedy musisz zmienne wcześniej zadeklarować poprzez DATA - nie możesz używać host variables.
Dodaj do tego sobie tabelę konfiguracyjną ze sterowaniem ile dni ma być dodane w zależności od rodzaju faktury SD i zrobione.
Pozdrawiam,
Marek
Tam wystarczy, że w każdej linii dokumentu podasz datę VAT jaką chcesz zaktualizować w systemie i wtedy wartości będą przekazane do dokumentu księgowego.
Przykładowy kod dla Twojego przypadku:
Kod: Zaznacz cały
SELECT SINGLE xvatdate FROM t001 INTO data@(lv_vatdate)
WHERE bukrs = @cvbrk-bukrs.
IF lv_vatdate EQ abap_true. "tax reporting date active -update VATADTE
LOOP AT xaccit[] ASSIGNING FIELD-SYMBOL(<ls_accit>).
<ls_accit>-vatdate = <ls_accit>-vatdate + 2. "lepiej zrobić to przez tabelkę konfiguracyjną niż wpisywać 2 na sztywno
ENDLOOP.
ENDIF.
Dodaj do tego sobie tabelę konfiguracyjną ze sterowaniem ile dni ma być dodane w zależności od rodzaju faktury SD i zrobione.
Pozdrawiam,
Marek
Ostatnio zmieniony czw lut 23, 2017 10:53 am przez marek.turczynski, łącznie zmieniany 1 raz.
Marek Turczyński
-
- Posty: 1058
- Rejestracja: pt mar 14, 2008 12:51 pm
- Has thanked: 71 times
- Been thanked: 313 times
Re: BKPF-VATDATE, BADI VATDATE_VALUES
OK dzięki, poradziłem sobie po analizie danych i wystarczy typ faktury SD jednak, który jest w interfejsie i nie trzeba czytać po tabeli VBRK.
Teraz druga zagwozdka - faktura powstaje w momencie wysyłki towaru, który idzie średnio 2 dni. Ale oczywiście może to się czasem różnić. Czy trzeba by napisać dodatkowy program, który czyta daty dostaw i uzupełnia na dokumentach FI datę VAT?
Teraz druga zagwozdka - faktura powstaje w momencie wysyłki towaru, który idzie średnio 2 dni. Ale oczywiście może to się czasem różnić. Czy trzeba by napisać dodatkowy program, który czyta daty dostaw i uzupełnia na dokumentach FI datę VAT?
-
- Posty: 213
- Rejestracja: czw lip 10, 2014 7:53 pm
- Has thanked: 21 times
- Been thanked: 258 times
Re: BKPF-VATDATE, BADI VATDATE_VALUES
Jak rozumiem ta zmiana Daty VAT ma mieć miejsce już po zaksięgowaniu dokumentu, tak?
W takim razie bez programu się nie obejdzie. Natomiast uważaj na plants abroad - masz tą funkcję włączoną? Bo jak zmienisz datę VAT, to w tym przypadku również zmienia się kurs dla VAT i będziesz miał niezgodność wartości w polach BSET-LWSTE/LWBAS (wartość VAT w walucie kraju podatku). Jest nota od SAP z pomocą której możesz to skorygować, ale trzeba zgłosić ticket do SAP, żeby ją odblokowali dla Twojej firmy.
W takim razie bez programu się nie obejdzie. Natomiast uważaj na plants abroad - masz tą funkcję włączoną? Bo jak zmienisz datę VAT, to w tym przypadku również zmienia się kurs dla VAT i będziesz miał niezgodność wartości w polach BSET-LWSTE/LWBAS (wartość VAT w walucie kraju podatku). Jest nota od SAP z pomocą której możesz to skorygować, ale trzeba zgłosić ticket do SAP, żeby ją odblokowali dla Twojej firmy.
Marek Turczyński
-
- Posty: 8327
- Rejestracja: wt kwie 03, 2007 4:05 pm
- Has thanked: 1916 times
- Been thanked: 1474 times
- Kontakt:
Re: BKPF-VATDATE, BADI VATDATE_VALUES
Znasz numer tej noty?Akarin pisze: ↑czw lut 23, 2017 10:58 am Jak rozumiem ta zmiana Daty VAT ma mieć miejsce już po zaksięgowaniu dokumentu, tak?
W takim razie bez programu się nie obejdzie. Natomiast uważaj na plants abroad - masz tą funkcję włączoną? Bo jak zmienisz datę VAT, to w tym przypadku również zmienia się kurs dla VAT i będziesz miał niezgodność wartości w polach BSET-LWSTE/LWBAS (wartość VAT w walucie kraju podatku). Jest nota od SAP z pomocą której możesz to skorygować, ale trzeba zgłosić ticket do SAP, żeby ją odblokowali dla Twojej firmy.
-
- Posty: 213
- Rejestracja: czw lip 10, 2014 7:53 pm
- Has thanked: 21 times
- Been thanked: 258 times
Re: BKPF-VATDATE, BADI VATDATE_VALUES
Oczywiście. Musiałem skorzystać z tego programu po tym jak SAP skopał determinację kursu VAT w plants abroad (naprawili to OSSem szybko, ale stare dokumenty pozostały ze złymi wartościami)- programik poprawił dane.
Nota:
1055835 - Redetermining tax values in national currency in BSET
Zawiera program ZF_BSET_LW_BY_WIA , ktory ponownie przelicza wartości LSBAS i LWSTE na podstawie podanej daty VAT z dokumentu (albo kursu dla podatków podanego ręcznie).
Dodatkowa przydatna nowa (dostępna dla wszystkich):
1908750 - BSET - tax in local currency HWSTE <> document currency FWSTE --> reporting RFUMSV00 incorrect
Zawiera program ZF_CORR_RBTX_HWSTE.
Nota:
1055835 - Redetermining tax values in national currency in BSET
Zawiera program ZF_BSET_LW_BY_WIA , ktory ponownie przelicza wartości LSBAS i LWSTE na podstawie podanej daty VAT z dokumentu (albo kursu dla podatków podanego ręcznie).
Dodatkowa przydatna nowa (dostępna dla wszystkich):
1908750 - BSET - tax in local currency HWSTE <> document currency FWSTE --> reporting RFUMSV00 incorrect
Zawiera program ZF_CORR_RBTX_HWSTE.
Marek Turczyński
-
- Posty: 8327
- Rejestracja: wt kwie 03, 2007 4:05 pm
- Has thanked: 1916 times
- Been thanked: 1474 times
- Kontakt: