Menambahkan operator aritmatika dan logis ke aturan menggunakan Microsoft Rules Composer (Pratinjau)
Berlaku pada: Azure Logic Apps (Standar)
Penting
Kemampuan ini masih dalam pratinjau dan mengacu pada Ketentuan Penggunaan Tambahan untuk Pratinjau Microsoft Azure.
Panduan ini menjelaskan cara menambahkan operator aritmatika dan logis ke aturan di set aturan Anda menggunakan Microsoft Rules Composer.
Prasyarat
Unduh dan instal Microsoft Rules Composer.
File XML yang berisi set aturan yang ingin Anda kerjakan.
Menambahkan operator aritmatika ke aturan
Anda dapat menambahkan operator aritmatika ke kondisi atau tindakan dalam aturan. Tabel berikut ini menjelaskan operator aritmatika yang tersedia:
Operator aritmatika | Deskripsi |
---|---|
Tambahkan | Operator tambahan yang menambahkan arg1 ke arg2. |
Pengurangan | Operator pengurangan yang mengurangi arg1 dari arg2. |
Perkalian | Operator perkalian yang mengalikan arg1 dengan arg2. |
Pembagian | Operator divisi yang membagi arg1 dengan arg2. |
Sisa | Operator sisa yang melakukan arg1 modulo arg2. |
Di Microsoft Rules Composer, muat file XML yang berisi penyimpanan aturan yang ingin Anda kerjakan.
Di jendela RuleSet Explorer , temukan dan pilih aturan yang Anda inginkan.
Di jendela Facts Explorer , pilih tab Kosakata .
Di bawah Fungsi Kosakata>>Versi 1.0, seret operator aritmatika yang ingin Anda argumenkan dalam kondisi di editor kondisi atau tindakan di editor tindakan.
Dalam argumen kondisi atau tindakan, tentukan nilai untuk operand kiri dan kanan.
Jika operand memiliki jenis yang berbeda, mesin aturan melakukan promosi numerik otomatis di mana mesin mengonversi jenis operand yang lebih kecil ke jenis operand yang lebih besar.
Misalnya, Anda menggunakan operator Tambahkan pada operand yang memiliki jenis int dan operand yang memiliki jenis panjang . Sebelum mesin melakukan operasi Tambahkan , mesin mengonversi jenis int ke jenis panjang .
Jika mesin dapat mempromosikan kedua operand ke jenis umum, mesin mendukung promosi ganda.
Misalnya, Anda menggunakan operator Tambahkan pada operand yang memiliki jenis int dan operand yang memiliki jenis uint . Sebelum mesin melakukan operasi Tambahkan , mesin mengonversi kedua jenis operand ke jenis panjang .
Menambahkan operator logis ke aturan
Anda dapat menambahkan operator logis ke predikat dalam kondisi. Tabel berikut ini menjelaskan operator logis yang tersedia:
Operator logis | Deskripsi |
---|---|
AND | Gabungkan dua atau beberapa predikat untuk membentuk ekspresi AND logis. Mengembalikan true jika kedua predikat dievaluasi ke true. Jika tidak, mengembalikan false. |
ATAU | Gabungkan dua atau beberapa predikat untuk membentuk ekspresi OR logis. Mengembalikan true jika satu predikat dievaluasi ke true. Jika tidak, mengembalikan false. |
TIDAK | Meniadakan ekspresi atau predikat logis. Mengembalikan true jika predikat mengevaluasi ke false. Jika tidak, mengembalikan false. |
Di Microsoft Rules Composer, muat file XML yang berisi penyimpanan aturan yang ingin Anda kerjakan.
Di jendela RuleSet Explorer , temukan dan pilih aturan yang Anda inginkan.
Di panel IF , yang merupakan editor kondisi, dari menu Pintasan kondisi , pilih salah satu perintah berikut:
Operator logis Deskripsi Menambahkan AND logis Gabungkan dua atau beberapa predikat untuk membentuk ekspresi AND logis. Menambahkan OR logis Gabungkan dua atau beberapa predikat untuk membentuk ekspresi OR logis. Menambahkan NOT logis Meniadakan ekspresi atau predikat logis. Di editor kondisi, buka menu pintasan operator, dan tambahkan predikat atau operator logis berlapis yang Anda inginkan.
Jika operand memiliki jenis yang berbeda, mesin aturan mengonversi jenis untuk satu operand agar sesuai dengan jenis untuk operand lain, atau mengonversi jenis untuk kedua operand ke jenis umum sebelum mengevaluasi ekspresi.
Menangani nilai null
Bagian berikut menjelaskan perilaku yang diharapkan untuk nilai null yang terkait dengan berbagai jenis dan menyediakan opsi untuk memeriksa null atau keberadaan bidang atau anggota tertentu.
Kelas .NET
Untuk jenis yang berasal dari jenis Objek , Anda dapat mengatur bidangnya ke null.
Anda dapat meneruskan null sebagai argumen untuk parameter yang bukan jenis nilai, tetapi Anda mungkin mendapatkan kesalahan runtime, berdasarkan implementasi anggota.
Anda tidak dapat menggunakan null untuk perbandingan jika jenis pengembalian bukan jenis Objek .
Elemen XML
Dokumen XML tidak pernah mengembalikan nilai XML sebagai null. Sebaliknya, nilai ini adalah string kosong atau kesalahan "tidak ada". Untuk string kosong, kesalahan mungkin terjadi untuk konversi jenis tertentu, seperti bidang yang ditentukan sebagai jenis bilangan bulat saat Anda membuat aturan.
Microsoft Rules Composer tidak memungkinkan Anda mengatur bidang ke null atau mengatur tipe bidang ke Objek.
Melalui model objek, Anda dapat mengatur jenis ke Objek. Dalam hal ini, nilai yang dikembalikan memiliki jenis yang dievaluasi XPath, seperti Float, Boolean, atau String, berdasarkan ekspresi XPath.
Periksa null atau eksistensi
Saat Anda menulis aturan, Anda secara alami ingin memeriksa bahwa bidang ada sebelum Anda membandingkan nilainya. Namun, jika bidang null atau tidak ada, membandingkan nilai menyebabkan kesalahan.
Misalnya, Anda memiliki aturan berikut:
IF Product/Quantity Exists AND Product/Quantity > 1
Jika Produk/Kuantitas tidak ada, aturan akan melemparkan kesalahan. Untuk mengatasi masalah ini, Anda dapat meneruskan node induk ke metode pembantu yang mengembalikan nilai Produk/Kuantitas jika elemen tersebut ada, atau mengembalikan sesuatu yang lain jika elemen tersebut tidak ada.
Contoh berikut menunjukkan aturan metode pembantu yang diperbarui dan baru:
Aturan 1
IF Exists(Product/Quantity) THEN Assert(CreateObject(typeof(Helper), Product/Quantity))
Aturan 2
IF Helper.Value == X THEN...
Sebagai solusi lain yang mungkin, Anda dapat membuat aturan seperti contoh berikut:
IF Product/Quantity Exists THEN CheckQuantityAndDoSomething(Product/Quantity)
Dalam contoh sebelumnya, <CheckQuantityAndDoSomething>
fungsi memeriksa nilai parameter dan menjalankan jika kondisi terpenuhi.
Catatan
Atau, Anda dapat memodifikasi properti Bidang XPath untuk fakta XML untuk menangkap kesalahan apa pun, tetapi pendekatan ini tidak disarankan.