Strona 1 z 1

BAPI do parkowania dokumentu FI

: śr maja 29, 2019 10:24 am
autor: PawelW
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.

Re: BAPI do parkowania dokumentu FI

: śr maja 29, 2019 10:55 am
autor: dominik.tylczynski
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

Re: BAPI do parkowania dokumentu FI

: śr maja 29, 2019 10:58 am
autor: PawelW
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ę :)

Re: BAPI do parkowania dokumentu FI

: śr maja 29, 2019 11:54 am
autor: dominik.tylczynski
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.

Re: BAPI do parkowania dokumentu FI

: śr maja 29, 2019 12:17 pm
autor: PawelW
Dzięki, spróbujemy w ten sposób :)

Re: BAPI do parkowania dokumentu FI

: śr maja 29, 2019 12:34 pm
autor: dominik.tylczynski
Daj znać czy się udało i jak to zrobiłeś dokładnie.

Re: BAPI do parkowania dokumentu FI

: pt maja 31, 2019 9:19 am
autor: PawelW
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.

Re: BAPI do parkowania dokumentu FI

: pt maja 31, 2019 11:09 am
autor: dominik.tylczynski
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.

Re: BAPI do parkowania dokumentu FI

: pn cze 03, 2019 9:59 am
autor: PawelW
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.

Re: BAPI do parkowania dokumentu FI

: pn cze 03, 2019 11:56 am
autor: dominik.tylczynski
FBV0 przechodzi do FV60 - wystarczy podać numer dokumentu i potwierdzić ENTER'em.

Re: BAPI do parkowania dokumentu FI

: wt cze 04, 2019 11:08 am
autor: PawelW
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.

Re: BAPI do parkowania dokumentu FI

: wt cze 04, 2019 2:44 pm
autor: dominik.tylczynski
Dla dokumentów, które zaparkowałem funkcją BAPI_ACC_INVOICE_RECEIPT_POST w opisanych wyżej testach FBV0 przechodzi do FV60.

Re: BAPI do parkowania dokumentu FI

: wt cze 04, 2019 3:25 pm
autor: marek.turczynski
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.

Re: BAPI do parkowania dokumentu FI

: wt cze 04, 2019 11:43 pm
autor: RKISIEL
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

Re: BAPI do parkowania dokumentu FI

: śr cze 05, 2019 9:18 am
autor: PawelW
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 :)