SAP Business One (SBO) ekosisteminde dış uygulamalar geliştirmek için kullanılan en temel araçlardan biri DI API‘dir. Windows Form tabanlı bir arayüz üzerinden SBO şirket veritabanına bağlanmak, otomasyonlar ve özel raporlamalar için ilk adımdır. OA2 addonu ile bağlantı kontrollerini yapabilir hale gelecektir.
1. Bağlantı Parametrelerinin Hazırlanması
Bir bağlantı kurmak için uygulamamızın SAPbobsCOM.Company nesnesine ihtiyaç duyduğu temel verileri bir form üzerinden kullanıcıdan almamız gerekir.

Form1.png‘de görüldüğü gibi, sağlıklı bir bağlantı için şu alanlar kritik öneme sahiptir:
- Server: SQL veya HANA sunucunuzun adı/IP adresi.
- User & Password: SAP Business One kullanıcı adı (genelde ‘manager’) ve şifresi.
- Company DB: İşlem yapılacak veritabanının teknik adı (Örn:
SBODemoTR). - SLD & Lisans: System Landscape Directory bilgileri.

2. Sık Karşılaşılan Hatalar: -132 Hata Kodu
Bağlantı denemeleri her zaman başarıyla sonuçlanmayabilir. DI API, bağlantı başarısız olduğunda sayısal hata kodları döndürür.
Form2.png‘de karşılaşılan “-132 Error during SBO user authentication” hatası, genellikle şu sebeplerden kaynaklanır:
- Kullanıcı adı veya şifrenin yanlış girilmesi.
- Bağlanmaya çalışılan kullanıcının başka bir terminalde aktif olması (lisans türüne bağlı olarak).
- SAP License Manager servisinin çalışmıyor olması.

3. Bağlantı Başarısı ve Şirket Bilgisi
Tüm parametreler doğru girildiğinde ve Company.Connect() metodu 0 değerini döndürdüğünde, uygulama artık SAP veritabanı ile konuşabilir hale gelir.
Bağlantı kurulduktan sonra, Form3.png‘deki örnekte olduğu gibi, bağlandığınız şirketin resmi adını (Örn: OEC Bilgisayarları) çekerek bağlantının doğruluğunu teyit edebilirsiniz. Bu aşamadan sonra fatura oluşturma, stok güncelleme veya müşteri kartı açma gibi tüm CRUD (Oluşturma, Okuma, Güncelleme, Silme) işlemlerini DI API üzerinden gerçekleştirebilirsiniz.
Temel Bağlantı Kod Bloğu (C#)
SAPbobsCOM.Company oCompany = new SAPbobsCOM.Company();
oCompany.Server = txtServer.Text;
oCompany.DbServerType = SAPbobsCOM.BoDataServerTypes.dst_MSSQL2017; // Sunucu tipine göre
oCompany.CompanyDB = txtDB.Text;
oCompany.UserName = txtUser.Text;
oCompany.Password = txtPass.Text;
int lRetCode = oCompany.Connect();
if (lRetCode != 0) {
string errMsg;
int errCode;
oCompany.GetLastError(out errCode, out errMsg);
MessageBox.Show(errCode + " " + errMsg);
} else {
MessageBox.Show("Bağlantı Başarılı: " + oCompany.CompanyName);
}
Bu addona aşağıdaki link üzerinden ulaşabilirsiniz.
Add-On indirme linki : https://github.com/ozeraydin57/Sapb1.Add-On/tree/main/OA2