29 Kasım 2015 Pazar

Deploy to SAPUI5 ABAP Repository

Sapwebide'nizde sapui5,fiori projenizi yaptınız.SAP servera deploy ederek publish edebilirsiniz.Bu şekilde projeniz BSP projesi gibi server üzerinden çalışmış olacak.Yani SE80 ekranında bu projemizi görmüş ve test etmiş olacağız.
1-Deploy to SAPUI5 abap repostory seçimi yapılır.
2-Deploy edilecek sistem seçimi

3-Paket olarak $TMP paketine gönderiyorum.Proje adı ve tanımını yazıyorum.

4-Ve finish .

5-SE80 ekranımızda deploy ettiğimiz projemiz.Test ederek projemizi görebilir ve ilgili yerlerden(tablet,pc,mobile cihazlardan) projemizi kullanabiliriz.

6-Artık SAP sistemimiz  sapui5 projemizi publish etmekte ve tüm cihazlardan sapui5 sayfalarına erişebilmekteyiz.

27 Kasım 2015 Cuma

SAP Web IDE On-Premise problem: Unable to access selected system

SAP Web IDE On-Premise problem: Unable to access selected system hatasının düzeltmek için Destination dosyanızdaki bağlanmak istediğiniz sistemin System ID'si aynı olmalı.Yani dosya isminiz de SystemID niz ile aynı olmalı.Yoksa hata vermekte.

Aşağıdaki şekilde SystemID ve dosyanın isimlendirmeleri farklı olduğu için Servislere erişim yapılamadı.


Dosya adını ve SystemID'leri isimlerini aynı yapınca sisteme bağlantı yapıldı.





SAP Web IDE remote system(service catalog)

Local SAP Web IDE  ile ERP sisteminize bağlanarak servisleriniz ile çalışabilirsiniz.Destination tanımlaması:
abc : SystemID


#ServiceDestination
Description=abc system
Type=HTTP
TrustAll=true
Authentication=NoAuthentication
WebIDEUsage=odata_gen,odata_abap,dev_abap,ui5_execute_abap
Name=abc
WebIDEEnabled=true
URL=http\://xxxxxxxxxx\:8000
ProxyType=OnPremise
WebIDESystem=abc
sap-client=100

Yukardaki Destination tanımlamasını C:\SAPWebIDE\eclipse\config_master\service.destinations klasörünüze kaydedin.Dosyanızın adı ile SystemId aynı isim de olmalı.Yoksa servislere erişimde hata alırsınız.


Yeni Proje Master-Detail açarak service catalog'dan servislerinize erişebilirsiniz.


SAP NetWeaver Gateway: Error Log

SAP NetWeaver Gateway: Error Log ,ODATA servislerinin hata analiz tool'u.SRT_UTIL ile web servislerinin hatalarını analiz ediyorduk,ODATA servisleri için de bu toolu kullanıyoruz.

/IWFND/ERROR_LOG - İşlem /IWFND/ERROR_LOG

SAP Netweaver Gateway devre dışı bırakıldı

SAP Netweaver Gateway devre dışı bırakıldı
Sisteminizde SAP Netweaver Gateway açıp kapatabilirsiniz.

/IWFND/IWF_ACTIVATE - İşlem /IWFND/IWF_ACTIVATE




21 Kasım 2015 Cumartesi

SAPUI5 accordion menu

SAPUI5 ile accordion menu yapmak için sap.ui.commons kütüpanesinden yararlanarak oluşturabilirsiniz.Accordion menu xml kodları:
1-Accordion control oluştur.
  <com:Accordion id="acc1">
2-Accordion control oluşturduktan sonra herbir menu için AccordionSection control oluşturun.
<com:AccordionSection xmlns="sap.ui.commons">
NOT:Birden fazla xmlns namespace'leri kullanırken ön ek ile kullanmak gerekmekte.Ön ek kullanmadan kontrolleri çalıştıramazsınız.
Accordion Menu'lere ekleyeceğiniz kontrollerin press eventlerine vb. gerekli navigation'ları vererek ilgili sayfayalara yönlendirebilirsiniz.

