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.

MethodeVoraussetzungZeitaufwandEmpfehlung
abapGitabapGit im SAP-System installiert15–30 MinutenEmpfohlen
Manuelle InstallationSE11 / SE24 / SE38 Zugriff2–4 StundenFallback

Dieses Kapitel richtet sich an SAP Consultants und Basis-Administratoren.


Objekt-Katalog

Alle zu installierenden ABAP-Objekte:

ObjektTypTransaktionAbhängig von
ZFI_S_BILENDO_BSEGDDIC-StrukturSE11
ZFI_S_BILENDO_KNA1DDIC-StrukturSE11
ZFI_S_BILENDO_VBAKDDIC-StrukturSE11
ZFI_T_BILENDO_BSEGTabellentypSE11ZFI_S_BILENDO_BSEG
ZFI_T_BILENDO_KNA1TabellentypSE11ZFI_S_BILENDO_KNA1
ZFI_T_BILENDO_VBAKTabellentypSE11ZFI_S_BILENDO_VBAK
ZFI_ADR6TabellentypSE11ADR6 (SAP Standard)
ZCL_FI_BILENDO_ASSIST_V2KlasseSE24Alle Strukturen + Tabellentypen
ZFI_BILENDO_EXPORT_V2ReportSE38Klasse
ZFI_BILENDO_EXPORT_V2_D01IncludeSE38Report
ZFI_BILENDO_EXPORT_V2_F01IncludeSE38Report
ZFI_BILENDO_IMPORT_V2ReportSE38Klasse
ZFI_BILENDO_IMPORT_F01IncludeSE38Report

Installationsreihenfolge: Strukturen → Tabellentypen → Klasse → Reports


1. abapGit Installation (empfohlen)

Eignung

abapGit ist die empfohlene Installationsmethode. Sie bietet:

Voraussetzungen

abapGit installieren (falls nicht vorhanden)

Falls abapGit noch nicht im System vorhanden ist:

  1. SE38 → Report anlegen: ZABAPGIT_STANDALONE

  2. Den aktuellen Standalone-Quellcode von github.com/abapGit/abapGit → Releases → abapgit-standalone.prog.abap herunterladen

  3. Den kompletten Quellcode in den Report einfügen

  4. Aktivieren und ausführen

Nach der Installation ist abapGit über die Transaktion ZABAPGIT erreichbar.

Variante A: Online-Repository (mit Netzwerkzugang)

  1. Transaktion ZABAPGIT aufrufen

  2. + Online klicken

  3. Eingaben:

FeldWert
Repository URLhttps://github.com/bilendo/bilendo-sap-integration
PackageZBILENDO
Branchmain
  1. Create Online Repo → abapGit lädt alle Objekte automatisch

  2. Pull klicken → Objekte werden im SAP-System angelegt

  3. Aktivierungsprotokoll prüfen – alle Objekte müssen grün sein

Variante B: Offline-Repository (ohne Netzwerkzugang)

Falls das SAP-System keinen Internetzugang hat:

  1. Den Ordner abapGit/ aus der Bilendo-Dokumentation als ZIP-Datei packen

  2. Transaktion ZABAPGIT aufrufen

  3. + Offline klicken

  4. Eingaben:

FeldWert
PackageZBILENDO
Repository Namebilendo-sap-integration
  1. Import zip klicken → ZIP-Datei hochladen

  2. abapGit erstellt alle Objekte automatisch

  3. Aktivieren

Updates einspielen

Für zukünftige Versionen:

  1. ZABAPGIT → Bilendo-Repository auswählen

  2. Pull (online) oder Import zip (offline) mit neuer Version

  3. abapGit zeigt einen Diff der Änderungen

  4. Nur geänderte Objekte werden aktualisiert

  5. 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:

Zeitaufwand: 2–4 Stunden (abhängig von Erfahrung)

Schritt 1: DDIC-Strukturen erstellen (SE11)

Vollständige Felddefinitionen → 02 - DDIC Strukturen

StrukturFelderBeschreibung
ZFI_S_BILENDO_BSEG47Belegzeilendaten (BSID/BSAD)
ZFI_S_BILENDO_KNA133Kundenstammdaten (KNA1/KNB1/KNB5/KNKA)
ZFI_S_BILENDO_VBAK21Auftragsdaten (VBAK/VBAP/VBUK)

Vorgehen je Struktur:

  1. SE11 → Datentyp: Strukturname eingeben → Anlegen

  2. Kurzbeschreibung vergeben

  3. Komponenten gemäß 02 - DDIC Strukturen eintragen

  4. Aktivieren (Ctrl+F3)

Schritt 2: Tabellentypen erstellen (SE11)

TabellentypZeilentypZugriff
ZFI_T_BILENDO_BSEGZFI_S_BILENDO_BSEGSTANDARD TABLE
ZFI_T_BILENDO_KNA1ZFI_S_BILENDO_KNA1STANDARD TABLE
ZFI_T_BILENDO_VBAKZFI_S_BILENDO_VBAKSTANDARD TABLE
ZFI_ADR6ADR6STANDARD TABLE

