Transport & Installation
Transportauftrag, abapGit, manuelle Installation und Post-Installation.
10 – Transport & Installation
Überblick
Die Installation aller Bilendo ABAP-Objekte in das SAP-System erfolgt über zwei Mechanismen. Da Bilendo keine eigenen SAP-Systeme betreibt, können keine SAP-Transportdateien (.data/.cofile) bereitgestellt werden. Stattdessen wird der Quellcode über ein abapGit-Repository oder als manuelle Anleitung bereitgestellt.
| Methode | Voraussetzung | Zeitaufwand | Empfehlung |
|---|---|---|---|
| abapGit | abapGit im SAP-System installiert | 15–30 Minuten | Empfohlen |
| Manuelle Installation | SE11 / SE24 / SE38 Zugriff | 2–4 Stunden | Fallback |
Dieses Kapitel richtet sich an SAP Consultants und Basis-Administratoren.
Objekt-Katalog
Alle zu installierenden ABAP-Objekte:
| Objekt | Typ | Transaktion | Abhängig von |
|---|---|---|---|
ZFI_S_BILENDO_BSEG | DDIC-Struktur | SE11 | – |
ZFI_S_BILENDO_KNA1 | DDIC-Struktur | SE11 | – |
ZFI_S_BILENDO_VBAK | DDIC-Struktur | SE11 | – |
ZFI_T_BILENDO_BSEG | Tabellentyp | SE11 | ZFI_S_BILENDO_BSEG |
ZFI_T_BILENDO_KNA1 | Tabellentyp | SE11 | ZFI_S_BILENDO_KNA1 |
ZFI_T_BILENDO_VBAK | Tabellentyp | SE11 | ZFI_S_BILENDO_VBAK |
ZFI_ADR6 | Tabellentyp | SE11 | ADR6 (SAP Standard) |
ZCL_FI_BILENDO_ASSIST_V2 | Klasse | SE24 | Alle Strukturen + Tabellentypen |
ZFI_BILENDO_EXPORT_V2 | Report | SE38 | Klasse |
ZFI_BILENDO_EXPORT_V2_D01 | Include | SE38 | Report |
ZFI_BILENDO_EXPORT_V2_F01 | Include | SE38 | Report |
ZFI_BILENDO_IMPORT_V2 | Report | SE38 | Klasse |
ZFI_BILENDO_IMPORT_F01 | Include | SE38 | Report |
Installationsreihenfolge: Strukturen → Tabellentypen → Klasse → Reports
1. abapGit Installation (empfohlen)
Eignung
abapGit ist die empfohlene Installationsmethode. Sie bietet:
Automatische Objekterstellung in korrekter Reihenfolge
Versionskontrolle und einfache Updates
Keine manuellen Copy-Paste-Fehler
Funktioniert in jedem SAP NetWeaver ≥ 7.40 SP08
Voraussetzungen
SAP NetWeaver ≥ 7.40 SP08 (empfohlen: 7.52+)
abapGit installiert (Transaktion
ZABAPGIToder/ui2/cl_abapgit)Entwicklerschlüssel für den Benutzer
Paket
ZBILENDOin SE80 angelegt (lokales Paket oder Transportpaket)Optional: Netzwerkzugang für Online-Repository, sonst Offline-Import
abapGit installieren (falls nicht vorhanden)
Falls abapGit noch nicht im System vorhanden ist:
SE38 → Report anlegen:
ZABAPGIT_STANDALONEDen aktuellen Standalone-Quellcode von github.com/abapGit/abapGit → Releases →
abapgit-standalone.prog.abapherunterladenDen kompletten Quellcode in den Report einfügen
Aktivieren und ausführen
Nach der Installation ist abapGit über die Transaktion
ZABAPGITerreichbar.
Variante A: Online-Repository (mit Netzwerkzugang)
Transaktion ZABAPGIT aufrufen
+ Online klicken
Eingaben:
| Feld | Wert |
|---|---|
| Repository URL | https://github.com/bilendo/bilendo-sap-integration |
| Package | ZBILENDO |
| Branch | main |
Create Online Repo → abapGit lädt alle Objekte automatisch
Pull klicken → Objekte werden im SAP-System angelegt
Aktivierungsprotokoll prüfen – alle Objekte müssen grün sein
Variante B: Offline-Repository (ohne Netzwerkzugang)
Falls das SAP-System keinen Internetzugang hat:
Den Ordner
abapGit/aus der Bilendo-Dokumentation als ZIP-Datei packenTransaktion ZABAPGIT aufrufen
+ Offline klicken
Eingaben:
| Feld | Wert |
|---|---|
| Package | ZBILENDO |
| Repository Name | bilendo-sap-integration |
Import zip klicken → ZIP-Datei hochladen
abapGit erstellt alle Objekte automatisch
Aktivieren
Updates einspielen
Für zukünftige Versionen:
ZABAPGIT → Bilendo-Repository auswählen
Pull (online) oder Import zip (offline) mit neuer Version
abapGit zeigt einen Diff der Änderungen
Nur geänderte Objekte werden aktualisiert
Bei Konflikten mit lokalen Anpassungen: Merge-Dialog nutzen
abapGit-Repository-Struktur
Das bereitgestellte Repository hat folgende Struktur:
abapGit/
├── .abapgit.xml (Repository-Konfiguration)
├── README.md (Installationshinweise)
└── src/
├── package.devc.xml (Paketdefinition ZBILENDO)
├── zfi_s_bilendo_bseg.tabl.xml (Struktur: Belegzeilen)
├── zfi_s_bilendo_kna1.tabl.xml (Struktur: Kundenstamm)
├── zfi_s_bilendo_vbak.tabl.xml (Struktur: Aufträge)
├── zfi_t_bilendo_bseg.ttyp.xml (Tabellentyp BSEG)
├── zfi_t_bilendo_kna1.ttyp.xml (Tabellentyp KNA1)
├── zfi_t_bilendo_vbak.ttyp.xml (Tabellentyp VBAK)
├── zfi_adr6.ttyp.xml (Tabellentyp ADR6)
├── zcl_fi_bilendo_assist_v2.clas.xml (Klasse: Metadaten)
├── zcl_fi_bilendo_assist_v2.clas.abap (Klasse: Quellcode)
├── zfi_bilendo_export_v2.prog.xml (Extractor: Metadaten)
├── zfi_bilendo_export_v2.prog.abap (Extractor: Hauptreport)
├── zfi_bilendo_export_v2_d01.prog.xml (D01: Metadaten)
├── zfi_bilendo_export_v2_d01.prog.abap (D01: Datendeklaration)
├── zfi_bilendo_export_v2_f01.prog.xml (F01: Metadaten)
├── zfi_bilendo_export_v2_f01.prog.abap (F01: Verarbeitungslogik)
├── zfi_bilendo_import_v2.prog.xml (Import: Metadaten)
├── zfi_bilendo_import_v2.prog.abap (Import: Hauptreport)
├── zfi_bilendo_import_f01.prog.xml (Import F01: Metadaten)
└── zfi_bilendo_import_f01.prog.abap (Import F01: Logik)2. Manuelle Installation (SE11 / SE24 / SE38)
Eignung
Die manuelle Installation ist der Fallback-Mechanismus, wenn:
abapGit im System nicht verfügbar und nicht installierbar ist
Organisatorische Vorgaben eine manuelle Anlage erfordern
Nur einzelne Objekte nachträglich angepasst werden sollen
Zeitaufwand: 2–4 Stunden (abhängig von Erfahrung)
Schritt 1: DDIC-Strukturen erstellen (SE11)
Vollständige Felddefinitionen → 02 - DDIC Strukturen
| Struktur | Felder | Beschreibung |
|---|---|---|
ZFI_S_BILENDO_BSEG | 47 | Belegzeilendaten (BSID/BSAD) |
ZFI_S_BILENDO_KNA1 | 33 | Kundenstammdaten (KNA1/KNB1/KNB5/KNKA) |
ZFI_S_BILENDO_VBAK | 21 | Auftragsdaten (VBAK/VBAP/VBUK) |
Vorgehen je Struktur:
SE11 → Datentyp: Strukturname eingeben → Anlegen
Kurzbeschreibung vergeben
Komponenten gemäß 02 - DDIC Strukturen eintragen
Aktivieren (Ctrl+F3)
Schritt 2: Tabellentypen erstellen (SE11)
| Tabellentyp | Zeilentyp | Zugriff |
|---|---|---|
ZFI_T_BILENDO_BSEG | ZFI_S_BILENDO_BSEG | STANDARD TABLE |
ZFI_T_BILENDO_KNA1 | ZFI_S_BILENDO_KNA1 | STANDARD TABLE |
ZFI_T_BILENDO_VBAK | ZFI_S_BILENDO_VBAK | STANDARD TABLE |
ZFI_ADR6 | ADR6 | STANDARD TABLE |
Vorgehen je Tabellentyp:
SE11 → Datentyp: Tabellentypname eingeben → Anlegen
Zeilentyp eintragen (z. B.
ZFI_S_BILENDO_BSEG)Zugriffsart: Standard Table, Key: Default
Aktivieren
Schritt 3: Klasse erstellen (SE24)
Vollständiger Quellcode → 03 - Assist-Klasse
SE24 → Klasse:
ZCL_FI_BILENDO_ASSIST_V2→ AnlegenBeschreibung:
Bilendo SAP Integration - Assist Class v2Instanziierung: Public, Final: Ja
Auf dem Tab Attribute: Alle Attribute aus der Klassendefinition eintragen
Auf dem Tab Methoden: Alle Methoden anlegen (Parameter gemäß Klassendefinition)
In jeder Methode: Source Code → ABAP-Code aus 03 - Assist-Klasse einfügen
Aktivieren
Die Klasse hat ca. 2.200 Zeilen Code in 19+ Methoden. Alternativ kann die Klassendefinition und -implementierung als zusammenhängender Block in den Source-Code-Editor (SE24 → Quelltext-basierte Ansicht) eingefügt werden.
Schritt 4: Reports erstellen (SE38)
Extractor Report
Vollständiger Quellcode → 04 - Extractor Report
| Programm | Typ | Quellcode-Sektion |
|---|---|---|
ZFI_BILENDO_EXPORT_V2 | Report (SUBC = 1) | Hauptreport |
ZFI_BILENDO_EXPORT_V2_D01 | Include (SUBC = I) | Datendeklaration + Selektionsbild |
ZFI_BILENDO_EXPORT_V2_F01 | Include (SUBC = I) | Verarbeitungslogik |
Vorgehen:
SE38 →
ZFI_BILENDO_EXPORT_V2→ Anlegen → Typ: Ausführbares ProgrammQuellcode einfügen (enthält
INCLUDE-Anweisungen)SE38 →
ZFI_BILENDO_EXPORT_V2_D01→ Anlegen → Typ: IncludeQuellcode einfügen
SE38 →
ZFI_BILENDO_EXPORT_V2_F01→ Anlegen → Typ: IncludeQuellcode einfügen
Alle drei Programme aktivieren
Re-Integrate Report
Vollständiger Quellcode → 05 - Re-Integrate Report
| Programm | Typ |
|---|---|
ZFI_BILENDO_IMPORT_V2 | Report (SUBC = 1) |
ZFI_BILENDO_IMPORT_F01 | Include (SUBC = I) |
Vorgehen analog zum Extractor Report.
3. Post-Installation
3.1 Aktivierung prüfen
Alle Objekte müssen in SE80 unter dem Paket ZBILENDO (oder dem gewählten lokalen Paket) sichtbar und aktiviert sein:
SE80 → Package → ZBILENDO
✓ ZFI_S_BILENDO_BSEG (Struktur)
✓ ZFI_S_BILENDO_KNA1 (Struktur)
✓ ZFI_S_BILENDO_VBAK (Struktur)
✓ ZFI_T_BILENDO_BSEG (Tabellentyp)
✓ ZFI_T_BILENDO_KNA1 (Tabellentyp)
✓ ZFI_T_BILENDO_VBAK (Tabellentyp)
✓ ZFI_ADR6 (Tabellentyp)
✓ ZCL_FI_BILENDO_ASSIST_V2 (Klasse)
✓ ZFI_BILENDO_EXPORT_V2 (Report + 2 Includes)
✓ ZFI_BILENDO_IMPORT_V2 (Report + 1 Include)Falls ein Objekt nicht aktiviert ist: Rechtsklick → Aktivieren. Bei Aktivierungsfehlern die Abhängigkeitsreihenfolge prüfen (Strukturen vor Tabellentypen vor Klasse vor Reports).
3.2 D01 Include anpassen
Der Include ZFI_BILENDO_EXPORT_V2_D01 enthält systemspezifische Konstanten, die zwingend angepasst werden müssen:
" --- ANPASSEN: Verzeichnispfade je System ---
CONSTANTS: gc_dir_hed TYPE string VALUE '/usr/sap/<DEV-SID>/Bilendo_OUT/',
gc_dir_heq TYPE string VALUE '/usr/sap/<QA-SID>/Bilendo_OUT/',
gc_dir_hep TYPE string VALUE '/usr/sap/<PRD-SID>/Bilendo_OUT/'.
" --- ANPASSEN: System-IDs in CASE-Zweig (FORM get_filenames) ---
WHEN '<DEV-SID>'. " z. B. 'D01'
WHEN '<QA-SID>'. " z. B. 'Q01'
WHEN '<PRD-SID>'. " z. B. 'P01'Die Pfade müssen auf dem Applikationsserver existieren (→ Schritt 3.3).
3.3 Verzeichnisse auf Applikationsserver erstellen
Über Transaktion AL11 oder die OS-Kommandozeile:
# Als <SID>adm einloggen
su - <SID>adm
mkdir -p /usr/sap/<SID>/Bilendo_OUT
mkdir -p /usr/sap/<SID>/Bilendo_IN
chmod 755 /usr/sap/<SID>/Bilendo_OUT /usr/sap/<SID>/Bilendo_IN| Verzeichnis | Zweck | Verwendet von |
|---|---|---|
Bilendo_OUT | Export-Dateien (SAP → Bilendo) | ZFI_BILENDO_EXPORT_V2 |
Bilendo_IN | Import-Dateien (Bilendo → SAP) | ZFI_BILENDO_IMPORT_V2 |
3.4 Berechtigungen prüfen
Folgende Berechtigungsobjekte müssen dem Ausführungsbenutzer (Batch-User oder Dialog-User) zugeordnet sein:
| Berechtigungsobjekt | Feld | Wert | Beschreibung |
|---|---|---|---|
| S_DATASET | PROGRAM | ZFI_BILENDO_* | Dateizugriff auf Applikationsserver |
| S_DATASET | ACTVT | 33, 34 | Lesen + Schreiben |
| F_BKPF_BUK | BUKRS | relevante BUKRS | Belegzugriff je Buchungskreis |
| F_KNA1_BUK | BUKRS | relevante BUKRS | Debitorenstammzugriff |
3.5 Testlauf im Dialog-Modus
Vor der Job-Einplanung jeden Report manuell testen:
SE38 →
ZFI_BILENDO_EXPORT_V2→ F8Selektionsbild befüllen:
P_KNA1 = X, P_BSID = X, P_BSAD = X
P_ALL = X (für den Ersttest)
S_BUKRS = ein Testbuchungskreis
F8 (Ausführen)
Erwartetes Ergebnis: Dateien auf dem Applikationsserver in
Bilendo_OUT/Dateien in AL11 prüfen: Inhalt, Feldtrenner, Encoding
Erst nach erfolgreichem Testlauf → Varianten und Jobs einplanen (→ 07 - Varianten & Job-Planung)
4. Fehlerbehebung
abapGit-Fehler
| Fehler | Ursache | Lösung |
|---|---|---|
Connection timeout | Kein Internetzugang oder Proxy | SM59 → ABAP-Proxy prüfen, oder Offline-Import verwenden |
Object already exists | Objekt aus früherer Installation vorhanden | In abapGit: „Overwrite" bestätigen |
Activation failed | Abhängigkeitsreihenfolge falsch | Manuell in korrekter Reihenfolge aktivieren (SE80) |
Package not found | Paket ZBILENDO nicht angelegt | SE80 → Paket ZBILENDO zuerst anlegen |
Manuelle Installation – Fehler
| Fehler | Ursache | Lösung |
|---|---|---|
Type ZFI_S_BILENDO_BSEG unknown | Struktur nicht angelegt oder nicht aktiviert | SE11 prüfen, Struktur aktivieren |
Class ZCL_FI_BILENDO_ASSIST_V2 not found | Klasse nicht angelegt | SE24 → Klasse anlegen und aktivieren |
Include ZFI_BILENDO_EXPORT_V2_D01 not found | Include fehlt | SE38 → Include separat anlegen |
DATASET not open | Verzeichnis fehlt auf Applikationsserver | AL11 → Verzeichnis anlegen (Schritt 3.3) |
Laufzeitfehler
| Fehler | Ursache | Lösung |
|---|---|---|
No data extracted for BUKRS XXXX | RCOMP in T001 leer | T001 prüfen: Feld RCOMP muss befüllt sein (→ 04 - Extractor Report, Hinweis 2) |
Authorization check failed | Fehlende Berechtigung | Berechtigungsobjekte prüfen (Schritt 3.4) |
File already exists | Datei aus vorherigem Lauf nicht gelöscht | Verzeichnis bereinigen oder Dateinamen-Schema prüfen |
Checkliste
INSTALLATION
[ ] Installationsmethode gewählt (abapGit oder manuell)
[ ] Paket ZBILENDO in SE80 angelegt
[ ] Alle 13 Objekte vorhanden und aktiviert (SE80)
KONFIGURATION
[ ] D01 Include: Verzeichnispfade angepasst
[ ] D01 Include: System-IDs in CASE-Zweigen angepasst
[ ] Verzeichnisse Bilendo_OUT und Bilendo_IN erstellt (AL11)
[ ] Berechtigungen für Batch-User geprüft
TEST
[ ] Export-Report im Dialog getestet (SE38, p_all = X)
[ ] Dateien auf Applikationsserver sichtbar (AL11)
[ ] Import-Report im Dialog getestet (SE38)
[ ] Varianten angelegt (→ Dok 07)
[ ] Job eingeplant (→ Dok 07)