Przejście do głównej treści

SAP RFC Function Modules

Wprowadzenie

Certyfikowany moduł funkcyjny RFC /DABEXP/RFC_SAPCONNECTOR jest wymagany do połączenia SAP System z rozwiązaniami ekstrakcyjnymi dab SAP. Rozwiązanie ekstrakcyjne dab SAP Add-On jest następnie instalowane w SAP System.

Wymagane jest również konto użytkownika SAP, do którego przypisano odpowiedni profil autoryzacyjny. W kolejnych rozdziałach opisano sposób instalacji modułu funkcyjnego oraz strukturę niezbędnego profilu autoryzacji.

Ważne

Do pierwszej instalacji modułu RFC w 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żywane z następującymi rozwiązaniami SAP:

  • SAP NetWeaver - 7.50 (SAP_BASIS 750) lub wyżej
    • 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żej
  • 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: Nasze Add-On SAP jest oficjalnie wspierane i certyfikowane do użytku w środowiskach RISE with SAP (Private Cloud Edition)
Uwaga

SAP Cloud ERP albo SAP S4/HANA Cloud, Public Edition nie obsługują importu Add-Onów i tym samym są niekompatybilne.

Niezbędne transakcje

Do instalacji Add-On użytkownik lub administrator SAP Basis powinien posiadać dostęp do następujących transakcji (wersja 0053 lub wyższa):

  • SAINT - narzędzie instalacyjne Add-On SAP
  • SPAM - Support Package Manager

Instalacja i aktualizacja

Wymagania wersji
SAP BasisAdd-On VersionInstalacja (AOI)Aktualizacja (AOU)
740+1.61 lub wyżejCustomer PortalCustomer Portal
731 i niżej1.40Pobierz AOIPobierz AOU

Instalacja

Do wykonania tej czynności potrzebne są specjalne uprawnienia. Do wdrożenia Add-On wykorzystywana jest transakcja SAINT.

Po uruchomieniu transakcji SAINT należy zainstalować plik SAR z pakietu instalacyjnego (AOI) poprzez menu.

W pasku menu należy kliknąć Installation Package > Load Packages > From Frontend i wybrać właściwy plik SAR.

installationPackage

Jeżeli pakiet DABEXP nie jest widoczny, należy wyłączyć filtry:

filter

W przypadku pojawienia się komunikatu dotyczącego otwartych żądań ekstrakcji danych, można go pominąć, ponieważ Add-On nie modyfikuje żadnych struktur danych w SAP System. Komunikaty dotyczące niepodpisanych pakietów również można zignorować — jedynie pakiety SAP są podpisywane.

saprfc-2

Aktualizacja

Gdy Add-On jest już zainstalowany w SAP System, możliwe jest zaktualizowanie Add-On do nowszej wersji przy użyciu pakietu Upgrade (AOU). Procedura aktualizacji przebiega identycznie jak instalacja. W celu doboru właściwego pliku AOU należy skorzystać z powyższej tabeli Wymagania wersji.


Uprawnienia

dab SAP-Extraction Solutions opiera się o mechanizmy zabezpieczeń i koncepcję uprawnień SAP System. Dodatkowo dostęp do tabel zawsze ma charakter tylko do odczytu. Do połączenia dab SAP-Extraction Solution z SAP System wymagane jest utworzenie użytkownika z przypisaną rolą autoryzacyjną, zawierającą poniższe obiekty autoryzacji.

Użytkownik SAP wykorzystywany do połączenia może być jednym z poniższych typów:

  • Dialogowy
  • Systemowy
  • Komunikacyjny
  • Serwisowy

Do utworzenia lub modyfikacji takiego użytkownika niezbędne są uprawnienia do następujących transakcji:

  • PFCG: zarządzanie lub tworzenie roli autoryzacyjnej
  • SU01: zarządzanie lub tworzenie użytkowników

Uprawnienia do uruchomienia modułu RFC

Możliwe są tutaj dwie opcje: uprawnienia na poziomie grupy funkcyjnej lub na poziomie konkretnego modułu funkcyjnego.

