btp-abap-environment について
btp-abap-environmentは、SAP BTP ABAP Environmentのセットアップと開発を案内するスキルです。インスタンス作成、ADT接続、ソフトウェアコンポーネント、通信、アクセス管理、RAPアプリの初期構築を扱います。
主な機能
- 01ABAP Environmentインスタンスの設定
- 02ADTとBTP ABAPシステムの接続
- 03ソフトウェアコンポーネントとパッケージの管理
- 04インバウンドおよびアウトバウンド通信の設定
- 05IAMロールとカタログの設定
- 06RAPベースのFioriアプリのひな型作成
活用シーン
- 01開発者のBTP ABAPシステムへのオンボーディング
- 02外部システム連携の設定
- 03RAPベースのFioriアプリ開発の開始
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ likweitan/ abap-skills --skill btp-abap-environmentインストール後、Claude Code で/btp-abap-environmentを入力して読み込まれたか確認します。
同梱ファイルreferences/setup-scripts.md
詳細
SAP BTP ABAP Environment
SAP BTP ABAP Environment(Steampunk)のセットアップと開発のガイドです。
ワークフロー
-
ユーザーの目標を特定する:
- 新しい ABAP Environment インスタンスのセットアップ
- ADT と BTP ABAP システムの接続
- インテグレーション用の通信アレンジメントの設定
- 最初の ABAP Cloud プロジェクトの作成
- ソフトウェアコンポーネントとパッケージの管理
- 送信/受信接続のセットアップ
-
フェーズを特定する:
- 初期プロビジョニングとセットアップ
- 開発者のオンボーディング
- インテグレーションの設定
- アプリケーション開発
-
実装を段階的にガイドする
セットアップの概要
前提条件
| 要件 | 説明 |
|---|---|
| SAP BTP アカウント | ABAP Environment のエンタイトルメントがあるグローバルアカウント |
| サブアカウント | Cloud Foundry が有効なサブアカウント |
| ADT | ABAP Development Tools をインストールした Eclipse |
| ユーザー | Space Developer ロールを持つプラットフォームユーザー |
| エンタイトルメント | abap/standard または abap/saas_oem サービスプラン |
サービスインスタンスの作成
- BTP Cockpit → サブアカウント → Cloud Foundry → Spaces に移動します
- サービスインスタンスを作成します:
- サービス:ABAP Environment
- プラン:standard
- インスタンス名:例:
my-abap-instance
- パラメーターを指定します(JSON):
{
"admin_email": "[email protected]",
"description": "Development ABAP System",
"is_development_allowed": true,
"sapsystemname": "DEV",
"size_of_runtime": 1,
"size_of_persistence": 4
}
- ADT 接続用のサービスキーを作成します
ADT と BTP ABAP の接続
- Eclipse/ADT で、File → New → ABAP Cloud Project を選択します
- SAP BTP ABAP Environment を選択します
- サービスキー(JSON)またはサービスインスタンスの URL を入力します
- ブラウザーで認証します(SAP Identity Authentication)
- プロジェクトが作成されます。開発を開始してください
システムアーキテクチャ
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)
ソフトウェアコンポーネント
| コンポーネント | 説明 |
|---|---|
ZLOCAL | ローカル開発用 — 移送不可($TMP と同様) |
| カスタム | 移送可能なコンポーネント — gCTS または「ソフトウェアコンポーネントの管理」アプリで管理します |
ソフトウェアコンポーネントの作成
- ソフトウェアコンポーネントの管理 Fiori アプリを開きます
- 作成(または
+ボタン)をクリックします - 次の情報を入力します:
- 名前:
Z_MY_COMPONENT - 説明:例:「カスタムコンポーネント」
- タイプ:開発
- 名前:
- コンポーネントを クローン して、ADT で使用できるようにします
- コンポーネント内にパッケージを作成します
パッケージ構造
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)
通信管理
概念
| 成果物 | 目的 |
|---|---|
| 通信シナリオ | 受信/送信サービスと認証方式を定義するテンプレート |
| 通信システム | 外部システムを表します(ホスト、ポート、認証情報) |
| 通信アレンジメント | シナリオ、システム、ユーザーを結び付け、インテグレーションを有効化します |
| 通信ユーザー | 受信通信に使用する技術ユーザー |
通信シナリオの作成
"Defined via ADT: New → Other → Communication Scenario
"Name: Z_MY_COMM_SCENARIO
通信シナリオの定義(ADT 内):
| プロパティ | 値 |
|---|---|
| シナリオ ID | Z_MY_COMM_SCENARIO |
| シナリオタイプ | 顧客が管理 |
| 受信サービス | 受信 OData サービスのリスト |
| 送信サービス | 送信 HTTP サービスのリスト |
| 許可される認証方式 | Basic、OAuth 2.0、x.509 |
送信通信(外部サービスの呼び出し)
"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( ).
インバウンド通信(サービスの公開)
- OData サービスを作成します(RAP ベース)
- サービスバインディングをインバウンドサービスとして通信シナリオに追加します
- Fiori アプリで通信アレンジメントを作成します:
- シナリオを選択します
- 通信システムを作成または割り当てます
- 通信ユーザーを作成します(Basic 認証の場合)、または OAuth を設定します
- 外部システムからサービスを呼び出せるようになります
アイデンティティおよびアクセス管理
ビジネスロールとカタログ
IAM App → Business Catalog → Business Role → Business User
- ADT で IAM アプリを作成します(サービスバインディング用)
- IAM アプリを含む ビジネスカタログを作成します
- Fiori でカタログを含む ビジネスロールを作成します
- ビジネスロールをユーザーに割り当てます
IAM アプリの作成
ADT: New → Other → IAM App
Name: Z_MY_APP_IAM
Service Binding: Z_MY_SERVICE_BINDING
最初のプロジェクトの足場作り
最小限の RAP ベースの Fiori アプリを作成する手順:
- データベーステーブルを作成
- テーブルに対する CDS ルートビューエンティティを作成
- CDS プロジェクションビュー(コンシュームビュー)を作成
- ビヘイビア定義(マネージド、ドラフトあり)を作成
- ビヘイビア実装クラスを作成
- プロジェクションを公開する サービス定義を作成
- サービスバインディングを作成(OData V4 - UI)
- Fiori Elements で 公開し、プレビューします
便利な Fiori アプリ
| アプリ | 用途 |
|---|---|
| ソフトウェアコンポーネントの管理 | ソフトウェアコンポーネントの作成、複製、プル |
| 通信アレンジメント | インバウンド/アウトバウンド連携の設定 |
| 通信システム | 外部システムの登録 |
| ビジネスロールの管理 | ロールの作成と割り当て |
| アプリケーションジョブ | バックグラウンドジョブのスケジュール設定と監視 |
| カスタムビジネス設定 | 設定テーブルの管理 |
出力形式
BTP ABAP Environment に関するトピックを支援する場合は、次の形式で回答します:
## BTP ABAP Environment Guidance
### Phase
- [Setup / Development / Integration / Deployment]
### Steps
[Step-by-step instructions]
### Configuration
[Relevant settings or code]
参考資料
- SAP BTP ABAP Environment: https://help.sap.com/docs/btp/sap-business-technology-platform/abap-environment
- Communication Management: https://help.sap.com/docs/btp/sap-business-technology-platform/communication-management
- Getting Started Tutorial: https://developers.sap.com/group.abap-env-get-started.html
関連スキル
- abap-cloud:ABAP Cloud の開発コンセプトと制約に使用します
- authorization-iam:IAM アプリとビジネスロールの設定に使用します
- rap:BTP ABAP Environment で RAP ビジネスオブジェクトを構築する際に使用します
- abapgit:BTP ABAP Environment でのバージョン管理に使用します
コメント
Markdown 対応