metalsimyaci / SapCo2

SAP Connector for .Net5
MIT License
29 stars 10 forks source link

Async & Dynamic Structure talebi #2

Open harunemre opened 3 years ago

harunemre commented 3 years ago

Selam,

Elinize sağlık başarılı bir çalışma olmuş.

Fırsatınız olur mu bilmem ama 2 talebim olacak.

1) Rfc çağırırken dönüş tipi bilinmediğinde bir sınıfa map etmeden dinamik olarak dönecek tip i bir object veya dynamic türünde çağırabilmeli yani rfc den dönecek struct yapısını dinamik olarak set edebilmeliyiz.

var result = rfcFunction.GetRfc<object>(connection, "RFC_NAME");

gibi

2) Asenkron bir projenin içindeki hiyerarşinin bozulmaması adına Async desteği eklerseniz tadından yenmez.

using var connection = serviceProvider.GetService<IRfcConnection>();
await connection.ConnectAsync();
using IReadRfc rfcFunction = serviceProvider.GetService<IReadRfc>();
var result = await rfcFunction.GetRfcAsync<RfcResponse>(connection, "RFC_NAME");

gibi

metalsimyaci commented 3 years ago

Kısa zaman önce aynı kaynak kodu kullanarak şirket içi bir projede bahsettiğiniz asenkron çalıştırma ve bağlantı konusunda çeşitli güncellemeler ile tamamladık. Proje üzerinde test aşamasında şuan için. Onu tamamlar tamamlamaz ilgili değişiklikleri pakete yansıtmayı düşünüyorum. İlk bahsettiğiniz konuyla ilgili olarak çoklu output ve input mapper desteği ile çözülebilir gibi geliyor. şuan ki class türünden bir atama olduğunda çalışır, structur veya object türünden bir atamada ise ona göre bir dönüşüm gerçekleştirebiliriz. Biraz incelemem lazım.

harunemre commented 3 years ago

Teşekkürler. Dönüş için bir sınıfa maplenmesi güzel birşey fakat Rfc den dönecek tablo yapılarının bilinmediği durumlarda bir sınıf olmadan bir object e set edilip en azından tablonun dönüş değerlerini öğrenmek güzel olurdu. .net frameworkte mevcut .net connector 3.0 ile bir rfc den dönen datalar bir datatable e atılıp isim, veri türü gibi bilgilerine ulaşılabiliyordu.

örn: sap connector net framework

.net core da bu yol izlenebilir mi emin değilim.

asenkron konusunda da yakından takipteyim :)