Vorgehen je Tabellentyp:

  1. SE11 → Datentyp: Tabellentypname eingeben → Anlegen

  2. Zeilentyp eintragen (z. B. ZFI_S_BILENDO_BSEG)

  3. Zugriffsart: Standard Table, Key: Default

  4. Aktivieren

Schritt 3: Klasse erstellen (SE24)

Vollständiger Quellcode → 03 - Assist-Klasse

  1. SE24 → Klasse: ZCL_FI_BILENDO_ASSIST_V2Anlegen

  2. Beschreibung: Bilendo SAP Integration - Assist Class v2

  3. Instanziierung: Public, Final: Ja

  4. Auf dem Tab Attribute: Alle Attribute aus der Klassendefinition eintragen

  5. Auf dem Tab Methoden: Alle Methoden anlegen (Parameter gemäß Klassendefinition)

  6. In jeder Methode: Source Code → ABAP-Code aus 03 - Assist-Klasse einfügen

  7. 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

ProgrammTypQuellcode-Sektion
ZFI_BILENDO_EXPORT_V2Report (SUBC = 1)Hauptreport
ZFI_BILENDO_EXPORT_V2_D01Include (SUBC = I)Datendeklaration + Selektionsbild
ZFI_BILENDO_EXPORT_V2_F01Include (SUBC = I)Verarbeitungslogik

Vorgehen:

  1. SE38 → ZFI_BILENDO_EXPORT_V2Anlegen → Typ: Ausführbares Programm

  2. Quellcode einfügen (enthält INCLUDE-Anweisungen)

  3. SE38 → ZFI_BILENDO_EXPORT_V2_D01Anlegen → Typ: Include

  4. Quellcode einfügen

  5. SE38 → ZFI_BILENDO_EXPORT_V2_F01Anlegen → Typ: Include

  6. Quellcode einfügen

  7. Alle drei Programme aktivieren

Re-Integrate Report

Vollständiger Quellcode → 05 - Re-Integrate Report

ProgrammTyp
ZFI_BILENDO_IMPORT_V2Report (SUBC = 1)
ZFI_BILENDO_IMPORT_F01Include (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
VerzeichnisZweckVerwendet von
Bilendo_OUTExport-Dateien (SAP → Bilendo)ZFI_BILENDO_EXPORT_V2
Bilendo_INImport-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:

BerechtigungsobjektFeldWertBeschreibung
S_DATASETPROGRAMZFI_BILENDO_*Dateizugriff auf Applikationsserver
S_DATASETACTVT33, 34Lesen + Schreiben
F_BKPF_BUKBUKRSrelevante BUKRSBelegzugriff je Buchungskreis
F_KNA1_BUKBUKRSrelevante BUKRSDebitorenstammzugriff

3.5 Testlauf im Dialog-Modus

Vor der Job-Einplanung jeden Report manuell testen:

  1. SE38ZFI_BILENDO_EXPORT_V2 → F8

  2. Selektionsbild befüllen:

    • P_KNA1 = X, P_BSID = X, P_BSAD = X

    • P_ALL = X (für den Ersttest)

    • S_BUKRS = ein Testbuchungskreis

  3. F8 (Ausführen)

  4. Erwartetes Ergebnis: Dateien auf dem Applikationsserver in Bilendo_OUT/

  5. Dateien in AL11 prüfen: Inhalt, Feldtrenner, Encoding

Erst nach erfolgreichem Testlauf → Varianten und Jobs einplanen (→ 07 - Varianten & Job-Planung)


4. Fehlerbehebung

abapGit-Fehler

FehlerUrsacheLösung
Connection timeoutKein Internetzugang oder ProxySM59 → ABAP-Proxy prüfen, oder Offline-Import verwenden
Object already existsObjekt aus früherer Installation vorhandenIn abapGit: „Overwrite" bestätigen
Activation failedAbhängigkeitsreihenfolge falschManuell in korrekter Reihenfolge aktivieren (SE80)
Package not foundPaket ZBILENDO nicht angelegtSE80 → Paket ZBILENDO zuerst anlegen

Manuelle Installation – Fehler

FehlerUrsacheLösung
Type ZFI_S_BILENDO_BSEG unknownStruktur nicht angelegt oder nicht aktiviertSE11 prüfen, Struktur aktivieren
Class ZCL_FI_BILENDO_ASSIST_V2 not foundKlasse nicht angelegtSE24 → Klasse anlegen und aktivieren
Include ZFI_BILENDO_EXPORT_V2_D01 not foundInclude fehltSE38 → Include separat anlegen
DATASET not openVerzeichnis fehlt auf ApplikationsserverAL11 → Verzeichnis anlegen (Schritt 3.3)

Laufzeitfehler

FehlerUrsacheLösung
No data extracted for BUKRS XXXXRCOMP in T001 leerT001 prüfen: Feld RCOMP muss befüllt sein (→ 04 - Extractor Report, Hinweis 2)
Authorization check failedFehlende BerechtigungBerechtigungsobjekte prüfen (Schritt 3.4)
File already existsDatei aus vorherigem Lauf nicht gelöschtVerzeichnis 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)