R3 / ECC UserExitlerin Anlamı

R3/ECC veya bw canlı sisteminizde cmod işlem kodunu girdiğinizde tablo veya bex raporlarınızda kullandığınız tüm değişkenlerin kod kısmını görebilirsiniz. SAP standart değişkenleri dışında SAP geliştiricilere kendi değişkenlerini ve rapor kırılımlarını yaratma imkanı da cmod sayesinde belirli bir ölçüde sunar.

Okumaya devam edin

HTMLUNIT İLE UFAK PÜRÜZLERİ GİDERME

     HtmlUnit ile sitelerden verileri çekerken karşılaştığım bazı sorunları ve çözümlerini buraya yazıyorum ki benim gibi can çekişenler veya Türkçe kaynak bulmada sıkıntı yaşayanlara kolaylık olsun 😀  Oluşturduğumuz senaryoya göre htmlunit 2.12 veya daha eski sürümleriyle sitelerden veri çekmeniz diğer bir deyimle Crawler etmeniz lazım.

Sorun 1 – webClient oluşturdunuz ve url i çekerken uzun sürdüğünü gördünüz. Öncelikle sorun url de mi yoksa tüm linkleri mi çekemiyor diye kontrol edip url leri değiştirerek htmlPage e çekme sürelerini karşılaştırın. Bir sitede en fazla 3 dakika diğerinde 33 dakika (ki şaka değil, tasdiklendi onaylandı) sürüyorsa anlayın ki o uzun süren sitede sorun var. Websitesini çekerken webClient.getPage(url) de execution time uzuyorsa ağdan kaynaklı bir sorundur. Debug esnasında webClient.getPage(url) satırındayken ağı değiştirirseniz hemen alt satıra geçecektir.

Sorun 2 – Siteden verileri çekerken div altındaki text i mesela saati görmüyorsa javascript i BaseCrawler ya da yazdığınız class da engellemişsinizdir. Çoğu site saat , tarih gibi verileri javascript ile getirmekte. Bunu da  webClient.setJavaScriptEnabled(false);  satırını true olarak düzeltmelisiniz. Ayrıca css i de kapattıysanız webClient.setCssEnabled(false) ise onu da true olarak değiştirmeyi unutmayın.