Skip to main content
SAP_BusinessObjects

SAP BO RESTful ile Raporları Uygulamanıza Çekmek

Bazen raporları farklı uygulamar ile konuşturmak gerekebiliyor. Bunun için Sap Bo’nun restful servisini kullanacağız. Http protokolü üzerinden restfull servis ile sap bo (bi) reporlarına ulaşmak oldukça kolay. Birkaç adımda yapabiliriz bunu

1.Adım: Token Almak

http://<ip>:<port>/biprws/logon/long adresine POST isteğinde bulunup token alacağız

sap bo restfull token

Body içerinde şöyle bir xml var. Bu bilgiler ile token alıyoruz.

<attrs xmlns="http://www.sap.com/rws/bip">
<attr name="userName" type="string">KullanıcıAdı</attr>
<attr name="password" type="string">Şifre</attr>
<attr name="auth" type="string" possibilities="secEnterprise,secLDAP,secWinAD,secSAPR3">secEnterprise</attr>
</attrs>

Bu işlemin sonucunda bize bir json dönecek.


{"logonToken": "********xxx******"}

2.Adım:Raporlara Listelemek
http://<ip>:<port>/biprws/raylight/v1/documents/ [GET]
Bu adımda raporları listeleyebiliyoruz. id’ye göre rapor detaylarına girip json veya xml çıktı alacağız. tabi bu üçüncü adımda
Screenshot_3

3.Adım: Rapor Detaylarına Erişmek

http://<ip>:<port>/biprws/raylight/v1/documents/58275/reports [GET]

58275 id’li dökümanın raporlarını get isteğiyle istedik. Burada birden çok rapor gelebilir. Burada resmini
koymayacağım ama bizde 1 nolu rapor için aşağıdaki istekde bulunuyorum.

http://<ip>:<port>/biprws/raylight/v1/documents/58275/reports/1/elements/

Screenshot_4

raporun dataları vtable içinde olduğu için onun id’si ile dataları çekme isteğinde bulunuyoruz.

http://<ip>:<port>/biprws/raylight/v1/documents/58275/reports/1/elements/23/dataset

Son olarak bu endpoint ile dökümanımızın ilgili raporundan verimizi çekiyoruz.

Screenshot_5

Json içerisindeki dataset ve onun içerisindeki row alanında tüm kayıtlar gelmektedir. Yapacağımız uygulamanın amacına göre

parse edip entegrasyon işlemlerini yapabiliriz.

Ve son olarak Bonus:

c# (RestSharp) ile Sap Bo Restful’den Json değer alan küçük bir kod örneği  


var client = new RestClient("http://***/biprws/raylight/v1/documents/*****/reports/1/elements/23/dataset");
var request = new RestRequest(Method.GET);
request.AddHeader("postman-token", "b0126fc5-6c7f-f276-31dd-b326202b1f9f");
request.AddHeader("cache-control", "no-cache");
request.AddHeader("content-type", "application/json");
request.AddHeader("x-sap-logontoken", "****");
request.AddHeader("accept", "application/json");
IRestResponse response = client.Execute(request);

var result = response.Content;

Ve bitti 🙂

İyi Çalışmalar

 

Devamını Oku

6-Ways-to-Stop-Windows-Update-in-Windows-10

Windows 10 Güncelleme Kapatma

Windows 10 Güncelleme Kaldırma <3

Merhabalar, Windows 10 güncelleme kapatma ve nasıl huzurla kullanılır bundan bahsedeceğiz 🙂 Daha önce başıma windows 10 güncellemesiyle birlikte wifi bağlanamama problemi yaşamıştım. (Windows 10 da nasıl güncelleme kaldırılır ?)

Hızlıca başlayalım 🙂

  • Başlat’a (windows tuşuna basarak açabilirsiniz) tıklayarak çalıştır yazıp arayıp enterlayın. (veya Windows Tuşu + R)
  • Çıkan kutucuğa services.msc yazın.

(daha&helliip;)

