SAP (ABAP)

Vollständige Einrichtung der ABAP-basierten SAP-Anbindung an Bilendo.

Version: 2.2 · Stand: 2026 · Zielgruppe: SAP Consultant / ABAP-Entwickler


Zweck

Dieses Dokument beschreibt die vollständige Einrichtung der Bilendo SAP Integration. Am Ende ist ein SAP-System in der Lage, Stamm- und Bewegungsdaten automatisiert an Bilendo zu übertragen und ausgewählte Felder (Mahnstufe, Kreditlimit, etc.) aus Bilendo zurückzuschreiben.

Inhaltsverzeichnis

Nr.DokumentInhalt
0000 - ÜbersichtDiese Seite – Überblick, Architekturdiagramm, Checkliste
0101 - Architektur & DatenflussSystemlandschaft, Datenfluss, Verantwortlichkeiten
0202 - DDIC StrukturenStrukturen ZFI_S_BILENDO_BSEG, ZFI_S_BILENDO_KNA1, Tabellentypen
0303 - Assist-KlasseVollständiger Code ZCL_FI_BILENDO_ASSIST_V2 (Definition + Implementierung)
0404 - Extractor ReportReport ZFI_BILENDO_EXPORT_V2 – Datenextraktion aus SAP
0505 - Re-Integrate ReportReport ZFI_BILENDO_IMPORT_V2 – Feldrückschreibung in SAP
0606 - DatenspezifikationFelddefinitionen, Pflichtfelder, Formate, Clearing-Logik
0707 - Varianten & Job-PlanungSelektionsvarianten, dynamische Datumsfelder, SM36-Scheduling
0808 - DatentransportSFTP-Konfiguration, Dateinamen, Monitoring
0909 - Re-Integration FelderRückschreibung von Mahnstufe, Kreditlimit, Rating etc. nach SAP
1010 - Transport & InstallationTransportauftrag, abapGit, manuelle Installation, Post-Installation

Architekturdiagramm

flowchart TB
    subgraph SAP ["SAP ERP (FI-AR + optional SD)"]
        direction TB
        KNA1["KNA1 / KNB1\nKundenstamm"]
        BSID["BSID\nOffene Posten"]
        BSAD["BSAD\nAusgeglichene Posten"]
        VBAK["VBAK / VBAP\nAufträge (Sales Orders)"]
        STRUCT["DDIC-Strukturen\n• ZFI_S_BILENDO_BSEG\n• ZFI_S_BILENDO_KNA1\n• ZFI_S_BILENDO_VBAK"]
        CLASS["ZCL_FI_BILENDO_ASSIST_V2\nAssist-Klasse"]
        EXP["ZFI_BILENDO_EXPORT_V2\nExtractor-Report"]
        IMP["ZFI_BILENDO_IMPORT_V2\nRe-Integrate Report"]
        APPSERV["SAP Applikationsserver\n/usr/sap/.../Bilendo_OUT/\n/usr/sap/.../Bilendo_IN/"]
    end

    subgraph TRANSFER ["Datentransport"]
        SFTP["SFTP / SAP CPI\nSeeburger / Lobster"]
    end

    subgraph BILENDO ["Bilendo Plattform"]
        direction TB
        IMPORT["Daten-Import\n(automatisch)"]
        PLATFORM["Bilendo Core\nReceivables · Risk · Insights"]
        EXPORT["Daten-Export\n(Rückschreibung)"]
    end

    KNA1 --> CLASS
    BSID --> CLASS
    BSAD --> CLASS
    VBAK --> CLASS
    STRUCT -.-> CLASS
    CLASS --> EXP
    EXP -->|"TXT-Dateien\n(Customers, Open, Cleared, Orders)"| APPSERV

    APPSERV -->|"Upload"| SFTP
    SFTP -->|"Dateien abholen"| IMPORT
    IMPORT --> PLATFORM

    PLATFORM --> EXPORT
    EXPORT -->|"CSV-Dateien\n(Limits, Rating, Mahnstufe)"| SFTP
    SFTP -->|"Download"| APPSERV
    APPSERV --> IMP
    IMP -->|"BAPI / BDC"| SAP

    style SAP fill:#e8f4f8,stroke:#2980b9,stroke-width:2px
    style BILENDO fill:#e8f8e8,stroke:#27ae60,stroke-width:2px
    style TRANSFER fill:#fef9e7,stroke:#f39c12,stroke-width:2px

Datenfluss im Detail

