← Artykuły · abas i XML

abas i XML cz. 1: Architektura, interfejs EDP-XML oraz wewnętrzne reguły schematów

W pierwszej części serii omawiamy wewnętrzny model danych XML w abas ERP, mechanizm działania interfejsu EDP-XML, kodowanie UTF-8, reguły składniowe oraz najczęstsze pułapki wdrożeniowe.

W nowoczesnych łańcuchach dostaw przedsiębiorstw korzystających z systemu abas ERP format XML (Extensible Markup Language) odgrywa równie kluczową rolę, co klasyczny standard EDIFACT. Zarówno w przypadku integracji z chmurowymi platformami zakupowymi B2B (cXML), obsługi międzynarodowych zamówień w standardzie UBL, jak i ustawowego e-fakturowania (KSeF, Peppol BIS Billing, węgierski NAV Online Számla), komunikaty XML stanowią fundament cyfrowej integracji przedsiębiorstwa. W czteroczęściowej serii przedstawiamy wewnętrzne procesy XML w abas ERP, interfejs EDP-XML, transformacje XSLT oraz najważniejsze zasady bezawaryjnej eksploatacji.

W pierwszej części omawiamy podstawy techniczne: jak system abas reprezentuje dane biznesowe w strukturze XML, jak funkcjonuje dwukierunkowy interfejs EDP-XML, jakie reguły składniowe i schematowe obowiązują oraz jakich błędów unikać podczas konfiguracji początkowej.

Dlaczego XML w środowisku abas ERP?

Podczas gdy klasyczny EDIFACT opiera się na stałych pozycjach i segmentach tekstowych, XML jest formatem samopiszącym się o strukturze drzewiastej. Idealnie współgra to ze zorientowaną obiektowo architekturą abas ERP (Vartab):

  • Czytelne nazwy znaczników: Zamiast kryptograficznych kodów segmentów (np. BGM+220) komunikaty operują zrozumiałymi znacznikami (np. <OrderNumber>, <DeliveryDate>).
  • Hierarchiczna struktura obiektów: Dane nagłówka (Head), pozycje tabelaryczne (Table), adresy dostawy oraz wielopoziomowe jednostki opakowaniowe są naturalnie reprezentowane w zagnieżdżonych strukturach XML.
  • Walidacja schematem (XSD): Poprawność typów danych, wymaganych elementów i formatów liczbowych jest weryfikowana przez schemat XSD przed przekazaniem danych do bazy ERP.
  • Elastyczność transformacji (XSLT): Wewnętrzny XML z abas można za pomocą standardowych arkuszy stylów XSLT przetłumaczyć na dowolny format wymagany przez partnera (cXML, UBL, XML dedykowany).

Wewnętrzny model danych abas XML: Nagłówek i Tabela

Każdy dokument w abas ERP (zamówienie sprzedaży, dokument WZ, faktura) oraz kartoteka danych podstawowych (klient, dostawca, artykuł) dzieli się na dwa poziomy: pola nagłówka (Head) i wiersze tabeli (Table). Przykładowy surowy eksport zamówienia z abas wygląda następująco:

<?xml version="1.0" encoding="UTF-8"?>
<abasDocument type="SalesOrder" version="2026.1">
    <head>
        <id>(184,0,0)</id>
        <nummer>SO-2026-0842</nummer>
        <such>ZAMOWIENIE-842</such>
        <kunde>70012</kunde>
        <ygln>5990000000108</ygln>
        <bestellnr>PO-EXT-9912</bestellnr>
        <vom>2026-10-21</vom>
        <wtermin>2026-10-28</wtermin>
        <waehrung>PLN</waehrung>
    </head>
    <table>
        <row n="1">
            <artikel>A-40210</artikel>
            <such>WSPORNIK-40</such>
            <yean>5991234004023</yean>
            <mge>150.00</mge>
            <he>PCE</he>
            <preis>48.50</preis>
            <ttermin>2026-10-28</ttermin>
        </row>
    </table>
</abasDocument>

Konwencje nazewnicze w abas XML

  1. Nazwy niemieckie i angielskie: Pola w abas posiadają identyfikatory niemieckie (np. kunde, artikel, mge) oraz angielskie (np. customer, product, qty). Kluczem jest zachowanie spójności wybranego języka w profilach eksportu.
  2. Pola użytkownika (prefiks y...): Dane specyficzne (np. GLN partnera: ygln, kod GTIN: yean, status EDI: yedistat) są tworzone w Vartab z prefiksem y i w sposób naturalny eksportowane do XML.

Jak działa interfejs EDP-XML?

Interfejs EDP (Electronic Data Processing) to natywna warstwa wymiany danych wbudowana w jądro systemu abas. W trybie XML umożliwia on dwukierunkową komunikację:

KierunekMechanizm wyzwalającyLogika przetwarzania
Wychodzący (Eksport)Zdarzenie FOP/EFOP po zatwierdzeniu dokumentu lub cykliczny InfosystemGeneruje plik XML z obiektu abas i zapisuje go w katalogu kolejki lub wysyła do API REST.
Przychodzący (Import)Nasłuchujący demon EDP / katalog buforowy EDIWczytuje XML, otwiera maskę dokumentu w tle i uruchamia pełną walidację domenową Vartab.

Kluczową zaletą importu przez EDP-XML jest to, że system nie wykonuje bezpośrednich wpisów do bazy SQL, lecz weryfikuje pełną logikę biznesową: limity kupieckie, cenniki, stawki podatkowe i mechanizmy automatycznego numerowania.

Reguły składniowe i standardy kodowania

1. Kodowanie UTF-8 bez sygnatury BOM

Wymiana XML w abas wymaga kodowania UTF-8 (<?xml version="1.0" encoding="UTF-8"?>). Należy bezwzględnie upewnić się, że pliki XML nie zawierają niewidocznego nagłówka BOM (Byte Order Mark), który powoduje błąd parsowania "Content is not allowed in prolog".

2. Znaki specjalne i sekcje CDATA

Wszystkie zastrzeżone znaki XML w polach tekstowych muszą być zastąpione encjami (&amp;, &lt;, &gt;, &quot;, &apos;). Dłuższe teksty nieformatowane warto umieszczać w blokach <![CDATA[ ... ]]>.

Program 4-częściowej serii abas XML

CzęśćProces biznesowyGłówny zakres techniczny
Część 1Architektura, EDP-XML i wewnętrzne schematyModel Vartab XML, mechanizm EDP, kodowanie UTF-8 i reguły składniowe
Część 2Zamówienia i zakupy (cXML, UBL, import EDP)Transformacje cXML/UBL, XSLT, import bezobsługowy, kontrola cen
Część 3Logistyka, magazyn WMS i integracja kurierskaEksport dokumentu WZ, struktura opakowań (HU), zwrot numerów listów przewozowych
Część 4E-fakturowanie (Peppol, UBL, KSeF/NAV) i utrzymanieStandardowe e-faktury, walidacja XSD + Schematron, monitoring błędów

Typowe pułapki wdrożeniowe

  • Pusty znacznik a brak znacznika: W imporcie EDP pusty tag <wtermin/> może wyczyścić wartość domyślną proponowaną przez abas, podczas gdy brak znacznika pozwala systemowi zachować standardową wartość logiczną.
  • Przecinek zamiast kropki w liczbach: Użycie przecinka w wartościach numerycznych (np. 12,50) narusza typowanie XML i skutkuje błędem importu w abas.
  • Pominięcie wstępnej walidacji XSD: Przekazywanie niesprawdzonych plików bezpośrednio do EDP utrudnia diagnostykę błędów; walidacja schematem XSD powinna odbywać się na bramie integracyjnej.

Podsumowanie

System abas ERP zapewnia nowoczesne środowisko integracji XML za pośrednictwem modułu EDP. Warunkiem stabilnej pracy jest uporządkowany model zmiennych Vartab, dyscyplina kodowania UTF-8 oraz automatyczna walidacja schematami XSD.

W drugiej części serii przeanalizujemy import zamówień: pokażemy, jak za pomocą XSLT przekształcić zamówienia cXML i UBL na wewnętrzny format abas EDP-XML.

Planujesz wdrożenie lub modernizację interfejsów XML w abas ERP? Poproś o niezobowiązującą wycenę naszych specjalistów!