Sign inSign up

bluefunda/abaper

By bluefunda

Updated 5 months ago

ABAPer

Image
Developer tools
1

2.5K

bluefunda/abaper repository overview

ABAPER - POSIX Compliant ABAP Development Tool

A powerful, POSIX-compliant CLI and REST API tool that combines SAP ABAP Development Tools (ADT) REST services for lightning-fast SAP development workflows.

🚀 Quick Start

# Pull the latest image
docker pull bluefunda/abaper:latest

# Run CLI commands
docker run --rm bluefunda/abaper:latest abaper --version

# Start REST API server
docker run -p 8080:8080 \
  -e SAP_HOST="your-sap-host:8000" \
  -e SAP_CLIENT="100" \
  -e SAP_USERNAME="your-username" \
  -e SAP_PASSWORD="your-password" \
  bluefunda/abaper:latest \
  abaper --server

✨ Key Features

  • 🚀 Dual Mode: CLI interface + REST API server
  • ⚡ High Performance: 5-10x faster with connection caching (30min cache)
  • 🔧 SAP ADT Integration: Connect, retrieve, search, and manage ABAP objects
  • ✅ POSIX Compliant: Standard exit codes, signal handling, clean automation
  • 🔕 Developer Friendly: Quiet mode default, flexible logging, environment variable support

🛠️ Environment Variables

# Required for SAP operations
SAP_HOST=your-sap-host:8000
SAP_CLIENT=100
SAP_USERNAME=your-username
SAP_PASSWORD=your-password

# Optional
ABAPER_LOG_FILE=./logs/abaper.log

📋 Common Docker Commands

CLI Usage
# Test SAP connection
docker run --rm \
  -e SAP_HOST="host:8000" \
  -e SAP_USERNAME="user" \
  -e SAP_PASSWORD="pass" \
  bluefunda/abaper:latest \
  abaper connect

# Get ABAP objects
docker run --rm \
  -e SAP_HOST="host:8000" \
  -e SAP_USERNAME="user" \
  -e SAP_PASSWORD="pass" \
  bluefunda/abaper:latest \
  abaper get program ZTEST

Server Mode
# Default port 8080
docker run -p 8080:8080 \
  -e SAP_HOST="host:8000" \
  -e SAP_USERNAME="user" \
  -e SAP_PASSWORD="pass" \
  bluefunda/abaper:latest \
  abaper --server

# Custom port with logging
docker run -p 9000:9000 \
  -v $(pwd)/logs:/app/logs \
  -e SAP_HOST="host:8000" \
  -e SAP_USERNAME="user" \
  -e SAP_PASSWORD="pass" \
  bluefunda/abaper:latest \
  abaper --server -p 9000 --log-file=/app/logs/server.log

🌐 REST API Endpoints

  • POST /generate-code - Code generation
  • POST /generate-code-stream - Streaming code generation
  • GET /health - Health check
  • GET /version - Version information

🏗️ Supported Actions & Objects

Actions
  • get - Retrieve ABAP object source code
  • search - Search for ABAP objects
  • list - List objects (packages, etc.)
  • connect - Test ADT connection
Object Types
  • program - ABAP programs/reports
  • class - ABAP classes
  • function - ABAP function modules
  • include - ABAP includes
  • interface - ABAP interfaces
  • structure - ABAP structures
  • table - ABAP tables
  • package - ABAP packages

🐳 Docker Compose Example

version: '3.8'
services:
  abaper:
    image: bluefunda/abaper:latest
    ports:
      - "8080:8080"
    environment:
      - SAP_HOST=your-sap-host:8000
      - SAP_CLIENT=100
      - SAP_USERNAME=your-username
      - SAP_PASSWORD=your-password
      - ABAPER_LOG_FILE=/app/logs/abaper.log
    volumes:
      - ./logs:/app/logs
    command: abaper --server
    restart: unless-stopped

🎯 Use Cases

  • DevOps Integration: Automate ABAP code retrieval and analysis in CI/CD pipelines
  • Documentation: Extract and analyze ABAP objects for documentation generation
  • Migration Projects: Bulk analysis and optimization of legacy ABAP code
  • Development Tools: Integrate with IDEs and development workflows
  • Microservices: REST API for web applications requiring SAP integration

📄 License

Apache License 2.0 - Copyright (c) 2025 BlueFunda, Inc.


Built with ❤️ by BlueFunda, Inc. - Making ABAP development faster, smarter, and more secure.

Tag summary

Content type

Image

Digest

sha256:e5b49d734

Size

23 MB

Last updated

5 months ago

docker pull bluefunda/abaper