Validasi Tipe EDI (Elemen Data)
EDI menerima alur dan alur pengiriman EDI melakukan validasi EDI pada elemen data set transaksi. Validasi ini dikonfigurasi untuk semua pesan dari atau ke pihak tertentu, melalui properti perjanjian pihak tersebut di halaman Validasi (di bawah bagian Pengaturan Set Transaksi untuk perjanjian X12 atau EDIFACT). Jika properti Validasi Tipe EDI tidak dipilih di halaman Validasi , validasi data yang dijelaskan dalam topik ini tidak akan dilakukan.
Validasi jenis EDI diaktifkan untuk pesan masuk serta keluar dengan memilih properti Validasi jenis EDI di halaman Validasi tab perjanjian dua arah dalam kotak dialog Properti Perjanjian . Untuk pesan masuk dan keluar, properti ini dipilih secara default sehingga validasi EDI diaktifkan secara default.
Pemeriksaan Validasi
Ketika EDI menerima alur atau alur pengiriman EDI melakukan validasi EDI, EDI memvalidasi hal berikut:
Jenis data sebagaimana didefinisikan oleh properti EDI dari skema
Pembatasan panjang
Elemen data kosong dan pemisah di belakang
Catatan
Validasi ini tidak memeriksa kumpulan kode (enumerasi) atau min atau maks terjadi.
Kumpulan Karakter
Untuk melakukan validasi elemen data EDI, alur penerima dan pengiriman EDI mengharuskan set karakter ditetapkan sebagai berikut:
Untuk EDIFACT, kumpulan karakter ditetapkan dalam elemen data UNB1 dari halaman Charset dan Separators dari tab perjanjian satu arah dari kotak dialog Properti Perjanjian atau kotak dialog Pengaturan Fallback EDIFACT (jika tidak ada perjanjian yang dibuat).
Untuk KEDIFACT, karakter dibuat dalam elemen data UNB1 dari halaman Charset dan Separators dari tab perjanjian satu arah dari kotak dialog Properti Perjanjian , adapun EDIFACT. Nilai untuk elemen UNB1.1 harus diatur ke
KECA
.Untuk X12, set karakter dibuat untuk pesan di properti alur.
Catatan
Ketika runtime BizTalk melakukan validasi EDI pesan, itu akan menggunakan set karakter X12 yang dipilih di properti alur. Namun, validasi properti yang dimasukkan dalam halaman kotak dialog Properti Perjanjian dilakukan menggunakan set karakter yang dipilih di halaman Charset dan Pemisah dari kotak dialog tersebut. Selama runtime, alur mengabaikan nilai properti set karakter X12 halaman Charset dan Pemisah dari kotak dialog Properti Perjanjian . Jika kedua pengaturan ini tidak sama (yaitu, properti set karakter X12 dalam kotak dialog Properti Perjanjian diatur ke Diperpanjang sementara properti karakter X12 di properti alur diatur ke Dasar), kesalahan validasi pesan dapat diakibatkan.
Validasi Tipe Data
Untuk X12, jenis data EDI berikut diannotasikan dalam skema untuk validasi oleh komponen Disassembler/Assembler di Alur Terima atau Kirim: Numerik, Desimal, Pengidentifikasi, String, Tanggal, Waktu, Biner, dan Komposit.
Untuk EDIFACT, jenis data EDI berikut diannotasikan dalam skema untuk validasi oleh komponen Disassembler/Assembler dalam Alur Terima atau Kirim: Alfabet, Numerik, Pengidentifikasi, String, dan Komposit.
Pembatasan Panjang
Untuk X12 dan EDIFACT, elemen atau sub-elemen harus divalidasi untuk persyaratan panjang (minimum dan maksimum). Panjang didefinisikan sebagai jumlah posisi karakter yang digunakan. Panjang tidak termasuk tanda dan notasi desimal.
Catatan
Untuk jenis data string X12_AN, spasi di depan dipertahankan dan spasi di belakang diizinkan di segmen apa pun untuk memenuhi persyaratan panjang minimum.
Untuk KECA, panjang ditafsirkan sebagai jumlah byte. Misalnya, jika panjangnya didefinisikan sebagai tiga, elemen atau sub-elemen dapat menyertakan tiga karakter satu byte atau kombinasi satu karakter dua byte dan satu karakter byte.
Elemen Data Kosong dan Validasi Pemisah Berikutnya
Untuk X12, elemen data yang ditandai sebagai wajib tidak boleh kosong dalam instans jika segmen ada. Jika elemen data adalah komposit setidaknya satu elemen data komponen harus dihargai.
Untuk EDIFACT, elemen data nonnilai dan bersyarkat (dan sub-komponen) dapat dikecualikan; namun, pemisah dipertahankan.
Pemisah berikutnya tidak diperlukan untuk X12 atau EDIFACT, tetapi disarankan.
Ketika Validasi Tipe EDI Dinonaktifkan
Jika Anda menonaktifkan validasi jenis EDI, alur penerimaan EDI atau alur pengiriman EDI akan memproses elemen data yang memiliki kesalahan yang diperiksa oleh validasi jenis EDI tanpa menangguhkan pesan yang sedang diproses.
Catatan
Validasi struktural EDI dilakukan meskipun validasi jenis EDI dinonaktifkan. Pertukaran yang gagal, validasi struktural dasar akan ditangguhkan, bahkan jika validasi Jenis EDI dinonaktifkan.
Beberapa kesalahan yang akan diproses tanpa menyebabkan pesan ditangguhkan adalah:
Kumpulan transaksi yang tidak terduga/tidak terdefinisi
Data tak terduga/tidak terdefinisi pada tingkat elemen segmen/perulangan dan data
Opsionalitas (min dan maks terjadi) pada tingkat segmen/perulangan dan elemen data
Pelanggaran panjang (min/maks) pada tingkat elemen data (data dengan panjang melebihi tingkat maksimum atau di bawah tingkat minimum)
Tipe data tidak cocok pada tingkat elemen data (kecuali untuk jenis data ID, yang memiliki kontrolnya sendiri)
Daftar enumerasi tidak valid di tingkat elemen data.
Jika validasi jenis EDI dinonaktifkan di sisi penerima, tetapi diaktifkan di sisi kirim, alur pengiriman EDI tidak akan dapat memproses ulang XML yang dihasilkan oleh alur penerima ke dalam file EDI yang valid jika file XML berisi kesalahan. Akibatnya, alur kirim akan menghasilkan kesalahan.
Jika validasi Jenis EDI dinonaktifkan, EDI menerima alur atau mengirim alur akan menangani kesalahan sebagai berikut:
Data Tak Terduga | Tindakan |
---|---|
Set transaksi tak terduga/tidak terdefinisi | Alur penerima atau pengiriman EDI akan menerima set transaksi meskipun skema untuk itu belum disebarkan |
Segmen/rekaman tak terduga | Alur penerima akan menghasilkan tag dengan awalan yang sesuai: <UnexpectedSegment_%SegmentID%>. Alur kirim akan menggunakan satu hingga tiga karakter pertama dari nama Tag XML sebagai nama segmen. |
Elemen data sederhana yang tidak terduga | Alur penerima akan menghasilkan tag XML dengan awalan, pengidentifikasi segmen, dan indeks yang mewakili posisi elemen data di segmen: <UnexpectedDataElement_%FieldName%. |
Elemen data komposit yang tidak terduga | Alur penerima akan menghasilkan tag XML dengan awalan, pengidentifikasi segmen, dan indeks yang mewakili posisi elemen data di segmen: <UnexpectedCompositeDataElement_%FieldName%. |
Data yang diperlukan hilang | Alur akan memperlakukan data sebagai opsional. |
Pelanggaran panjang elemen data | Alur akan memperlakukan panjang elemen data yang tidak valid sebagai valid (min = 0 dan maks = tidak terbatas). |
Nilai enumerasi tidak valid dalam instans (berlaku untuk jenis data ID) | Alur akan mengabaikan kesalahan dan melanjutkan pemrosesan. |
Pelanggaran pengisian 'Maks' dalam instans | Alur akan memperlakukan data berulang seperti yang valid (min terjadi = 0 dan maks terjadi = tidak terbatas). |
Pelaporan Kesalahan
Ketika validasi jenis EDI dinonaktifkan, BizTalk Server tidak melaporkan kesalahan dalam Pemantau Peristiwa, tetapi melaporkan peringatan. Selain itu, pengakuan melaporkan 'Terima' kembali ke pihak sumber, menetapkan AK501 dan AK901 sebagai "E" dalam X12 997 atau UCI.4, UCM.3, dan UCF.4 sebagai "7" dalam EDIFACT CONTRL. Akibatnya, setiap kemungkinan rektifikasi dalam transmisi di masa depan akan dihilangkan. Namun, penerima pesan akan memiliki kesempatan untuk menyelamatkan dokumen melalui intervensi manual daripada pesan yang ditolak atau ditangguhkan. Selain itu Edi.ErrorsInTransactionSet
, properti konteks akan dipromosikan jika salah satu kesalahan ini ditemui oleh alur penerima EDI. Properti ini akan dipromosikan sebagai "True" jika kesalahan validasi EDI atau Extended ditemui. Jika tidak terjadi kesalahan, properti akan dipromosikan sebagai "False".
Jika alur terima atau kirim mengalami data yang tidak terduga, alur akan melaporkan kesalahan di tingkat induk dan mengabaikan kesalahan tingkat anak, sebagai berikut:
Data Tak Terduga | Tindakan |
---|---|
Set transaksi tak terduga | Pengakuan melaporkan kesalahan ini dan mengabaikan kesalahan berikutnya pada tingkat segmen/perulangan dan elemen data |
Segmen/perulangan yang tidak terduga | Pengakuan melaporkan kesalahan ini dan mengabaikan kesalahan di tingkat elemen data. |
Elemen data yang tidak terduga | Pengakuan melaporkan kesalahan ini dan mengabaikan kesalahan majemuk yang berkaitan dengan properti seperti ID, panjang, okor, dll) dan kesalahan yang berkaitan dengan bidang elemen data komposit (jika berlaku). |