<core:View xmlns:core="sap.ui.core"
xmlns:mvc="sap.ui.core.mvc"
xmlns="sap.m" xmlns:com="sap.ui.commons" xmlns:f="sap.ui.layout.form" xmlns:l="sap.ui.layout" controllerName="view.View1"
xmlns:html="http://www.w3.org/1999/xhtml">
<Page title="Title">
<content>
        <com:Accordion id="acc1">
            <com:AccordionSection xmlns="sap.ui.commons"
            id="idAcc1"
            maxHeight=""
            enabled="true"
            collapsed="false"
            title="Accordion Menu1"
            scroll="">
            <tooltip></tooltip> <!-- sap.ui.core.TooltipBase -->
            <dependents></dependents> <!-- sap.ui.core.Control, since 1.19 -->
            <content>
               <Button id="btn1" text="Button Menu1"></Button>
            </content><!-- sap.ui.core.Control -->
            </com:AccordionSection>
            <com:AccordionSection xmlns="sap.ui.commons"
            id="idAcc2"
            maxHeight=""
            enabled="true"
            collapsed="false"
            title="Accordion Menu2"
            scroll="">
            <tooltip></tooltip> <!-- sap.ui.core.TooltipBase -->
            <dependents></dependents> <!-- sap.ui.core.Control, since 1.19 -->
            <content>
               <Button id="btn2" text="Button Menu2"></Button>
            </content><!-- sap.ui.core.Control -->
            </com:AccordionSection>
             <com:AccordionSection xmlns="sap.ui.commons"
            id="idAcc3"
            maxHeight=""
            enabled="true"
            collapsed="false"
            title="Accordion Menu3"
            scroll="">
            <tooltip></tooltip> <!-- sap.ui.core.TooltipBase -->
            <dependents></dependents> <!-- sap.ui.core.Control, since 1.19 -->
            <content>
               <Button id="btn3" text="Button Menu3"></Button>
            </content><!-- sap.ui.core.Control -->
            </com:AccordionSection>
        </com:Accordion>                
</content>
</Page>
</core:View>


18 Kasım 2015 Çarşamba

SAPUI5 ile Android apk

SAPUI5 ile yazdığınız uygulamayı android,ios aplication olarak build edebilirsiniz.Hani diyorduk ya,sapui5 ile yaz,her platformda çalışsın.Web sayfası olarak her cihazdan çağrılabilir fakat android veya ios olarak build edip android veya appleStore ekleyebilirsiniz.
1-Hybrid Application Toolkit sap web ide'nizi local install yaparken kurmanız gerekmekte.
2-Hybrid Application Toolkit kurmak için sapweb ide local install' dosyasının içerisinde run.bat dosyasını çalıştırmanız gerekmekte.
3-Hybrid Application Toolkit pc'nize bazı gereksinimler kurmanız istenecektir.Bunları başarı ile yapmanız gerekmekte.Biraz cordova,biraz android sdk,kapsel vb. bilginiz olması gerek.SAP mobile sdk sürümlerini doğru kurmanız gerekecektir.Kurarken alacağınız hataları google'den aratarak çözüme gidebilirsiniz.
4-Hybrid Application Toolkit test edelim.Test ederken bize ayrı bir port açılacaktır.Bu port default 9010 portu.Bu port şuan açık değil.Yine local sapweb ide klasörü içerisinde run.bat dosyasını çalıştıralım.Kurulum sırasında atadığımız şifre ile portu açalım.

5-9010 portu açıldı.Şimdi sapwebide' üzerinde Hybrid Application Toolkit dan test edelim.Aşağıdaki hatayı alabilirsiniz.Sapwebide yi browserdan refresh yaparak yenileyin.Aldığınız hata gidecektir.
TEST işlemi başarılı.
6-Yeni proje deyip Kapsel projesi oluşturalım.


