top of page

SAP Business One Addon - Application Classı Nedir Ne işe Yarar

Güncelleme tarihi: 29 Oca 2022

Application class açık olan SAP B1 client arayüzüne bağlanmak için oluşturulmuş özel bir classtır. Addon başlangıcı bu class ın Run komutuyla beraber arayüze bağlanmaktadır. Windows.form application mantığıyla çalışmaktadır. Application.Run() komutundan sonra yazdığınız hiç bir kod çalışmayacaktır.


Buradaki önemli noktalardan bir tanesi de visual studio ile SAP B1 client ın yönetici modda çalışması gerektiğidir. Eğer ikisi de yönetici modda çalışmaz ise SAP B1 client ekranında Connectionstring hatası çıkmaktadır.



Projeyi çalıştırdığınızda proje otomatik olarak açık olan SAP B1 client arayüzüne bağlanmaya çalışacaktır. Buradaki önemli konulardan bir diğeri ise Application class içerisindeki SAPbouiCOM.Application interface dir.




Daha önce bahsetmiş olduğum SAPbouiCOM namespace altındaki bulunan interface ler aracılığı ile SAP B1 client nesnelerinelerine erişebiliyoruz. Fakat bu namespace altındaki class lara direkt erişimimiz yoktur. Burada bir Abstract Factory Pattern mantığı işlemektedir. SAP ihtiyacımız olan nesneleri bize kendisi üreterek vermektedir.


Örneğin formumuza bir EditText nesnesini kod ile eklemek istediğimizde bunu new EditText() diyerek ekleyemeyiz. Bunun yerine SAP ye formumuza bir EditText türünde eleman ekle dememiz gerekmektedir.


var newEditText = this.UIAPIRawForm.Items.Add("testObject",SAPbouiCOM.BoFormItemTypes.it_EDIT);




Bu mantığı bilmemiz önemli çünkü SAP SDK ile kod geliştirmenin temelini oluşturmaktadır. Application classının içinde bulunduğu SAPbouiCOM.Framework te SAPbouiCOM içerisindeki interfacelere daha kolay erişebilmek ve kod geliştirmek için oluşturulmuş bir namespacedir.


Örneğin aslında SAP B1 client içerisindeki forma erişebilmek için IForm interface ihtiyaç bulunmaktadır. SAPbouiCOM.Framework içerisindeki FormBase classı bu interface ulaşmanın kolay yolunu bize vermektedir. Projede oluşturduğumuz form FormBase classını inherit etmekte bu classta aslında içerisinde IForm interface ini içermektedir.





51 görüntüleme0 yorum

İlgili Yazılar

Hepsini Gör

Comments


bottom of page