2016-04-23 3 views
2

誰でもWebIDE Fiori CRUDテンプレートからアプリケーションを正常に作成できましたか?バッチOData要求のエラーを適切に処理することはできないようです。WebIDE CRUDテンプレートとODataエラーに関する問題

たとえば、マスターリストの項目を選択してEDITをクリックして更新すると、私が知っている値を入力するとバックエンドにエラーが発生します。更新が内部的に失敗した場合でも、バッチOData要求が送信され、応答は正常に(全体的に)成功します。コンソールに不正なリクエスト400エラーが表示されますが、アプリケーションは反応しません。

ErrorHandler.jsオブジェクトを使用すると、メッセージボックスを簡単にコーディングしてエラーメッセージを表示することはできますが、アプリケーションは混乱して常にリストの一番上の項目に移動しますが、ODataModelにはまだ保留中の変更がありますそれをナビゲートしようとすると、データ損失ダイアログが表示されます。

約束どころの約束の中に約束したコードの性質と、どこでも発射されるコールバックを考えると、それをデバッグしようとするのは非常に辛いです!

あなたのアプリの基盤となる良いCRUDアプリケーションの例がありますか?

答えて

1

まあ....さらにいくつかのデバッグと私は、Fiori CRUDテンプレートで発生する奇妙な問題のすべてが、変更後の自動リフレッシュのデフォルトのモデルによるものであることを発見しました。 新しいエントリを追加したりオブジェクトを編集した後に加えられた変更を表示するために、ユーザーがリフレッシュボタンを押す必要がないので、通常は素晴らしい機能です。

しかし、モデルのこの自動リフレッシュは、バッチモードでの更新で混乱を招くようです。 最初に、バッチ更新が完全に成功した場合、アプリはマスターリストの最初のアイテムに移動します。 第二に、奇妙な事態のバッチでエラーが発生した場合。

これを修正するには、oModel.submitChanges()呼び出しの前にoModel.setRefreshAfterChange(false)を呼び出します(更新していないときのみ)。保存後のコールバックでは、自動リフレッシュをtrueにリセットします。

crudアプリケーションが正常に動作し、奇妙なuiアップデートを行わずにodataバッチ更新のエラーを正しく処理できるようになりました。

0

ジェイソン、

彼らが提供しているエラーメッセージは非常に単純であり、同様にエラー本体を解析サポートしていません。そして、中を示し、我々はエラーを解析するためのコードを実行する必要があり

<code>005056A509B11ED199D882461C8C40FE</code><message xml:lang="en">The Data Services Request version '3.0' is not supported for the request payload.</message>< 

メッセージボックス

関連する問題