SAP RFC Function Modules
Wprowadzenie
Certyfikowany moduł funkcyjny RFC /DABEXP/RFC_SAPCONNECTOR jest wymagany do połączenia SAP System z dab SAP-Extraction Solutions. dab SAP-Extraction Solution Add-On jest następnie instalowany w SAP System.
Wymagane jest również konto użytkownika SAP, któremu przypisano odpowiedni profil uprawnień. W kolejnych rozdziałach opisano instalację modułu funkcyjnego i strukturę wymaganego profilu autoryzacji.
Do pierwszej instalacji modułu RFC w Państwa systemie SAP należy użyć pliku AOI-SAR. Aby zaktualizować istniejący moduł RFC, należy użyć pliku AOU-SAR.
Wymagania
Wspierane rozwiązania
dab SAP-Extraction Solution może być używany z następującymi rozwiązaniami SAP:
- SAP NetWeaver - 7.50 (SAP_BASIS 750) lub wyższy
- SAP ERP - 6.0 (ECC 6.0)
- SAP CRM - 7.0
- SAP SRM - 7.0
- SAP SCM - 7.0
- SAP EWM - 7.0
- Lista nie jest zamknięta; inne rozwiązania oparte na SAP NetWeaver z ABAP-Stack i łącznością RFC również są kompatybilne
- SAP S/4HANA - 1610 lub wyższy
- SAP S/4HANA Cloud, Extended Edition - wszystkie wersje
- SAP Cloud ERP Private lub SAP S/4HANA Cloud, Private Edition - wszystkie wersje
- RISE with SAP Ready: Nasz SAP Add-On jest oficjalnie wspierany i certyfikowany do użytku w środowiskach RISE with SAP (Private Cloud Edition)
SAP Cloud ERP lub SAP S4/HANA Cloud, Public Edition nie obsługuje importu Add-Onów i tym samym jest niekompatybilny.
Wymagane transakcje
Aby zainstalować Add-On, administrator bazowy SAP powinien mieć dostęp do następujących transakcji (wersja 0053 lub wyższa):
- SAINT – narzędzie instalacyjne SAP Add-On
- SPAM – Menedżer Support Package
Instalacja i aktualizacja
Instalacja
Do instalacji na SAP Basis 740 lub wyższym wymagana jest wersja 1.61 lub nowsza. Można ją pobrać z Customer Portal.
Przy instalacji na SAP Basis 731 lub starszym wymagany jest plik dabexp-sapconn-aoi-140.sar. Plik można pobrać tutaj.
Wymagane są do tego specjalne uprawnienia. Do instalacji Add-On używana jest transakcja SAINT.
Po uruchomieniu transakcji SAINT należy zainstalować plik SAR pakietu instalacyjnego (AOI) z menu.
W pasku menu należy wybrać Installation Package > Load Packages > From Frontend i wskazać plik SAR.

Jeśli pakiet DABEXP nie pojawia się na liście, należy wyłączyć filtry:

Jeśli pojawi się komunikat dotyczący otwartych zleceń ekstrakcji danych, można go pominąć, ponieważ Add-On nie wprowadza żadnych zmian w strukturach danych systemu SAP.
Jeśli pojawi się komunikat o braku podpisu pakietu, również można go zignorować. Sygnatury posiadają wyłącznie pakiety SAP – dodatki firm trzecich nie otrzymują podpisów.

