# SAP S/4HANA (On-Premise und Private Edition)

> Wie ein SAP S/4HANA im eigenen Rechenzentrum oder als Private Edition Seriennummern an BatteryPass übergibt.

> [!NOTE]
> Diese Seite beschreibt ein Integrationsmuster. BatteryPass liefert keinen Konnektor für SAP S/4HANA und hat keine
> Partnerschaft mit SAP; nichts hier ist eine Freigabe des Herstellers.

Die `OP_`-APIs des SAP Business Accelerator Hub entsprechen den Cloud-APIs: `OP_API_MATERIALSERIALNUMBER_0001` für
Seriennummern, `OP_API_BATCH_SRV_0001` für Chargen und `OP_API_PRODUCTION_ORDER_2_SRV_0001` für Fertigungsaufträge.
Die Middleware erreicht das System meist über den SAP Cloud Connector oder ein Reverse Proxy im Werksnetz; das
SAP-System selbst ist nie aus dem Internet erreichbar. Mit BatteryPass spricht nur die Middleware, mit ihrem eigenen
Schlüssel.

Für [Einheiten aus der Fertigung](https://passport.kabin.sh/docs/de/integrations/workflows/units-from-production) liest die Middleware die
Seriennummern einer Charge und schreibt eine Datei mit dem Preset `sap-serial-numbers` (Materialnummer, Seriennummer,
Buchungsdatum des Wareneingangs). Es setzt voraus, dass die Modellkennung in BatteryPass die SAP-Materialnummer ist.

Änderungen am Materialstamm kommen als `MATMAS`-IDocs über ALE-Änderungszeiger oder als RAP-Geschäftsereignisse über
SAP Event Mesh. `SERDAT` ist die ALE-Nachricht zur Serialisierung und keine Seriennummern-IDoc: Seriennummern kommen
über die OData-APIs. Pass-Links fließen zurück wie im [Ablauf für Pass-Links](https://passport.kabin.sh/docs/de/integrations/workflows/passport-links-to-erp).

## Schnittstellen und Prüfstand

- **Hersteller:** SAP
- **On-Premise:** On-premise and Private Edition with the OP\_ APIs of the SAP Business Accelerator Hub

Die OP\_-APIs entsprechen den Cloud-APIs; die Middleware erreicht das System meist über den SAP Cloud Connector oder ein Reverse Proxy im Werksnetz, nie direkt aus dem Internet.

Integrationsmuster, kein Konnektor: BatteryPass liefert keine ERP-Anbindung und ist bei keinem Hersteller zertifiziert.

| Schnittstelle                                                                                                                    | Protokoll | Anmeldung                                      | Ereignisse                           | Objekte                                   | Prüfstand                                          |
| -------------------------------------------------------------------------------------------------------------------------------- | --------- | ---------------------------------------------- | ------------------------------------ | ----------------------------------------- | -------------------------------------------------- |
| [`OP_API_PRODUCT_SRV_0001`](https://api.sap.com/api/OP_API_PRODUCT_SRV_0001/overview) (Produktstamm)                             | OData V2  | Basic Auth, X.509-Zertifikat                   | keine                                | Produkt-/Materialstamm                    | geprüft in der Herstellerdokumentation, 24.10.2026 |
| [`OP_API_MATERIALSERIALNUMBER_0001`](https://api.sap.com/api/OP_API_MATERIALSERIALNUMBER_0001/overview) (Serialnummern)          | OData V4  | Basic Auth, X.509-Zertifikat                   | keine                                | Charge/Seriennummer                       | geprüft in der Herstellerdokumentation, 24.10.2026 |
| [`OP_API_BATCH_SRV_0001`](https://api.sap.com/api/OP_API_BATCH_SRV_0001/overview) (Chargen)                                      | OData V2  | Basic Auth, X.509-Zertifikat                   | keine                                | Charge/Seriennummer                       | geprüft in der Herstellerdokumentation, 24.10.2026 |
| [`OP_API_PRODUCTION_ORDER_2_SRV_0001`](https://api.sap.com/api/OP_API_PRODUCTION_ORDER_2_SRV_0001/overview) (Fertigungsaufträge) | OData V2  | Basic Auth, X.509-Zertifikat                   | keine                                | Fertigungsauftrag                         | geprüft in der Herstellerdokumentation, 24.10.2026 |
| [`OP_CUSTOMERRETURN_0001`](https://api.sap.com/api/OP_CUSTOMERRETURN_0001/overview) (Kundenretouren)                             | OData V4  | Basic Auth, X.509-Zertifikat                   | keine                                | Retoure                                   | geprüft in der Herstellerdokumentation, 24.10.2026 |
| `MATMAS` (IDoc für den Materialstamm)                                                                                            | IDoc      | Basic Auth, X.509-Zertifikat                   | Geschäftsereignisse (nicht signiert) | Produkt-/Materialstamm                    | geprüft in der Herstellerdokumentation, 24.10.2026 |
| `RAP business events` (Geschäftsereignisse des RAP-Modells)                                                                      | REST      | OAuth 2.0 Client Credentials, X.509-Zertifikat | Geschäftsereignisse (nicht signiert) | Produkt-/Materialstamm, Fertigungsauftrag | geprüft in der Herstellerdokumentation, 24.10.2026 |

**Hinweise**

- `MATMAS`: SERDAT ist die ALE-Nachricht zur Serialisierung und keine Seriennummern-IDoc; Seriennummern kommen über die OData-APIs. Die ALE-Verteilung sendet MATMAS über Änderungszeiger, sobald sich ein Material ändert.
- `RAP business events`: Über SAP Event Mesh oder Advanced Event Mesh; schlanke Ereignisse, die Daten liest die Middleware danach.

**Importvorlagen (Presets): SAP-Serialnummernliste** (`sap-serial-numbers`): Eine Liste der Serialnummern aus SAP S/4HANA, wie sie eine Middleware aus der Serialnummern-API oder dem Wareneingang aus der Fertigung zusammenstellt. Setzt voraus, dass die Modellkennung des Batteriemodells in BatteryPass die SAP-Materialnummer ist. Das Buchungsdatum des Wareneingangs steht für das Herstelldatum; das Werk bleibt ungemappt (die Produktionsstätte wählen Sie in den Importoptionen).

| Spalte im Export                                   | Feld in BatteryPass                                   |
| -------------------------------------------------- | ----------------------------------------------------- |
| `Material` (auch Product, Materialnummer, Produkt) | Modellkennung / SKU `identification.model_identifier` |
| `SerialNumber` (auch Serial Number, Serialnummer)  | Seriennummer `identification.serial_number`           |
| `PostingDate` (auch Posting Date, Buchungsdatum)   | Herstellungsdatum `identification.manufacturing_date` |

**Importvorlagen (Presets): Allgemeine CSV-Datei** (`generic-csv`): Für jedes ERP und für Dateien, die eine Middleware selbst schreibt: GTIN, Seriennummer, Herstelldatum, Produktionsstätte (Name oder GLN), Modellversion und Batteriestatus, mit deutschen und englischen Spaltennamen.

| Spalte im Export                                              | Feld in BatteryPass                                   |
| ------------------------------------------------------------- | ----------------------------------------------------- |
| `GTIN` (auch EAN, GTIN-13, GTIN-14)                           | GTIN (GS1) `identification.gtin`                      |
| `Serial number` (auch Seriennummer, serial_number)            | Seriennummer `identification.serial_number`           |
| `Manufacturing date` (auch Herstelldatum, manufacturing_date) | Herstellungsdatum `identification.manufacturing_date` |
| `Facility` (auch Produktionsstätte, Facility GLN, Werk-GLN)   | Herstellungsort `identification.manufacturing_place`  |
| `Model version` (auch Modellversion, model_version)           | Modellversion `model_version`                         |
| `Battery status` (auch Batteriestatus, battery_status)        | Batteriestatus `identification.battery_status`        |

## Abläufe

- [Einheiten aus der Fertigung](https://passport.kabin.sh/docs/de/integrations/workflows/units-from-production.md): Seriennummern aus Fertigungsrückmeldung oder Wareneingang werden als Import bereitgestellt; Mitglieder prüfen, übernehmen und geben frei, bevor ein Pass erscheint. Scopes des Schlüssels: import
- [Pass-Links zurück ins ERP](https://passport.kabin.sh/docs/de/integrations/workflows/passport-links-to-erp.md): Die Middleware folgt dem Änderungsfeed und schreibt den GS1 Digital Link und den Passstatus an den Seriennummernsatz im ERP, damit Etiketten und Lieferpapiere ihn tragen. Scopes des Schlüssels: read
- [Zustandsdaten aus BMS und Service](https://passport.kabin.sh/docs/de/integrations/workflows/condition-from-bms.md): Ein Batteriemanagementsystem oder ein Servicewerkzeug meldet Messwerte wie Kapazitätsverlust oder Zyklen; BatteryPass übernimmt neuere Messungen und veröffentlicht nach der Richtlinie der Organisation. Scopes des Schlüssels: read, condition
- [Rücksendungen und Reparaturen als Lebenszyklus-Ereignisse](https://passport.kabin.sh/docs/de/integrations/workflows/returns-and-repairs.md): Abgeschlossene Reparaturen, Prüfungen und Komponententausche aus Service- oder Retourenaufträgen erscheinen als Ereignisse in der Historie der Einheit. Scopes des Schlüssels: read, condition
- [Produktänderung führt zu neuer Modellversion](https://passport.kabin.sh/docs/de/integrations/workflows/product-change.md): Eine Änderung am Produktstamm im ERP löst eine Benachrichtigung aus; ein Mitglied legt in BatteryPass eine neue Modellversion an. Deklarierte Daten werden nie automatisch geschrieben. Scopes des Schlüssels: read
