Akış içerisinde oluşturulan kod bloklarının sürecin farklı aşamalarında kullanılması gerekebilir. Fonksiyonlar bölümünden oluşturulan metodlar tüm Formül Sihirbazı (rosylnalanlarında kullanılabilir, tekrar tekrar çalıştırılabilir. Bu sayede akış içerinde yazılan kodların yeniden yazılması engellenmiş olur ve değişliklerin tek bir yerden yönetilmesi sağlanır. Katalog desteği sayesinde oluşturulan metodlar farklı akışlar içerisine kolayca aktarılabilir.

 Fonksiyonlar| Fonksiyonlar Tabı

Yeni: Akışa yeni bir metod tanımlamak için kullanılan bölümdür. Butona basıldığında Kod Bilgisi ekranı açılır. Bu ekranda Ad ve Açıklama bilgisi girilmeden Kod kısmındaki fonksiyon butonu aktif olmaz. Metodların içerisinde bulunduğu sınıf buradaki fonksiyon adına göre oluşacaktır. Bu nedenle Ad alanı benzersiz olmalıdır. Özel karakter kullanılamaz, değişken ekleme isim kuralları ad alanı için kontrol edilir (Sayı ile başlayamaz, ActiveRow ile bitemez, LFlow ile başlayamaz, kodlama özel terimleri kullanılamaz).

Bilgi ekranındaki tanımlamalar yapılıp fonksiyon butonuna basıldığında Gelişmiş Mod tipindeki Formül sihirbazı açılır. Kodlama ekranı kullanıcıyı yönlendiren hazır bir template ile gelmektedir. Kullanıcı bu template üzerinde değişiklik yaparak fonksiyon oluşturabilir ya da silip kendi kodlarını kullanabilir. Formül sihirbazından akıştaki değişkenlere, veri kaynaklarına, aktivitelere ve sql bağlantı listelerine erişilemez. Metotlar parametreli ya da parametresiz olarak istenildiği şekilde yazılabilir. 

 Fonksiyonlar| Formül Sihirbazı

Oluşturulan fonksiyonlar sınanarak kodun doğruluğu kontrol edilir.  Hata alınan durumlarda kod düzeltilmeden akış kaydedilmemelidir. 

Eğer kodda syntax hatası yapıldıysa sına dendiğinde tüm roslynlerden hata alacaktır.

Property(Özellik) kullanımı önerilmemektedir. Birden fazla iş çalıştığında hataya sebep olabilir.

Düzenle: Tanımlı fonksiyonlardan herhangi birinin üzerinde gelerek 'Düzenle' butonuna basıldığında; yeni fonksiyon oluştururken Kod Bilgisi ekran gelir. Kullanıcı buradan fonksiyon butonuna basarak formül ekranı üzerinden güncelleme işlemi gerçekleştirir. Fonksiyon üzerinde çift tık işlemi de düzenleme modunu etkinleştirmektedir. Fonksiyon adında düzenleme yapılamamaktadır. 

Sil: Fonksiyon listesinde herhangi bir fonksiyonun üzerinde gelerek 'Sil' butonuna basıldığında; tanımlı fonksiyon akış tasarımı içerisinden silinir.

Kopyala: Seçilen fonksiyonun kopyalanmasını sağlar. Benzer içerikteki sorgular bu özellik sayesinde hızlı bir şekilde tanımlanabilir. 

Katalogdan Yükle: Sistemde tanımlı olan fonksiyon kataloglarından herhangi birini akış tasarımına aktarmak için kullanılır. Bu sayede sıfırdan fonksiyon tanımlanmasının önüne geçilmektedir.  Katalog oluşturma işlemleri için Kataloglar bölümünü inceleyebilirsiniz.

Kataloğa Yükle: Akış içerisinde yapılan fonksiyon tanımının; farklı akışlar içerisinde de kullanılabilmesi amacıyla fonksiyon kataloğu havuzuna eklenmesini sağlar. 

Kod Güncelle: Fonksiyonların toplu olarak katalogda tanımlı fonksiyonlara göre güncellenmesini sağlar. Sadece adları eşleşen fonksiyonlarda güncelleme gerçekleştirilir. İşlem öncesinde kullanıcı uyarılır., yapılan seçime göre güncelleme işlemine devam edilir.

Filtrele:  Tanımlı fonksiyonlar içerisinde filtreleme yapmak amacıyla kullanılan bölümdür.

Fonksiyonların Kodlama Ekranlarında Kullanımı

Fonksiyonlar public static olarak tanımlandığında tüm Formül Sihirbazı (rosylnalanlarından erişilebilir durumda olacaktır. Fonksiyonun adı yazıldığında içerisindeki metodlar listelenir. Fonksiyon kodu içerisinde açıklama tagleri kullanıldıysa eğer, metod çağırıldığında bu bilgiler kullanıcıya gösterilir. 

 Örnek Kullanım

 Örnek Fonksiyon

Aşağıdaki dosyayı indirerek tablo fonksiyonlarının kullanıldığı örnek bir akışı uygulamaya aktarabilirsiniz. İçeri aktarma işleminin nasıl yapıldığına dair bilgi için Aktar bölümünü inceleyebilirsiniz.

TabloFonksiyonu.nxm