← Cikkek · abas és XML

abas és XML 1. rész: Architektúra, EDP-XML interfész és belső sémaszabályok

Négyrészes sorozatunk első részében bemutatjuk az abas ERP belső XML adatmodelljét, az EDP-XML interfész működését, az UTF-8 kódolási és szintaktikai szabályokat, valamint a bevezetés leggyakoribb buktatóit.

Az abas ERP rendszert használó középvállalatok adatcseréjében a klasszikus, kötött formátumú EDIFACT mellett egyre nagyobb teret nyer az XML (Extensible Markup Language). Legyen szó modern felhős B2B platformokról, cXML beszerzési katalógusokról, UBL alapú nemzetközi megrendelésekről vagy a kötelező adóhatósági (pl. NAV Online Számla) és Peppol számla-adatszolgáltatásokról, a modern vállalatirányítási integrációk gerincét ma már az XML képezi. Négyrészes sorozatunkban részletesen bemutatjuk az abas ERP belső XML folyamatait, az EDP-XML interfészt, az XSLT transzformációkat és az éles üzemeltetés legfontosabb szabályait.

Az első rész az alapokat tárgyalja: hogyan reprezentálja az abas a belső adatait XML-ben, hogyan működik a kétirányú EDP-XML adatcsere, milyen szintaktikai és séma-előírásokat kell betartanunk, és melyek a leggyakoribb buktatók a kezdeti beállítások során.

Miért előnyös az XML az abas ERP környezetében?

Míg a hagyományos EDIFACT formátum szigorúan pozíció- és szegmensalapú, addig az XML önleíró, faszerkezetes (hierarchikus) formátum. Ez az abas ERP objektumorientált adatmodelljéhez (Vartab) különösen jól illeszkedik:

  • Önleíró mezőnevek: Nem kriptikus szegmenskódokkal (pl. BGM+220) dolgozunk, hanem ember és gép számára is azonnal érthető címkékkel (pl. <OrderNumber>, <DeliveryDate>).
  • Hierarchikus és beágyazott struktúrák: A fejadatok (Head), tételsorok (Table), szállítási címek és több szintű csomagolási adatok természetes módon ábrázolhatók egymásba ágyazott XML elemekként.
  • Sémavalidáció (XSD): Az adatok szerkezete, adattípusai (dátum, tizedes szám, szöveg) és kötelező elemei még a feldolgozás előtt automatikusan ellenőrizhetők XML Schema (XSD) segítségével.
  • Rugalmas átalakíthatóság (XSLT): Az abas belső XML állománya szabványos XSLT transzformációval bármilyen partner által elvárt formátumra (cXML, UBL, egyedi partner-XML) lefordítható külső fejlesztői kód írása nélkül.

Az abas belső XML adatmodellje: Fej és Táblázat struktúra

Az abas ERP minden bizonylata (megrendelés, szállítólevél, számla) és törzsadat-rekordja (vevő, szállító, cikk) két fő szintre tagolódik: fejszintű mezőkre (Head fields) és táblázatos tételsorokra (Table rows). Egy abas által exportált nyers rendelési XML alapszerkezete a következő logikát követi:

<?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>RENDELES-842</such>
        <kunde>70012</kunde>
        <ygln>5990000000108</ygln>
        <bestellnr>PO-KULSO-9912</bestellnr>
        <vom>2026-10-21</vom>
        <wtermin>2026-10-28</wtermin>
        <waehrung>HUF</waehrung>
    </head>
    <table>
        <row n="1">
            <artikel>A-40210</artikel>
            <such>FEKKONZOL-40</such>
            <yean>5991234004023</yean>
            <mge>150.00</mge>
            <he>PCE</he>
            <preis>4200.00</preis>
            <ttermin>2026-10-28</ttermin>
        </row>
    </table>
</abasDocument>

Az abas XML mezőelnevezési konvenciói

Az abas Vartab rendszeréből származó XML mezők fontos szabályokat követnek:

  1. Német és angol mezőnevek: Az abasban a mezők rendelkeznek belső német (pl. kunde, artikel, mge) és angol megfelelővel (pl. customer, product, qty). Exportáláskor és importáláskor egységesen az egyik konvenciót kell kiválasztani a félreértések elkerülésére.
  2. Felhasználói egyedi mezők (y... előtag): Minden olyan üzleti adatot, amely nem képezi a standard abas mezőkészlet részét (pl. partneri GLN azonosító: ygln, GTIN kód: yean, külső EDI státusz: yedistat), egyedi y előtaggal hozunk létre a Vartab-ban, és ezek ugyanúgy megjelennek az XML struktúrában.

Hogyan működik az EDP-XML interfész?

Az abas EDP (Electronic Data Processing) interfésze az abas szerver natív, nagy teljesítményű adatcsere-rétege. Az EDP XML módban képes közvetlenül XML adatcsomagokat fogadni és kibocsátani:

