Page tree
Skip to end of metadata
Go to start of metadata

Nedir?

Şema verilerinin form datasına yüklenmesi amacıyla kullanılır.

Sentaks
 <FillXmlWithSchema
   Name="ShemaTabloName"
   VariablePrefix=""
   Into=""
   TemplatePath=""
   MasterDetailTemplatePath=""
   ClearDestinationNodes="True"
   DestinationNodeNameToClear=""
   SearchMethodToUse="Normal"
   LanguageId=""
   Repository=""
   LogQuery="False">
   <Perform />
   <Filter />
   <Columns />
   <Order>
     <Order
       Type="Ascending">
       <ListColumn
         Name="Name"
         DataType="System.String, mscorlib" />
     </Order>
   </Order>
 </FillXmlWithSchema>

Özellikler

 
Adı
Açıklama
 NameVerilerin okunacağı şema tablo adıdır
 

VariablePrefix

Her kolon adına eklenecek ön değişken adı
 

Into

Tablodan okunan verilerin yazılacağı node adresidir
 

TemplatePath

Şablon olarak kullanılacak node adresidir
 

MasterDetailTemplatePath

Okunan kayıtların form verisine liste olarak yazılacağı node adresidir
 

ClearDestinationNodes

Forma yazma sırasında mevcut form verilerinin silinip silinmeyeceğini belirtir. "True" ve "False" değerlerinin alır
 

DestinationNodeNameToClear

ClearDestinationNodes eğer dolu ise, formda silinecek olan node değeridir.
 

SearchMethodToUse

Arama metodunu belirler.

  
NormalVarsayılan arama metodu
CreateRowIfNotExistsOnSchemaKayıt bulunamazsa boş bir kayıt eklenir
CreateNewRowŞemada yeni bir kayıt yaratılır
 

LanguageId

Şema verileri okunurken tercih edilen dil değişkeni
 

Repository

Repository adıdır
 

Perform

Verilerin okunma işleminde gerçekleştirilecek alt işlemlerin tanımları yer alır
 

Columns

Kolon verilerinin değişkenler ve node alanları ile eşleştirmelerinin tanımları yer alır
 

Order

Verilerin okunma işleminde sıralama kolonları ve sıralama adlarını belirtilir

Örnekler

Bu örnekte DataDefinition tablosundan veriler DataDefinition  ismindeki XML Node üzerinde getirilmektedir. 

  • DataDefinition XML Node altında yer alan  ProductCode Node bilgisi veri tabanından getirilmiş olan ProductNo bilgisi ile update edilmektedir.
  • Veriler getirilirken XML Node içerisindeki değerlere göre filtreleme yapılmaktadır.  PromotionType bunun için iyi bir örnektir.
  • <Column Node="PromotionType/@display" Name="PromotionType.Name" /> ifadesi ile DataDefinition tablosu ile ilişkili olan PromotionType tablosundan "Name" okunmakta ve ilgili node alanına yazılması sağlanmaktadır.
  • ClearDestinationNodes="True" ile her çalıştırmada xmlnode bilgilerinin temizlenmesi gerektiği ifade edilmektedir.
  • <OrderColumn Name="ProductNo.Description" DataType="System.String, mscorlib" /> ile ürün tanımlarına göre sıralama yapılması gerektiği belirtilmektedir.
  • <Order Type="Ascending"> ile sıralamanın alfabetik artan olması gerektiği belirtilmiştir.

     

<FillXmlWithSchema Name="DataDefinition" VariablePrefix="" Into="" TemplatePath="" MasterDetailTemplatePath="DataDefinition" ClearDestinationNodes="True" DestinationNodeNameToClear="" SearchMethodToUse="Normal" LanguageId="" Repository="">
<Perform>
	<Set Node="ProductCode">
		<Value Culture="" Target="None">eval::./ProductNo</Value>
	</Set>
