İlginizi Çekebilir
  1. Ana Sayfa
  2. Dynamics 365
  3. RunBaseBatch Framework İle Toplu İş Nasıl Oluşturulur?

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

Image00

 

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ş 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ı https://forum.mshowto.org linkini kullanarak ulaşacağınız forum sayfamızda sorabilirsiniz.

Referanslar:
www.mshowto.org

 

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

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