Irány Mechanizmus Feldolgozási logika
Kimenő (Export) FOP / EFOP trigger vagy ütemezett Infosystem export A bizonylat lezárásakor az abas kigenerálja a natív XML-t, és lementi a fájlrendszerbe vagy átadja egy REST végpontnak.
Bejövő (Import) abas EDP szerver / EDI-import könyvtár figyelés Az EDP beolvassa az XML fájlt, megnyitja a megfelelő maszkot a háttérben, feltölti a mezőket, és lefuttatja a Vartab validációkat.

Az EDP-XML import legfontosabb előnye, hogy nem nyers adatbázis-rekordokat szúr be (mint egy direkt SQL insert), hanem a teljes üzleti logikát érvényesíti: ellenőrzi a vevő hitelkeretét, kiszámolja a bruttó-nettó árakat, érvényesíti az áfa-szabályokat és kiosztja a belső sorszámot.

XML szintaktikai szabályok és karakterkódolás

Bár az XML szintaxisa rugalmas, az éles integrációkban szigorú szabályokat kell betartani:

1. Karakterkódolás (Encoding)

Az abas XML interfészén kötelező az UTF-8 karakterkódolás (<?xml version="1.0" encoding="UTF-8"?>) használata. Ez garantálja a magyar ékezetes karakterek (ő, ű, á, é) és a nemzetközi partnerek speciális karaktereinek hibátlan átvitelét. Figyelni kell arra, hogy az XML fájlok ne tartalmazzanak BOM (Byte Order Mark) fejlécet, mert egyes beágyazott XML parserek hibát dobnak rá.

2. Fenntartott XML karakterek és a CDATA használata

A szöveges mezőkben (pl. megnevezésekben, megjegyzésekben) előforduló speciális karaktereket kötelező entitásként feloldani:

  • & → &amp;
  • < → &lt;
  • > → &gt;
  • " → &quot;
  • ' → &apos;

Hosszabb, formázatlan szövegek vagy beágyazott nyers tartalmak esetén célszerű <![CDATA[ ... ]]> blokkot alkalmazni, ami megóvja a szöveget az értelmezési hibáktól.

A 4 részes abas XML sorozat tematikája

A sorozat következő részeiben az alábbi üzleti folyamatokat járjuk körül:

Rész Cím és folyamat Fő technológiai fókusz
1. rész Architektúra, EDP-XML és belső sémaszabályok Vartab XML modell, EDP működés, szintaktikai és kódolási szabályok
2. rész Megrendelések és beszerzés (cXML, UBL, import) cXML/UBL transzformáció, XSLT, headless EDP import, árellenőrzés
3. rész Logisztika, WMS és futárszolgálati XML integráció Szállítólevél XML, csomagolási fa (Handling Unit), státusz-visszacsatolás
4. rész E-számlázás (Peppol, UBL, NAV XML) és üzemeltetés Szabványos e-számla, XSD + Schematron validáció, hibakezelés és monitoring

Gyakori buktatók a kezdeti bevezetéskor

  • Hiányzó tag vs. Üres tag félreértése: Az abas EDP importban óriási különbség van a <wtermin/> (üres tag) és a tag hiánya között. Az üres tag kitörölheti az abasban alapértelmezetten felajánlott értéket (pl. a mai dátumot), míg a hiányzó tag esetén az abas saját belső logikája határozza meg a mező tartalmát.
  • Lokalizált számok az XML-ben: Ha a konverter vagy az exportáló modul véletlenül vesszőt használ tizedespont helyett (pl. 12,50), az EDP numerikus típusú mezője hibát jelez vagy nullának értelmezi a mennyiséget. Az XML szabványban a pont (.) az egyetlen megengedett tizedesjel.
  • Sémavalidáció elhagyása: Sokan közvetlenül az EDP-nek adják át a beérkező XML-t XSD előzetes ellenőrzés nélkül. Így a szintaktikai vagy struktúrahibák csak az abas tranzakció belsejében derülnek ki, nehezen debuggolható hibaüzeneteket eredményezve.
  • BOM (Byte Order Mark) jelenléte: Néhány Windows alapú szövegszerkesztő vagy middleware UTF-8 mentéskor láthatatlan BOM bájtokat szúr a fájl elejére, ami miatt az abas XML parser azonnal leáll "Content is not allowed in prolog" hibával.

Összefoglalás

Az abas ERP natív XML és EDP képességei rendkívül modern és skálázható integrációs alapot nyújtanak. A siker kulcsa az átlátható Vartab mezőszerkezet, a fegyelmezett UTF-8 és tizedespont-kezelés, valamint az XSD-alapú előzetes sémavalidáció.

A második részben a bejövő megrendelésekre fókuszálunk: bemutatjuk, hogyan alakítjuk át a cXML és UBL rendeléseket abas EDP-XML formátumra XSLT segítségével, és milyen FOP szabályokkal biztosítható az automatikus rendelésrögzítés.

Szeretné korszerűsíteni abas ERP rendszerének XML és B2B interfészeit? Kérjen szakértői ajánlatot, vagy ellenőrizze integrációs állományait weboldalunkon!