首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用多条记录调用oDataModel方法"create"/"update“可能吗?

使用多条记录调用oDataModel方法"create"/"update“可能吗?
EN

Stack Overflow用户
提问于 2020-07-16 15:18:35
回答 1查看 759关注 0票数 0

恐怕这是一个很简单的问题。这可能太容易被问到这里,但我不知道我自己,我只是想知道。

它是关于oDataModel和方法“创建”和“更新”。在Demo Kit中,我发现接口如下:

创建(sPath,oData,mParameters?):对象

更新(sPath,oData,mParameters?):对象

在这两种方法中,"oData“的描述都表示”应该创建/更新的条目的数据“。

所以我知道oData正是一个数据记录。在SAP中,在相应的方法(例如StorageUnitSet_Update_Entity)中,我可以用ABAP中的方法读取这个单一记录:

代码语言:javascript
复制
CALL METHOD io_data_provider->read_entry_data
  IMPORTING
    es_data = ls_data.

是否有一种共同的方式来传递多个记录?

在我的例子中,我有一个简单的表,其中只有一个列包含存储单元。通过按下“保存”,这些应该在后端系统中创建。现在,我不确定是否循环我的表并传递每个存储单元,并为每个条目调用这个“创建方法”。或者,我可以将所有存储单元写入一个长字符串中,然后只传递一次。但如果有一种“更正确”的方法来处理这件事,我很想知道。

这是一点代码。我试着把它减少到必要的程度:

代码语言:javascript
复制
sap.ui.define([
    "xxx/namespace/controller/BaseController",
    "sap/ui/model/resource/ResourceModel",
    "sap/ui/model/json/JSONModel",
    "sap/ui/core/ValueState"
], function (BaseController, ResourceModel, JSONModel, ValueState) {
    "use strict";

    return BaseController.extend("xxx.namespace.controller.iPunkt01", {

        onInit: function () {

            
            this._data = {
                LePool: [ {lenum: "123456"},
                    {lenum: "234567"},
                    {lenum: "234567"}
                    ]
            };

            this.jModel = new sap.ui.model.json.JSONModel();
            this.jModel.setData(this._data);

            // bind table
            this.byId("ins").setModel(this.jModel);

        },
        
        onStartVert: function () {
            // call oData Method create 
            
        },
    });
});

以下是XML:

代码语言:javascript
复制
<mvc:View xmlns:core="sap.ui.core" xmlns:mvc="sap.ui.core.mvc" xmlns="sap.m" xmlns:f="sap.f" xmlns:l="sap.ui.layout"
    controllerName="xxx.namespace.controller.iPunkt01" xmlns:html="http://www.w3.org/1999/xhtml" id="iPunkt01">
    <App>
        <pages>
            <Page title="i - Punkt">
                <content>
                    <Label text="Lagereinheit" labelFor="lenum"/>
                    <Input id="lenum" editable="true" submit="onSubmit"/>
                    <Table id="ins" items="{/LePool}">
                        <columns>
                            <Column width="50px"/>
                            <Column>
                                <Text text="LE Pool"/>
                            </Column>
                        </columns>
                        <items>
                            <ColumnListItem>
                                <cells>
                                    <Button icon="sap-icon://delete" press="onDeleteRow" type="Reject"/>
                                    <Text id="lenumCell" text="{lenum}"/>
                                </cells>
                            </ColumnListItem>
                        </items>
                    </Table>
                    <l:HorizontalLayout>
                        <Button text="Zurück" icon="sap-icon://nav-back" press="onNavBack"/>
                        <Button text="Start Verteilung" icon="sap-icon://share-2" press="onStartVert"/>
                    </l:HorizontalLayout>
                </content>
            </Page>
        </pages>
    </App>
</mvc:View>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-07-17 07:50:11

嘿,你可以和巴奇一起工作。在后端,每个请求都将由它自己处理。

下面是一些如何传递多个请求的教程:

如果希望在后端同时访问所有数据,则可以使用**插入 **。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62937927

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档