Aktualizacja
Jeśli Add-On jest już zainstalowany w Państwa SAP System, można zaktualizować Add-On do nowszej wersji za pomocą pakietu aktualizacyjnego (AOU). Procedura jest identyczna jak przy instalacji.
Do aktualizacji w systemach SAP z Basis 740 lub wyżej jest wymagany plik dabexp-sapconn-aou-161.sar. Plik można pobrać ze strony Customer Portal.
Do aktualizacji systemów SAP z Basis 731 lub starszym potrzebny jest plik dabexp-sapconn-aou-140.sar. Można go pobrać tutaj.
Uprawnienia
dab SAP-Extraction Solutions opierają się na mechanizmach bezpieczeństwa oraz koncepcji autoryzacji opracowanej przez SAP System. Dodatkowo, dostęp do tabel jest zawsze ograniczony do odczytu. Do połączenia dab SAP-Extraction Solution z SAP System, niezbędny jest użytkownik, któremu przypisano rolę autoryzacyjną zawierającą poniższe obiekty uprawnień.
Użytkownik SAP wymagany do połączenia może posiadać jeden z poniższych typów:
- Dialog
- System
- Communication
- Service
Do utworzenia lub modyfikacji użytkownika potrzebne są uprawnienia do następujących transakcji:
- PFCG: zarządzanie oraz tworzenie ról uprawnień
- SU01: zarządzanie oraz tworzenie użytkowników
Uprawnienia do uruchomienia modułu RFC
Można wybrać jedną z dwóch opcji: autoryzacja na poziomie grupy funkcyjnej lub modułu funkcyjnego.
Do autoryzacji wykorzystywany jest obiekt S_RFC: Znajduje się on w klasie uprawnień AAAB – Obiekty autoryzacyjne przekrojowe > Obiekt autoryzacji S_RFC – Sprawdzanie uprawnień do dostępu RFC.
Autoryzacja na poziomie grupy funkcyjnej
Pierwszą możliwością jest nadanie autoryzacji do odpowiednich grup funkcyjnych poprzez RFC_TYPE na FUGR (Function Group).
W poniższej tabeli przedstawiono odpowiednie pola i wartości obiektu autoryzacji S_RFC.
| Pole | Wartość |
|---|---|
| ACTVT (Czynność) | 16 (wykonanie) |
| RFC_NAME (Nazwa chronionego obiektu RFC) | /SDF/RI_CRM CMON RFC1 SYST /DABEXP/DAB_FUGR |
| RFC_TYPE (Typ chronionego obiektu RFC) | FUGR (grupa funkcyjna) |
Autoryzacja na poziomie modułu funkcyjnego
Alternatywnie, od wersji SAP NW 7.0 EHP 2 (SAP_BASIS 702) parametr RFC_TYPE można ustawić na FUNC (Function Module).
Odpowiednie pola i wartości obiektu autoryzacji S_RFC znajdują się w tabeli poniżej.
| Pole | Wartość |
|---|---|
| ACTVT (Czynność) | 16 (wykonanie) |
| RFC_NAME (Nazwa chronionego obiektu RFC) | /SDF/CMO_GET_INSTNO CMO_GET_INSTNO DDIF_FIELDINFO_GET RFC_GET_FUNCTION_INTERFACE RFC_GET_NAMETAB RFCPING /DABEXP/RFC_SAPCONNECTOR |
| RFC_TYPE (Typ chronionego obiektu RFC) | FUNC (moduł funkcyjny) |
Inne wymagane moduły funkcyjne
Oprócz Modułu Funkcyjnego /DABEXP/RFC_SAPCONNECTOR wymagane są także inne moduły do poprawnego działania.
Poniższa tabela prezentuje grupę funkcyjną, odpowiadające jej moduły oraz przeznaczenie:
| Grupa funkcyjna | Moduł funkcyjny | Cel użycia |
|---|---|---|
| /SDF/RI_CRM | /SDF/CMO_GET_INSTNO | Zapytanie o numer instalacji w S4/HANA |
| CMON | CMO_GET_INSTNO | Zapytanie o numer instalacji |
| RFC1 | RFC_GET_FUNCTION_INTERFACE RFC_GET_NAMETAB | Sprawdzenie struktury i istnienia modułów RFC |
| SYST | RFCPING | Test połączenia RFC |
| /DABEXP/DAB_FUGR | /DABEXP/RFC_SAPCONNECTOR | Zapytanie o zawartość tabeli |
Uprawnienia na poziomie tabel
Uprawnienia do tabel można nadać wyłącznie globalnie — nie ma możliwości ograniczenia do danych, np. wybranych jednostek gospodarczych.
Przy pomocy tych obiektów autoryzacji można przyznać dostęp do zawartości tabel przeznaczonych do eksportu. Kontrola odbywa się modułem funkcyjnym VIEW_AUTHORITY_CHECK.
Autoryzację do tabel można nadać na dwa sposoby – za pomocą grup autoryzacyjnych lub bezpośredniego wskazania tabeli.
Jeżeli autoryzacja do tabel zostanie zdefiniowana przy użyciu obu obiektów uprawnień, system najpierw sprawdza uprawnienia do grupy (S_TABU_DIS). Jeśli kontrola się nie powiedzie, przeprowadzane jest sprawdzenie uprawnień do tabeli po nazwie (S_TABU_NAM).
W przypadku autoryzowania na poziomie tabel prosimy upewnić się, że również poniższe tabele zostały uwzględnione.
| Tabela | Grupa autoryzacyjna | Cel użycia |
|---|---|---|
| T000 | SS | Klienci - standardowa tabela testu połączenia |
| T001 | FC01 | Jednostki gospodarcze - Tabela awaryjna testu połączenia |
| DD02L | ABAP Data Dictionary - dostępne tabele w systemie | |
| DD02T | ABAP Data Dictionary - opisy tabel | |
| DD02V | ABAP Data Dictionary - wyszukiwanie tabel w dab Nexus Package Studio | |
| DD03L | ABAP Data Dictionary - dostępne pola w systemie | |
| DD03T | ABAP Data Dictionary - dostępne opisy pól |
Uprawnienia przez grupę autoryzacyjną tabel
Klasa autoryzacji BC_A Basis - Administracja → Obiekt uprawnień S_TABU_DIS
W tym przypadku na poziomie grupy autoryzacyjnej tabeli definiuje się, do jakich tabel oraz w jakim trybie wolno uzyskać dostęp. Grupy autoryzacyjne wprowadza się w parametrze DICBERCLS, a sposób dostępu określa pole ACTVT. Przypisanie tabeli do grupy autoryzacyjnej można sprawdzić w tabeli TDDAT.
| Pole | Wartość |
|---|---|
| ACTVT (Czynność) | 03 (Wyświetlenie) |
| DICBERCLS (Grupa autoryzacyjna) | * |
Uprawnienia przez nazwy tabel
Klasa autoryzacji BC_A Basis - Administracja > Obiekt uprawnień S_TABU_NAM
Na tym poziomie określa się przez pole TABLE, do których tabel i w jaki sposób można uzyskać dostęp. Typ dostępu definiuje się za pomocą ACTVT.
| Pole | Wartość |
|---|---|
| ACTVT (Czynność) | 03 (Wyświetlenie) |
| TABLE (Grupa tabel) | * |
Testowanie
Test Modułu Funkcyjnego
Po zainstalowaniu Modułu Funkcyjnego zgodnie z powyższym opisem, można wykonać test funkcjonalny z poziomu transakcji SE37 przy użyciu przycisku Test/Execute lub klawisza F8.
Parametry wejściowe należy podać w pierwszym oknie dialogowym. W przykładzie użyto tabeli jednostek gospodarczych T001 w polu QUERY_TABLE. Dopuszczalna jest każda tabela, do której użytkownik ma uprawnienia dostępu. Przy pierwszym teście nie są wymagane dalsze dane. Aby rozpocząć weryfikację, wystarczy kliknąć przycisk Execute lub nacisnąć F8.