sequenceDiagram
    participant SM36 as SM36 Job Scheduler
    participant EXP as ZFI_BILENDO_EXPORT_V2
    participant ASSIST as ZCL_FI_BILENDO_ASSIST_V2
    participant FS as Applikationsserver
    participant SFTP as SFTP
    participant BIL as Bilendo

    SM36->>EXP: Täglicher Job (z. B. 03:00)
    activate EXP

    loop Je Buchungskreis (T001)
        EXP->>ASSIST: set_bukrs(bukrs)
        EXP->>ASSIST: get_kna1()
        ASSIST-->>EXP: at_kna1 (Stammdaten)
        EXP->>ASSIST: kna1_file_to_server()
        ASSIST->>FS: CC_Customers_..._V2.txt

        EXP->>ASSIST: get_bsid()
        ASSIST-->>EXP: at_bsid (Offene Posten)
        EXP->>ASSIST: get_additional()
        EXP->>ASSIST: bseg_file_to_server()
        ASSIST->>FS: CC_open_..._V2.txt

        EXP->>ASSIST: get_bsad()
        ASSIST-->>EXP: at_bsad (Ausgeglichene Posten)
        EXP->>ASSIST: get_additional()
        EXP->>ASSIST: bseg_file_to_server()
        ASSIST->>FS: CC_cleared_..._V2.txt

        EXP->>ASSIST: get_orders()
        ASSIST-->>EXP: at_orders (Aufträge)
        EXP->>ASSIST: orders_file_to_server()
        ASSIST->>FS: CC_orders_..._V2.txt
    end

    deactivate EXP
    FS->>SFTP: Dateitransfer (CPI/Seeburger/Lobster)
    SFTP->>BIL: Dateien einlesen
    BIL-->>BIL: Import & Verarbeitung

ABAP-Objekte (Übersicht)

ObjektTypAbhängig vonAnlegen in
ZFI_S_BILENDO_BSEGDDIC-StrukturSE11
ZFI_S_BILENDO_KNA1DDIC-StrukturSE11
ZFI_S_BILENDO_VBAKDDIC-StrukturSE11
ZFI_T_BILENDO_BSEGTabellentypZFI_S_BILENDO_BSEGSE11
ZFI_T_BILENDO_KNA1TabellentypZFI_S_BILENDO_KNA1SE11
ZFI_T_BILENDO_VBAKTabellentypZFI_S_BILENDO_VBAKSE11
ZFI_ADR6TabellentypADR6SE11
ZCL_FI_BILENDO_ASSIST_V2KlasseStrukturen + TabellentypenSE24
ZFI_BILENDO_EXPORT_V2ReportKlasseSE38
ZFI_BILENDO_EXPORT_V2_D01IncludeSE38
ZFI_BILENDO_EXPORT_V2_F01IncludeSE38
ZFI_BILENDO_IMPORT_V2ReportKlasseSE38
ZFI_BILENDO_IMPORT_F01IncludeSE38

Reihenfolge: Strukturen → Tabellentypen → Klasse → Reports


Installationscheckliste

PHASE 1: DDIC-Objekte (→ Dok 02)
[ ] ZFI_S_BILENDO_BSEG   – Struktur angelegt und aktiviert
[ ] ZFI_S_BILENDO_KNA1   – Struktur angelegt und aktiviert
[ ] ZFI_S_BILENDO_VBAK   – Struktur angelegt und aktiviert
[ ] ZFI_T_BILENDO_BSEG   – Tabellentyp angelegt
[ ] ZFI_T_BILENDO_KNA1   – Tabellentyp angelegt
[ ] ZFI_T_BILENDO_VBAK   – Tabellentyp angelegt
[ ] ZFI_ADR6             – Tabellentyp angelegt (für E-Mail-Adressen)

PHASE 2: Klasse (→ Dok 03)
[ ] ZCL_FI_BILENDO_ASSIST_V2 – Definition angelegt
[ ] ZCL_FI_BILENDO_ASSIST_V2 – Implementierung aller Methoden (inkl. Delta-Methoden)

PHASE 3: Extractor (→ Dok 04)
[ ] ZFI_BILENDO_EXPORT_V2     – Hauptreport
[ ] ZFI_BILENDO_EXPORT_V2_D01 – D01-Include (Pfade + System-IDs anpassen!)
[ ] ZFI_BILENDO_EXPORT_V2_F01 – F01-Include

PHASE 4: Re-Integrate (→ Dok 05, optional)
[ ] ZFI_BILENDO_IMPORT_V2  – Import-Report
[ ] ZFI_BILENDO_IMPORT_F01 – Import-Include

PHASE 5: Konfiguration (→ Dok 07, 08)
[ ] Verzeichnisse auf Applikationsserver angelegt (DEV/QA/PRD)
[ ] Selektionsvariante mit dynamischen Datumsfeldern
[ ] Job in SM36 angelegt, freigegeben, Periodizität gesetzt

PHASE 6: Datentransport (→ Dok 08)
[ ] SFTP-Zugang von Bilendo erhalten (Host, Port, User, Key)
[ ] Middleware konfiguriert (CPI / Seeburger / Lobster / CLI)
[ ] Testdateien übertragen und von Bilendo bestätigt

PHASE 7: Abnahme
[ ] Testlauf DEV: Dateien auf Applikationsserver sichtbar
[ ] Testlauf QA: Daten in Bilendo-Staging sichtbar
[ ] Go-Live PRD: Automatischer täglicher Lauf bestätigt

Kontakt & Copyright

ABAP-Codebase: Dokumentation: Bilendo GmbH