Służy do tego obiekt autoryzacyjny S_RFC: znajduje się w klasie autoryzacyjnej AAAB - Obiekty autoryzacyjne przekrojowe > Obiekt autoryzacyjny S_RFC - Sprawdzenie uprawnień do dostępu RFC.

Uprawnienia na poziomie grupy funkcyjnej

Pierwsza możliwość polega na udzieleniu uprawnień do odpowiednich grup funkcyjnych poprzez pole RFC_TYPE ustawione na FUGR (Function Group).

Poniżej przedstawiono tabelę odpowiadającą wartościom pól dla obiektu autoryzacyjnego S_RFC.

PoleWartość
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)

Uprawnienia na poziomie modułu funkcyjnego

Alternatywnie, począwszy od SAP NW 7.0 EHP 2 (SAP_BASIS 702) możliwe jest ustawienie RFC_TYPE na FUNC (Function Module).

Poniżej przedstawiono tabelę odpowiadającą wartościom pól dla obiektu autoryzacyjnego S_RFC.

PoleWartość
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 /DABEXP/RFC_SAPCONNECTOR dla poprawnego działania wymagane są także inne moduły funkcyjne.

W poniższej tabeli przedstawiono grupy funkcyjne, odpowiadające moduły oraz ich zastosowanie:

Grupa funkcyjnaModuł funkcyjnyZastosowanie
/SDF/RI_CRM/SDF/CMO_GET_INSTNOOdczyt numeru instalacji w S4/HANA
CMONCMO_GET_INSTNOOdczyt numeru instalacji
RFC1RFC_GET_FUNCTION_INTERFACE
RFC_GET_NAMETAB
Weryfikacja struktury i istnienia modułów RFC
SDIFRUNTIMEDDIF_FIELDINFO_GETKonieczny do prawidłowej obsługi RFC Netweaver
SYSTRFCPINGTest połączenia RFC
/DABEXP/DAB_FUGR/DABEXP/RFC_SAPCONNECTOROdczyt zawartości tabeli

Uprawnienia na poziomie tabeli

Uwaga: Uprawnienia do tabel można nadawać tylko w całości albo wcale. Nie ma możliwości ograniczenia dostępu, np. do konkretnych kodów firm.

Do przyznania uprawnień do eksportu zawartości tabel można wykorzystać następujące obiekty autoryzacyjne. Kontrola dostępu jest realizowana przy użyciu modułu VIEW_AUTHORITY_CHECK.

Uprawnienia do tabel można nadawać na dwa sposoby — przez grupę autoryzacyjną albo bezpośrednio po nazwie tabeli.

Ważne

Jeżeli nadawanie uprawnienia do tabeli odbywa się za pomocą obu obiektów autoryzacyjnych, najpierw wykonywana jest kontrola dla S_TABU_DIS (Grupa Autoryzacji Tabeli). W przypadku jej niepowodzenia kontrola odbywa się przez S_TABU_NAM (Nazwa Tabeli).

CDS View Entities (SAP Add-On 1.8+)

Od SAP Add-On Wersja 1.8 wspierane są CDS View Entities. Funkcjonalność ta wymaga wersji dab Nexus 1.19.986 lub wyższej.

TabelaGrupa autoryzacjiPrzeznaczenie
T000SSKlienci – tabela standardowa do testu łączności
T001FC01Kody firm – tabela zapasowa do testu łączności
DD02LSłownik danych ABAP – dostępne tabele w systemie
DD02TSłownik danych ABAP – opisy tabel
DD02VSłownik danych ABAP – wyszukiwanie tabel w dab Nexus Package Studio
DD03LSłownik danych ABAP – dostępne pola w systemie
DD03TSłownik danych ABAP – dostępne opisy pól
DD04LSłownik danych ABAP – wymagany do ekstrakcji pól typu FLTP
DDDDLSRCSłownik danych ABAP – dostępne CDS Views (dotyczy tylko CDS Views)
DDDDLSRC02BTSłownik danych ABAP – opisy CDS Views (dotyczy tylko CDS Views)
DD10BSłownik danych ABAP – widoki z parametrami (dotyczy tylko CDS Views)
NRIVSCZakresy numeracji – obiekty czasu rzeczywistego w dab Nexus
NRIVSHADOWLokalne NRIV dla maszyn wieloprocesorowych – obiekty czasu rzeczywistego w dab Nexus
TNROSSDefinicja obiektów zakresu numeracji – obiekty czasu rzeczywistego w dab Nexus