7-Proje'ye sağ tıklayıp project settings kısmına gelelim.Kapsel projesi olduğu için device configuration sekmesine gelelim.Ve app adını,app id'sini ve versiyon bilgilerini girelim.Bu kısımda android app olarak device yuklemek istediğim için andorid seçimi yaptım.eğer ios istersek ios seçebiliriz.
8-Projenize tekrar sağ tıklayın.RUN as deyin.Ve karşınıza Android device ve emülatör seçenekleri gelecektir.PC'nize bir android cihazı bağlayıp device üzerinde RUN edebilirsiniz.Android Device seçimi yapıp,projenizi build edin.Ve sapwebide size apk dosyasını üretecektir.
9-Build işlemi başarılı bittikten sonra,sizin telefonunuzda uygulama çalışacaktır.Ayrıca C:\Users\username\SAPHybrid klasörü içinde apk oluşmuş olacaktır.

C:\Users\username\SAPHybrid\android_deneme\hybrid\platforms\android\ant-build

EMILATOR çıktısı


SAPUI5 footer yapma

Sayfanızın altında footer eklemek için aşağıdaki kod bloğunu kullanabilirsiniz.
<footer>
            <OverflowToolbar id="otbFooter">
                <ToolbarSpacer/>
                <Button type="Accept" text="Accept">
                    <layoutData><OverflowToolbarLayoutData moveToOverflow="false" /></layoutData>
                </Button>
                <Button type="Reject" text="Reject">
                    <layoutData><OverflowToolbarLayoutData moveToOverflow="false" /></layoutData>
                </Button>
                <OverflowToolbarButton text="Delete" icon="sap-icon://delete"/>
                <OverflowToolbarButton text="Edit" icon="sap-icon://edit"/>
                <OverflowToolbarButton text="Add" icon="sap-icon://add"/>
                <OverflowToolbarButton text="Favorite" icon="sap-icon://favorite"/>
                <OverflowToolbarButton text="Flag" icon="sap-icon://flag"/>

            </OverflowToolbar>
</footer>

17 Kasım 2015 Salı

SAPWEB IDE local servis tanımlama

1-SAPWEB IDE kurduğunuz dizin içerisinde:
.......\SAPWebIDE\eclipse\config_master\service.destinations\destinations klasörü içerisine
http://services.odata.org/V3/Northwind/Northwind.svc/ servisini ekleyelim.Aşağıdaki kodu yazıp kaydedelim.


#
#Tue Jul 14 18:16:39 UTC 2015
Description=Northwind OData Service
Type=HTTP
Authentication=NoAuthentication
WebIDEUsage=odata_gen
Name=northwind
WebIDEEnabled=true
CloudConnectorVersion=2
URL=http\://services.odata.org
ProxyType=Internet
WebIDESystem=northwind
2-SAPWEB IDE üzerinde master-detail bir sapui5 projesi oluşturalım.Servis tabına gelip,klasör içerisine kaydettiğimiz servisi ekleyelim.İşaretlediğim kısma servisin uzantısını ekleyelim.
V3/Northwind/Northwind.svc/
 

3-Eğer servise bağlandıysanız,servis'de kullanacağınız tableSet'ler listelenecektir.İstediğiniz tableSET'i seçip master-detail konfigirasyonunu yapabilirsiniz.
 








4-Run deyip çalıştırın.
 


SAPUI5 sayfalar arası geçiş

Giriş ekranı yaptınız,login oldunuz peki sayfa nereye gidecek?Kolay bir yolu var.
1-index.html sayfasında aşağıdaki değişiklikleri yapın.

2-Component.js dosyası oluşturun ve içeriğini aşağıdaki gibi yapın.

3-view klasörün içine App.controller.js ve App.view.js dosyalarını oluşturun.
4-App.controller.js 