</Perform>
<Filter>
	<Criteria Name="PromotionType">
		<Evaluate Target="None" Culture=""><![CDATA[PromoData/PromotionType]]></Evaluate>
	</Criteria>
	<Criteria Name="Status">
		<Value Culture="" Target="None">A</Value>
	</Criteria>
</Filter>
<Columns>
	<Column Node="Id" Name="Id" />
	<Column Node="ProductHierLevel1" Name="ProductHierLevel1" />
	<Column Node="ProductNo" Name="ProductNo.ProductNo" />
	<Column Node="ProductNo/@display" Name="ProductNo.Description" />
	<Column Node="PromotionType" Name="PromotionType.Code" />
	<Column Node="PromotionType/@display" Name="PromotionType.Name" />
	<Column Node="PromotionRate" Name="PromotionRate" />
	<Column Node="ProductKDV" Name="ProductNo.KDV" />
	<Column Node="Condition1" Name="Condition1" />
	<Column Node="Condition1/@display" Name="Condition1.Description" />
</Columns>
<Order>
	<Order Type="Ascending">
		<OrderColumn Name="ProductNo.Description" DataType="System.String, mscorlib" />
	</Order>
</Order>
</FillXmlWithSchema>

 

Aşağıdaki örnekte, BTProjeBildirimRolleri tablosunda bulunan değerler $(CompanyCode) değerine göre filtrelenerek çekilir ve ilk gelen satır xml deki alanlara set edilir. 

Detay bölümü olmayan durumlarda kullanım
  <FillXmlWithSchema Name="BTProjeBildirimRolleri" VariablePrefix="" Into="" TemplatePath="." MasterDetailTemplatePath="" ClearDestinationNodes="True" DestinationNodeNameToClear="" SearchMethodToUse="Normal" LanguageId="" Repository="">
    <Perform />
    <Filter>
      <Criteria Name="Company">
        <Value Culture="" Target="None">$(CompanyCode)</Value>
      </Criteria>
    </Filter>
    <Columns>
      <Column Node="/*/BTProjeBildirimRolleri/Company" Name="Company" />
      <Column Node="/*/BTProjeBildirimRolleri/Company/@display" Name="Company.Name" />
      <Column Node="/*/BTProjeBildirimRolleri/ITGroup" Name="ITGroup" />
      <Column Node="/*/BTProjeBildirimRolleri/ITGroup/@display" Name="ITGroup.Name" />
      <Column Node="/*/BTProjeBildirimRolleri/ITDirector" Name="ITDirector" />
      <Column Node="/*/BTProjeBildirimRolleri/ITDirector/@display" Name="ITDirector.Person.DisplayName" />
    </Columns>
    <Order />
  </FillXmlWithSchema>

 

Tek değer alma veya alınan değerler içerisinde işlemler yaparak Set işlemi yapmak için aşağıdaki örneği kullanabiliriz. Tablo içerisindeki değerlere TabloIsmı:AlanIsmi ile perform içerisinde ulaaşbiliyoruz. 

Detay bölümü olmayan durumlarda kullanım 2
<FillXmlWithSchema Name="AracTalepRaporu" VariablePrefix="" Into="" TemplatePath="" MasterDetailTemplatePath="" ClearDestinationNodes="True" DestinationNodeNameToClear="" SearchMethodToUse="Normal" LanguageId="" Repository="">
    <Perform>
      <Set Node="Personel/Sayac">
        <Value Culture="" Target="None">$(AracTalepRaporu:Sayac)</Value>
      </Set>
    </Perform>
    <Filter>
      <Criteria Name="Id">
        <Value Culture="" Target="None">$(InstanceId)</Value>
      </Criteria>
    </Filter>
    <Columns>
      <Column Node="" Name="Id" />
      <Column Node="" Name="Sayac" />
    </Columns>
    <Order />
</FillXmlWithSchema>


Bakınız

GetSchemaData

SetVariable

Set

  • No labels