List of Services
These standard formats are available for lists of services: SAP IDoc BOMMAT07 as the output file (default) and GAEB DA XML X94, which your system can have generated through the API. You can also retrieve header data, positions and suggested articles as JSON through the Document API. Workist builds your own layouts in JSON, CSV, TXT or XLSX on request, e.g. with one row per suggested article, see Custom formats on request.
SAP IDoc BOMMAT07
File extension: .xml
File name: BOM_<IDoc number>.xml
The default format for lists of services: an SAP bill-of-materials IDoc (basic type BOMMAT07). Workist writes a BOM header and, for every article of a relevant position, a BOM item with text. Workist leaves out pre-texts, positions marked as not relevant and positions without an article number.
The format has a fixed structure. Your channel's field selection does not change it.
Full example
In the example the list of services has a pre-text, two relevant positions and one position that is not relevant. Only the two relevant positions appear.
<?xml version="1.0" encoding="utf-8"?>
<BOMMAT07>
<IDOC BEGIN="1">
<EDI_DC40 SEGMENT="1">
<TABNAM>EDI_DC40</TABNAM>
<MANDT>050</MANDT>
<DOCNUM>0000000000004711</DOCNUM>
<STATUS>30</STATUS>
<DIRECT>1</DIRECT>
<OUTMOD>2</OUTMOD>
<IDOCTYP>BOMMAT07</IDOCTYP>
<MESTYP>BOMMAT</MESTYP>
<STD>0</STD>
<STDMES>BOMMAT</STDMES>
<SNDPOR>SAPC11</SNDPOR>
<SNDPRT>LS</SNDPRT>
<SNDPRN>WORKIST</SNDPRN>
<RCVPOR>XML_WKI</RCVPOR>
<RCVPRT>LS</RCVPRT>
<RCVPRN>WORKIST</RCVPRN>
<CREDAT>20250315</CREDAT>
<CRETIM>143025</CRETIM>
</EDI_DC40>
<E1CSUMHDR SEGMENT="1">
<MATNR>OBJ-2025-17</MATNR>
<WERKS>CUST-12345</WERKS>
<STLAL>01</STLAL>
<STLNR>0000000001</STLNR>
<STLAN>1</STLAN>
<STLST>01</STLST>
<BASEQ />
<BASEU />
<DATUV />
<DATUB />
<BOM_STATUS>1</BOM_STATUS>
<AUTH_GROUP>0001</AUTH_GROUP>
<CHANGE_NO>0000000000001</CHANGE_NO>
<ITEM_CAT>L</ITEM_CAT>
</E1CSUMHDR>
<E1STPOM SEGMENT="1">
<POSNR>01.01.0010</POSNR>
<IDNRK>ART-001-A</IDNRK>
<MENGE>12</MENGE>
<MEINS>Stk</MEINS>
<SORTF>0001</SORTF>
<POSTP>L</POSTP>
<DATUV />
<DATUB />
</E1STPOM>
<E1STKOM SEGMENT="1">
<IDNRK>ART-001-A</IDNRK>
<POSNR>01.01.0010</POSNR>
<TEXT1>Industrial Sensor Module Type A</TEXT1>
<POSTP>L</POSTP>
<ALPGR>01</ALPGR>
<SORTF>0001</SORTF>
</E1STKOM>
<E1STPOM SEGMENT="1">
<POSNR>01.01.0020</POSNR>
<IDNRK>ART-002-B</IDNRK>
<MENGE>250</MENGE>
<MEINS>m</MEINS>
<SORTF>0001</SORTF>
<POSTP>L</POSTP>
<DATUV />
<DATUB />
</E1STPOM>
<E1STKOM SEGMENT="1">
<IDNRK>ART-002-B</IDNRK>
<POSNR>01.01.0020</POSNR>
<TEXT1>Cable duct 60x40</TEXT1>
<POSTP>L</POSTP>
<ALPGR>01</ALPGR>
<SORTF>0001</SORTF>
</E1STKOM>
</IDOC>
</BOMMAT07>
Segments
| Element | Content |
|---|---|
EDI_DC40 | Control record. Fixed: TABNAM, MANDT (050), STATUS (30), DIRECT (1), OUTMOD (2), IDOCTYP (BOMMAT07), MESTYP and STDMES (BOMMAT), STD (0), SNDPOR (SAPC11), SNDPRT (LS), SNDPRN (WORKIST). DOCNUM = sequential 16-digit IDoc number, CREDAT/CRETIM = creation time (UTC). Workist sets RCVPOR, RCVPRT and RCVPRN for you (defaults XML_WKI, LS, WORKIST). |
E1CSUMHDR | BOM header: MATNR = object number of the list of services, WERKS = customer number. Fixed: STLAL (01), STLNR, STLAN (1), STLST (01), BOM_STATUS (1), AUTH_GROUP (0001), CHANGE_NO, ITEM_CAT (L). BASEQ, BASEU, DATUV and DATUB stay empty. |
E1STPOM | One BOM item per article of a relevant position: POSNR = position number from the list of services, IDNRK = article number (max. 35 characters), MENGE = quantity (max. 10 characters), MEINS = unit of measure. Fixed: SORTF (0001), POSTP (L); DATUV and DATUB stay empty. |
E1STKOM | Text for the BOM item: IDNRK and POSNR as above, TEXT1 = article description. Fixed: POSTP (L), ALPGR (01), SORTF (0001). |
Settings
Workist sets these values during setup to match your SAP system. Longer values are cut off.
| Field | Default | Max. characters |
|---|---|---|
RCVPOR | XML_WKI | 10 |
RCVPRT | LS | 2 |
RCVPRN | WORKIST | 10 |
GAEB DA XML X94
File extension: .xml
If the list of services arrived as a GAEB X83 file (GAEB DA XML 3.3), your system can have Workist generate a quote in X94 format through the Workist API. See the Document API for how to call it.
How it works:
- For every position it wants to quote, your system sends the position's GAEB ID and your quote data: article number, position type (normal, alternative or contingency position), quantity, unit, net price, quote price, price basis and billing unit, VAT, EAN and long text.
- It also sends your supplier data: supplier number, address, tax number and registration number.
- Workist builds an X94 file from the original X83 file and your data, validates it against the GAEB schema and returns it.
Workist rejects the request if a GAEB ID does not belong to any position of the list of services, if the list of services did not arrive as an X83 file, or if the generated X94 file does not conform to the schema.