EDI i abas cz. 1: Architektura, interfejs EDP/FOP oraz reguły konwersji abas–EDIFACT
W pierwszej części serii omawiamy architekturę integracji abas ERP (Vartab, EDP, FOP/EFOP) z konwerterem EDIFACT, reguły składniowe koperty, kodowanie znaków oraz typowe pułapki w procesach tła.
abas ERP to jeden z najpopularniejszych systemów klasy ERP wśród średnich przedsiębiorstw produkcyjnych, dostawców motoryzacyjnych (Tier-1/Tier-2), firm z branży metalowej, tworzyw sztucznych oraz dystrybutorów w Europie Środkowej. Partnerzy handlowi tych firm – międzynarodowe koncerny automotive, sieci marketów budowlanych i detalicznych oraz operatorzy logistyczni – nie wymieniają jednak danych w wewnętrznych formatach abas. Wymagają oni ustandaryzowanych komunikatów UN/EDIFACT (w handlu detalicznym najczęściej podzbioru EANCOM, a w przemyśle motoryzacyjnym profili wywodzących się z ODETTE/VDA). W czteroczęściowej serii omawiamy krok po kroku reguły konwersji abas ↔ EDIFACT, architekturę interfejsów oraz najczęstsze pułapki wdrożeniowe.
W pierwszej części budujemy fundamenty techniczne: pokazujemy, jak przebiega wymiana danych pomiędzy systemem abas ERP (Vartab, EDP, FOP/EFOP, interfejs abas EDI) a zewnętrznym konwerterem EDI, jakie reguły składniowe obowiązują dla koperty EDIFACT oraz gdzie projekty najczęściej napotykają problemy już przy pierwszym komunikacie.
Praktyczny scenariusz biznesowy serii
Aby omówić reguły konwersji na realistycznym przykładzie, przez wszystkie cztery części śledzimy procesy typowego przedsiębiorstwa produkcyjno-handlowego korzystającego z abas ERP:
- Pannon-Autóalkatrész Kft. – średniej wielkości producent części metalowych i z tworzyw sztucznych pracujący na systemie abas ERP. Reprezentuje naszą stronę wdrożenia (GLN:
5990000000108). - EuroAuto Tier-1 GmbH – niemiecki odbiorca z sektora motoryzacyjnego, przesyłający harmonogramy dostaw i odwołania JIT w standardzie UN/EDIFACT D.96A / D.07A (
DELFOR,DELJIT) oraz wymagający awiza wysyłki (DESADV) ze ścisłą hierarchią opakowań i faktury (INVOIC) (GLN:4012345000016). - Barkács-Lánc Zrt. – sieć marketów budowlanych zamawiająca towar za pomocą jednostkowych komunikatów EANCOM D.96A (
ORDERS) do centralnego magazynu dystrybucyjnego (GLN:5990000000207, GLN magazynu:5990000000214) i oczekująca komunikatówORDRSP,DESADVorazINVOIC.
Przykładowym produktem jest tłoczony wspornik hamulca oraz jego zestaw montażowy: wewnętrzny numer identyfikacyjny abas (nummer) to A-40210, słowo kluczowe (such) to FEKKONZOL-40, kod GTIN to 5991234004023, a numer części u klienta EuroAuto to EA-99812-B.
Jak dane wpływają do abas ERP i jak go opuszczają?
System abas ERP opiera się na obiektowej architekturze bazy danych, której sercem jest Vartab (tabela zmiennych). Każdy rekord danych podstawowych (klient, artykuł, środek pakowania) i każdy dokument (zamówienie sprzedaży, zamówienie ramowe, dokument WZ, faktura) posiada pola nagłówka (Head) i tabeli (Table), dostępne pod niemieckimi i angielskimi nazwami zmiennych oraz rozszerzalne o indywidualne pola użytkownika y....
Zamiast generować surowy strumień EDIFACT bezpośrednio w maskach ekranowych, profesjonalne wdrożenia abas wykorzystują dwuwarstwową architekturę integracji, dzielącą zadania między wewnętrzny interfejs abas a zewnętrzny konwerter EDI (middleware):
- Wewnętrzny interfejs abas EDI oraz obsługa zdarzeń FOP/EFOP: Gdy w systemie abas powstaje dokument (np. wydanie zewnętrzne lub faktura), skrypt FOP (Flexible Oberflächenprogrammierung) lub procedura EFOP w Javie weryfikuje warunki biznesowe i za pośrednictwem modułu abas EDI (lub dedykowanego Infosystemu) eksportuje ustrukturyzowany plik pośredni (XML, plik płaski lub JSON).
- Interfejs EDP (Electronic Data Processing) / REST API: W kierunku przychodzącym zewnętrzny konwerter łączy się przez interfejs EDP (lub REST API / tabele buforowe EDI), tworząc lub aktualizując obiekty biznesowe abas z zachowaniem pełnej logiki aplikacyjnej i walidacji polowej.
- Konwerter EDI (middleware) i brama komunikacyjna: Konwerter odpowiada za bezpieczną transmisję B2B (AS2, OFTP2, SFTP), walidację składniową, mapowanie segmentów EDIFACT na strukturę pośrednią abas oraz obsługę potwierdzeń technicznych (
CONTRL).
| Warstwa / Komponent | Zadanie w procesie abas–EDIFACT | Typowa technologia |
|---|---|---|
| Baza danych i kartoteki | Przechowywanie dokumentów, referencji klient–artykuł i flag statusowych y... | abas Vartab (pola Nagłówka i Tabeli) |
| Reguły biznesowe i wyzwalacze | Kontrola pól obowiązkowych przy zapisie, automatyczne uruchamianie eksportu | FOP / EFOP (Event Handler) |
| Interfejs aplikacyjny | Transakcyjny zapis i odczyt obiektów abas z pełną walidacją domenową | abas EDP, abas EDI-Schnittstelle, REST API |
| Konwersja (Mapping) | Mapowanie struktury pośredniej abas ↔ UN/EDIFACT (EANCOM / Automotive) | Zewnętrzny konwerter EDI / chmura EDI |
| Kanał B2B | Szyfrowany transfer, podpis cyfrowy, potwierdzenia odbioru (MDN / EERP) | AS2, OFTP2 (motoryzacja), SFTP, VAN |
Koperta EDIFACT i podstawowe reguły konwersji
Niezależnie od tego, czy wysyłamy komunikat EANCOM do sieci handlowej, czy plik EDIFACT do klienta motoryzacyjnego, zewnętrzna koperta komunikatu podlega rygorystycznym zasadom składniowym:
UNA:+.? '
UNB+UNOD:3+5990000000207:14+5990000000108:14+261021:0830+00000451++ORDERS'
UNH+1+ORDERS:D:96A:UN:EAN008'
BGM+220+BL-2026-88412+9'
DTM+137:20261021:102'
...
UNT+18+1'
UNZ+1+00000451'
1. Znaki rozdzielające i reguła znaku zwalniającego (escape)
Segment UNA:+.? ' definiuje pięć znaków sterujących EDIFACT: separator komponentów (:), separator elementów danych (+), znak dziesiętny (.), znak zwalniający/escape (?) oraz terminator segmentu ('). Pola tekstowe z abas (np. nazwy artykułów czy uwagi transportowe) często zawierają znaki + lub : (np. Śruba M8+nakrętka 1:2). Reguła: eksport z abas nie powinien usuwać tych znaków; konwerter EDI musi automatycznie poprzedzić każdy znak sterujący znakiem ? (Śruba M8?+nakrętka 1?:2).
2. Separator dziesiętny i formatowanie liczb
W środkowoeuropejskich ustawieniach regionalnych abas separatorem dziesiętnym na ekranie jest przecinek (12,50). W standardzie EDIFACT (gdy czwartym znakiem UNA jest .) jedynym dopuszczalnym separatorem dziesiętnym jest kropka, a separatory tysięcy są zabronione. Warstwa EDP/eksportu musi zawsze generować wartości liczbowe w formacie maszynowym, niezależnym od języka interfejsu.
3. Rozdzielenie kluczy wewnętrznych od zewnętrznych identyfikatorów EDI
Każdy obiekt w abas posiada wewnętrzną referencję bazodanową (np. (184,0,0)), numer identyfikacyjny (nummer, np. 70045) oraz słowo kluczowe (such). Partner zewnętrzny nie zna tych oznaczeń. W segmentach UNB i NAD mogą występować wyłącznie identyfikatory międzynarodowe lub nadane przez partnera:
- W handlu detalicznym: 13-cyfrowy numer GLN (kwalifikator
14wUNB,::9wNAD); - W przemyśle motoryzacyjnym: numer DUNS, identyfikator ODETTE lub kod dostawcy nadany przez klienta (
NAD+SU+987654::92).
Mapa komunikatów w 4-częściowej serii
W kolejnych częściach serii przeanalizujemy następujące procesy biznesowe i reguły ich mapowania między abas a EDIFACT:
| Proces biznesowy | Komunikat EDIFACT | Kierunek | Obiekt / proces w abas ERP | Część serii |
|---|---|---|---|---|
| Jednostkowe zamówienie zakupu | ORDERS | Klient → abas | Utworzenie zamówienia sprzedaży przez EDP | Część 2 |
| Potwierdzenie zamówienia | ORDRSP | abas → Klient | Potwierdzenie zamówienia (status, ilość, termin) | Część 2 |
| Harmonogram dostaw / odwołanie JIT | DELFOR / DELJIT | Klient → abas | Zamówienie ramowe i odwołania dostaw (LAB/FAB) | Część 2 |
| Awizo wysyłki (ASN) | DESADV | abas → Klient | Dokument WZ (Lieferschein) + hierarchia opakowań / SSCC | Część 3 |
| Faktura handlowa / Korekta | INVOIC | abas ↔ Klient | Faktura (Rechnung), korekta oraz rozliczenie Self-Billing | Część 4 |
Poziomy potwierdzeń: kiedy komunikat jest faktycznie przetworzony?
Bezpieczna eksploatacja integracji abas–EDIFACT wymaga rozróżnienia trzech niezależnych poziomów potwierdzeń:
- Potwierdzenie transportowe (AS2 MDN / OFTP2 EERP): Potwierdza jedynie, że zaszyfrowany plik dotarł na serwer partnera.
- Potwierdzenie składniowe (EDIFACT
CONTRL): Generowane przez konwerter EDI odbiorcy na dowód zgodności z gramatyką EDIFACT (segmentyUCI/UCM). - Poziom aplikacyjny / ERP (
APERAKlub wewnętrzny status EDP): Informuje, czy interfejs abas EDP faktycznie zapisał zamówienie w bazie. Jeśli artykuł jest zablokowany w abas, komunikatCONTRLbędzie pozytywny, ale import EDP zakończy się błędem!
Typowe pułapki w praktyce
- Kodowanie znaków (
UNOCvs.UNOD/UNOW): Domyślny zestawUNOC(ISO 8859-1) nie obsługuje znaków środkowoeuropejskich (polskich ą, ć, ę, ł, ń, ś, ź, ż ani węgierskich ő, ű). Brak deklaracjiUNOD:3(ISO 8859-2) lubUNOW:4(UTF-8) w segmencieUNBpowoduje uszkodzenie nazw firm i adresów. - Obcinanie pól i podział znaków wielobajtowych: Pola nazw i ulic w segmencie
NADmają limit 35 znaków (an..35), podczas gdy pola w abas bywają dłuższe. Przy kodowaniu UTF-8 podział musi następować na granicy pełnych znaków i przenosić nadmiar tekstu do kolejnych komponentówC080/C059. - Interaktywne okna FOP blokujące procesy EDP w tle: Klasycznym błędem w abas jest wywołanie okna dialogowego (instrukcje
boxlubmenuw skrypcie FOP) np. przy przekroczeniu limitu kredytowego. To, co w interfejsie graficznym wymaga jednego kliknięcia operatora, w procesie wsadowym EDP powoduje zawieszenie lub przerwanie importu. Reguła: kod FOP musi zawsze sprawdzać tryb wykonania i w trybie bezobsługowym zapisywać ostrzeżenia do logu lub pola statusu (np.yedierr). - Pomieszanie środowiska testowego i produkcyjnego: Element
0035w segmencieUNBoznacza transmisję testową (1). Brak filtrowania tej flagi może spowodować, że testowy harmonogram od klienta nadpisze realny plan produkcji w produkcyjnym mandancie abas.
Podsumowanie
Elastyczna architektura Vartab oraz mechanizmy FOP/EDP w abas ERP stanowią doskonałą bazę do automatyzacji EDI, pod warunkiem wyraźnego oddzielenia konwersji składniowej od walidacji biznesowej w ERP. Konwerter odpowiada za gramatykę EDIFACT, strony kodowe i mapowanie identyfikatorów, natomiast skrypty FOP w abas muszą działać niezawodnie w trybie bezobsługowym (headless).
W drugiej części serii przeanalizujemy obsługę popytu przychodzącego: konwersję zamówień EANCOM ORDERS na zamówienia sprzedaży abas i potwierdzenia ORDRSP, a także obsługę ilości skumulowanych (liczb FZ) w motoryzacyjnych komunikatach DELFOR i DELJIT.
Szukasz sprawdzonego rozwiązania EDI dla systemu abas ERP? Poproś o niezobowiązującą ofertę lub przetestuj swoje pliki w darmowym narzędziu Walidator EDIFACT.