30 Aralık 2015 Çarşamba

SAPUI5 ile mi yoksa Web Dynpro ABAP&JAVA ile mi proje yapayım?

Klasik alışkanlıkları bırakmak zor olabilir.Yıllarca kullandığınız manuel vitesli arabadan aniden otomatik vitesli arabaya geçmek nasıl zor geliyorsa,Web Dynpro 'dan SAPUI5 geçmek de zor gelebilir.Piyasa da sıfır manuel vites otomobil satışı artık yapılmıyorsa,sıfır  araç kullanmak için otomatik vitesli araç kullanmaktan başka bir yol olmayacaktır.Eski araçları kullanmak isteyenler eski alışkanlıklarına devam edebilirler.Günün verdiği teknolojik kolaylıklar,zaman,maliyet tasarrufları vb. karşısında ister istemez eski alışkanlıklarınızı yavaş yavaş terk edeceğiz.
İleri dönemlerde SAP web dynpro,bsp teknolojilerini terk edebilir.SAPscripts ile smartforms,adobeforms gibi yeni teknolojileri karşılaştırınca daha iyi anlaşılabilir.Tamam,webdynpro elveda dedim,SAPUI5 ile projelerimi yapacağım ne farkı var peki Web Dynpro ile?


FeaturesSAP UI5Web Dynpro
Usage scenarios
  • Application to be used both on desktop and mobile devices
  •  Casual usage scenario, targeting non SAP users
  •  Simple screens
  •  Fit for building stateless apps, both SAP and non-SAP
  •  To build desktop based web applications
  •  Suitable for developing custom UI for complex SAP business Transactions
  •  Simple and complex screens
UI Design
  • UI design requires extensive coding in HTML and Javascript