Jeśli Moduł Funkcyjny został uruchomiony bez błędów, otrzymają Państwo tabele wyników. Wynik można przejrzeć klikając ikonę Widoku szczegółowego obok liczby rekordów przy TABL_FIELDS lub DATA.

TABL_FIELDS zawiera strukturę pól w wybranej tabeli:

DATA zawiera rekordy danych z wybranej tabeli:

Testowanie połączenia RFC
Do sprawdzenia, czy połączenie RFC zostało prawidłowo zestawione, można użyć dab FunctionModuleTester. Dalsze instrukcje znajdą Państwo tutaj.
Odinstalowanie
- Proszę otworzyć transakcję SAINT
- Wybrać zakładkę Uninstallable components, wskazać komponent DABEXT i kliknąć Start
- Po zatwierdzeniu deinstalacji, komponent zostanie usunięty z SAP System



Certyfikacje SAP
SAP nie prowadzi już certyfikacji Add-Onów dla systemów ECC. Oznacza to, że SAP nie może już certyfikować (ani ponownie certyfikować) autorskiego modułu funkcyjnego dab na systemach ECC. Więcej informacji znajduje się w tym wpisie SAP na blogu.
Add-On posiada certyfikaty dla następujących wersji – aktualne certyfikaty są zawsze dostępne w SAP Certified Solutions Directory.
Informacje o wydaniach
Wersja 1.71
- Dostosowanie do SAP Clean Core Poziom B, co oznacza, że wykorzystywane są wyłącznie interfejsy API zatwierdzone przez SAP
- Zmiany w warunkach instalacji: Add-On można wdrożyć na SAP ECC, SAP S4/HANA oraz SAP BW/4HANA
- Rozszerzenia w zakresie ekstrakcji widoków z nieunikalnymi kluczami głównymi (np. FAGLFLEXT): w celu skorzystania z tej funkcji wymagana jest dodatkowa aktualizacja aplikacji
Wersja 1.61
- W trakcie odinstalowywania Add-On nie miało miejsca pełne usunięcie wszystkich obiektów z powodu nieprawidłowych informacji o obiektach. Powodowało to przerwanie procesu deinstalacji.
Wersja 1.60
- Oprócz poprawki z wersji 110 wprowadzono również obsługę rozwiazywania zagnieżdżonych .INCLUDES z sufiksami. W szczególności występowały problemy w tabeli ACDOCA, gdzie include .INCLU-_PA posiada sufiks i jest dodatkowo rozszerzony poprzez .APPEND. Po wdrożeniu tej poprawki sufiks jest stosowany także do pól w .APPEND.
Wersja 1.50
- moduł funkcyjny został przygotowany do eksportu długich tekstów z kolumny CLUSTD w tabeli STXL
Wersja 1.40
- ostatnia wersja SAP Add-On zgodna z SAP Basis 731 i niższymi
- spełnienie wymaganych poziomów bezpieczeństwa dla S/4 Cloud EX
Wersja 1.30
- Podczas odczytywania informacji DDIC zwracano nieprawidłową wartość OUTPUTLEN dla typu danych RAW dla GUID w tabelach CGPL_TASK lub DPR_TASK. W rezultacie eksportowane GUID-y były skracane. Dla pól typu RAW o INTLEN 16 i OUTPUTLEN mniejszym niż 32, OUTPUTLEN jest teraz ustawiany na 32.
Wersja 1.20
- Podczas budowania listy pól do zapytania SQL, **<table>~<fieldname>** był obcinany po 30 znakach, co prowadziło do błędów podczas wykonywania zapytania SQL.
Wersja 1.10
- W systemach S4/HANA pojawiały się błędy dotyczące określonych tabel (BKPF, BSEG, MATDOC, ACDOCA, MHNK). Dostosowano rozwiazywanie struktur INCLUDE w tych tabelach dla nazw:
- .INCLU-_PN
- .INCLU-_A1
- .INCLU-LO Zmodyfikowano również konstrukcję listy pól do zapytania SQL - dotychczas była to wyłącznie nazwa pola, obecnie stosowane jest **<table>~<fieldname>**, aby uniknąć wyjątków związanych z użyciem zastrzeżonych nazw SQL przy niektórych polach (np. tabela TOAM – pole Connection).
SAP Legacy RFC Function Modules
W przypadku korzystania z innego modułu funkcyjnego niż /DABEXP/RFC_SAPCONNECTOR zdecydowanie zalecamy przejście na ten właśnie moduł RFC! dab nie będzie aktualizować ani wspierać innych modułów funkcyjnych. Te moduły nie mają także certyfikacji SAP!
Oprócz /DABEXP/RFC_SAPCONNECTOR w przeszłości były obsługiwane również inne moduły z przestrzeni nazw Z pochodzące ze starszych wdrożeń dab:Exporter lub indywidualnych dostosowań u klientów.
Poniżej porównano zakres funkcjonalny poszczególnych modułów:
- Maks. liczba znaków na rekord danych: określa maksymalną liczbę znaków, które mogą zostać wyekstrahowane w jednym rekordzie (istotne szczególnie dla tabel z wieloma kolumnami)
- Wymagany S_DEVELOP: Z-moduły wymagają do uruchomienia posiadania uprawnień S_DEVELOP
- Długie teksty: długie teksty są przechowywane w tabelach STXH oraz STXL – nowsze wersje modułu umożliwiają dekodowanie i wyodrębnienie ich zawartości
- Typy danych FLT i RAW: wsparcie dla ekstrakcji kolumn o typach FLT oraz RAW
- Aktualizacja przez SAINT: Z-moduły należy obsługiwać z użyciem transakcji SE37 oraz SE80 (moduł certyfikowany należy instalować i aktualizować przy pomocy transakcji SAINT)
| Moduł funkcyjny | Maks. liczba znaków na rekord danych | Wymagany S_DEVELOP | Długie teksty | Typy danych FLT i RAW | Aktualizacja przez SAINT | Certyfikacja SAP |
|---|---|---|---|---|---|---|
| Z_RFC_READ_TABLE (wersja 2.0) | 8000 | tak | nie | tak | nie | nie |
| Z_RFC_READ_TABLE (wersja 1.7) | 2048 | tak | nie | tak | nie | nie |
| Z_RFC_READ_TABLE (wersja 1.6 lub starsza) | 2048 | tak | nie | nie | nie | nie |