Zakresy numeracji w dab Nexus
Przegląd
Zakresy numeracji SAP definiują przedziały, z których przydzielane są identyfikatory obiektom biznesowym oraz dokumentom.
W dab Nexus obiekty Real-Time Monitor monitorują aktualny stan skonfigurowanych przedziałów numeracji SAP, aby wykryć nowo przypisane numery dokumentów. Dla każdego istotnego przedziału Nexus odczytuje aktualną wartość licznika NRLEVEL z SAP i porównuje ją z wartością z poprzedniego wykonania.
Jeżeli licznik wzrósł, Nexus identyfikuje nowo przypisane numery pomiędzy poprzednią a bieżącą wartością licznika i zapisuje je do skonfigurowanego repozytorium docelowego. Powiązane z tym repozytorium tabele mogą następnie wykorzystać te numery dokumentów do załadowania odpowiadających im rekordów.
Kontekst zakresu numeracji może obejmować:
- Obiekt zakresu numeracji
- Numer zakresu numeracji
- Podobiekt – jeśli dotyczy
- Rok obrachunkowy – jeśli dotyczy
Wymagane wymiary zależą od danego obiektu zakresu numeracji SAP oraz jego konfiguracji.
1. Struktura zakresu numeracji
Obiekt zakresu numeracji może zawierać jeden lub więcej przedziałów. Każdy przedział określa zakres, z którego SAP może przydzielać numery.
Kontekst zakresu numeracji można przedstawić jako:
Number Range Object + Number Range Number + Subobject (if applicable) + Fiscal Year (if applicable) = Unique Number Range Context
Przykładowo, przedział dokumentów FI można zidentyfikować poprzez:
Number Range Object: RF_BELEG
Number Range Number: 18
Subobject: 1000
Fiscal Year: 2026
2. Numer zakresu numeracji nie jest prefiksem numeru
Numer zakresu numeracji identyfikuje przedział numeracji SAP. Nie oznacza to jednak pierwszych cyfr numerów dokumentów z tego przedziału.
Na przykład, obiekt zakresu numeracji SAP KONV może zawierać następujące przedziały:
Number Range Number From To
01 0000000001 0999999999
02 1000000000 1999999999
W tym przypadku 01 oraz 02 stanowią identyfikatory przedziałów numeracji. Rzeczywisty zakres wartości należących do każdego z przedziałów określają limity From oraz To.
Na przykład:
0000197101
należy do przedziału 01, ponieważ mieści się pomiędzy:
0000000001 ≤ 0000197101 ≤ 0999999999
Numer zakresu numeracji 01 nie jest zatem prefiksem, którego Nexus spodziewa się w numerze dokumentu.
Uwaga: Nexus przypisuje numer dokumentu do określonego przedziału na podstawie jego limitów w SAP (From/To), a nie w oparciu o pierwsze cyfry numeru.
3. Kontekst zakresu numeracji w Nexus
Nexus uwzględnia wszystkie wymiary zakresu numeracji, które zostały zmapowane w zależności repozytorium.
W zależności od obiektu zakresu numeracji istotne mogą być następujące informacje:
| Zależność | Opis | Przykład |
|---|---|---|
Numbers | Numer zakresu numeracji | 18 |
Subobject | Dodatkowe rozdzielenie zakresu numeracji | Kod firmy 1000 |
Fiscal Year | Kontekst zakresu numeracji powiązany z rokiem obrachunkowym | 2026 |
Przykładowy kompletny kontekst dla RF_BELEG:
RF_BELEG
+ Number Range Number
+ Company Code as Subobject
+ Fiscal Year
Jeśli w zależności repozytorium zmapowano Subobject lub Fiscal Year, Nexus powinien uwzględnić te wartości podczas wyznaczania właściwego przedziału.
Samo podanie numeru zakresu numeracji w takich przypadkach nie wystarcza. Nie każdy obiekt zakresu numeracji wymaga wszystkich trzech wymiarów. Wymagany kontekst zależy od danego obiektu zakresu numeracji SAP oraz jego konfiguracji.
Przykład: RF_BELEG
RF_BELEG to obiekt zakresu numeracji SAP dla dokumentów księgowych FI.
Dla RF_BELEG podobiekt oznacza kod firmy, a przedział może dodatkowo zależeć od roku obrachunkowego. Numer zakresu numeracji 18 nie jest numerem dokumentu księgowego.
Zamiast tego 18 wskazuje przedział SAP, z którego faktycznie zostanie pobrany numer dokumentu księgowego.
Jeśli w Nexus zmapowano numer zakresu numeracji, kod firmy i rok obrachunkowy, należy uwzględnić cały ten kontekst.
Przedziały posiadające ten sam numer zakresu, ale różniące się kodem firmy lub rokiem obrachunkowym, reprezentują odmienne konteksty zakresów numeracji.
4. Wykorzystanie zakresów numeracji przez obiekty Real-Time
Obiekty Real-Time wykorzystują zakresy numeracji SAP do wykrywania nowo przypisanych numerów dokumentów.
Dla każdego skonfigurowanego przedziału zakładany jest odczyt aktualnego licznika NRLEVEL z tabeli SAP NRIV przez Nexus. W przypadku buforowanych zakresów numeracji Nexus dodatkowo uwzględnia odpowiednią wartość z NRIVSHADOW.
Nexus porównuje aktualny licznik z wartością z poprzedniej próby. Gdy licznik wzrasta, Nexus generuje numery dokumentów pomiędzy poprzednią a bieżącą wartością licznika.
Na przykład:
Previous NRLEVEL: 1900000000
Current NRLEVEL: 1900000003
New document numbers:
1900000001
1900000002
1900000003
Obiekt zakresu numeracji określa, który zakres SAP jest monitorowany. W zależności od obiektu zakresu, Nexus może dodatkowo wykorzystać podobiekt i rok obrachunkowy do wyznaczenia właściwego przedziału.
Przy każdorazowym wzroście odpowiadającego zakresu numeracji w SAP obiekt Real-Time może ustalić nowo przypisany numer dokumentu oraz przekazać go do repozytorium docelowego.
Powiązanie z tabelami zależnymi
Tabela zależna od repozytorium zasilanego przez obiekt Real-Time otrzymuje odpowiednie numery dokumentów w ramach swojej zależności.
Numery te są stosowane w tabeli zależnej jako filtr IN.
Przykład:
BELNR IN ('1900000001', '1900000002', '1900000003')
Przedstawione wartości w tym wyrażeniu to numery dokumentów. Ponieważ zależność precyzuje już dokumenty wymagające załadowania, Nexus ładuje tabelę właśnie dla tych numerów. Nie ma potrzeby ładowania tabeli zależnej poprzez iterację kolejnych przedziałów zakresów numeracji.
5. Smart Extraction
Smart Extraction ma zastosowanie, gdy Nexus ładuje tabele SAP z wykorzystaniem wbudowanego modułu odczytu SAP. Nexus może wykorzystać metadane SAP oraz informacje o zakresach numeracji, aby zoptymalizować sposób odczytu tabeli.
Pole może zostać uznane za istotne dla zakresu numeracji, gdy:
- Należy do klucza głównego,
- Wykorzystuje element danych, który w SAP reprezentuje obiekt zakresu numeracji,
- W tabeli SAP
NRIVznajdują się odpowiadające informacje o zakresie numeracji.
Dzięki temu Smart Extraction może używać znanych przedziałów numeracji SAP podczas ustalania sposobu ładowania tabeli.