Autoryzacja przez grupy autoryzacyjne tabel

Klasa autoryzacyjna BC_A Basis - Administracja → Obiekt autoryzacyjny S_TABU_DIS

Służy do określenia, na poziomie grupy autoryzacyjnej tabeli, jaka tabela może być dostępna i w jakim zakresie. Grupy autoryzacyjne podaje się w parametrze DICBERCLS, a typ dostępu przez ACTVT. Przypisanie tabeli do grupy autoryzacyjnej (lub odwrotnie) można sprawdzić w tabeli TDDAT.

PoleWartość
ACTVT
(Czynność)
03
(Wyświetl)
DICBERCLS
(Grupa autoryzacji)
*

Autoryzacja przez nazwy tabel

Klasa autoryzacyjna BC_A Basis - Administracja > Obiekt autoryzacyjny S_TABU_NAM

Pozwala określić, na poziomie nazwy tabeli, do jakiej tabeli można uzyskać dostęp i w jaki sposób. Tabele podaje się w parametrze TABLE, a typ dostępu przez ACTVT.

PoleWartość
ACTVT
(Czynność)
03
(Wyświetl)
TABLE
(Grupa autoryzacji)
*

Testowanie

Testowanie modułu funkcyjnego

Po zainstalowaniu modułu funkcyjnego zgodnie z powyższą instrukcją, można przeprowadzić wstępny test działania za pomocą transakcji SE37 i przycisku Test/Execute lub klawisza F8.

functionbuilder

Parametry importu można wprowadzić w pierwszym oknie dialogowym. W prezentowanym przykładzie w polu QUERY_TABLE użyto tabeli dla kodów firm T001. Można wykorzystać dowolną tabelę, do której zalogowany użytkownik ma uprawnienia. Przy pierwszym teście dalsze wpisy nie są wymagane. Aby rozpocząć test, należy kliknąć przycisk Execute lub nacisnąć klawisz F8.

funkBauExecute

Jeśli moduł funkcyjny wykonał się bez błędów, wyświetlone zostaną tabele wynikowe. Szczegóły można zobaczyć po kliknięciu ikony Widok szczegółowy obok liczby wpisów w sekcji TABL_FIELDS lub DATA.

funkBauTestErgebniss

TABL_FIELDS zawiera strukturę pól pobranej tabeli:

TablFieldsStruktur

DATA obejmuje rekordy danych pobranej tabeli:

StrukturEditorData

Testowanie połączenia RFC

Do sprawdzenia, czy połączenie przez RFC zostało zestawione prawidłowo, można wykorzystać dab FunctionModuleTester. Szczegółowa instrukcja dostępna jest tutaj.


Odinstalowanie

  • Otworzyć transakcję SAINT
  • Przejść na zakładkę Uninstallable components, wybrać komponent DABEXT i kliknąć Start
  • Po potwierdzeniu deinstalacji komponent zostanie usunięty z SAP System

UninstallableComponents

StartOptionen

DeinstallationsQueue

Certyfikacje SAP

Ważne

SAP nie certyfikuje już Add-Onów dla systemów ECC. W związku z tym SAP nie może już ponownie certyfikować autorskiego modułu funkcyjnego dab dla systemów ECC. Dodatkowe informacje można znaleźć w tym wpisie na blogu SAP.

Add-On posiada certyfikaty dla poniższych wersji — aktualne certyfikaty można w każdej chwili sprawdzić w SAP Certified Solutions Directory.

