← Cikkek · proALPHA és XML

proALPHA és XML 1. rész: Rendszerarchitektúra, pIW és a proALPHA XML adatmodell

Négyrészes sorozatunk első részében a proALPHA ERP integrációs környezetét, a proALPHA Integration Workbench (pIW) működését, a belső XML sémaszabályokat és az export/import csatornák felépítését mutatjuk be.

A közép-európai gépgyártásban, autóipari beszállítói szektorban és a diszkrét gyártóiparban a proALPHA ERP az egyik legelterjedtebb vállalatirányítási rendszer. Míg a nagyvállalati autóipari és ipari partnerek felé hagyományosan az EDIFACT és VDA szabványok jelentik az elvárást, a modern integrációkban, felhős beszállítói platformokon és hatósági kapcsolatokban az XML (Extensible Markup Language) vált az elsődleges interfész- és közvetítő formátummá. Négyrészes szakmai sorozatunkban részletesen bemutatjuk a proALPHA és az XML közötti kétirányú adatcserét, a belső adatmodellt, az integrációs munkaállomást (pIW), valamint a szabványos B2B folyamatok (ORDERS, DESADV, INVOIC, Peppol és NAV XML) megvalósítását.

Az első rész a műszaki és architekturális alapokat tárgyalja: hogyan épül fel a proALPHA belső integrációs környezete, miként strukturálódik a natív proALPHA XML, milyen karakterkódolási és adattípus-szabályokat kell betartanunk, és hogyan szervezhető meg a biztonságos export-import feldolgozási lánc.

A proALPHA integrációs technológiai háttere

A proALPHA ERP alapját a robusztus Progress OpenEdge adatbázis és ABL (Advanced Business Language) alkalmazás-kiszolgáló képezi. Az adatintegráció területén a rendszer két kulcsfontosságú komponenst biztosít:

  • proALPHA Integration Workbench (pIW): A rendszer beépített integrációs keretrendszere, amely felelős a bejövő és kimenő üzenetek definiálásáért, a mezőleképezésekért (field mapping), a feldolgozási állapotok naplózásáért, valamint a tranzakciós hibák kezeléséért.
  • proALPHA Integration Service (pIS) és Web Services: REST- és SOAP-alapú szolgáltatásréteg, amely lehetővé teszi a valós idejű (near real-time) szinkron vagy aszinkron kommunikációt külső integrációs szerverekkel (pl. SEEBURGER BIS, Lobster_data, Altova MapForce, vagy egyedi API átjárók).

A B2B folyamatokban a legelterjedtebb és legbiztonságosabb minta a fájlalapú és üzenetsoros XML csere: a proALPHA egy esemény hatására (pl. megrendelés jóváhagyása vagy szállítólevél könyvelése) kibocsátja a belső XML dokumentumot egy kijelölt átmeneti könyvtárba vagy üzenetsorba, ahonnan az integrációs konverter beolvassa, átalakítja szabványos EDIFACT vagy partner-specifikus formátumra, és AS2, OFTP2 vagy SFTP protokollon keresztül eljuttatja a partnerhez.

A proALPHA XML belső adatmodellje

A proALPHA által generált XML dokumentumok szigorú, hierarchikus szerkezetet követnek. Az üzleti bizonylatok (megrendelések, szállítólevelek, számlák) felépítése logikailag a következő fő szintekre tagozódik:

<?xml version="1.0" encoding="UTF-8"?>
<proalphaDocument type="SalesOrder" version="9.1" xmlns="http://www.proalpha.com/schemas/piw">
    <Header>
        <DocumentID>AU-2026-04192</DocumentID>
        <DocumentDate>2026-10-21</DocumentDate>
        <TargetDeliveryDate>2026-10-28</TargetDeliveryDate>
        <Status>Released</Status>
        <Currency>EUR</Currency>
        <Incoterms>
            <Term>DAP</Term>
            <Location>Gyoer</Location>
        </Incoterms>
        <Parties>
            <Party role="Customer">
                <proalphaID>K-10084</proalphaID>
                <GLN>5999876543210</GLN>
                <VATNumber>HU12345678</VATNumber>
                <Name>Autóipari Összeszerelő Zrt.</Name>
            </Party>
            <Party role="DeliveryAddress">
                <GLN>5999876543227</GLN>
                <City>Győr</City>
                <PostalCode>9027</PostalCode>
                <Street>Ipari Park utca 12.</Street>
            </Party>
        </Parties>
    </Header>
    <LineItems>
        <LineItem itemNo="10">
            <PartNumber>PA-55021</PartNumber>
            <CustomerPartNumber>CUST-88340-A</CustomerPartNumber>
            <GTIN>5991234567890</GTIN>
            <Description>Alumínium motorfelfüggesztő konzol</Description>
            <Quantity unit="PCE">250.000</Quantity>
            <UnitPrice>48.50</UnitPrice>
            <NetLineAmount>12125.00</NetLineAmount>
            <ConfirmedDeliveryDate>2026-10-28</ConfirmedDeliveryDate>
        </LineItem>
    </LineItems>
