将购物车项目传输回 SAP SRM

transfer shopping cart item back to SAP SRM

本文关键字:SAP SRM 传输 购物车 项目      更新时间:2023-09-26

我是SAP UI5(Html/JS)的新手。 我目前正在开发一个用于在 SRM UI 附加环境中进行自由文本项排序的表单。 当用户填写完表单后,单击"提交"按钮,表单应消失,项目应转移回 SRM 购物车。现在我很难实现项目转移。 我已经尝试了本文中的解决方案(SAPUI5 oModel.create() - 如何将数据发布到SAP后端?),但是执行代码后没有任何反应。

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 请求来模拟它。 有没有人知道如何做到这一点?

提前感谢!

OCI 协议不基于 OData,因此不能使用oDataModel.create将数据发布到 SRM。实际上,您甚至不应该使用XMLHttpRequest,而是使用普通的旧表单帖子来发布您的数据。该表单帖子的目的是将浏览器控件传递回 SRM 应用程序,以便它可以将用户重定向到购物篮。

因此,与其花哨的ODataModels和XMLHTTPRequest,你将不得不回到旧的表单帖子。当然,您可以使用jQuery和UI5整理表单中的信息。