Re-Integration Felder
Rückschreibung von Mahnstufe, Kreditlimit und Rating zurück nach SAP.
Übersicht
Die Rückintegration schreibt von Bilendo berechnete oder gepflegte Feldwerte zurück in SAP-Stamm- und Bewegungsdaten. Der Report ZFI_BILENDO_IMPORT_V2 (→ 05 - Re-Integrate Report) liest die von Bilendo bereitgestellten CSV-Dateien ein und nutzt die Methoden der Assist-Klasse (→ 03 - Assist-Klasse) zur Verbuchung.
Rückschreibe-Dateien
| Datei | Inhalt | SAP-Zieltabellen | Methode in Klasse |
|---|---|---|---|
bilendo_credit_informations | Bonitätsrating + Datum | KNKA (Feld DBRTG, Datumssicherung) | credit_limit_change() |
bilendo_credit_limits | Kreditlimit + Risikokategorie | KNB5/KNKK (KLIMK, CTLPC) | credit_limit_change() |
bilendo_securities | Versichertes Obligo | KNKA (VLIBB) | credit_limit_change() |
bilendo_customers | Debitorenstammänderungen | KNB1 (MANSP, MADAT), KNKA (VLIBB) | customer_change() |
bilendo_journal_entries | Belegfeld-Änderungen | BSEG (MANST, MANSP, MADAT) | doc_change() |
Feldmapping im Detail
1. Kreditlimit & Risikokategorie
Datei: bilendo_credit_limits
| CSV-Feld | SAP-Feld | SAP-Tabelle | Beschreibung |
|---|---|---|---|
| BUKRS | BUKRS | – | Buchungskreis (Identifikation) |
| KUNNR | KUNNR | – | Debitorennummer (Identifikation) |
| KLIMK | KLIMK | KNB5 / KNKK | Kreditlimit |
| CTLPC | CTLPC | KNKK | Risikokategorie (z. B. AAA, BBB) |
Methode: credit_limit_change()
SAP-Technik: Die Methode nutzt den BAPI BAPI_CREDITACCOUNT_SETLIMIT oder direkten Tabellenzugriff (je nach Implementation) zur Änderung des Kreditlimits. Bei Fehlern wird eine E-Mail via send_email() versendet.
2. Bonitätsrating
Datei: bilendo_credit_informations
| CSV-Feld | SAP-Feld | SAP-Tabelle | Beschreibung |
|---|---|---|---|
| BUKRS | BUKRS | – | Buchungskreis |
| KUNNR | KUNNR | – | Debitorennummer |
| DBRTG | DBRTG | KNKA | Bonitätsrating (z. B. 001, 002, A1) |
| DATE | – | – | Datum der Rating-Ermittlung |
Methode: credit_limit_change() (gleiche Methode wie für Kreditlimit)
3. Versichertes Obligo
Datei: bilendo_securities
| CSV-Feld | SAP-Feld | SAP-Tabelle | Beschreibung |
|---|---|---|---|
| BUKRS | BUKRS | – | Buchungskreis |
| KUNNR | KUNNR | – | Debitorennummer |
| VLIBB | VLIBB | KNKA | Versichertes Obligo (Betrag) |
Methode: credit_limit_change() (gebündelt mit Kreditlimit und Rating)
4. Debitorenstamm-Änderungen
Datei: bilendo_customers
| CSV-Feld | SAP-Feld | SAP-Tabelle | Beschreibung |
|---|---|---|---|
| BUKRS | BUKRS | – | Buchungskreis |
| KUNNR | KUNNR | – | Debitorennummer |
| MAHNS | MAHNS_D | KNB1 | Mahnstufe (auf Debitorenebene) |
| MANSP | MANSP | KNB1 | Mahnsperre |
| MADAT | MADAT | KNB1 | Datum der letzten Mahnung |
| VLIBB | VLIBB | KNKA | Versichertes Obligo |
Methode: customer_change()
SAP-Technik: Die Methode verwendet BAPI-Aufrufe oder direkte Tabellenänderungen auf KNB1/KNKA. Bei Fehlern in der Verbuchung wird eine E-Mail via send_email() versendet.
Typische Szenarien:
| Szenario | Bilendo-Aktion | SAP-Rückschreibung |
|---|---|---|
| Automatischer Mahnlauf | Bilendo erhöht Mahnstufe auf 3 | MAHNS = 3, MADAT = heute |
| Manuelle Mahnsperre | Sachbearbeiter setzt Sperre in Bilendo | MANSP = 'A' |
| Mahnsperre aufheben | Sachbearbeiter hebt Sperre auf | MANSP = ' ' (leer) |
| Versicherungslimit geändert | Risk-Modul aktualisiert Obligo | VLIBB = 50000.00 |
5. Beleg-Änderungen (Journal Entries)
Datei: bilendo_journal_entries
| CSV-Feld | SAP-Feld | SAP-Tabelle | Beschreibung |
|---|---|---|---|
| BUKRS | BUKRS | – | Buchungskreis |
| BELNR | BELNR | – | Belegnummer (Identifikation) |
| GJAHR | GJAHR | – | Geschäftsjahr (Identifikation) |
| BUZEI | BUZEI | – | Positionsnummer (Identifikation) |
| MANST | MAHNS_D | BSEG | Mahnstufe (auf Belegebene) |
| MANSP | MANSP | BSEG | Mahnsperre (auf Belegebene) |
| MADAT | MADAT | BSEG | Datum der letzten Mahnung (auf Belegebene) |
Methode: doc_change()
SAP-Technik: Die Methode ändert einzelne Felder auf Belegpositionsebene (BSEG). Dies ist technisch aufwändiger als Stammdatenänderungen, da BSEG-Felder in SAP normalerweise über Belegänderungsbelege (CDHDR/CDPOS) geändert werden.
Identifikation: Die Kombination BUKRS + BELNR + GJAHR + BUZEI identifiziert eine Belegposition eindeutig.
Verarbeitungsreihenfolge
Die Reihenfolge der Methoden im Import-Report ist relevant:
1. credit_limit_change() → Kreditlimit, Risikokategorie, Rating, Vers. Obligo
2. customer_change() → Mahnstufe/-sperre/-datum auf Debitorenebene
3. doc_change() → Mahnstufe/-sperre/-datum auf Belegebene
4. delete_files() → Bereinigung (optional)Reihenfolge beachten: Stammdaten sollten vor Bewegungsdaten geschrieben werden, da Belegänderungen ggf. auf geänderten Stammdaten aufbauen.
Fehlerbehandlung
E-Mail-Benachrichtigung
Bei Fehlern in der Rückschreibung versendet die Klasse automatisch eine E-Mail über die Methode send_email(). Dies geschieht bei:
| Fehlertyp | Auslöser |
|---|---|
| BAPI-Fehler | credit_limit_change() → BAPI-Return enthält Error |
| Commit-Fehler | customer_change() → BAPI_TRANSACTION_COMMIT schlägt fehl |
| Sperrfehler | Debitor oder Beleg ist gesperrt |
| Datenfehler | KUNNR oder BELNR existiert nicht in SAP |
Empfehlung: Logging-Tabelle
Für eine produktive Umgebung wird empfohlen, eine Z-Logging-Tabelle zu implementieren, die jeden Rückschreibe-Vorgang mit Status (Erfolg/Fehler), Zeitstempel und Fehlermeldung protokolliert. Dies ist in v2.1 nicht enthalten und müsste als Erweiterung umgesetzt werden.
SAP-Berechtigungen für Rückschreibung
| Berechtigungsobjekt | Aktivität | Beschreibung |
|---|---|---|
| F_KNA1_BED | 02 (Ändern) | Debitorenstamm ändern (Mahnstufe, Mahnsperre) |
| F_KNB1_BED | 02 (Ändern) | Debitorenstamm je Buchungskreis ändern |
| F_KNKA_BED | 02 (Ändern) | Kreditmanagement-Daten ändern |
| F_KNB5_BED | 02 (Ändern) | Kreditlimit ändern |
| F_BKPF_BUK | 02 (Ändern) | Buchhaltungsbelege ändern (für doc_change) |
| S_DATASET | Lesen + Löschen | Dateizugriff für CSV-Import und -Bereinigung |
Der SM36-Jobbenutzer (z. B. ein technischer Dialogbenutzer oder BTCUSR) muss alle oben genannten Berechtigungen haben.
CSV-Dateiformat (Import)
Die Rückschreibe-Dateien von Bilendo folgen diesem Format:
| Eigenschaft | Wert |
|---|---|
| Format | CSV (Comma-Separated Values) |
| Trennzeichen | , (Komma) oder ; (Semikolon) – je nach Konfiguration |
| Zeichenkodierung | UTF-8 |
| Header | Erste Zeile = Feldnamen |
Beispiel bilendo_credit_limits:
BUKRS,KUNNR,KLIMK,CTLPC
1001,10000001,50000.00,AAA
1001,10000002,25000.00,BBB
2001,10000001,75000.00,AAABeispiel bilendo_journal_entries:
BUKRS,BELNR,GJAHR,BUZEI,MANST,MANSP,MADAT
1001,0100000001,2025,001,3,,20250401
1001,0100000002,2025,001,2,A,20250315