SAP Samouczek ABAP BDC (komunikacja danych wsadowych).
Wprowadzenie do wprowadzania wsadowego
Dane wejściowe wsadowe są zwykle używane do przesyłania danych z systemów innych niż R/3 do systemów R/3 lub do przesyłania danych między systemami R/3.
Jest to technika przesyłania danych, która pozwala na automatyczne przesyłanie zbiorów danych na ekrany należące do transakcji, a tym samym do SAP system. Wprowadzanie wsadowe jest kontrolowane przez sesję wprowadzania wsadowego.
Sesja wprowadzania wsadowego
Grupuje serię wywołań transakcji wraz z danymi wejściowymi i działaniami użytkownika. Sesję wprowadzania wsadowego można wykorzystać do wykonania transakcji dialogowej w trybie wsadowego wprowadzania danych, gdzie niektóre lub wszystkie ekrany są przetwarzane przez sesję. Sesje wejściowe wsadowe są przechowywane w bazie danych jako tabele bazy danych i mogą być używane w programie jako tabele wewnętrzne podczas uzyskiwania dostępu do transakcji.
Punkty do zapamiętania
- BDI działa, wykonując normalne czynności SAP transakcje w taki sam sposób, jak zrobiłby to użytkownik, ale wykonuje transakcję automatycznie.Wszystkie weryfikacje ekranów i logiki biznesowej zostaną przeprowadzone podczas korzystania z wsadowego wprowadzania danych.
- Nadaje się do wprowadzania dużej ilości danych.
- Nie jest wymagana żadna ręczna interakcja
Metody wprowadzania wsadowego
SAP zapewniają dwie podstawowe metody przesyłania dotychczasowych danych do systemu R/3.
- Klasyczna metoda wprowadzania wsadowego.
- Zadzwoń do metody transakcji.
Klasyczna metoda wprowadzania wsadowego
W tej metodzie program ABAP/4 odczytuje dane zewnętrzne do SAP System i sklepy w sesji wprowadzania wsadowego.
Po utworzeniu sesji możesz ją uruchomić, aby wykonać SAP transakcja w nim.
W metodzie tej wykorzystywane są moduły funkcyjne BDC_OPEN, BDC_INSERT i BDC_CLOSE
Sesję wsadową można przetwarzać na 3 sposoby
- Na pierwszym planie
- W tle
- Podczas przetwarzania, ze wskazaniem błędu
Jeśli chcesz przetestować transfer danych, powinieneś przetwarzać sesje wprowadzania wsadowego na pierwszym planie lub korzystając z wyświetlania błędów.
Jeśli chcesz wykonać transfer danych lub przetestować jego wydajność, powinieneś przetwarzać sesje w tle.
Warto zwrócić uwagę na klasyczną metodę wprowadzania wsadowego
- Syncokropne przetwarzanie
- Przesyłaj dane dla wielu transakcji.
- Syncstraszna aktualizacja bazy danych.
- Dla każdej sesji generowany jest dziennik procesu wprowadzania wsadowego.
- Sesja nie może być generowana równolegle.
Zadzwoń do metody transakcji.
W tej metodzie ABAPProgram /4 używa instrukcji CALL TRANSACTION USING do uruchomienia SAP transakcji.
Cały proces wprowadzania danych wsadowych odbywa się online w programie
Uwaga:
- Szybsze przetwarzanie danych
- Przetwarzanie asynchroniczne
- Prześlij dane dla pojedynczej transakcji.
- Nie jest generowany żaden dziennik przetwarzania danych wsadowych.
Procedury wprowadzania wsadowego
Podczas opracowywania danych wejściowych wsadowych dla swojej organizacji zazwyczaj należy przestrzegać następującej sekwencji kroków
- Analiza danych historycznych. Określ, w jaki sposób przesyłane dane mają być mapowane w pliku SAP Struktura. Zwróć także uwagę na niezbędne konwersje typu danych lub długości danych.
- Wygeneruj SAP struktury danych do wykorzystania w programach eksportowych.
- Eksportuj dane do pliku sekwencyjnego. Należy pamiętać, że format znaku jest wymagany przez predefiniowany SAP programy do wprowadzania wsadowego.
- Jeśli SAP dostarczone programy BDC nie są używane, należy zakodować własny program do wprowadzania wsadowego. Wybierz odpowiednią metodę wprowadzania wsadowego w zależności od sytuacji.
- Przetwórz dane i dodaj je do pliku SAP Konfiguracja.
- Przeanalizuj dziennik procesu. Dla metody CALL TRANSACTION, gdzie nie jest tworzony odpowiedni log, wykorzystaj komunikaty zebrane przez Twój program.
- Na podstawie wyników analizy procesu popraw i ponownie przetwórz błędne dane.
Pisanie programu BDC
Aby napisać program BDC, możesz zastosować się do następującego procesu
- Analizuj transakcje, aby przetwarzać dane wejściowe wsadowo.
- Wybierz metodę wprowadzania wsadowego, która ma zostać użyta.
- Odczytaj dane z pliku sekwencyjnego
- Wykonaj konwersję danych lub sprawdź błędy.
- Przechowywanie danych w wsadowej strukturze wejściowej,BDCDATA.
- Wygeneruj wsadową sesję wejściową dla klasycznego wsadowego wprowadzania danych lub przetwórz dane bezpośrednio za pomocą instrukcji CALL TRANSACTION USING.
Struktura danych wejściowych wsadowych
Deklaracja struktury danych wejściowych wsadu
DATA : BEGIN OF < bdc table> OCCURS <occurs parameters>. INCLUDE STRUCTURE BDCDATA. DATA:END OF <bdc table>.
Nazwa pola | Typ | Długość | Opis |
---|---|---|---|
PROGRAM | ZWĘGLAĆ | 8 | Pula modułów |
DYNPRO | NUMC | 4 | Numer Dynpro |
DYNBEGIN | ZWĘGLAĆ | 1 | Uruchamianie dynpro |
FNAM | ZWĘGLAĆ | 35 | Nazwa pola |
FVAL | ZWĘGLAĆ | 80 | Wartość pola |
Kolejność pól w danych dla konkretnego ekranu nie ma znaczenia
Punkty do uwagi
- Podczas wypełniania danych BDC upewnij się, że bierzesz pod uwagę ustawienia użytkownika. Jest to szczególnie istotne w przypadku wypełniania pól zawierających liczby (takie jak ilość, kwota). To ustawienie użytkownika decyduje, jaki jest znak grupowania dla liczb. Np.: liczba pięćdziesiąt tysięcy może być zapisana jako 50,000.00 lub 50.000,00 w zależności od ustawienia użytkownika.
- Skondensuj pole FVAL dla pól kwoty i ilości, tak aby były wyrównane do lewej strony.
- Należy pamiętać, że podczas wypełniania tabeli danych BDC wszystkie pola wypełniane za pośrednictwem usługi BDC powinny być traktowane jako pola znakowe.
- Na niektórych ekranach, gdy wypełniasz wartości w kontrolce tabeli za pomocą BDC, musisz zanotować, ile wierszy jest obecnych na ekranie o domyślnym rozmiarze i zakodować odpowiednią liczbę wierszy. Jeśli musisz wypełnić więcej wierszy, musisz zakodować funkcję „Page down”, tak jak w przypadku ręcznego wypełniania kontrolki tabeli.
- Liczba linii, które pojawią się w powyższym scenariuszu, będzie się różnić w zależności od rozmiaru ekranu używanego przez użytkownika. Dlatego zawsze koduj standardowy rozmiar ekranu i spraw, aby Twój BDC działał zawsze w standardowym rozmiarze ekranu, niezależnie od tego, jaki rozmiar ekranu użytkownik utrzymuje.
Tworzenie wsadowej sesji wejściowej
- Otwórz sesję sesji wsadowej za pomocą modułu funkcyjnego BDC_OPEN_GROUP.
- Dla każdej transakcji w sesji:
- Wypełnij BDCDATA wartościami dla wszystkich ekranów i pól przetwarzanych w transakcji.
- Przenieś transakcję do sesji z BDC_INSERT.
- Zamknij sesję wprowadzania wsadowego za pomocą BDC_CLOSE_GROUP
Rejestrator wejściowy wsadowy
Rejestrator danych wejściowych wsadowych (System > Usługi > Dane wejściowe wsadowe > Rejestrator) rejestruje transakcje wprowadzane ręcznie i tworzy sesję danych wejściowych wsadowych, którą można później wykonać przy użyciu SM35.
- Rozpocznij rejestrację wejścia wsadowego, wybierając przycisk Nagrywanie na ekranie początkowym wejścia wsadowego.
- Nazwa nagrania jest nazwą zdefiniowaną przez użytkownika i może odpowiadać nazwie sesji wprowadzania wsadowego, którą można utworzyć na podstawie nagrania.
- Wpisz SAP transakcję i rozpocznij księgowanie transakcji.
- Po zakończeniu wysyłania a SAP transakcji, wybierz opcję Uzyskaj transakcję i zapisz, aby zakończyć rejestrację, lub opcję Następna transakcja i zaksięguj kolejną transakcję.
- Po zapisaniu nagrania możesz utworzyć sesję wprowadzania wsadowego na podstawie nagrania i/lub wygenerować program wprowadzania wsadowego na podstawie nagrania.
- Utworzoną sesję wsadową można teraz analizować tak samo, jak każdą inną sesję wsadową.
- Program generowany przez funkcję wsadowego rejestratora wejściowego jest potężnym narzędziem dla programisty interfejsu danych. Zapewnia solidną podstawę, którą można następnie modyfikować zgodnie z wymaganiami klienta.