Add-On WersjaTest SAP SystemCertyfikacja
1.71SAP S/4HANA Cloud Private Edition, wydanie 2025Clean Core - Poziom B
​SAP S/4HANA Cloud Private Edition 2025
SAP S/4HANA Cloud Private Edition, wydanie 2023Clean Core - Poziom B
​SAP S/4HANA Cloud Private Edition 2023
1.61SAP S/4HANA Cloud Private Edition, wydanie 2023Classic ABAP-Add-On
​​S/4HC-ADDON 2023 - Add-On FOR SAP S/4HANA CLOUD PRIVATE EDITION 2023
SAP S/4HANA Cloud, private edition, wydanie 2022Classic ABAP-Add-On
​S/4HC-ADDON 2022 ‒ Add-On FOR SAP S/4HANA CLOUD PRIVATE EDITION 2022
SAP S/4HANA 2022Classic ABAP-Add-On
​S/4HC-EX-ABAP 2022 ‒ ABAP Add-On FOR SAP S/4HANA CLOUD EX 2022
SAP NetWeaver 7.50Classic ABAP-Add-On
​ABAP 7.0 ‒ ABAP Add-On FOR SAP NETWEAVER APPLICATION SERVER
1.40SAP S/4HANA 2021Classic ABAP-Add-On
​​S/4-ABAP 2021 ‒ ABAP Add-On FOR SAP S/4HANA 2021
SAP S/4HANA 2021Classic ABAP-Add-On
​S/4HC-EX-ABAP 2021 ‒ ABAP Add-On FOR SAP S/4HANA CLOUD EX 2021
SAP S/4HANA 2020Classic ABAP-Add-On
S/4HC-EX-ABAP 2020 ‒ ABAP Add-On FOR SAP S/4HANA CLOUD EX 2020
SAP S/4HANA 2020Classic ABAP-Add-On
​S/4-ABAP 2020 ‒ ABAP Add-On FOR SAP S/4HANA 2020
SAP S/4HANA 1909Classic ABAP-Add-On
​S/4HC-EX-ABAP 1909 ‒ ABAP Add-On FOR SAP S/4HANA CLOUD EX 1909
SAP S/4HANA 1909Classic ABAP-Add-On
​S/4-ABAP 1909 ‒ ABAP Add-On FOR SAP S/4HANA 1909
1.1SAP S/4HANA 2020Classic ABAP-Add-On
​​​​S/4-ABAP 2020 ‒ ABAP Add-On FOR SAP S/4HANA 2020
SAP S/4HANA 1909Classic ABAP-Add-On
​​​​​S/4-ABAP 1909 ‒ ABAP Add-On FOR SAP S/4HANA 1909
1.0SAP S/4HANA 1809Classic ABAP-Add-On
S/4-ABAP 1809 - ABAP Add-On FOR SAP S/4HANA 1809
SAP NetWeaver 7.50Classic ABAP-Add-On
ABAP 7.0 ‒ ABAP Add-On FOR SAP NETWEAVER APPLICATION SERVER

Informacje o wydaniach

Wersja 1.82

  • Obsługa CDS View Entities: Od tej wersji możliwy jest ekstrakt CDS View Entities.
  • Wymagane nowe autoryzacje do tabel:
    • DDDDLSRC – identyfikuje dostępne CDS Views w systemie
    • DDDDLSRC02BT – teksty opisowe dla CDS Views
    • DD10B – widoki z parametrami (pozwala na filtrowanie widoków z parametryzacją)
  • Uwaga dotycząca aktualizacji: Podczas aktualizacji z wersji 1.7 bez nadanych tych uprawnień do tabel, Package Studio pominie tabele bez autoryzacji. Jeśli tabele w ogóle nie posiadają autoryzacji, Package Studio może zakończyć pracę z błędem podczas wyszukiwania tabel. Funkcja ta wymaga wersji dab Nexus 1.19.986 lub wyższej.

Wersja 1.71

  • Dostosowanie do SAP Clean Core Level B, tzn. 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
  • Możliwość ekstrakcji widoków z nieunikalnym kluczem głównym (np. FAGLFLEXT): w celu skorzystania z tej funkcji wymagana jest dodatkowa aktualizacja aplikacji

