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.

MethodPrerequisiteTime RequiredRecommendation
abapGitabapGit installed in the SAP system15–30 minutesRecommended
Manual installationSE11 / SE24 / SE38 access2–4 hoursFallback

This chapter is intended for SAP consultants and Basis administrators.


Object Catalog

All ABAP objects to be installed:

ObjectTypeTransactionDepends on
ZFI_S_BILENDO_BSEGDDIC structureSE11–
ZFI_S_BILENDO_KNA1DDIC structureSE11–
ZFI_S_BILENDO_VBAKDDIC structureSE11–
ZFI_T_BILENDO_BSEGTable typeSE11ZFI_S_BILENDO_BSEG
ZFI_T_BILENDO_KNA1Table typeSE11ZFI_S_BILENDO_KNA1
ZFI_T_BILENDO_VBAKTable typeSE11ZFI_S_BILENDO_VBAK
ZFI_ADR6Table typeSE11ADR6 (SAP standard)
ZCL_FI_BILENDO_ASSIST_V2ClassSE24All structures + table types
ZFI_BILENDO_EXPORT_V2ReportSE38Class
ZFI_BILENDO_EXPORT_V2_D01IncludeSE38Report
ZFI_BILENDO_EXPORT_V2_F01IncludeSE38Report
ZFI_BILENDO_IMPORT_V2ReportSE38Class
ZFI_BILENDO_IMPORT_F01IncludeSE38Report

Installation order: Structures → Table types → Class → Reports


1. abapGit Installation (Recommended)

Suitability

abapGit is the recommended installation method. It offers:

Prerequisites

Install abapGit (if not already installed)

If abapGit is not yet installed in the system:

  1. SE38 → Create a report: ZABAPGIT_STANDALONE

  2. Download the current standalone source code from github.com/abapGit/abapGit → Releases → abapgit-standalone.prog.abap

  3. Paste the entire source code into the report

  4. Activate and run it

After installation, abapGit is available via transaction ZABAPGIT.

Option A: Online repository (with network access)

  1. Call transaction ZABAPGIT

  2. Click + Online

  3. Enter the following:

FieldValue
Repository URLhttps://github.com/bilendo/bilendo-sap-integration
PackageZBILENDO
Branchmain
  1. Create Online Repo → abapGit loads all objects automatically

  2. Click Pull → the objects are created in the SAP system

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

  1. Pack the abapGit/ folder from the Bilendo documentation into a ZIP file

  2. Call transaction ZABAPGIT

  3. Click + Offline

  4. Entries:

FieldValue
PackageZBILENDO
Repository Namebilendo-sap-integration
  1. Click Import zip → upload the ZIP file

  2. abapGit creates all objects automatically

  3. Activate

Applying Updates

For future versions:

  1. ZABAPGIT → Select the Bilendo repository

  2. Pull (online) or Import zip (offline) with the new version

  3. abapGit shows a diff of the changes

  4. Only changed objects are updated

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

Time required: 2–4 hours (depending on experience)

Step 1: Create DDIC Structures (SE11)

Complete field definitions → 02 - DDIC Structures

StructureFieldsDescription
ZFI_S_BILENDO_BSEG47Document line item data (BSID/BSAD)
ZFI_S_BILENDO_KNA133Customer master data (KNA1/KNB1/KNB5/KNKA)
ZFI_S_BILENDO_VBAK21Order data (VBAK/VBAP/VBUK)

Procedure for each structure:

  1. SE11 → Data type: Enter structure name → Create

  2. Assign a short description

  3. Enter components according to 02 - DDIC Structures

  4. Activate (Ctrl+F3)

Step 2: Create Table Types (SE11)

Table typeRow typeAccess
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

Procedure for each table type:

  1. SE11 → Data type: Enter the table type name → Create

  2. Enter the row type (e.g., ZFI_S_BILENDO_BSEG)

  3. Access type: Standard Table, Key: Default

  4. Activate

Step 3: Create the Class (SE24)

Complete source code → 03 - Assist Class

  1. SE24 → Class: ZCL_FI_BILENDO_ASSIST_V2 → Create

  2. Description: Bilendo SAP Integration - Assist Class v2

  3. Instantiation: Public, Final: Yes

  4. On the Attributes tab: Enter all attributes from the class definition

  5. On the Methods tab: Create all methods (parameters as specified in the class definition)

  6. In each method: Source Code → Paste the ABAP code from 03 - Assist Class

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

ProgramTypeSource code section
ZFI_BILENDO_EXPORT_V2Report (SUBC = 1)Main report
ZFI_BILENDO_EXPORT_V2_D01Include (SUBC = I)Data declaration + selection screen
ZFI_BILENDO_EXPORT_V2_F01Include (SUBC = I)Processing logic

Procedure:

  1. SE38 → ZFI_BILENDO_EXPORT_V2 → Create → Type: Executable Program

  2. Paste the source code (contains INCLUDE statements)

  3. SE38 → ZFI_BILENDO_EXPORT_V2_D01 → Create → Type: Include

  4. Paste the source code

  5. SE38 → ZFI_BILENDO_EXPORT_V2_F01 → Create → Type: Include

  6. Paste the source code

  7. Be sure to activate all three programs

Re-Integrate Report

Complete source code → 05 - Re-Integrate Report

ProgramType
ZFI_BILENDO_IMPORT_V2Report (SUBC = 1)
ZFI_BILENDO_IMPORT_F01Include (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
DirectoryPurposeUsed by
Bilendo_OUTExport files (SAP → Bilendo)ZFI_BILENDO_EXPORT_V2
Bilendo_INImport 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 ObjectFieldValueDescription
S_DATASETPROGRAMZFI_BILENDO_*File access on application server
S_DATASETACTVT33, 34Read + Write
F_BKPF_BUKBUKRSRelevant BUKRSDocument access by company code
F_KNA1_BUKBUKRSRelevant BUKRSCustomer master data access

3.5 Test Run in Dialog Mode

Manually test each report before scheduling the job:

  1. SE38 → ZFI_BILENDO_EXPORT_V2 → F8

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

  3. F8 (Execute)

  4. Expected result: Files on the application server in Bilendo_OUT/

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

ErrorCauseSolution
Connection timeoutNo internet access or proxySM59 → check the ABAP proxy, or use offline import
Object already existsObject exists from a previous installationIn abapGit: confirm "Overwrite"
Activation failedIncorrect dependency orderActivate manually in the correct order (SE80)
Package not foundPackage ZBILENDO has not been createdSE80 → Create package ZBILENDO first

Manual Installation – Errors

ErrorCauseSolution
Type ZFI_S_BILENDO_BSEG unknownStructure not created or not activatedCheck SE11, activate the structure
Class ZCL_FI_BILENDO_ASSIST_V2 not foundClass not createdSE24 → Create and activate the class
Include ZFI_BILENDO_EXPORT_V2_D01 not foundInclude is missingSE38 → Create the include separately
DATASET not openDirectory is missing on the application serverAL11 → Create directory (step 3.3)

Runtime Errors

ErrorCauseSolution
No data extracted for BUKRS XXXXRCOMP in T001 is emptyCheck T001: The RCOMP field must be populated (→ 04 - Extractor Report, Note 2)
Authorization check failedMissing authorizationCheck authorization objects (step 3.4)
File already existsFile from previous run was not deletedClean 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)