Btp Abap Environment logo

Btp Abap Environment

Community
likweitan
btp-abap-environment

Help with SAP BTP ABAP Environment setup and development including service instance creation, ADT connectivity, communication arrangements, communication scenarios, inbound/outbound services, destination configuration, identity and access management, software components, and first-project scaffolding. Use when users ask about BTP ABAP Environment, SAP BTP ABAP, Steampunk, ABAP environment service instance, ADT connection to BTP, communication arrangement, communication scenario, communication system, outbound communication, inbound communication, destination service, software component, ABAP system on BTP, or cloud ABAP development setup. Triggers include "set up BTP ABAP", "connect ADT to BTP", "communication arrangement", "communication scenario", "create service instance", "ABAP on BTP", "outbound service", or "first ABAP project on BTP".

Overview

Publisherlikweitan
Repositoryabap-skills
Skill namebtp-abap-environment
Stars
64
Forks
15
Bundled files
1
LicenseMIT
Links
  • Markdown instructions

    A SKILL.md file the model loads on demand, so it only costs tokens when a request actually matches.

  • Works with any LLM

    AI skills are plain Markdown, not provider-specific code, so this works with GPT, Claude, Gemini, Grok, or a local model.

  • 1 bundled files

    Scripts, templates, and references the model can read while it works. Files are read-only and never executed.

  • Open source

    Published by likweitan on GitHub. Read the source before you install it.

Installation

Install the Btp Abap Environment AI skill in TypingMind to use it with any LLM, or drop it into another agent that reads SKILL.md.

1

Install in TypingMind

TypingMind installs a skill straight from its GitHub folder — it reads SKILL.md, bundles the resource files, and stores the result locally.

  1. Open the app and go to Plugins → Skills.
  2. Choose "Install from GitHub".
  3. Paste the skill folder URL below and confirm.
  4. Enable the skill in any chat where you want it available.
Plugins → Skills → Add skill → From GitHub URL, then paste the folder URL and press Continue.
2

Install in another agent

Any agent that reads the Agent Skills format can use this skill — copy the folder into that agent's skills directory.

Claude Code — .claude/skills
git clone --depth 1 https://github.com/likweitan/abap-skills.git /tmp/abap-skills
mkdir -p .claude/skills
cp -r /tmp/abap-skills/skills/btp-abap-environment .claude/skills/btp-abap-environment
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Btp Abap Environment in any TypingMind chat and the model takes it from there. Its name and description sit in the system prompt, and the moment a request matches, the model loads the full instructions itself — you never invoke it by hand, and it costs no tokens until it is actually used.

The model loads Btp Abap Environment on its own as soon as a request matches it.

Works with any AI model

AI skills are plain Markdown instructions rather than provider-specific code, so Btp Abap Environment is not tied to the model it was written for. Install it once in TypingMind and use it with GPT-5, Claude, Gemini, Grok, DeepSeek, Mistral, Llama, or a local model you run yourself — all on your own API keys.

  • Loaded only when it is needed

    The system prompt carries just the name and description. The instructions are fetched on the first matching request, so an idle skill costs nothing.

  • Switch models mid-chat

    Because the skill is instructions rather than code, changing model does not break it — the next model reads the same SKILL.md.

Skill instructions

This is the SKILL.md content the model loads. Read it before installing — a skill is instructions your model will follow.

SAP BTP ABAP Environment

Guide for setting up and developing in the SAP BTP ABAP Environment (Steampunk).

Workflow

  1. Determine the user's goal:

    • Setting up a new ABAP Environment instance
    • Connecting ADT to the BTP ABAP system
    • Configuring communication arrangements for integrations
    • Creating a first ABAP Cloud project
    • Managing software components and packages
    • Setting up outbound/inbound connectivity
  2. Identify the phase:

    • Initial provisioning and setup
    • Developer onboarding
    • Integration configuration
    • Application development
  3. Guide implementation step by step

Setup Overview

Prerequisites

RequirementDescription
SAP BTP AccountGlobal account with entitlements for ABAP Environment
SubaccountCloud Foundry-enabled subaccount
ADTEclipse with ABAP Development Tools installed
UserPlatform user with Space Developer role
Entitlementsabap/standard or abap/saas_oem service plan