sap.ui.controller("login.view.App", {

to : function (pageId, context) {
var app = this.getView().app;
// load page on demand
var master = ("View1" === pageId);
if (app.getPage(pageId, master) === null) {
var page = sap.ui.view({
id : pageId,
viewName : "login.view." + pageId,
type : "XML"
});
page.getController().nav = this;
app.addPage(page, master);
jQuery.sap.log.info("app controller > loaded page: " + pageId);
}
// show the page
app.to(pageId);
// set data context on the page
if (context) {
var page = app.getPage(pageId);
page.setBindingContext(context);
}
},
/**
* Navigates back to a previous page
* @param {string} pageId The id of the next page
*/
back : function (pageId) {
this.getView().app.backToPage(pageId);
}
});
5-App.view.js

sap.ui.jsview("login.view.App", {

getControllerName: function () {
return "login.view.App";
},
createContent: function (oController) {
// to avoid scroll bars on desktop the root view must be set to block display
this.setDisplayBlock(true);
// create app
this.app = new sap.m.App();
// load the master page
var view1 = sap.ui.xmlview("View1", "login.view.View1");
view1.getController().nav = this.getController();
this.app.addPage(view1, true);
// load the detail page
var master = sap.ui.xmlview("Master", "login.view.Master");
master.getController().nav = this.getController();
this.app.addPage(master, false);
 
 
// done
return this.app;
}
});
6-View'lerinizin controllername lerini namespacelerini düzenleyin.
7-Login button event'ına ilgili kodumuzu yazıyoruz.
 this.nav.to("Master"); navigasyonu ile ilgili sayfaya yönlendirilmiş olacağız.
onGiris:function(oEvent){
    //seçilen sistem id alınıyor
     var oCombo = this.getView().byId("comboBox").getSelectedKey();
    //kullanıcı adı alınıyor
     var oUser = this.getView().byId("inpLogin").getValue();
     //şifre alınıyor
     var oPass = this.getView().byId("inpPWD").getValue();
     //oData servis ile SAP sistemine erişim yapılıp kullanıcı bilgileri sorgusu yapılmalı
     if(oUser === "abc" && oPass === "123"){
         alert("Giriş Başarılı");
        
            this.nav.to("Master");
     }else
     {
         alert("Hatalı Giriş");
     }
 }
8-Yönlenen sayfanın GERİ dönüş butonu aktif olmalı.
9-RUN deyip çalıştıralım.



SAPUI5 Login Ekranı

SAP sistemlerine veya non-SAP sistemlere erişim yapıp belli bir iş uygulaması gerçekleştirmek için sistemlere login olmak gerekir.Basit anlamda nasıl login ekranı yapabiliriz?
1-Login ekranı tasarımı
2-Sistemlerde dev,q,product vb.sistemler var ise onlara erişim için bir combobox ihtiyacı olabilir.Aşağıdaki şekilde controller içeresinde combobox doldurabilirsiniz.
3-Login ekranı Görünümü.Siz daha cafcaflı hazırlayabilirsiniz.


4-Login için Giriş butonuna basılınca buton'un press' eventi tetiklenecektir ve gerekli kontrolleri buraya eklemeliyiz.Giriş kontrollerini projenize eklediğiniz oData login servisi ile kontrol ettirmelisiniz.
5-Sisteme giriş yapalım.Kontrol mesajlarını daha efektif verebilirsiniz.Input parametleri için validation kontroleri ekleyebilirsiniz.


Hatalı Giriş

16 Kasım 2015 Pazartesi

SAPUI5 json data?

SAPUI5 json data
json data mobil cihazlar için oldukça hızlı sonuçlar almak için xml verilere göre daha çok tercih edilen data modelidir.Peki sapui5 da nasıl kullanacağız.Aşağıdaki adımları uygulayarak json data kullanımını görebilirsiniz.
1-Mock.data oluşturma.(test datası)
2-Model olurak view atama
3-Master.view' list'e json data'yı bağlıyoruz.Detail.view'a context'imizi yolluyoruz.




4-Run ve json data'larımız ve master-detail