Page History
Database üzerinde LOGMASTER tablosundaki INSTANCEDATA kolonu kullanılarak akış üzerindeki değişkenlerin değerlerine ulaşılabilmektedir. Akış ile ilgili değerler bu kolon üzerinde XML olarak tutulmaktadır ve değerlere ulaşmak için XML içeriği parse etmek gerekmektedir.
Info |
---|
Aşağıdaki örnek akışı içeri aktarıp, SQL sorguları üzerinden verilere nasıl erişileceğine dair kullanımları görebilirsiniz. Akış: SQL Üzerinden Verilere Erişme.xnm |
Sorgularda kullanılan INSTANCEUNIQUEID değeri portalde başlatılan iş numarasına denk gelmektedir. Örnek olarak kullanılan işin ekran görüntüsü;
Örnek olarak kullanılan işin INSTANCEDATA verisi;
Tip | ||||
---|---|---|---|---|
1.Primitive Tipteki Değişkenlere Erişmek Primitive tipteki değişkenlerin değerlerine erişmek için akış tarafında herhangi bir işlem gerekmemektedir. Sorgu SELECT INSTANCEDATA.value('(/root//LFlow_NFormActivity1_initUser/node())[1]', 'nvarchar(max)') as [Baslatan Kullanıcı], INSTANCEDATA.value('(/root//Toplam/node())[1]', 'nvarchar(max)') as [Masraf Tutarı], INSTANCEDATA.value('(/root//AlinanAvans/node())[1]', 'nvarchar(max)') as [Alınan Avans] FROM [LFLOW].[dbo].[NWFLOGMASTER] where INSTANCEUNIQUEID ='107527'
Sonuç 2.Tablo Değişkenindeki Verilere Erişmek Tablo değişkenindeki verilere erişmek isteniyorsa, akış tasarlanırken tablo içeriğinin büyük metin değişkenine aktarılması gerekmektedir. Aktarım işlemi; BuyukMetinDegiskeni.Value = Tablo.XmlSerialize(); komutu ile sağlanmaktadır. (Yukarıdaki örnek akışta kullanımı mevcuttur.) Sorgu select X.query('RowId').value('.', 'varchar(250)') as [RowId], X.query('Tarih').value('.', 'varchar(250)') as [Tarih], X.query('HarcamaNedeni').value('.', 'varchar(250)') as [HarcamaNedeni], X.query('Tutar').value('.', 'float') as [Tutar], X.query('Yakt').value('.', 'bit') as [Yakt], X.query('Ulasim').value('.', 'bit') as [Ulasim], X.query('Agirlama').value('.', 'bit') as [Agirlama], X.query('Otel').value('.', 'bit') as [Otel], X.query('Yemek').value('.', 'bit') as [Yemek] from NWFLOGMASTER cross apply INSTANCEDATA.nodes('/root/TabloIcerik/SpecialTableXmlData/HarcamaBilgileri/Row') AS P(X) where INSTANCEUNIQUEID ='107527'
|