Service Instance Creation

  1. Navigate to BTP Cockpit → Subaccount → Cloud Foundry → Spaces
  2. Create service instance:
    • Service: ABAP Environment
    • Plan: standard
    • Instance name: e.g., my-abap-instance
  3. Provide parameters (JSON):
json
{
  "admin_email": "admin@example.com",
  "description": "Development ABAP System",
  "is_development_allowed": true,
  "sapsystemname": "DEV",
  "size_of_runtime": 1,
  "size_of_persistence": 4
}
  1. Create a service key for ADT connectivity

Connecting ADT to BTP ABAP

  1. In Eclipse/ADT: File → New → ABAP Cloud Project
  2. Select SAP BTP ABAP Environment
  3. Enter the service key (JSON) or service instance URL
  4. Authenticate via browser (SAP Identity Authentication)
  5. Project is created — start developing

System Architecture

SAP BTP Subaccount
└── Cloud Foundry Space
    └── ABAP Environment Service Instance
        ├── ABAP System (development/production)
        ├── Software Components (ZLOCAL, custom)
        ├── Communication Arrangements (integrations)
        └── Business Services (OData, RFC)

Software Components

ComponentDescription
ZLOCALLocal development — not transportable (like $TMP)
CustomTransportable components — managed via gCTS or Manage Software Components app

Creating a Software Component

  1. Open the Manage Software Components Fiori app
  2. Click Create (or use the + button)
  3. Enter:
    • Name: Z_MY_COMPONENT
    • Description: e.g., "My Custom Component"
    • Type: Development
  4. Clone the component to make it available in ADT
  5. Create packages within the component

Package Structure

Z_MY_COMPONENT (Software Component)
└── Z_MY_APP (Structure Package)
    ├── Z_MY_APP_MODEL (Sub-package: CDS views, database tables)
    ├── Z_MY_APP_BIZ (Sub-package: business logic, RAP BOs)
    └── Z_MY_APP_SRV (Sub-package: service definitions, bindings)

Communication Management

Concepts

ArtifactPurpose
Communication ScenarioTemplate defining inbound/outbound services and auth methods
Communication SystemRepresents the external system (host, port, credentials)
Communication ArrangementBinds scenario + system + user, activating the integration
Communication UserTechnical user for inbound communication

Creating a Communication Scenario

abap
"Defined via ADT: New → Other → Communication Scenario
"Name: Z_MY_COMM_SCENARIO

Communication scenario definition (in ADT):

PropertyValue
Scenario IDZ_MY_COMM_SCENARIO
Scenario TypeManaged by Customer
Inbound ServicesList of inbound OData services
Outbound ServicesList of outbound HTTP services
Allowed Auth MethodsBasic, OAuth 2.0, x.509

Outbound Communication (Calling External Services)

abap
"Get HTTP destination from communication arrangement
DATA(lo_dest) = cl_http_destination_provider=>create_by_comm_arrangement(
  comm_scenario  = 'Z_MY_COMM_SCENARIO'
  service_id     = 'Z_MY_OUTBOUND_SERVICE' ).

"Create HTTP client
DATA(lo_client) = cl_web_http_client_manager=>create_by_http_destination( lo_dest ).

"Execute request
DATA(lo_request) = lo_client->get_http_request( ).
lo_request->set_uri_path( '/api/resource' ).
lo_request->set_header_field( i_name = 'Content-Type' i_value = 'application/json' ).

DATA(lo_response) = lo_client->execute( if_web_http_client=>get ).
DATA(lv_status) = lo_response->get_status( ).
DATA(lv_body) = lo_response->get_text( ).

lo_client->close( ).

Inbound Communication (Exposing Services)

  1. Create an OData service (RAP-based)
  2. Add the service binding to a communication scenario as inbound service
  3. Create communication arrangement in Fiori app:
    • Select scenario
    • Create or assign communication system
    • Create communication user (for Basic auth) or configure OAuth
  4. External systems can now call the service

Identity and Access Management

Business Roles and Catalogs

