RunBaseBatch Framework İle Toplu İş Nasıl Oluşturulur?
0

 

Bu yazıda Dynamics 365 Finance and Operations için yeni bir toplu iş (Batch Job) nasıl oluşturulur anlatmaya çalışacağım. RunBaseBatch kullanarak bir örnek oluşturacağım. İleriki yazılarımda SysOperation ile de örnekler vereceğim. Toplu iş nedir ona bakalım. Bir işi farklı sunucuda ve belli zamanda istersek tekrarlayan şekilde çalıştırmaya yarayan bir alt yapı diyebiliriz. En basit örneği vereyim. Merkez bankası her gün kurları belli saatte açıklıyor. Sizin bu değerleri alıp sisteme kaydetmeniz gerekiyor. Bunun için bir sınıf yazdınız ve bu sınıf servise bağlanıyor ve değerleri alıyor. Ancak bunun her gün aynı saatte tetiklenmesi lazım. İşte burada toplu iş devreye giriyor ve size bu ayarları yapma imkânı veriyor.

Bu örnekte çok basit bir sınıf oluşturup çalıştıracağız. Öncelikle yeni bir proje oluşturuyorum.


Resim-1

Projeden sonra sınıfa ihtiyaç var ama sıfırdan oluşturmayacağız olan örneklerden Tutorial_RunBaseBatch sınıfını çoğaltıyoruz.


Resim-2

Çoğalttığımız sınıfa bir isim verelim. Burada dikkat etmeniz gereken birkaç konu var. Öncelikle sınıfın yapısını değiştirmeyin bu hali ile sorunsuz çalışıyor. Eğer diyaloga ihtiyacınız yoksa onları boşaltabilirsiniz. RunBaseBatch‘ten türetmek elzem. Mutlaka Pack Unpack kullanmalısınız. Pack Unpack kısaca nedir derseniz parametrelerinizin sistemde saklanmasını sağlar diyebilirim. Çok geniş bir konu bir yazıda sadece buna değinmek lazım.


Resim-3

Sınıfı çoğaltınca birkaç yerde eski sınıfın adı kalıyor. Bunları düzeltmek lazım. Main metodunu bu hale getirdim.


Resim-4

Aynı şekilde construct metodunu bu şekilde değiştirdim.


Resim-5

Run metodu asıl işin yapıldığı yer. Bu örnek sınıfta bir diyalog açılıyor tarih ve müşteri kodu istiyor. Ben de run metodunda bu diyalogdan gelen değerleri ekrana yazdırıyorum.


Resim-6

Sınıfı çalıştırmak için yeni bir MenuItem oluşturuyorum. Object ve ObjectType seçiyorum.

Resim-7

MenuItem‘ı başlangıç noktası olarak işaretliyorum.


Resim-8

Projemi çalıştırdığımda diyalog ekranı açılıyor. Tarih girip bir müşteri seçiyorum. Batch processing no diyorum. Bu haliyle Ok dediğimde sınıf direk çalışacak.


Resim-9

Sınıf çalıştı ve çıktıyı ekrana verdi.

Resim-10

Şimdi Yes olduğunda nasıl oluyor bakalım. Tabi bu kısım biz sınıfımızı RunBaseBatch sınıfından türettiğimiz için geliyor. Önemli olan birkaç alanı tanımladıktan sonra Recurrence‘a tıklıyorum.

Resim-11

Burada bu işin hangi sıklıkta ve ne zaman çalışacağını belirleyebilirim. İstersem her 10 dakikada bir çalışır hale getirebilirim ama benim için bir kere çalışması yeterli o yüzden böyle bırakıyorum.


Resim-12

Ok ile ekranları kapattığımda sınıf çalışmadı onu yerine kuyruğa eklendi mesajını gösterdi.


Resim-13

Şimdi Batch Jobs formunu açalım.


Resim-14

Kendi toplu işimizi bulup durumuna bakalım. Ended diyor yani çalışmış ve bitmiş. Eğer tekrarlayan bir iş olsaydı bekliyor durumunda olurdu. Switch to enhanced form ile gelişmiş formu açıyorum.

Resim-15

Bu formda daha çok ayrıntı var. Hepsinden bahsetmeyeceğim ama bizim toplu iş ne yapmış doğru çalışmış mı kontrol etmek için Batch job History’ye tıklıyorum.


Resim-16

Açılan ekrandan Log‘a tıkladığımda seçtiğim tarih ve müşteri bilgisinin ekrana çıktığını gördüm. Yani sınıfım çalışmış. Eğer hata olsaydı buradan kontrol edebilirdim.


Resim-17

Bu yazıda RunBaseBatch kullanarak yeni bir toplu iş nasıl oluşturulur anlatmaya çalıştım. Toplu iş çok geniş bir konu farklı açılardan ele almaya devam edeceğim.

Selamlar.

Bu konuyla ilgili sorularınızı  alt kısımda bulunan yorumlar alanını kullanarak sorabilirsiniz.

Referanslar:
www.mshowto.org

 

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

Bu İçeriğe Tepkin Ne Oldu?
  • 3
    harika_
    Harika!!
  • 0
    be_enmedim
    Beğenmedim
  • 0
    _ok_iyi
    Çok iyi
  • 0
    sevdim_
    Sevdim!
  • 0
    bilemedim_
    Bilemedim!
  • 0
    olmad_
    Olmadı!
  • 0
    k_zd_m_
    Kızdım!

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.

Yazarın Profili

Bültenimize Katılın

Tıklayın, üyemiz olun ve yeni güncellemelerden haberdar olan ilk kişi siz olun.

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir