Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

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.
(Aşağıdaki bölüm info içerisinde olabilir)
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
(Aşağıdaki notu uyarı tipinde gösterelim)
Not: 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ü;
Image Added
Örnek olarak kullanılan işin INSTANCEDATA verisi;

Anchor
_GoBack
_GoBack
Image Added
(Aşağıdaki bölüm yeşil olabilir)

  1. Primitive Tipteki Değişkenlere Erişmek

Wiki Markup
Primitive tipteki değişkenlerin değerlerine erişmek için akış tarafında herhangi bir işlem gerekmemektedir. 
*Sorgu*
<span style="color: #0000ff">SELECT</span>  INSTANCEDATA<span style="color: #808080">.</span><span style="color: #0000ff">value</span><span style="color: #808080">(</span><span style="color: #ff0000"><ac:structured-macro ac:name="unmigrated-wiki-markup" ac:schema-version="1" ac:macro-id="dd7a3cd1-9bd1-4c56-9a51-556abbd046e8"><ac:plain-text-body><![CDATA['(/root//LFlow_NFormActivity1_initUser/node())\[1\]'
, 'nvarchar(max)') as \[Baslatan Kullanıcı\], INSTANCEDATA.value(
Wiki Markup
'(/root//Toplam/node())\[1\]'
, 'nvarchar(max)') as \[Masraf Tutarı\], INSTANCEDATA.value(
Wiki Markup
'(/root//AlinanAvans/node())\[1\]'
, 'nvarchar(max)') as \[Alınan Avans\] FROM \[LFLOW\].\[dbo\].\[NWFLOGMASTER\] where INSTANCEUNIQUEID ='107527' (Aşağıdaki notu uyarı tipinde gösterelim) Not:
Wiki Markup
'(/root//AlinanAvans/node())\[1\]'
, 'nvarchar(max)'bu ifadedeki AlinanAvans akışta kullanılan avans değişkeninin adıdır. \\ *Sonuç* !worddav800893e5f9b2146deb573b2b27f795a9.png|height=370,width=602!]]>

  1. Tablo Değişkenindeki Verilere Erişmek

Wiki Markup
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.)
!worddavbb4235b1f17ecd6f3f383bc322563263.png|height=382,width=602!
*Sorgu*
<span style="color: #0000ff">select</span> X<span style="color: #808080">.</span>query<span style="color: #808080">(</span><span style="color: #ff0000">'RowId'</span><span style="color: #808080">).</span><span style="color: #0000ff">value</span><span style="color: #808080">(</span><span style="color: #ff0000">'.'</span><span style="color: #808080">,</span> <span style="color: #ff0000">'varchar(250)'</span><span style="color: #808080">)</span> <span style="color: #0000ff">as</span> \[RowId\]<span style="color: #808080">,</span>
       X<span style="color: #808080">.</span>query<span style="color: #808080">(</span><span style="color: #ff0000">'Tarih'</span><span style="color: #808080">).</span><span style="color: #0000ff">value</span><span style="color: #808080">(</span><span style="color: #ff0000">'.'</span><span style="color: #808080">,</span> <span style="color: #ff0000">'varchar(250)'</span><span style="color: #808080">)</span> <span style="color: #0000ff">as</span> \[Tarih\]<span style="color: #808080">,</span>
