Przejdź do głównej treści

Ulepszone identyfikowanie rekordów w tabelach z nieunikalnymi kluczami

Uwaga

Data publikacji: październik 2025 Dotyczy: dab Nexus 1.18 i nowszych, SAP Add-On 171 lub nowszy

W wersji 1.18 dab Nexus wprowadzono zmiany w obsłudze tabel bez unikalnych kluczy głównych we współpracy z modułem SAP RFC 1.71. Celem tej modyfikacji jest zapewnienie pełnej oraz spójnej ekstrakcji danych, także w przypadku tabel SAP, gdzie pola klucza są niekompletne lub puste. Dzięki temu każdy rekord jest jednoznacznie identyfikowany i prawidłowo przetwarzany.

Jakie są konsekwencje tej zmiany?

Techniczne udoskonalenie wiąże się z kilkoma istotnymi aspektami, które należy uwzględnić podczas aktualizacji do dab Nexus 1.18 oraz modułu RFC 1.71:

  1. Zakończenie dotychczasowego definiowania kluczy Do tej pory dab Nexus zakładał, że każda wyodrębniana tabela posiada unikalny klucz główny. Jednak nie dotyczy to takich struktur jak FAGLFLEXT, FMGLFLEXT czy PSGLFLEXT, które są widokami. Zawierają one pola w kluczu głównym bazujące na elemencie danych ABAP G_OBJNR, gdzie w wielu systemach SAP wartości tych pól są domyślnie wypełniane zerami. W rezultacie, wcześniejsze wersje mogły napotkać rekordy o identycznych wartościach klucza, co skutkowało pominięciem lub nadpisaniem wpisów w wynikach, albo prowadziło do nieskończonych pętli podczas ekstrakcji w dab Nexus.

  2. Rozszerzona logika kluczy w module SAP RFC 1.71 W wersji 1.71 moduł RFC został rozbudowany o dodatkowe pola (zwykle wszystkie pozostałe w tabeli o typie danych ABAP CHAR) przy definiowaniu kluczy dla wybranych tabel. Dzięki temu możliwa jest jednoznaczna identyfikacja rekordów, nawet jeśli tabela nie posiada klucza głównego ze unikalnymi wartościami.

TabelaOryginalny kluczRozszerzony klucz (nowy)
FAGLFLEXTRCLNT, RYEAR, OBJNR00 - OBJNR08, DRCRK, RPMAXRCLNT, RYEAR, OBJNR00 - OBJNR08, DRCRK, RPMAX, RCNTR, RACCT, ACTIV, RMVCT, itd.
FMGLFLEXTRCLNT, RYEAR, OBJNR00 - OBJNR08, DRCRK, RPMAXRCLNT, RYEAR, OBJNR00 - OBJNR08, DRCRK, RPMAX, RCNTR, RACCT, ACTIV, RMVCT, itd.
PSGLFLEXTRCLNT, RYEAR, OBJNR00 - OBJNR08, DRCRK, RPMAXRCLNT, RYEAR, OBJNR00 - OBJNR08, DRCRK, RPMAX, RCNTR, RACCT, ACTIV, RMVCT, itd.
  1. Dostosowanie w dab Nexus 1.18 dab Nexus 1.18 automatycznie wykrywa te rozszerzone klucze i stosuje je wewnętrznie podczas identyfikowania rekordów. Gwarantuje to unikalne przetwarzanie wszystkich wpisów — bez utraty danych czy konfliktów. Zmiana ta realizowana jest całkowicie automatycznie i nie wymaga ręcznej ingerencji w istniejących pakietach ekstrakcyjnych.
Ważne

W przypadku tabel bez unikalnego klucza głównego (np. FAGLFLEXT) wykorzystywanych w istniejących zadaniach zaplanowanych, po aktualizacji należy przeprowadzić jednorazową ekstrakcję początkową do nowej tabeli. Scalanie z dotychczasowymi tabelami nie powiedzie się ze względu na zmienioną strukturę klucza. Następnie harmonogram może być kontynuowany standardowo z użyciem nowej tabeli.

Co należy zrobić jako administrator?

  • Należy upewnić się, że zainstalowano wersję dab Nexus 1.18 lub nowszą.
  • Sprawdzić, czy moduł SAP RFC w wersji 1.71 lub wyższej został wdrożony na SAP System.
  • Po aktualizacji wykonać próbne wyodrębnienie danych z wybranych tabel (np. FAGLFLEXT) w celu weryfikacji kompletnych rekordów.
  • Nie trzeba modyfikować pakietów ani pól klucza – nowa logika stosowana jest automatycznie.
  • W przypadku tabel stosowanych w zaplanowanych zadaniach wymagane jest przeprowadzenie nowej ekstrakcji początkowej. Należy utworzyć nową docelową tabelę, aby uniknąć konfliktów przy scalaniu.