Delay Shape bilindiği üzere işleme devam etmek için belirtilen tarih ve saate kadar beklemeyi sağlar. Bu saat formatı UTC (Coordinated Universal Time) formatında olmalıdır.
Mesela
StrRunTime = System.DateTime.Now.ToString("yyyy-MM-ddT") + "15:30:00.00";
RUN_TIME = System.Convert.ToDateTime(StrRunTime);
görüldüğü üzere RUN_TIME date tipinde bir değişken ve o günün 15:30 saatini gösteriyor. Bu değişkeni aşağıdaki gibi Delay Shape'e koyarsak,
new System.DateTime(RUN_TIME);
her gün saat 15:30'dan önce işlem start etmiş olsa bile bu saate kadar bekleyecek ve 15:30'da işleme devam edeceğini düşünürüz. Düşünürüz diyorum çünkü GMT saat farkı yüzünden gerçek saate göre 17:30 da işlem kaldığı yerden devam eder. Bu problemi halletmek için RUN_TIME'i türkiyenin içinde bulunduğu GMT'e göre 2 saat geri almamız gerek.
RUN_TIME aşağıdaki gibi Set edilmesi gerek.
StrRunTime = System.DateTime.Now.ToString("yyyy-MM-ddT") + "15:30:00.00";
RUN_TIME = System.Convert.ToDateTime(StrRunTime);
RUN_TIME = RUN_TIME.AddHours(-2);
Hiç yorum yok:
Yorum Gönder