BAPI do parkowania dokumentu FI

W tym dziale znajdują się posty z zakresu modułów finansowych systemu SAP...
PawelW
Posty: 147
Rejestracja: pn sty 02, 2017 2:19 pm
Has thanked: 46 times
Been thanked: 47 times

BAPI do parkowania dokumentu FI

Post autor: PawelW » śr maja 29, 2019 10:24 am

Witajcie,

Czy jest jakieś BAPI albo cokolwiek innego, co pozwoli mi zaparkować dokumnet, który będę mógł później otworzyć w FV60? Próbowaliśmy BAPI_ACC_DOCUMENT_POST, ale utworzony dokument otwiera mi się tylko w FBV0. Przypuszczam, że to przez AWTYP, które w BAPI musi być BKPFF, a nie BKPF.

Dodatkowo nota 2021422 nie napawa mnie optymizmem...

Byłbym wdzięczny za pomoc.

dominik.tylczynski
Posty: 7010
Rejestracja: wt kwie 03, 2007 4:05 pm
Has thanked: 997 times
Been thanked: 1023 times
Kontakt:

Re: BAPI do parkowania dokumentu FI

Post autor: dominik.tylczynski » śr maja 29, 2019 10:55 am

Szybki przegląd not i...:
Nota 2083799 - Composite SAP Note: Postings with Accounting BAPIs pisze: 10. Parking
SAP Note 2092366 introduced parking in BAPI_ACC_DOCUMENT_POST. For more detailed information about using this BAPI for parking, see the Solution section of SAP Note 2092366.

Rozwiązanie jest w nocie: 2092366 - Parking with BAPI_ACC_DOCUMENT_POST

PawelW
Posty: 147
Rejestracja: pn sty 02, 2017 2:19 pm
Has thanked: 46 times
Been thanked: 47 times

Re: BAPI do parkowania dokumentu FI

Post autor: PawelW » śr maja 29, 2019 10:58 am

No właśnie nie do końca Dominiku. Zaparkowanego w ten sposób dokumentu nie da się otworzyć w FV60. System przekierowuje do FBV0. Czytałem tę notę :)

dominik.tylczynski
Posty: 7010
Rejestracja: wt kwie 03, 2007 4:05 pm
Has thanked: 997 times
Been thanked: 1023 times
Kontakt:

Re: BAPI do parkowania dokumentu FI

Post autor: dominik.tylczynski » śr maja 29, 2019 11:54 am

PawelW pisze:
śr maja 29, 2019 10:58 am
No właśnie nie do końca Dominiku. Zaparkowanego w ten sposób dokumentu nie da się otworzyć w FV60. System przekierowuje do FBV0. Czytałem tę notę :)
To jest w sumie logiczne. FV60 obsługuje faktury, a funkcja BAPI_ACC_DOCUMENT_POST księguje generalnie dokumenty FI. Zatem ich dalsze przetwarzanie w FBV0 ma sens.

Do księgowania faktur możesz spróbować wykorzystać funkcję BAPI_ACC_INVOICE_RECEIPT_POST. Nie znalazłem do tej funkcji informacji o parkowaniu dokumentów. Jednak jak się popatrzyć na implementację parkowania dokumentów w BAPI_ACC_DOCUMENT_POST to wszystko sprowadza się do podania właściwej wartości w polu document_header-bus_act / glvor - include LACC9F20:

Kod: Zaznacz cały

  IF document_header-doc_status = '2'                     "note 2481016
  OR document_header-doc_status = '3'                     "note 2481016
  OR document_header-doc_status = 'A'           "note 2499133 & 2688620
  OR document_header-doc_status = 'B'.                    "note 2688620
    document_header-bus_act = 'RFBV'.                     "note 2481016
  ENDIF.  
Natomiast w funkcji BAPI_ACC_INVOICE_RECEIPT_POST jest rozszerzenie EXIT_SAPLACC4_001, którym można wpłynąć na dane w dokumencie. Myślę, że jeśliby dobrze oprogramować to rozszerzenie to da się uzyskać parkowanie faktur.

PawelW
Posty: 147
Rejestracja: pn sty 02, 2017 2:19 pm
Has thanked: 46 times
Been thanked: 47 times

Re: BAPI do parkowania dokumentu FI

Post autor: PawelW » śr maja 29, 2019 12:17 pm

Dzięki, spróbujemy w ten sposób :)

dominik.tylczynski
Posty: 7010
Rejestracja: wt kwie 03, 2007 4:05 pm
Has thanked: 997 times
Been thanked: 1023 times
Kontakt:

Re: BAPI do parkowania dokumentu FI

Post autor: dominik.tylczynski » śr maja 29, 2019 12:34 pm

Daj znać czy się udało i jak to zrobiłeś dokładnie.

PawelW
Posty: 147
Rejestracja: pn sty 02, 2017 2:19 pm
Has thanked: 46 times
Been thanked: 47 times

