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
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).- 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. - 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:
- 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.
- 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/). - 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.
- 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:
- Üzenet érkezése: A partner által küldött EDIFACT ORDERS beérkezik az AS2 szerverre.
- Fordítás proALPHA XML-re: A middleware átfordítja a bejövő üzenetet a proALPHA pIW által elvárt XML sémára.
- 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.