</proalphaDocument>

Kulcsfontosságú elemek a struktúrában

  1. DocumentID és hivatkozási kulcsok: A proALPHA belső bizonylatazonosítója (pl. AU-... az értékesítési rendelés, BE-... a beszerzés, LI-... a szállítólevél, RE-... a számla).
  2. Partnerszerepkörök (Parties / Party): Egy bizonylathoz több partnerkapcsolat tartozik (vevő, szállító, számlázási cím, szállítási cím, végfelhasználó). Mindegyiknél szerepel a belső proALPHA törzskód, a nemzetközi GLN (Global Location Number) és az adószám.
  3. Tételsorok (LineItems / LineItem): A tételek egyedi sorszámmal (itemNo), belső és vevői cikkszámmal, precíz mennyiséggel és mértékegységgel rendelkeznek.

Adattípusok, formátumok és szintaktikai szabályok

Az integrációs hibák leggyakoribb forrása a formátumbeli eltérés a proALPHA belső Progress mezői és a cél B2B XML/EDI szabványok között. Az alábbi szabályok betartása elengedhetetlen:

Adattípus proALPHA belső formátum B2B XML / EDIFACT elvárás Transzformációs megjegyzés
Dátum DD.MM.YYYY vagy YYYY-MM-DD ISO 8601: YYYY-MM-DD (EDIFACT: 102 kód) Időzóna nélkül célszerű tárolni a helyi naptári nap egyértelműsége miatt.
Tizedes számok Tizedespont (.), max. 3-4 tizedesjegy Szigorúan pont (.), ezres tagoló nélkül Soha ne kerüljön vessző (,) az XML tizedes értékekbe.
Mértékegységek Belső kódok (pl. Stk, kg, m) UN/ECE Rec 20 (PCE, KGM, MTR) A pIW-ben vagy a mapping rétegben keresztreferencia-táblával kell átfordítani.
Karakterkódolás Progress UTF-8 vagy ISO-8859-15 Szigorúan UTF-8 (BOM nélkül) A proALPHA adatbázis kódlapjának megfelelő konverzió biztosítása kötelező.

Triggerelési mechanizmusok és feldolgozási folyamat

Hogyan indul el az export és az import a proALPHA mindennapi működésében?

Kimenő (Outbound) ág:

  1. Eseményvezérelt export: A felhasználó lezár egy szállítólevelet vagy számlát. A proALPHA státuszváltási triggere (Event Trigger) elindítja a pIW export eljárást.
  2. XML generálás: A proALPHA ABL motor kigenerálja a strukturált XML-t a megadott séma alapján, és elhelyezi az integrációs könyvtárban (pl. /edi/outbound/).
  3. Mapping és továbbítás: Az integrációs middleware beolvassa a fájlt, elvégzi az EDIFACT leképezést (pl. DESADV D96A), és feladja az AS2 kommunikációs csatornára.
  4. Státusz visszajelzés: A sikeres feladás után a middleware egy nyugtázó fájllal vagy API hívással frissíti a proALPHA bizonylat integrációs státuszát (pl. „EDI elküldve”).

Bejövő (Inbound) ág:

  1. Üzenet érkezése: A partner által küldött EDIFACT ORDERS beérkezik az AS2 szerverre.
  2. Fordítás proALPHA XML-re: A middleware átfordítja a bejövő üzenetet a proALPHA pIW által elvárt XML sémára.
  3. pIW import és üzleti validáció: A proALPHA pIW beolvassa a fájlt. Kiemelten fontos, hogy nem közvetlen adatbázis-rekordokat szúr be, hanem a proALPHA üzleti logikáját (árképzés, cikkérvényesség, vevői hitelkeret) lefuttatva, tranzakció-biztos módon hozza létre a megrendelést.

Sorozatunk következő, 2. részében a kereskedelmi megrendelések és visszaigazolások (ORDERS / ORDRSP) gyakorlati megvalósítását tekintjük át, beleértve a cikkszám-keresztreferenciákat, az árvizsgálatot és az eltérések kezelését.