X<span style="color: #808080">.</span>query<span style="color: #808080">(</span><span style="color: #ff0000">'HarcamaNedeni'</span><span style="color: #808080">).</span><span style="color: #0000ff">value</span><span style="color: #808080">(</span><span style="color: #ff0000">'.'</span><span style="color: #808080">,</span> <span style="color: #ff0000">'varchar(250)'</span><span style="color: #808080">)</span> <span style="color: #0000ff">as</span> \[HarcamaNedeni\]<span style="color: #808080">,</span>
X<span style="color: #808080">.</span>query<span style="color: #808080">(</span><span style="color: #ff0000">'Tutar'</span><span style="color: #808080">).</span><span style="color: #0000ff">value</span><span style="color: #808080">(</span><span style="color: #ff0000">'.'</span><span style="color: #808080">,</span> <span style="color: #ff0000">'float'</span><span style="color: #808080">)</span> <span style="color: #0000ff">as</span> \[Tutar\]<span style="color: #808080">,</span>
X<span style="color: #808080">.</span>query<span style="color: #808080">(</span><span style="color: #ff0000">'Yakt'</span><span style="color: #808080">).</span><span style="color: #0000ff">value</span><span style="color: #808080">(</span><span style="color: #ff0000">'.'</span><span style="color: #808080">,</span> <span style="color: #ff0000">'bit'</span><span style="color: #808080">)</span> <span style="color: #0000ff">as</span> \[Yakt\]<span style="color: #808080">,</span>
X<span style="color: #808080">.</span>query<span style="color: #808080">(</span><span style="color: #ff0000">'Ulasim'</span><span style="color: #808080">).</span><span style="color: #0000ff">value</span><span style="color: #808080">(</span><span style="color: #ff0000">'.'</span><span style="color: #808080">,</span> <span style="color: #ff0000">'bit'</span><span style="color: #808080">)</span> <span style="color: #0000ff">as</span> \[Ulasim\]<span style="color: #808080">,</span>
X<span style="color: #808080">.</span>query<span style="color: #808080">(</span><span style="color: #ff0000">'Agirlama'</span><span style="color: #808080">).</span><span style="color: #0000ff">value</span><span style="color: #808080">(</span><span style="color: #ff0000">'.'</span><span style="color: #808080">,</span> <span style="color: #ff0000">'bit'</span><span style="color: #808080">)</span> <span style="color: #0000ff">as</span> \[Agirlama\]<span style="color: #808080">,</span>
X<span style="color: #808080">.</span>query<span style="color: #808080">(</span><span style="color: #ff0000">'Otel'</span><span style="color: #808080">).</span><span style="color: #0000ff">value</span><span style="color: #808080">(</span><span style="color: #ff0000">'.'</span><span style="color: #808080">,</span> <span style="color: #ff0000">'bit'</span><span style="color: #808080">)</span> <span style="color: #0000ff">as</span> \[Otel\]<span style="color: #808080">,</span>
X<span style="color: #808080">.</span>query<span style="color: #808080">(</span><span style="color: #ff0000">'Yemek'</span><span style="color: #808080">).</span><span style="color: #0000ff">value</span><span style="color: #808080">(</span><span style="color: #ff0000">'.'</span><span style="color: #808080">,</span> <span style="color: #ff0000">'bit'</span><span style="color: #808080">)</span> <span style="color: #0000ff">as</span> \[Yemek\]
<span style="color: #0000ff">from</span> NWFLOGMASTER
<span style="color: #808080">cross</span> <span style="color: #808080">apply</span> INSTANCEDATA<span style="color: #808080">.</span>nodes<span style="color: #808080">(</span><span style="color: #ff0000">'/root/TabloIcerik/SpecialTableXmlData/HarcamaBilgileri/Row'</span><span style="color: #808080">)</span> <span style="color: #0000ff">AS</span> P<span style="color: #808080">(</span>X<span style="color: #808080">)</span>
   <span style="color: #0000ff">where</span> INSTANCEUNIQUEID <span style="color: #808080">=</span><span style="color: #ff0000">'107527'</span>
   (Aşağıdaki notu uyarı tipinde gösterelim)
   Not: <span style="color: #c00000">'/root/TabloIcerik/SpecialTableXmlData/HarcamaBilgileri/Row'</span> bu ifadedeki <span style="color: #c00000">TabloIcerik</span> akışta kullanılan büyük metnin adı, <span style="color: #c00000">HarcamaBilgileri</span> ise akışta kullanılan tablonun adıdır.
   *Sonuç*
!worddavbe406168aacc2f19aa616f20af5dd5e2.png|height=453,width=602!