Transport & Installation
Transport request, abapGit, manual installation, and post-installation.
10 – Transport & Installation
Overview
All Bilendo ABAP objects are installed in the SAP system using one of two mechanisms. Because Bilendo does not operate its own SAP systems, we cannot provide SAP transport files (.data/.cofile). Instead, the source code is provided through an abapGit repository or as manual instructions.
| Method | Prerequisite | Time Required | Recommendation |
|---|---|---|---|
| abapGit | abapGit installed in the SAP system | 15–30 minutes | Recommended |
| Manual installation | SE11 / SE24 / SE38 access | 2–4 hours | Fallback |
This chapter is intended for SAP consultants and Basis administrators.
Object Catalog
All ABAP objects to be installed:
| Object | Type | Transaction | Depends on |
|---|---|---|---|
ZFI_S_BILENDO_BSEG | DDIC structure | SE11 | – |
ZFI_S_BILENDO_KNA1 | DDIC structure | SE11 | – |
ZFI_S_BILENDO_VBAK | DDIC structure | SE11 | – |
ZFI_T_BILENDO_BSEG | Table type | SE11 | ZFI_S_BILENDO_BSEG |
ZFI_T_BILENDO_KNA1 | Table type | SE11 | ZFI_S_BILENDO_KNA1 |
ZFI_T_BILENDO_VBAK | Table type | SE11 | ZFI_S_BILENDO_VBAK |
ZFI_ADR6 | Table type | SE11 | ADR6 (SAP standard) |
ZCL_FI_BILENDO_ASSIST_V2 | Class | SE24 | All structures + table types |
ZFI_BILENDO_EXPORT_V2 | Report | SE38 | Class |
ZFI_BILENDO_EXPORT_V2_D01 | Include | SE38 | Report |
ZFI_BILENDO_EXPORT_V2_F01 | Include | SE38 | Report |
ZFI_BILENDO_IMPORT_V2 | Report | SE38 | Class |
ZFI_BILENDO_IMPORT_F01 | Include | SE38 | Report |
Installation order: Structures → Table types → Class → Reports
1. abapGit Installation (Recommended)
Suitability
abapGit is the recommended installation method. It offers:
Automatic object creation in the correct order
Version control and easy updates
No manual copy-paste errors
Works on any SAP NetWeaver ≥ 7.40 SP08
Prerequisites
SAP NetWeaver ≥ 7.40 SP08 (recommended: 7.52+)
abapGit installed (transaction
ZABAPGITor/ui2/cl_abapgit)Developer key for the user
Package
ZBILENDOcreated in SE80 (local package or transport package)Optional: Network access for the online repository; otherwise, use offline import
Install abapGit (if not already installed)
If abapGit is not yet installed in the system:
SE38 → Create a report:
ZABAPGIT_STANDALONEDownload the current standalone source code from github.com/abapGit/abapGit → Releases →
abapgit-standalone.prog.abapPaste the entire source code into the report
Activate and run it
After installation, abapGit is available via transaction
ZABAPGIT.
Option A: Online repository (with network access)
Call transaction ZABAPGIT
Click + Online
Enter the following:
| Field | Value |
|---|---|
| Repository URL | https://github.com/bilendo/bilendo-sap-integration |
| Package | ZBILENDO |
| Branch | main |
Create Online Repo → abapGit loads all objects automatically
Click Pull → the objects are created in the SAP system
Check the activation log – all objects must be green
Option B: Offline Repository (without network access)
If the SAP system does not have internet access:
Pack the
abapGit/folder from the Bilendo documentation into a ZIP fileCall transaction ZABAPGIT
Click + Offline
Entries:
| Field | Value |
|---|---|
| Package | ZBILENDO |
| Repository Name | bilendo-sap-integration |
Click Import zip → upload the ZIP file
abapGit creates all objects automatically
Activate
Applying Updates
For future versions:
ZABAPGIT → Select the Bilendo repository
Pull (online) or Import zip (offline) with the new version
abapGit shows a diff of the changes
Only changed objects are updated
If there are conflicts with local modifications: use the merge dialog
abapGit Repository Structure
The provided repository has the following structure:
abapGit/
├── .abapgit.xml (Repository configuration)
├── README.md (Installation notes)
└── src/
├── package.devc.xml (Package definition ZBILENDO)
├── zfi_s_bilendo_bseg.tabl.xml (Structure: Document line items)
├── zfi_s_bilendo_kna1.tabl.xml (Structure: Customer master)
├── zfi_s_bilendo_vbak.tabl.xml (Structure: Orders)
├── zfi_t_bilendo_bseg.ttyp.xml (Table type BSEG)
├── zfi_t_bilendo_kna1.ttyp.xml (Table type KNA1)
├── zfi_t_bilendo_vbak.ttyp.xml (Table type VBAK)
├── zfi_adr6.ttyp.xml (Table type ADR6)
├── zcl_fi_bilendo_assist_v2.clas.xml (Class: Metadata)
├── zcl_fi_bilendo_assist_v2.clas.abap (Class: Source code)
├── zfi_bilendo_export_v2.prog.xml (Extractor: Metadata)
├── zfi_bilendo_export_v2.prog.abap (Extractor: Main report)
├── zfi_bilendo_export_v2_d01.prog.xml (D01: Metadata)
├── zfi_bilendo_export_v2_d01.prog.abap (D01: Data declaration)
├── zfi_bilendo_export_v2_f01.prog.xml (F01: Metadata)
├── zfi_bilendo_export_v2_f01.prog.abap (F01: Processing logic)
├── zfi_bilendo_import_v2.prog.xml (Import: Metadata)
├── zfi_bilendo_import_v2.prog.abap (Import: Main report)
├── zfi_bilendo_import_f01.prog.xml (Import F01: Metadata)
└── zfi_bilendo_import_f01.prog.abap (Import F01: Logic)2. Manual Installation (SE11 / SE24 / SE38)
Suitability
Manual installation is the fallback mechanism when:
abapGit is not available in the system and cannot be installed
Organizational requirements call for manual creation
Only individual objects need to be modified afterward
Time required: 2–4 hours (depending on experience)
Step 1: Create DDIC Structures (SE11)
Complete field definitions → 02 - DDIC Structures
| Structure | Fields | Description |
|---|---|---|
ZFI_S_BILENDO_BSEG | 47 | Document line item data (BSID/BSAD) |
ZFI_S_BILENDO_KNA1 | 33 | Customer master data (KNA1/KNB1/KNB5/KNKA) |
ZFI_S_BILENDO_VBAK | 21 | Order data (VBAK/VBAP/VBUK) |
Procedure for each structure:
SE11 → Data type: Enter structure name → Create
Assign a short description
Enter components according to 02 - DDIC Structures
Activate (Ctrl+F3)
Step 2: Create Table Types (SE11)
| Table type | Row type | Access |
|---|---|---|
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 |
Procedure for each table type:
SE11 → Data type: Enter the table type name → Create
Enter the row type (e.g.,
ZFI_S_BILENDO_BSEG)Access type: Standard Table, Key: Default
Activate
Step 3: Create the Class (SE24)
Complete source code → 03 - Assist Class
SE24 → Class:
ZCL_FI_BILENDO_ASSIST_V2→ CreateDescription:
Bilendo SAP Integration - Assist Class v2Instantiation: Public, Final: Yes
On the Attributes tab: Enter all attributes from the class definition
On the Methods tab: Create all methods (parameters as specified in the class definition)
In each method: Source Code → Paste the ABAP code from 03 - Assist Class
Activate
The class has approximately 2,200 lines of code in 19+ methods. Alternatively, you can paste the class definition and implementation as a single contiguous block into the source code editor (SE24 → source code-based view).
Step 4: Create Reports (SE38)
Extractor Report
Complete source code → 04 - Extractor Report
| Program | Type | Source code section |
|---|---|---|
ZFI_BILENDO_EXPORT_V2 | Report (SUBC = 1) | Main report |
ZFI_BILENDO_EXPORT_V2_D01 | Include (SUBC = I) | Data declaration + selection screen |
ZFI_BILENDO_EXPORT_V2_F01 | Include (SUBC = I) | Processing logic |
Procedure:
SE38 →
ZFI_BILENDO_EXPORT_V2→ Create → Type: Executable ProgramPaste the source code (contains
INCLUDEstatements)SE38 →
ZFI_BILENDO_EXPORT_V2_D01→ Create → Type: IncludePaste the source code
SE38 →
ZFI_BILENDO_EXPORT_V2_F01→ Create → Type: IncludePaste the source code
Be sure to activate all three programs
Re-Integrate Report
Complete source code → 05 - Re-Integrate Report
| Program | Type |
|---|---|
ZFI_BILENDO_IMPORT_V2 | Report (SUBC = 1) |
ZFI_BILENDO_IMPORT_F01 | Include (SUBC = I) |
Follow the same procedure as for the Extractor Report.
3. Post-Installation
3.1 Verify Activation
All objects must be visible and activated in SE80 under the package ZBILENDO (or the local package you selected):
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)If an object is not activated: Right-click → Activate. If activation errors occur, check the dependency order (structures before table types before class before reports).
3.2 Adjust the D01 Include
The include ZFI_BILENDO_EXPORT_V2_D01 contains system-specific constants that must be adjusted:
" --- ADJUST: Directory paths per 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/'.
" --- ADJUST: System IDs in CASE branch (FORM get_filenames) ---
WHEN '<DEV-SID>'. " e.g., 'D01'
WHEN '<QA-SID>'. " e.g., 'Q01'
WHEN '<PRD-SID>'. " e.g., 'P01'The paths must exist on the application server (→ Step 3.3).
3.3 Create Directories on the Application Server
Use transaction AL11 or the OS command line:
# Log in as <SID>adm
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| Directory | Purpose | Used by |
|---|---|---|
Bilendo_OUT | Export files (SAP → Bilendo) | ZFI_BILENDO_EXPORT_V2 |
Bilendo_IN | Import files (Bilendo → SAP) | ZFI_BILENDO_IMPORT_V2 |
3.4 Checking Authorizations
The following authorization objects must be assigned to the executing user (batch user or dialog user):
| Authorization Object | Field | Value | Description |
|---|---|---|---|
| S_DATASET | PROGRAM | ZFI_BILENDO_* | File access on application server |
| S_DATASET | ACTVT | 33, 34 | Read + Write |
| F_BKPF_BUK | BUKRS | Relevant BUKRS | Document access by company code |
| F_KNA1_BUK | BUKRS | Relevant BUKRS | Customer master data access |
3.5 Test Run in Dialog Mode
Manually test each report before scheduling the job:
SE38 →
ZFI_BILENDO_EXPORT_V2→ F8Fill in the selection screen:
P_KNA1 = X, P_BSID = X, P_BSAD = X
P_ALL = X (for the initial test)
S_BUKRS = one test company code
F8 (Execute)
Expected result: Files on the application server in
Bilendo_OUT/Check the files in AL11: content, field separator, encoding
Only after a successful test run → schedule variants and jobs (→ 07 - Variants & Job Scheduling)
4. Troubleshooting
abapGit Errors
| Error | Cause | Solution |
|---|---|---|
Connection timeout | No internet access or proxy | SM59 → check the ABAP proxy, or use offline import |
Object already exists | Object exists from a previous installation | In abapGit: confirm "Overwrite" |
Activation failed | Incorrect dependency order | Activate manually in the correct order (SE80) |
Package not found | Package ZBILENDO has not been created | SE80 → Create package ZBILENDO first |
Manual Installation – Errors
| Error | Cause | Solution |
|---|---|---|
Type ZFI_S_BILENDO_BSEG unknown | Structure not created or not activated | Check SE11, activate the structure |
Class ZCL_FI_BILENDO_ASSIST_V2 not found | Class not created | SE24 → Create and activate the class |
Include ZFI_BILENDO_EXPORT_V2_D01 not found | Include is missing | SE38 → Create the include separately |
DATASET not open | Directory is missing on the application server | AL11 → Create directory (step 3.3) |
Runtime Errors
| Error | Cause | Solution |
|---|---|---|
No data extracted for BUKRS XXXX | RCOMP in T001 is empty | Check T001: The RCOMP field must be populated (→ 04 - Extractor Report, Note 2) |
Authorization check failed | Missing authorization | Check authorization objects (step 3.4) |
File already exists | File from previous run was not deleted | Clean up the directory or check the file naming scheme |
Checklist
INSTALLATION
[ ] Installation method selected (abapGit or manual)
[ ] Package ZBILENDO created in SE80
[ ] All 13 objects present and activated (SE80)
CONFIGURATION
[ ] D01 include: directory paths adjusted
[ ] D01 include: system IDs in CASE branches adjusted
[ ] Directories Bilendo_OUT and Bilendo_IN created (AL11)
[ ] Authorizations for batch user checked
TEST
[ ] Export report tested in dialog (SE38, p_all = X)
[ ] Files visible on application server (AL11)
[ ] Import report tested in dialog (SE38)
[ ] Variants created (→ Doc 07)
[ ] Job scheduled (→ Doc 07)