2016-07-06 9 views
1

SAP UI5(Html/JS)を初めて使用しました。私は現在、SRM UI AddOn環境内の無料テキスト項目の注文フォームを開発中です。ユーザーがフォームに記入したら、[送信]ボタンをクリックするとフォームが消え、アイテムはSRMショッピングカートに戻されます。今私は項目の移転を実装するのが難しいです。私はこの記事(SAPUI5 oModel.create() - how to post data to the SAP backend?)の解決策を試しましたが、コードが実行された後は何も起こりません。ショッピングカートの商品をSAP SRMに転送

var oParameters = { 
    "NEW_ITEM-DESCRIPTION[1]": description, 
    "NEW_ITEM-QUANTITY[1]": itemQuantity, 
    "NEW_ITEM-UNIT[1]": itemUnit, 
    "NEW_ITEM-PRICE[1]": itemPrice, 
    "NEW_ITEM-CURRENCY[1]": itemCurrency 
}; 

// use oDataModel.create() to POST free text item to SRM shopping cart 
var oDataModel = this.getView().getModel(); 

// Enable messagebox from jQuery 
jQuery.sap.require("sap.ui.commons.MessageBox"); 

oDataModel.create(hook_url, oParameters, null, 
    function() { 
     sap.ui.commons.MessageBox.show(sap.ui.commons.MessageBox.alert("Success!")); 
    }, 
    function() { 
     sap.ui.commons.MessageBox.alert("Error!"); 
    } 
); 

手動でフォームの場所(hook_url)とアイテム情報を組み合わせたhttpリクエスト(文字列)を作成できます。空のブラウザページを開くと、この文字列がアドレスバーに貼り付けられ、商品がショッピングカートに転送されます。私はそれをシミュレートするコードでxml http要求を使用する必要がありますかと思います。誰かがそれを行う方法の手がかりを持っていますか?

ありがとうございます!

+0

hook_urlとは何ですか?そうですか? createメソッドの最初のパラメータは、新しい製品を追加するエンティティでなければなりません。たとえば、エンティティの名前が "ShoppingCart"の場合、hook_urlにはエンティティ名の前にスラッシュカーラクタ "/ ShoppingCart"が必要です。これは、oDataサービスがSAP NetWeaver Gatewayと通信している場合に機能します。 – carlosfcmendes

+0

Jan Penninkhof氏が答えたところで、ODataModelは使用できません。だから、 'oDataModel.create'の使用はありません。 – Qualiture

答えて

1

OCIプロトコルはODataに基づいていないため、oDataModel.createを使用してSRMにデータを送信することはできません。実際には、XMLHttpRequestを使用すべきではありません。代わりに単純な古いフォーム投稿を使用して、代わりにデータを投稿してください。このフォームの目的は、ブラウザコントロールをSRMアプリケーションに戻して、ユーザーをショッピングカートにリダイレクトできるようにすることです。

したがって、派手なODataModelsとXMLHTTPRequestの代わりに、古い古いフォームの投稿に戻ってください。もちろん、jQueryとUI5を使ってフォーム内の情報を照合することができます。

+1

私はあまりにもずっと前から苦労していました。結局、私はODataを使用するだけで、OCIプロトコルを使いました。 OCIオブジェクトの送信は '$。post(sYourHookURL、oOCIObject).done(doSomething).error(doSomethingElse); ' – Qualiture

+0

のように簡単に行うことができます。私はそれのために苦労している唯一の人ではないことを聞いていいです:)。そのデータを転送するだけではそれほど難しいとは思えませんでした。 ODataは、SAPからのバックエンドとの標準的なコミュニケーションのように見えます。 –

+0

あなたはダニエルだけではありません。また、製品チームと同じくらい多くの「基準」があることに注意してください。幸いにもそれらの多くはODataに収束していますが、私はまったく異なるOCIプロトコルがかなり長い間存在すると考えています。 – jpenninkhof

関連する問題