1. Ana Sayfa
  2. Dynamics 365
  3. SysOperation Framework İle Toplu İş Nasıl Oluşturulur?

SysOperation Framework İle Toplu İş Nasıl Oluşturulur?

Image00

Bu yazıda SysOperation kullanarak 365 Finance and Operations için yeni bir toplu iş (Batch Job) nasıl oluşturulur anlatmaya çalışacağım. SysOperation RunBaseBatch‘in daha gelişmiş hali diyebiliriz. Birçok farklı kullanımı var. Bu örnekte normal toplu iş olarak kullanımını anlatacağım. Yapısına gelecek olursak SysOperation MVC (Model–View–Controller) design pattern‘ı kullanır. Bu yapının temel sınıfları şunlardır:

Service: Servis sınıfı SysOperationServiceBase sınıfından türetilir. İşlemin yapıldığı sınıftır. Kodlarımız bu sınıfta olmalı.

Data Contract: Özellikleri (attributes) tanımladığımız model sınıfıdır. Diyalogdan veri almak için DataContractAttribute attribute kullanılır.

Controller: Kontrol sınıfı SysOperationServiceController sınıfından türetilir. Toplu işle ilgili bilgileri tutar. Diyalog ve progress bar gibi.

UI Builder: UI Builder sınıfı SysOperationAutomaticUIBuilder sınıfından türetilir ve diyaloglara daha gelişmiş ara yüzler sağlamak için kullanılır.

Bu örnekte ilk 3 sınıfı kullanarak RunBaseBatch ile yaptığımız örneğin aynısı yapacağım. Öncelikle yeni bir proje oluşturuyorum.


Resim-1

Yeni bir sınıf ekliyoruz.


Resim-2

İlk sınıfımız kontrol sınıfı. Henüz servis sınıfını oluşturmadık ama ismini tespit edip yazdım.


Resim-3

Şimdi servis sınıfını oluşturalım.


Resim-4

Aşağıdaki kodu yazıyorum. Aslında burada Contract sınıfına ihtiyacım var. Hemen onu oluşturalım.


Resim-5

Contract sınıfını oluşturuyorum. Genelde bu sınıfı ilk oluşturmak gerekir. Ama tasarımınız netse hangisinden başladığınız önemli değil. Zaten her seferinde bu kodları tekrar tekrar yazmayacaksınız bir şablondan kullanacaksınız.


Resim-6

Burada iki değişken almak istiyorum ve buna göre sınıfımı düzenliyorum.

Resim-7

oluşturuyorum.


Resim-8

MenuItem‘a kontrol sınıfımı bağlıyorum.


Resim-9

Bu şamadan sonra derleme yapma gerekiyor. Sadece projeyi derlemek yetmiyor. Bu yüzden Build models diyoruz.

Resim-10

Açılan ekrandan Select all deyip. Build başlatıyoruz.

Resim-11

Build tamamlandıktan sonra MenuItem‘mımızı başlangıç nesnesi olarak işaretleyip projemizi çalıştırıyoruz. Sınıfımız çalıştı. Aynı RunBaseBatch‘te olduğu gibi direk çalıştırabiliriz.


Resim-12

İstersek toplu işe ekleyebiliriz. Ben toplu işe ekleyip tek sefer çalışacak şekilde ayarladım.


Resim-13

Şimdi Batch Jobs formunu açalım. Kendi toplu işimizi bulup durumuna bakalım. Ended diyor yani çalışmış ve bitmiş. Eğer tekrarlayan bir iş olsaydı bekliyor durumunda olurdu. Toplu iş ne yapmış doğru çalışmış mı kontrol etmek için Batch job History’ye tıklıyorum.


Resim-14

İşin ayrıntılarından Log diyorum ve toplu işin çıktısını gösteriyor. Sorunsuz çalışmış.


Resim-15

Bu yazıda SysOperation kullanarak yeni bir toplu iş nasıl oluşturulur anlatmaya çalıştım. SysOperation çok geniş bir konu farklı açılardan ele almaya devam edeceğim. Özellikle Parallel processing performans açısından çok işe yarıyor. Bir örnekte nasıl kullanılır anlatacağım.

Selamlar.

Bu konuyla ilgili sorularınızı https://forum.mshowto.org linkini kullanarak ulaşacağınız forum sayfamızda sorabilirsiniz.

Referanslar:
www.mshowto.org

www.fatihdemirci.net

TAGs: Microsoft Life Cycle Services, LCS, Azure, Azure DevOps, Batch Jobs, SysOperation, 365, MsDyn365FO, MsDyn365CE, MsDyn365, Dynamics 365 Insights Power BI, Power Automate, Power Apss, Power Virtual Agents, Dynamics 365 nedir, Dynamics 365 ERP,

Yorum Yap

Yazar Hakkında

2005 yılında Kocaeli Üniversitesi Bilgisayar Mühendisliğinden mezun oldum. Okulda ve ilk iş tecrübelerimde farklı yazılım dilleri kullandım. 2007 yılında Akşam gazetesinde işe başladım ve Microsoft Dynamics 365 (eski adıyla Axapta) ile orda tanıştım. Hiç duymadığım bir dil olan X++ kullanılıyordu. Kısa sürede adapta oldum ve kariyerimi bu alanda şekillendirdim. Bir kaç iş değişikliğinde sonra kendi firmamı kurdum. Şu anda DMR de yönetici ortak ve Çözüm mimarı olarak çalışmaktayım. 2010 yılında MCT oldum. Birçok faklı ortamda eğitimler verdim. Bloğum ve Youtube kanalımda tecrübelerimi paylaşmaktayım.

Yorum Yap