Devamını Oku

asus n550

Asus Wifi Kopma/Bağlanamama Sorunu Çözümü – Windows 10

Bu yazıda sizlere Asus N550 serisi bilgisayarımda Windows 10 güncellemeleri ile beraberinde gelen Asus Wifi kablosuz ağından kopma sorunu veya Asus n550 bilgisayarında wifi bağlanama probleminin çözümünü ele alacağız. Asus Wifi problemleri ve Windows 10 için kendi çözümlerimin dışında internetde okuduğum yöntemleri de yazıda anlattım. Umarım faydalı olur.

Artık biliyoruz ki Windows 10 wifi sürücülerinin birçoğunu otomatik yükleyip destekliyor. Harici Driver yüklemeye gerek kalmıyor. Dolayısıyla siz fazladan bir driver yüklediğinizde çakışma olabiliyor. Muhtemel çözümler için sırayla çözümler üreteceğiz. (daha&helliip;)

Devamını Oku

chrome donma problemi çözümü

Chrome donma ve yanıt vermeme sorunu [çözüm]

Bu yazımda son zamanlar da başıma sıkca gelen Chrome yanıt vermeme ve donma probleminin çözümünü ele alacağız. Chrome tarayıcısının ram tüketiminin çok fazla olduğunu ve mobil cihazlar da şarj tüketimini etkilediğini biliyoruz. Fakat öyle bi tarayıcı ki kendisinden de vazgeçemiyoruz. Çünkü Chrome hızlı!

Bilgisayar özelliklerim : intel 6600k (3.5Ghz)+8GbDDR4(2400MHZ) -> bu sistem kaynaklarında bile Chrome kilitlenip kalıyordu. (daha&helliip;)

Devamını Oku

ammap change country on click

Ammap dynamically load map of the country on click

Haritaya tıklayınca ilgili ülkenin haritasını değiştirelim.

Bu yazının konusu AmMap haritasında ülkeye tıklayınca, var olan dünya haritasını kaldırıp ilgili ülkenin haritasını yüklemek. (yani dynamicall load map yapıcaz, erik gelirse o da bulsun diye arada ingilizce serpiştiriyoruz:)

Yazıyı da şundan yazdım; Şurada çözümü aranmış fakat pek becerememişler sanki. Birde biz yapalım dedik 🙂

İlk haritamız dünya haritası olduğu için maps kaynağı worldLow

(daha&helliip;)

Devamını Oku

google maps api yer işaretleme

Google maps api yer işaretleme

Google maps api place,makers

