mcpField
B
btp-abap-environment

btp-abap-environment

github.com/likweitanクラウド・DevOps7282 回インストール2 週間前に更新
リポジトリ

btp-abap-environment について

btp-abap-environmentは、SAP BTP ABAP Environmentのセットアップと開発を案内するスキルです。インスタンス作成、ADT接続、ソフトウェアコンポーネント、通信、アクセス管理、RAPアプリの初期構築を扱います。

主な機能

  1. 01ABAP Environmentインスタンスの設定
  2. 02ADTとBTP ABAPシステムの接続
  3. 03ソフトウェアコンポーネントとパッケージの管理
  4. 04インバウンドおよびアウトバウンド通信の設定
  5. 05IAMロールとカタログの設定
  6. 06RAPベースのFioriアプリのひな型作成

活用シーン

  1. 01開発者のBTP ABAPシステムへのオンボーディング
  2. 02外部システム連携の設定
  3. 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)のセットアップと開発のガイドです。

ワークフロー

  1. ユーザーの目標を特定する:

    • 新しい ABAP Environment インスタンスのセットアップ
    • ADT と BTP ABAP システムの接続
    • インテグレーション用の通信アレンジメントの設定
    • 最初の ABAP Cloud プロジェクトの作成
    • ソフトウェアコンポーネントとパッケージの管理
    • 送信/受信接続のセットアップ
  2. フェーズを特定する:

    • 初期プロビジョニングとセットアップ
    • 開発者のオンボーディング
    • インテグレーションの設定
    • アプリケーション開発
  3. 実装を段階的にガイドする

セットアップの概要

前提条件
要件説明
SAP BTP アカウントABAP Environment のエンタイトルメントがあるグローバルアカウント
サブアカウントCloud Foundry が有効なサブアカウント
ADTABAP Development Tools をインストールした Eclipse
ユーザーSpace Developer ロールを持つプラットフォームユーザー
エンタイトルメントabap/standard または abap/saas_oem サービスプラン
サービスインスタンスの作成
  1. BTP Cockpit → サブアカウント → Cloud Foundry → Spaces に移動します
  2. サービスインスタンスを作成します:
    • サービス:ABAP Environment
    • プラン:standard
    • インスタンス名:例:my-abap-instance
  3. パラメーターを指定します(JSON):
{
  "admin_email": "[email protected]",
  "description": "Development ABAP System",
  "is_development_allowed": true,
  "sapsystemname": "DEV",
  "size_of_runtime": 1,
  "size_of_persistence": 4
}
  1. ADT 接続用のサービスキーを作成します
ADT と BTP ABAP の接続
  1. Eclipse/ADT で、File → New → ABAP Cloud Project を選択します
  2. SAP BTP ABAP Environment を選択します
  3. サービスキー(JSON)またはサービスインスタンスの URL を入力します
  4. ブラウザーで認証します(SAP Identity Authentication)
  5. プロジェクトが作成されます。開発を開始してください

システムアーキテクチャ

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 または「ソフトウェアコンポーネントの管理」アプリで管理します
ソフトウェアコンポーネントの作成
  1. ソフトウェアコンポーネントの管理 Fiori アプリを開きます
  2. 作成(または + ボタン)をクリックします
  3. 次の情報を入力します:
    • 名前:Z_MY_COMPONENT
    • 説明:例:「カスタムコンポーネント」
    • タイプ:開発
  4. コンポーネントを クローン して、ADT で使用できるようにします
  5. コンポーネント内にパッケージを作成します
パッケージ構造
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 内):

プロパティ値
シナリオ IDZ_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( ).
インバウンド通信(サービスの公開)
  1. OData サービスを作成します(RAP ベース)
  2. サービスバインディングをインバウンドサービスとして通信シナリオに追加します
  3. Fiori アプリで通信アレンジメントを作成します:
    • シナリオを選択します
    • 通信システムを作成または割り当てます
    • 通信ユーザーを作成します(Basic 認証の場合)、または OAuth を設定します
  4. 外部システムからサービスを呼び出せるようになります

アイデンティティおよびアクセス管理

ビジネスロールとカタログ
IAM App → Business Catalog → Business Role → Business User
  1. ADT で IAM アプリを作成します(サービスバインディング用)
  2. IAM アプリを含む ビジネスカタログを作成します
  3. Fiori でカタログを含む ビジネスロールを作成します
  4. ビジネスロールをユーザーに割り当てます
IAM アプリの作成
ADT: New → Other → IAM App
Name: Z_MY_APP_IAM
Service Binding: Z_MY_SERVICE_BINDING

最初のプロジェクトの足場作り

最小限の RAP ベースの Fiori アプリを作成する手順:

  1. データベーステーブルを作成
  2. テーブルに対する CDS ルートビューエンティティを作成
  3. CDS プロジェクションビュー(コンシュームビュー)を作成
  4. ビヘイビア定義(マネージド、ドラフトあり)を作成
  5. ビヘイビア実装クラスを作成
  6. プロジェクションを公開する サービス定義を作成
  7. サービスバインディングを作成(OData V4 - UI)
  8. 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]

参考資料

関連スキル

  • abap-cloud:ABAP Cloud の開発コンセプトと制約に使用します
  • authorization-iam:IAM アプリとビジネスロールの設定に使用します
  • rap:BTP ABAP Environment で RAP ビジネスオブジェクトを構築する際に使用します
  • abapgit:BTP ABAP Environment でのバージョン管理に使用します

コメント