Wersja 1.61

  • podczas odinstalowania Add-On, nie wszystkie obiekty mogły zostać usunięte z powodu błędnych informacji o obiektach. Skutkowało to przerwaniem procesu dezinstalacji.

Wersja 1.60

  • oprócz poprawki z wersji 110, wprowadzono również obsługę rozwiązania zagnieżdżonych .INCLUDES z sufiksami. Dotyczyło to w szczególności tabeli ACDOCA, w której .INCLU-_PA zawiera sufiks i jest dodatkowo rozszerzony przez .APPEND. Po modyfikacji, sufiks jest także stosowany do pól w .APPEND.

Wersja 1.50

  • moduł funkcjonalny został przygotowany pod kątem eksportu długich tekstów z kolumny CLUSTD w tabeli STXL

Wersja 1.40

  • ostatnia wersja SAP Add-On kompatybilna z SAP Basis 731 i niższymi
  • spełnienie wymaganego poziomu bezpieczeństwa dla S/4 Cloud EX

Wersja 1.30

  • pobieranie informacji DDIC zapewniało nieprawidłową wartość OUTPUTLEN dla typu danych RAW w przypadku pola GUID w tabelach CGPL_TASK i DPR_TASK. W konsekwencji eksportowała się skrócona wersja GUID. Dla pól typu RAW i INTLEN 16 oraz 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 powodowało błędy w zapytaniach SQL.

Wersja 1.10

  • występowały błędy w systemach S4/HANA z wybranymi tabelami (BKPF, BSEG, MATDOC, ACDOCA, MHNK). Dostosowano rozwijanie struktur INCLUDE w tych tabelach o nazwach
    • .INCLU-_PN
    • .INCLU-_A1
    • .INCLU-LO Zmodyfikowano także strukturę listy pól w zapytaniach SQL, aby obejmowała **<table>~<fieldname>** zamiast tylko nazwy pola – zapobiega to wyjątkom w przypadkach, gdy nazwy pól są zarezerwowane przez SQL (np. tabela TOAM – pole Connection).

SAP Legacy RFC Function Modules

Wskazówka

W przypadku używania modułu funkcjonalnego innego niż /DABEXP/RFC_SAPCONNECTOR, zdecydowanie zaleca się przejście na ten właśnie RFC module! dab nie będzie aktualizować ani wspierać innych modułów funkcjonalnych. Nie posiadają one również certyfikacji SAP!

Oprócz /DABEXP/RFC_SAPCONNECTOR w przeszłości obsługiwano także inne moduły z przestrzeni nazw Z, wywodzące się ze starszych instalacji dab:Exporter lub odrębnych dostosowań klienta.

W poniższej tabeli porównano zakres funkcjonalny poszczególnych modułów:

  • Maks. znaków w rekordzie danych: określa maksymalną liczbę znaków, które można wyeksportować z jednego rekordu (istotne zwłaszcza dla tabel o dużej liczbie kolumn)
  • Wymagane S_DEVELOP: moduły Z wymagają obiektu autoryzacji S_DEVELOP do wykonania
  • Długie teksty: dłuższe opisy przechowywane są w tabelach STXH i STXL – nowsze wersje modułu pozwalają na dekodowanie i wyodrębnienie tych danych
  • Typy danych FLT & RAW: możliwość ekstrakcji kolumn o typach danych FLT i RAW
  • Aktualizacja przez SAINT: moduły Z należy utrzymywać przy użyciu transakcji SE37 oraz SE80 (certyfikowany moduł instaluje się i aktualizuje przez SAINT)
Moduł funkcjonalnyMaks. znaków w rekordzie danychWymagane S_DEVELOPDługie tekstyTypy danych FLT & RAWAktualizacja przez SAINTCertyfikacja SAP
Z_RFC_READ_TABLE
(Wersja 2.0)
8000taknietaknienie
Z_RFC_READ_TABLE
(Wersja 1.7)
2048taknietaknienie
Z_RFC_READ_TABLE
(Wersja 1.6 lub starsza)
2048taknienienienie