KS ABAP Workbench
SAP ABAP nesnelerini VS Code içindeki yerel çalışma alanında inceleyip düzenlemek ve değişiklikleri SAP'e kontrollü biçimde geri göndermek için eklenti. SAP iletişimi ADT üzerinden yapılır; değişiklik takibi VS Code Source Control görünümüne entegredir.
SAP ADT ⇄ KS ABAP Workbench ⇄ Yerel ABAP çalışma alanı
└────── İsteğe bağlı SonarQube / SonarCloud kalite kapısı
Özellikler
- SAP ADT bağlantısı: SAP sistemine bağlanma, nesne kaynaklarını okuma ve değişiklikleri geri yazma. Kurumsal sistemler için self-signed sertifika seçeneği bulunur.
- Paket ve nesne yönetimi: SAP paketlerindeki indirilebilir nesneleri yerel çalışma alanına alma; sınıflar, programlar, function group'lar, CDS/RAP ve ABAP Dictionary nesneleriyle çalışma.
- Yerel ABAP gezgini: Paketleri, nesne kategorilerini ve sınıf/function group bileşenlerini ağaç görünümünde inceleme; paket arama ve favoriler.
- Nesne oluşturma: Yeni ABAP nesnesi oluşturma. SAP'te hedef paket yoksa paket oluşturma akışı üst paket, transport ve yazılım bileşeni bilgilerini ister.
- Source Control ile SAP eşitleme: Yerel değişiklikleri karşılaştırma, SAP'e gönderilecekleri seçme, gönderme ve gönderim sonrası baseline'ı güncelleme. Bu, GitHub'a push veya GitHub Actions akışı değildir.
- Çakışma çözümü: SAP'deki güncel kaynak ile yerel değişiklikleri karşılaştırma; uygun durumlarda üç yönlü merge ve SAP sürümünü alma.
- SonarQube / SonarCloud: Bağlantı ve Quality Gate durumunu görüntüleme. SAP'e gönderim öncesi kapı zorunluluğu ve yerel abaplint/scanner analizi ayarlanabilir.
- Lisans ve bağlantı durumu: Azure DevOps PAT tabanlı lisans doğrulama; lisans, SAP ve Sonar durumlarını görünümden izleme.
- ABAP gezinme: SAP bağlantısı varken ABAP kaynaklarında tanımın üzerine gitme (Go to Definition).
Gereksinimler
- VS Code 1.85 veya üzeri
- SAP ADT servisine erişim ve SAP kullanıcı hesabı
- Kuruluş lisansı için Azure DevOps erişimi ve lisans PAT'i
- Git: Yerel değişiklik takibi ve Source Control görünümü için gereklidir. Git yoksa SAP bağlantısı ve dosya işlemleri kullanılabilir.
- Java 17+ ve SonarScanner: Yalnızca yerel Sonar analizi çalıştırılacaksa gereklidir.
SAP parolası, Sonar tokeni ve lisans anahtarı VS Code SecretStorage'da tutulur; settings.json içine yazılmaz. Ayrıntılar: Ön gereksinimler.
Hızlı Başlangıç
- Activity Bar'dan KS ABAP Workbench görünümünü açın.
- Bağlantı Durumu görünümündeki ayarlar düğmesinden SAP, çalışma alanı ve gerekiyorsa Sonar bilgilerini girin.
- Lisans satırındaki Lisans Anahtarı Gir komutuyla lisans anahtarınızı ekleyip doğrulayın.
- SAP ayarlarını kaydedip SAP'e Bağlan'ı çalıştırın. SAP bilgileri önceden ayarlıysa eklenti etkinleşirken otomatik bağlanmayı dener.
- Lokal Dosyalar görünümünden çalışma alanı paketlerini inceleyin; SAP'ten paket veya nesne indirin ya da yeni nesne oluşturun.
- ABAP dosyalarını düzenleyip kaydedin. Değişiklikler VS Code Source Control görünümündeki Changes grubunda listelenir.
- Farkları inceleyin, gönderilecek dosyaları To Send grubuna ekleyin ve Send to SAP komutunu çalıştırın. Çakışmalar Conflicts grubunda görünür.
Sonar kalite kapısı zorunluysa gönderim sırasında kontrol edilir; ayarlara bağlı olarak önce yerel abaplint ve SonarScanner analizi de çalışır. Ayar kapalıysa Sonar kontrolü gönderimi engellemez.
Başlıca Komutlar
Komut Paleti'ni (Ctrl+Shift+P) açıp aşağıdaki komutları arayın:
| Komut |
Açıklama |
KS ABAP: Configure All Settings |
SAP, çalışma alanı ve Sonar ayarları |
KS ABAP: Connect to SAP / Disconnect from SAP |
SAP bağlantısını açma veya kapatma |
KS ABAP: Enter License Key / Verify |
Lisansı kaydetme ve doğrulama |
KS ABAP: Create New ABAP Object |
Yerel/SAP ABAP nesnesi oluşturma |
KS ABAP: Show Sonar Status |
Sonar analizi ve Quality Gate durumunu görüntüleme |
KS ABAP: Send to SAP |
Etkin nesneyi veya seçili Source Control değişikliklerini SAP'e gönderme |
KS ABAP: Refresh Status / Refresh Local Files |
Görünümleri yenileme |
KS ABAP: Search Package |
Yerel paket/nesne ağacında arama |
Dosya indirme, fark karşılaştırma, stage/unstage, geri alma ve çakışma komutları ilgili ağaç veya Source Control öğelerinin bağlam menülerinde de bulunur.
Ayarlar
Tüm ayarlar Configure All Settings panelinde veya VS Code ayarlarında ks-abap-helper önekiyle yapılandırılabilir.
| Alan |
Kullanım |
| SAP URL, client, kullanıcı, dil |
ADT bağlantısı |
| SAP parolası |
SecretStorage'da saklanır |
| Self-signed sertifikaya izin ver |
Gerekiyorsa SAP TLS sertifika doğrulaması |
| Workspace path |
ABAP dosyalarının saklandığı klasör; boşsa açık VS Code workspace kullanılır |
| Sonar tipi, sunucu/organizasyon, proje anahtarı |
SonarQube veya SonarCloud bağlantısı |
| Sonar tokeni |
SecretStorage'da saklanır |
| Sonar zorunlu |
SAP'e gönderimden önce Quality Gate kontrolünü uygular |
| Yerel analiz ve scanner ayarları |
Gönderim öncesi abaplint/scanner çalıştırma seçenekleri |
Teknoloji
TypeScript 5.3, VS Code API 1.85+, abap-adt-api 8.4, @abaplint/core, fast-xml-parser, VS Code Webview/TreeView/SCM API'leri ve Git CLI.