Bu yazımda google maps apinin farklı özelliklerini kullanmayı ve isteklerimize göre değiştirmeyi ele alacağız. Google maps api ile yer işaretleme yapabilir (google maps marker), harita üzerine ikon koyabilir (google maps marler icon) ve harita ikonuna tıklandığında detaylı bilgilerini gösterebiliriz(google maps infowindow  .Şimdi  ,örneğin bir bayilik sistemi var, haritalar
kullanılması gerekiyor. Müşteri panelden haritada seçtiği yerleri işaretleyecek ve sitesinin bayilik kısmında gösterecek. İki gün önce gelen bir işte şöyle bir yapı yaptım:
google maps api yer işaretleme

Bu bir örnek idi. Sizden istenenler doğrultusunda farklı işler yapıcaksınız elbet.

 

Google Maps Api Key

Google bizden api anahtarı istiyor. https://developers.google.com/maps/documentation/javascript/ burada GET A KEY ile bir key alalım. Bu birazdan işimize yarayacak.

Google Maps Api V3 Yer İşaretleme

Sürüklenebilir bir nesne ile lat,lng değerlerini alalım. Bu aldığımız değerleri alıp işlemek size kalmış. Veritabanına kayıt ettirip daha sonra yukarıdaki resmini verdiğim sistemi yapabilirsiniz.

/*js dosyamızı çağıralım*/
<script src="https://maps.googleapis.com/maps/api/js?key=****KEY***;libraries=places"></script>;
<div id="map"></div>
<script>
$(function(){
var map;
 /* haritamızı gösterelim #map divinin içinde */
 map = new google.maps.Map(document.getElementById('map'), {
 center: {lat: -34.397, lng: 150.644}, /* haritamızın başlangıç koordinatları*/
 zoom: 8 /* isteğe bağlı zoom*/
 });

/* Google maps yer işaretleme için Google.maps.marker kullanıyoruz*/
 var marker = new google.maps.Marker({
     position:{
     /*işaretlenecek enlem boylam koordinatlar*/
     lat:-34.397, 
     lng:150.644
 },
 map:map, /* haritamızı gösteriyoruz*/
 draggable:true /* harita üzerinde sürüklenebilir olmasını istersek true yapalım */
 });

/*
* Eğer sürüklenen marker nesnemizin koordinatlarını almak isiyorsak eventler ile bunu yakalamamız gerekli.
* Sonra aldığımız değerleri nasıl kullanmak isteğiniz size kalmış. ister al veritabanına kayıt et. ister farklı şeyler yap.
* Burada consola yazdırdım. öğeyi denetle ile consoldan markerin haretkerleri değiştikce console logların değiştiğini görebilirsiniz.
*/
 google.maps.event.addListener(marker,'dragend',function(){
    console.log(marker.getPosition().lat());
    console.log(marker.getPosition().lng());
 });

});
</script>

(daha&helliip;)

Devamını Oku

OnPaste.20160315-031015

Twitterda takip edilesice hesap @kodiknews

Yazılımcılar olarak mesleki sohbetleri seviyoruz ve teknik bir espri yapıldığında hoşumuza gidiyor (bizde böyle oluyor sizi bilmem 🙂 ) Bazen öylesine gülüyoruzki, yanındaki arkadaşına ; “Kanka şunu bi okusuna” deyip gözümüzden yaşlar gelince milletin bize tuhaf tuhaf bakmasıyla kendimize geliyoruz.

Twitterda sadece yazılım dünyasını takip ediyorum. Piyasada neler var neler yeni sayesinde haberimiz oluyor. Fakat günün sıkıcılığıyla beraber insan biraz olsun neşelenmek istiyor. Eğer twitter da takip etmiyorsanız @kodiknews ‘i takip edin mutlaka. Gününüze neşe katar.

Tabi herkesi güldürmeyi başaramayabilir, gösterdiğim bi kaç kişi bu ne desede, benim hoşuma gidiyor arkadaş. (Değişik bi milletiz ankarada patlama olur, survivor rekor kırar. [Bkz: ülkeyi terketmek]) (daha&helliip;)

Devamını Oku

2000 TL bütçeyle bilgisayar toplama -i5 6600k

kendim için özenle parçalarını seçip aldığım ve 2000 tl maliyeti bulunan i5 6600k‘lı sistemimden bahsedicem.

2000 liraya bilgisayar toplama

Uzun araştırmalarım sonucu bu malzemeleri seçtim. Sistem gayet güzel çalışıyor, ve parçalar son derece uyumlular. Ayrıca bu sistem ileriye dönük rahat optimize olabilecek bir sistem. Neden derseniz (aşağıda parçaların listesini yazacağım) 6600k işlemci sonundaki k ibaresi ile diyorki beni overclock edebilirsin. bunu uyumlu bir anakart ve bol bol portlar…

Malzemelerimiz : )

» İntel i5 6600k (en uygun fiyat)
Ardakaş bi işlemci ye 800 lira civarı bayıldık ama değdi. ileriye dönük bir sistem istiyorsanız işlemciden kısmayın. birde şua özelliğini sevdim; sağolsun ardakaş boş vakitlerde 0.80 ghz ile çalışıyor iş geldiğinde 3.9’a kadar çıkıyor. ayrıca 14nm ile üretiline bu işlemci amd’ye parmak ısırtıyor 😛

 

(daha&helliip;)

Devamını Oku

Doğuş Pompa