Indeks Functoid
Functoid Indeks memungkinkan Anda memilih informasi dari rekaman tertentu dalam serangkaian rekaman. Setiap functoid Indeks mengumpulkan informasi dari satu bidang.
Rekaman tertentu biasanya terjadi berkali-kali dalam file input. Misalnya, dalam laporan cuaca, elemen DailySummary mungkin terjadi berkali-kali. Elemen DailySummary mungkin mencakup atribut untuk suhu, tekanan barometrik, dan kecepatan angin. Kode berikut adalah contoh laporan cuaca.
<ns0:WeatherReport xmlns:ns0="http://IndexFunctoid.WeatherReport">
<DailySummary Pressure="80" Windspeed="10" Temperature="20" />
<DailySummary Pressure="78" Windspeed="20" Temperature="23" />
<DailySummary Pressure="77" Windspeed="16" Temperature="24" />
</ns0:WeatherReport>
Dalam skema yang mendasarinya, properti Max Occurs untuk catatan DailySummary akan diatur ke unbounded untuk menunjukkan rekaman berulang atau perulangan. BizTalk Mapper mengkompilasi rekaman ini sebagai perulangan.
Misalkan Anda ingin mengumpulkan informasi cuaca untuk dua catatan DailySummary pertama dari laporan cuaca. Di BizTalk Mapper, setiap atribut dari catatan DailySummary dari skema sumber masuk dapat dihubungkan ke functoid Indeks . Pada gilirannya, setiap functoid Indeks dapat menentukan catatan DailySummary untuk menggambar informasi: yang pertama atau kedua. Functoid Indeks kemudian dapat dihubungkan ke bidang skema tujuan yang sesuai.
Gambar berikut menunjukkan Functoid indeks yang digunakan dengan cara ini.
Contoh Functoid Indeks
Untuk mendapatkan informasi ringkasan harian untuk hari pertama, set atas tiga functoid Indeks memiliki nilai indeks yang diatur ke 1. Untuk mendapatkan informasi ringkasan harian untuk hari kedua, kumpulan yang lebih rendah dari tiga functoid Indeks memiliki nilai indeks yang diatur ke 2.
Functoid indeks menggunakan kotak dialog Konfigurasi Functoid <> Functoid untuk mengatur parameter inputnya. Parameter input pertama mengidentifikasi bidang dalam rekaman perulangan dalam skema sumber. Parameter input kedua dan yang berhasil menentukan rekaman tertentu. Anda bisa menentukan beberapa nilai indeks untuk memilih rekaman dalam struktur berulang berlapis. Nilai indeks untuk struktur terdalu adalah parameter kedua. Nilai indeks untuk struktur terluar berikutnya akan menjadi parameter ketiga, dan seterusnya. Misalnya, misalkan rekaman DailySummary sebelumnya berada di dalam catatan WeeklyData . Untuk mengambil Tekanan dari DailySummary pertama di WeeklyData kedua, parameter kedua adalah 1 dan parameter ketiga adalah 2.
Perhatikan bahwa contoh ini mengasumsikan bidang Tekanan tidak berulang. Jika bidang diulang, indeks akan nonaktif—hitungan akan dimulai dengan bidang Tekanan , bukan Ringkasan Harian.
Catatan
Meskipun parameter input urutan indeks biasanya konstanta, dimungkinkan untuk menggunakan tautan dari simpul dalam skema sumber. Jika tautan ini berasal dari rekaman perulangan yang bukan induk dari parameter input pertama, nilai input urutan indeks berasal dari instans pertama simpul dalam pesan instans input.
Catatan
Nilai input urutan indeks selalu terkait dengan konteks saat ini dalam dokumen sumber.
Penting
Functoid Indeks harus memiliki nilai indeks sebanyak simpul induk dari tingkat bidang ke tingkat pertama di bawah simpul akar. Misalnya, dalam pesan instans laporan beberapa cuaca, diperlukan dua nilai indeks. Dalam pesan instans laporan cuaca tunggal, hanya satu nilai indeks yang diperlukan. Kegagalan untuk mengatur jumlah nilai indeks yang diperlukan dari functoid Indeks membuat output berdasarkan simpul pertama dalam pesan instans sumber yang cocok dengan parameter input pertama dari functoid Indeks .
Cara Menambahkan Functoids Indeks ke Peta
Functoid Tingkat Lanjut
Iterasi Functoid
Functoid Jumlah Rekaman