Re: BAPI do parkowania dokumentu FI

Post autor: PawelW » pt maja 31, 2019 9:19 am

Ostatecznie nie udało się użyć BAPI. Nie wnikając w szczegóły (bo ich nie znam ;) ), programista zrobił jakieś BDT, później jeszcze jedno i dokument tworzony jest bezpośrednio w FV60.

dominik.tylczynski
Posty: 7010
Rejestracja: wt kwie 03, 2007 4:05 pm
Has thanked: 997 times
Been thanked: 1023 times
Kontakt:

Re: BAPI do parkowania dokumentu FI

Post autor: dominik.tylczynski » pt maja 31, 2019 11:09 am

Nie wiem czy do końca zrozumiałem Twoje oczekiwania. Tym niemniej pobawiłem się chwilę funkcją BAPI_ACC_INVOICE_RECEIPT_POST. Najpierw w środowisku testowym przygotowałem sobie dane do wywołania tej funkcji, które księgują fakturę.
Następnie w okolicach wywołania rozszerzenia EXIT_SAPLACC4_001 - program LACC4F10, procedura CALL_CUSTOMER_FUNCTION ustawiłem breakpoint:

Kod: Zaznacz cały

FORM call_customer_function

  TABLES t_extension STRUCTURE bapiextc.

  DATA: lt_return LIKE bapiret2 OCCURS 0 WITH HEADER LINE.

  CHECK NOT t_extension[] IS INITIAL.   <---- tutaj break point

  READ TABLE it_acchd INDEX 1.

  CALL CUSTOMER-FUNCTION '001'
       TABLES
            t_accit       = it_accit
            extension     = t_extension
            return        = lt_return
            t_accwt       = it_accwt
            t_acctx       = it_acctx                        "Note1608395
            t_accfi       = it_accfi                      "note 2213904
       CHANGING
            t_acchd       = it_acchd.
Uruchomiłem w SE37 tę funkcję z wcześniej przetestowanym zestawem danych. Po debuggerem zmieniłem IT_ACCHD-NEW_STATUS na 2, czyli na parkowanie dokumentu. Zadziałało bez zarzutu - tylko w w wywołaniu BAPI w DOCUMENTHEADER-OBJ_TYPE musiałem podać BKPFF.

Dalej uruchomiłem BAPI w sekwencji testowej z BAPI_TRANSACTION_COMMIT - por. Łatwe testowanie BAPI w SE37. Teraz zaparkowany dokument został zapisany w bazie danych.
Taki dokument mogłem normalnie wyświetlić w standardowych transakcjach SAP FI i dalej go zaksięgować w FBV0.

Zapewne trzeba by to rozwiązanie jeszcze dokładnie przetestować i sprawdzić. Moim zdaniem jednak na 99% będzie działać i na pewno jest bardzo proste.

PawelW
Posty: 147
Rejestracja: pn sty 02, 2017 2:19 pm
Has thanked: 46 times
Been thanked: 47 times

Re: BAPI do parkowania dokumentu FI

Post autor: PawelW » pn cze 03, 2019 9:59 am

To jednak napiszę do czego mi to było potrzebne :)

Program ma służyć do weryfikacji faktur z RE-FX. Jako, że wszystko się tam księguje automatycznie, trzeba było coś napisać. Wszystko po to, aby użytkownicy mogli kontrolować to co zostało zaksięgowane z RE-FX z przychodzącą fakturą. Jako, że oni nie mają żadnego workflow, ani tym bardziej VIMa czy podobnych rzeczy, postawiliśmy na rozwiązanie (chyba) najłatwiejsze. Użytkownik wybiera w raporcie przepływy finansowe z RE-FX, a program przenosi go fo FB60/ FV60, gdzie pozycje są już wypełnione. Szczególnie pola tekst i przypisanie, gdzie trzymamy ważne informacje.

I wszystko było ładnie i pięknie, ale do czasu. Wystartowaliśmy w okolicach początku roku, ale moi wspaniali użytkownicy, postanowili zgłosić dopiero w kwietniu, że program się wysypuje we FIORI w przypadlku kiedy wybiorą więcej niż X przepływów finansowych. X był generalnie zależny od rozdzielczości ekranu. Pierwotnie było tutaj zrobione jakieś nagranie. Szczegółów nie znam, bo APAPy raczej zostawiam programistom. Problem leżał tutaj w tym, że bagranie było robione dla stałej szerokości ekranu i pod GUI wszystko działało ok. Dostałem informację, że pod FIORI nie da się tego zrobić, bo nie ma jak przeczytać szerokości ekranu.

I teraz pojawił się mój pomysł, żeby użyć BAPI, zapisać zaparkowany dokument z potrzebną liczbą linii i wczytać go w FV60. Użytkownicy mogliby wtedy uzupełnić brakujące informacje i zaksięgować taką fakturę. Te BAPI jednak zapisują taki dokument w inny sposób. Sam napisałeś, że można zaksięgować go w FBV0. Nam też udało się to zrobić. Tyle, że oni koniecznie chcieli FV60 bo jest bardziej przyjazne dla użytkownika.

