LiveCycle Designer'da FormCalc ile HTTP Get yapmak ve XML yüklemek
PDF formlarda dışarıya bilgi göndermek veya bilgi almak için bir çok yöntem mevcuttur. Bu yöntemlerden bazıları Reader Extensions lisansı gerektirir. Biz burada, ek lısans gerektirmeyen, PDF'in temel dili olan FormCalc ile birlikte dahili olarak gelen HTTP Get/Post tekniğine değineceğiz.
Akıllı PDF formları, kullanıcının girdiklerini teyit etme özelliğine sahiptirler. Böylece toplanan verilerin doğruluk oranı artar. LiveCycle Designer ile hazırladığınız böyle bir formda dışarıdan bilgi yüklemeye ihtiyacınız olacaktır. Örneğin, girilen müşteri numarasını doğrulamak gibi. Böyle bir durumda merkez sisteme bağlanmak için kullanabileceğiniz yöntemlerden bazıları şunlardır:
* Doğruda veritabanına bağlanmak (Reader Extensions ek lisans alınması gerekir)
* Web servise bağlanmak (Reader Extensions ek lisans alınması gerekir)
* HTTP Get ile internetten bilgi çekmek. (Hiçbir ek lisans gerektirmez)
Biz bu yazımızda HTTP Get yöntemini kullanacağız. Müşteri numarası kutusunun yanına eklediğiniz düğmenin"click" event'ine FormCalc olarak şöyle bir kod yazın:
var xmlCustomer = Get(concat("http://www.example.com/bilgi.cfm?musteriNumarasi=", cust_no.rawValue)) xfa.datasets.data.loadXML(xmlCustomer, 1, 1)
Bu kodu kendi ihtiyaçlarınıza göre şekillendirmeniz gerekecektir. İlk satırdaki kodla, formdaki "cust_no" alanına girilen müşteri numarası HTTP Get ile bir web sayfasına gönderiliyor ve dönen XML metni "xmlCustomer" değişkenine aktarılıyor. İkinci satırdaki kodla, XML metni forma yükleniyor. Tıpkı LiveCycle Designer'daki Data View sekmesindeki "sample XML" yüklemek gibi. İkinci satırdaki bu kod sayesinde LiveCycle Designer XML'deki tüm bilgileri formdaki ilgili kutulara otomatik doldurulacaktır. Fakat formdaki alanlarınızın Binding'i "Normal" olmalıdır.
"bilgi.cfm" isimli web sayfasını biz ColdFusion ile geliştirmiştik. Geliştirdiğimiz kodu aşağıdaki görüntüde görebilirsiniz. LiveCycle Designer'ın HTTP Get ile URL'den gönderdiği "musteriNumarasi" isimli değişkeni veritabanına bağlanmak için kullandık:
Müşterinin bilgilerini veritabanından çekip XML olarak geri döndürüyorduk. XML'i aşağıda görebilirsiniz. XML'den de anlaşılacağı üzere, alanlarımız, cust_info isimli bir "subform" içerisindeydi:
Bizim böyle bir yönteme, bir banka için geliştirdiğimiz kredi başvurusu formunda ihtiyacımız olmuştu. LiveCycle Designer'da çalışırken aldığımız ekran görüntüsünü aşağıda gönderiyoruz. Faydası olabilir:
0 yorum:
Yorum Gönder