2016-09-27 3 views
0

Ich habe ein oData Modell mit Entitäten: Order, OrderInformation. Es besteht 1: 1 eine Zuordnung zwischen Order und OrderInformation.getProperty der Entität im Odata Modell in SAPUI5 funktioniert nicht

Jetzt in der Ansicht, basierend auf einem Wert in OrderInformation, sollte ich eine Schaltfläche ausblenden/anzeigen.

In der Steuerung funktioniert die folgende Logik zum Abrufen des Werts von OrderInformation-> appUrl nicht, aber ich kann die Eigenschaft der Entität 'Order' lesen.

Init: function(){ 
    // Not working 
    var prop = this.getView().getModel().getProperty("/OrderInformations('"+ this._orderId + "')/appUrl"); 
    // Working 
    var prop = this.getView().getModel().getProperty("/Orders('"+ this._orderId + "')/orderType"); 
    } 

In der Transaktion/IWFND/GW_CLIENT, Abfrage folgende gibt mir korrekten Wert

/sap/opu/odata/sap/<<ServiceURL>>/OrderInformations('132123')/appUrl 

ich auch mit dem attachRequestCompleted versucht, aber immer noch keinen Erfolg.

Init:function(){ 
    var oModel = this.getView().getModel(); 
    oModel.attachRequestCompleted(function(oEvent){ 
     var myval = model.getProperty("/OrderInformations('"+ this._orderId + "')/appUrl"); 
     }); 
} 

Kann mir jemand eine Idee geben, was schief gehen kann?

BR Nilesh

Antwort

2

können Sie die oModel.read Funktion verwenden, um eine Anfrage an das Backend triggern, innerhalb der Erfolg Handler Sie das Ergebnis der Reaktion lesen und verarbeiten die empfangenen Daten

var test = oModel.read("OrderInformations('" + this._orderId + "')", { 
    success: function(oData, response) { 
     var appUrl = oData.result.appUrl; //response.data.appUrl also works 
     // do something 
    }, 
    error: function (oError) { 
     // Error handling on failed response 
    } 
}); 

API-Referenz: https://openui5beta.hana.ondemand.com/#docs/api/symbols/sap.ui.model.odata.ODataModel.html#read

ich verstehe nicht, diese Zeile Sie schrieb:

In der Steuerung, folgende Logik, um den Wert von OrderInformation-> appUrl nicht funktioniert, aber ich kann die Eigenschaft Entität "Auftrag" lesen.

Reihenfolge ist eine andere Entity mit einer Eigenschaft und die Adressierung funktioniert wie oben beschrieben? Haben Sie Ihr Modell folgendermaßen initialisiert: /sap/opu/odata/sap/<<ServiceURL>>/Order? Ist OrderInformation eine verwandte Einheit der Bestellung? Wenn ja die Lese mit der Navigation Eigenschaft des OData-Dienst erweitern, die die Beziehung zwischen den beiden Entitäten definiert

Ich hoffe, das Sie Frage beantwortet, wenn etwas übrig, lassen Sie mich wissen

Mit freundlichen Grüßen

+0

Hallo, Sie waren in der Analyse genau richtig. Ich wollte einfach nicht mit mode.read telefonieren. Scheint Problem war ich wa versucht zu lesen Eigenschaft von etwas, das nicht einmal in den Speicher geladen wurde. Ich habe Mode.read endlich benutzt. Vielen Dank ! –

Verwandte Themen