Ostatecznie programista posiedział dodatkowy dzień czy dwa i naprawił problem. Pozycje są teraz "wczytywane" do FB60/ FV60 i wszystko działa pod FIORI. Jak to technicznie zostało wykonane to dokłądnie nie wiem. W każdym razie zamiast jednego BDT są dwa. Jedno jakoś czyta ile pozycji można wprowadzić, a drugie na tej podstawie je dodaje. W szczegóły już nie wnikałem.

dominik.tylczynski
Posty: 7010
Rejestracja: wt kwie 03, 2007 4:05 pm
Has thanked: 997 times
Been thanked: 1023 times
Kontakt:

Re: BAPI do parkowania dokumentu FI

Post autor: dominik.tylczynski » pn cze 03, 2019 11:56 am

FBV0 przechodzi do FV60 - wystarczy podać numer dokumentu i potwierdzić ENTER'em.

PawelW
Posty: 147
Rejestracja: pn sty 02, 2017 2:19 pm
Has thanked: 46 times
Been thanked: 47 times

Re: BAPI do parkowania dokumentu FI

Post autor: PawelW » wt cze 04, 2019 11:08 am

No właśnie nie zawsze :) Po utworzeniu dokumentu za pomocą BAPI BAPI_ACC_DOCUMENT_POST, tak jak SAP rekomenduje, dokument jest wyświetlany w FBV0. Nawet jak wejdziesz do FV60, menu document i "Select parked document", transakcja przenosi do FBV0.

Ktoś nawet próboiwał to naprawić, poprzez zmianę w BSEGu pola z transakcją, za pomocą której dokument został utworzony. Podobno działa. Nie jest mi to już do szczęścia jednak potrzebne.

dominik.tylczynski
Posty: 7010
Rejestracja: wt kwie 03, 2007 4:05 pm
Has thanked: 997 times
Been thanked: 1023 times
Kontakt:

Re: BAPI do parkowania dokumentu FI

Post autor: dominik.tylczynski » wt cze 04, 2019 2:44 pm

Dla dokumentów, które zaparkowałem funkcją BAPI_ACC_INVOICE_RECEIPT_POST w opisanych wyżej testach FBV0 przechodzi do FV60.

marek.turczynski
Posty: 160
Rejestracja: czw lip 10, 2014 7:53 pm
Has thanked: 14 times
Been thanked: 177 times

Re: BAPI do parkowania dokumentu FI

Post autor: marek.turczynski » wt cze 04, 2019 3:25 pm

PawelW - BAPI o którym piszesz (BAPI_ACC_DOCUMENT_POST) to odwzorowanie transakcji FB01 - więc zrozumiałym jest, że SAP przenosi Cię do zaparkowanego dokumentu w FBV0.

Natomiast BAPI o którym pisze Dominik (BAPI_ACC_INVOICE_RECEIPT_POST) to odwzorowanie FB60/5 więc po zaparkowaniu będziesz mógł zobaczyć dokument w FV60.

Zmień BAPI do księgowania i będzie działać tak jak chcesz.
Marek Turczyński

RKISIEL
Posty: 416
Rejestracja: pn lut 14, 2011 9:10 pm
Has thanked: 235 times
Been thanked: 168 times

Re: BAPI do parkowania dokumentu FI

Post autor: RKISIEL » wt cze 04, 2019 11:43 pm

marek.turczynski pisze:
wt cze 04, 2019 3:25 pm
(...)BAPI o którym piszesz (BAPI_ACC_DOCUMENT_POST) to odwzorowanie transakcji FB01 - więc zrozumiałym jest, że SAP przenosi Cię do zaparkowanego dokumentu w FBV0.

Natomiast BAPI o którym pisze Dominik (BAPI_ACC_INVOICE_RECEIPT_POST) to odwzorowanie FB60/5 więc po zaparkowaniu będziesz mógł zobaczyć dokument w FV60.

Zmień BAPI do księgowania i będzie działać tak jak chcesz.
Marku dzięki,
Napisałeś bo już myślałem, że poruszamy się w dwóch światach jak w "MATRIX" :D
To są dwa różne FM.
Miłego wieczoru
Rafał Kisiel

PawelW
Posty: 147
Rejestracja: pn sty 02, 2017 2:19 pm
Has thanked: 46 times
Been thanked: 47 times

Re: BAPI do parkowania dokumentu FI

Post autor: PawelW » śr cze 05, 2019 9:18 am

Teraz już wiem i na pewno to mi się przyda na przyszłość. Niemniej, problem został naprawiony w inny sposób. ;)

Dzięki wszystkim za odpowiedzi :)

ODPOWIEDZ