2016-09-27 23 views
0

私は、Order、OrderInformationというエンティティを持つoDataモデルを持っています。 OrderとOrderInformationの間には1対1の関連があります。SAPUI5のOdataモデルのエンティティのgetPropertyが機能しない

ここでは、OrderInformationの値に基づいて、ボタンを非表示にする/表示する必要があります。

コントローラでは、OrderInformation-> appUrlの値を取得するロジックは機能しませんが、エンティティ 'Order'のプロパティを読み取ることができます。トランザクション/ IWFND/GW_CLIENTで

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"); 
    } 

、クエリが

私に正しい値を与える
/sap/opu/odata/sap/<<ServiceURL>>/OrderInformations('132123')/appUrl 

次私もattachRequestCompletedで試したが、まだ成功。

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

誰かが間違っている可能性がありますか?

BR Nilesh

答えて

2

あなたは成功ハンドラ内で使用すると、受信したデータを応答の結果を読み、処理し、バックエンドに要求をトリガするoModel.read機能を使用することができます

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リファレンス:

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

私はあなたが書いたこの行を理解していません

コントローラでは、 の値を取得するためのロジックは、OrderInformation-> appUrlは機能しませんが、 エンティティ 'Order'のプロパティを読み取ることができます。

上記のように、プロパティとそのアドレッシングの別のエンティティがオーダーされていますか? このようにモデルを初期化しましたか: /sap/opu/odata/sap/<<ServiceURL>>/OrderOrderInformationは注文の関連エンティティですか?はい、2つのエンティティ

私はこれがあなたの質問に答えを期待

との間の関係を定義するのODataサービスのナビゲーションプロパティを使用して読み取りを拡張する場合、何が残っている場合、私は

敬具

+0

こんにちはをお知らせあなたは分析にスポットを当てていました。私はmode.readを使って別の呼び出しをしたくなかった。メモリにロードされていないもののプロパティを読み込もうとしていたようです。私は最後にMode.readを使用しました。ありがとう! –