2017-03-09 27 views
0

を使用して、複数の値(バッチ)を作成します。SAPUI5は、私が使用してSAPバックエンドにデータをポストするためにポスト

oModel.create("/Dummyset", oEntry); //so far it works fine 

今、私は私のoEntryで複数の行を持って、それが動作しません。私は次の解決策を見つけました

aBatchOperation.push(contactBatchOperation);   
oModel.addBatchChangeOperations(aBatchOperation); 
oModel.submitBatch(fSuccess,fError,true); 

残念ながら、私のODataバージョン2.0では動作しません。私はいつも

としてエラーそれから私は私がのOData V2で使用できる機能を見つけることを試みた

「addBatchChangeOperationsは関数ではありません」を取得します。私はこれを見つけることができた。

batchChanges.push(oModel._createBatchRequest("/AttributesSet", "POST", wert.Atrributes[i].name)); 
oModel._submitBatchRequest(oModel.setProperty("/AttributesSet", batchChanges), true); 

しかし、それでも動作しません。どうすれば修正できますか?

答えて

1

複数の作成リクエストを1つのバッチにまとめたいと思うでしょうか?

ODataModel createメソッドでは、追加のgroupIdを定義できます。下記参照。

mParameters。 グループID?要求グループのID。同じグループに属する要求は基本的に、あなたが自分自身を定義することができ、同じのgroupIdでを作成複数提出することができます

1つのバッチリクエストにバンドルされます。

まず、あなたは、あなたが作成し、複数を呼び出すODataModel

var aDeferredGroup = oModel.getDeferredGroups().push("batchCreate"); 
oModel.setDeferredGroups(aDeferredGroup); 

のための特定のdeferredGroupsを設定する必要があります。

var mParameters = {groupId:"batchCreate"}; 
oModel.create("/Dummyset", oEntry1, mParameters); 
oModel.create("/Dummyset", oEntry2, mParameters); 
oModel.create("/Dummyset", oEntry3, mParameters); 

最後に、複数のリクエストに対して1つのバッチでsubmitChangesを呼び出すことができます。

oModel.submitChanges(mParameters); 
+0

ありがとうございます。私はうまくいきますが、望み通りにはできませんoModel.createの最後の項目だけが挿入されます。私は背中やフロントエンドで何か間違っていると私は知らない。 – Aline

+0

Chrome開発ツールでoDataリクエストをチェックして、複数のリクエストが送信されているかどうかを確認します。これが本当であれば、それはバックエンドの問題でなければなりません。バックエンドchangeset_begin、changeset_process、およびchangeset_endメソッドを実装する必要があります。この投稿を確認することができますhttps://help.sap.com/saphelp_nw74/helpdata/en/94/a126519eff236ee10000000a445394/content.htm – Allen

+0

最後に正常に動作します。私は同じoEntry値を持っていました。それが私がそれが働いていないと思った理由です。ありがとうございます@Allen – Aline

関連する問題