(SAP is currently developing new UI5 development
environment with drag and drop features
  • Wizard driven UI design with minimal coding
    required
Models
  • Supports OData,& JSON
  • Supports Java, ABAP, Web services models
Platforms & tools
  •   SAP Java stack
  • SAP ABAP stack
  • SAP HANA XS
  • Non SAP Web Application servers like TOMCAT
  • Eclipse with UI5 plugins
  •   SAP Java stack – for WebDynpro Java
  • SAP ABAP stack – for WebDynpro ABAP
  • NetWeaver Developer Studio(NWDS) and NetWeaver Development
    Infrastructure(NWDI)
Browser rendering
  •   Runs 100% on browser
  •   All UI events client side
  •   The applications runs on the server side
  •   Majority of UI events are server side, minimum client side events
UI Features
  •   Latest web UI features available
  •  Ability to customize and extend
  •   Limited UI features
  •  Limited extension and customization possible
Development Skills
  •   HTML/HTML5
  • Javascript/JQeury
  • CSS
  •   Java – for WebDynpro Java
  •  ABAP–for WebDynpro ABAP
Application Performance
  •   High performing due to client side events
  •  Browser rendering is faster as HTML content size is minimal
  •   Frequent performance issues due to multiple server round trips
  •  Amount of HTML content generated is high, impacting the browser rendering performance
Mobile support
  • Fully supported with dedicated mobile libraries
    for UI
  • Not supported
kaynak:SAP UI5 VS WebDynpro

örnek sapui5 proje ekran çıktıları:
HTML5 tabanlı olduğu için browser'ın boyutlarına göre ekran kontrolleri yerlerini almakta.






SAP se80 ekranında BSP tag'ının altın da projenizi yönetebilirsiniz.SAPUI5 için sisteminizde SAPGateway kurulu olması gerekmekte.Nasıl daha önce sap webservice'ler ile projelerimizi yapıyorsak,SAPUI5 için odata servisleri kullanılmakta.

28 Aralık 2015 Pazartesi

SAP Fiori apps reference library

SAP,klasik erkanlarını sap fiori'ye dönüştürmekte.İleri ki dönemlerde neler olacağını hep birlikte göreceğiz.SAP erkanlarının fiori çevrimlerini aşağıdaki link'den görebilirsiniz.

SAP Fiori apps reference library

Ayrıca Read more inApp Documentation 'a tıklayınca SAP erkanında ilgili t-code bilgilerini,ilgili modüllerini de görebilirsiniz.
örneğin:
Vendor Accounting Document



 
Vendor Accounting Document fiori ekranı sıklıkla kullandığımız muhabese belge görüntüleme FB03 ekranına karşılık gelmekte.

26 Aralık 2015 Cumartesi

RUN with MOCK DATA

Bir önceki yazı da metadata.xml file ile tableset'leri projemize local olarak eklemiştik.RUN deyip çalıştırdığımızda karşımıza data'ları olmayan sayfalar çıkmıştı.Çünkü servis'e bağlı değiliz local olarak projemizi oluşturduk.SAPWEBIDE ile "generic data" oluşturabiliriz.
1-Mock DATA ayarlamalarınızı yapmalısınız.
2-index.html dosyasının üzerine mause' ile gelip,RUN with mock data ile çalıştırmalısınız.
3-SAPWEBIDE'niz sizin için random data oluşturdu.
4-Ayrıca kendi mock data'larınızı kendiniz de yapabilir,random data'larınızı da edit'leyebilirsiniz.metadata.xml üzerinde sağ tıklayıp,edit mock data demelisiniz.
Add row:yeni satır ekleyebilirsniz.
Delete row:seçili satırı siler
Generate Random Data:Generate mock data'larınızı oluşturur.






local medata ile çalışma

SAP'den odata servislerinizi açtınız.Sisteme erişmeden geliştirme yapmak istediğiniz de ilgili servisin medata'sını alarak sapwebide'nizde proje yapabilirsiniz.Bu SAP sistemine file xml dosyası ile consume web service eklemek gibi diyebiliriz.
1-metadata xml file alınır.
http://services.odata.org/V2/Northwind/Northwind.svc/$metadata


2-SAPWEBIDE nizde yeni bir template proje oluşturualım.Sources seçiminizi file system seçip,indirdiğimiz metadata.xml' dosyasını seçelim.Details kısmında görüldüğü gibi metadata içindeki tableSET'ler listelenecektir.

3-Bir sonraki sayfadan master-detail ayarlamalarınızı yaptıktan sonra artık file.xml dosyanızdan tableSET'leriniz üzerinde çalışma yapabilirsiniz.
4-Run deyip çalıştırdığınız da karşınıza data'ları olmayan bir proje çıkmış olacak.Bir sonraki yazı da MOCK data ile bu dataları nasıl oluşturacağımızı anlatmış olacağım.




23 Aralık 2015 Çarşamba

JSON odata modify

ABAP internal table ile satırlar üzerinde nasıl değişiklik yapıyorsak,JSON data'ları üzerinde de değişiklikler yapmak isteyebiliriz.Örneğin tutar değerini 2 katına çıkarmak istiyoruz.Aşağıdaki şekilde JSON datalarınızın içeriğini değiştirebilirsiniz.


               var jsonModel = new sap.ui.model.json.JSONModel();
jsonModel.loadData("model/mock.json", null, false);

sap.ui.getCore().setModel(jsonModel, "abc");
     
var someObj = sap.ui.getCore().getModel("abc").getProperty("/SalesOrderCollection");
for (var i = 0; i < someObj.length; i++) {
var obj = someObj[i];
 console.log(obj.GrossAmount);
obj.GrossAmount  = obj.GrossAmount * 2;

     
       jsonModel.refresh();
}
 
this.getView().setModel(jsonModel, "abc");





17 Aralık 2015 Perşembe

Steps for updating SAPUI5 libraries

SAPUI5 geliştirmenizi SAP sisteminize aktardınız.Sorunsuz çalışmasını beklediniz.Ama bazı kontrolleriniz çalışmadı.Sebebi sizin geliştirme yaptığınız webide,eclipse,notepad++ vb... geliştirme kitlerinde farklı versiyonlar,en son versiyonlar ile geliştirme yapmış olmanız.Yapacağınız iş mevcut SAP sisteminde SAPUI5 kütüpahanesini update etmek.BASIS yardımı ile bu süreci aşağıdaki makale yardımı ile yapabilirsiniz.

Steps for updating SAPUI5 libraries

SAPUI5 Library version ve Demokit

SAP sisteminizde sapui5 library versiyonlarını aşağıdaki link ile öğrenebilirsiniz.

http://<server>:<port>/sap/public/bc/ui5_ui5/index.html
Versiyon listesini inceleyerek gerekli versiyon yüksetmelerine karar verebilirsiniz.Ayrıca Demokit uygulamalarını da version version görebilirsiniz.



15 Aralık 2015 Salı

Virus scan server error: "No virus scan profile is selected as the "default"

SAPUI5 projenizi SAP sistemine deploy etmek istediğiniz de Virus scan server error: "No virus scan profile is selected as the "default" kontrolü ile karşılaşırsanız aşağıdaki adımları yaparak sapui5 için virus taramasını deactive edebilirsiniz.
1-SM34
2-VSCAN_PROFILE_VC maintaince

3-/UI5/UI5_INFRA_APP/REP_DT_PUT profile deactive
Artık SAPUI5 projenizi SE80 ekranından BSP paketinin de görebilirsiniz.