IAM App → Business Catalog → Business Role → Business User
  1. Create IAM App in ADT (for your service binding)
  2. Create Business Catalog containing the IAM App
  3. Create Business Role in Fiori including the catalog
  4. Assign Business Role to users

Creating an IAM App

ADT: New → Other → IAM App
Name: Z_MY_APP_IAM
Service Binding: Z_MY_SERVICE_BINDING

First Project Scaffolding

Quick steps to create a minimal RAP-based Fiori app:

  1. Create database table
  2. Create CDS root view entity on the table
  3. Create CDS projection view (consumption view)
  4. Create behavior definition (managed, with draft)
  5. Create behavior implementation class
  6. Create service definition exposing projection
  7. Create service binding (OData V4 - UI)
  8. Publish and Preview in Fiori Elements

Useful Fiori Apps

AppPurpose
Manage Software ComponentsCreate, clone, pull software components
Communication ArrangementsConfigure inbound/outbound integrations
Communication SystemsRegister external systems
Maintain Business RolesCreate and assign roles
Application JobsSchedule and monitor background jobs
Custom Business ConfigurationsMaintain configuration tables

Output Format

When helping with BTP ABAP Environment topics, structure responses as:

markdown
## BTP ABAP Environment Guidance

### Phase

- [Setup / Development / Integration / Deployment]

### Steps

[Step-by-step instructions]

### Configuration

[Relevant settings or code]

References

Related Skills

  • abap-cloud: Use for ABAP Cloud development concepts and restrictions
  • authorization-iam: Use for setting up IAM apps and business roles
  • rap: Use for building RAP business objects in BTP ABAP Environment
  • abapgit: Use for version control in BTP ABAP Environment

Bundled files

The model reads these on demand while the skill is loaded. They are exposed as readable files and are never executed.

Frequently asked questions

What does the Btp Abap Environment AI skill do?

Help with SAP BTP ABAP Environment setup and development including service instance creation, ADT connectivity, communication arrangements, communication scenarios, inbound/outbound services, destination configuration, identity and access management, software components, and first-project scaffolding. Use when users ask about BTP ABAP Environment, SAP BTP ABAP, Steampunk, ABAP environment service instance, ADT connection to BTP, communication arrangement, communication scenario, communication system, outbound communication, inbound communication, destination service, software component, ABA...

Why use Btp Abap Environment on TypingMind?

Because you install it once and use it with any model. Btp Abap Environment is plain Markdown rather than provider-specific code, so the same skill runs on GPT-5, Claude, Gemini, Grok, or a local model — and you can switch model mid-chat without it breaking. TypingMind runs on your own API keys, so you pay providers directly instead of a per-seat subscription, and your skills and chats stay in your own storage.

How do I install Btp Abap Environment in TypingMind?

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/likweitan/abap-skills/tree/main/skills/btp-abap-environment. TypingMind reads its SKILL.md and bundles its files and installs it as a skill you can enable per chat.

Which AI models can use Btp Abap Environment?

Any model you connect in TypingMind. AI skills are plain Markdown instructions rather than provider-specific code, so GPT, Claude, Gemini, Grok, and local models can all load this skill when a request matches it.

How many AI models can I use with Btp Abap Environment?

As many as you like. As long as a model supports skills, you can use Btp Abap Environment with it — GPT, Claude, Gemini, Grok, DeepSeek, Mistral, Llama and more — all on TypingMind with your own API keys.

Is the Btp Abap Environment AI skill free?

Yes. It is published on GitHub by likweitan under the MIT license. You only pay your own AI provider for the tokens you use.

What are AI skills?

An AI skill is a reusable instruction bundle that teaches an AI model how to do one specific task. It follows the open Agent Skills format: a SKILL.md file with a name and description, plus any scripts, templates or reference files the model may need. The model reads the instructions only when your request matches the skill, so an installed skill costs nothing until it is used.

How are AI skills different from plugins or MCP servers?

A plugin or MCP server gives a model new tools to call — code that runs somewhere and returns a result. An AI skill gives the model knowledge and process instead: how to approach a task, which steps to follow, what good output looks like. Skills are plain Markdown, so they need no server, no API key and no runtime, and they work with any model.

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