联接/合并两个SAP ui表

2020-09-13 02:20发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


大家好,

我正在寻找一种合并/联接到SAPui5中的表的方法。 (最好使用javascript)

对于第一个表,我从excel工作表上传数据,第二个表从InfoObject中生成。

现在,我想根据InfoObject表的技术键,从第一个表中获取数据并添加到第二个表中。 (寻找一种方法来搜索匹配的技术密钥,然后相应地替换数据)

你们中有人有做过这样的事情吗? (我并不是要寻求一个完整的解决方案,而只是寻求一些有关如何/从何处开始的信息。)

谢谢!

* EDIT *这是(1.)我如何从excel上传数据的代码。 至于(2.)检索InfoObject,它基于我的主控制器/视图,在这里我可以从中获取元数据等)

//1。  excel上传
 onXLSXupload:function(e){
 this._import(e.getParameter(" files")&& e.getParameter(" files")[0]);
 },
 _import:函数(文件){
 var oTable = this.getView()。byId('uploadData');
 if(file && window.FileReader){
 var reader = new FileReader();
 var result = {},数据;
 var that = this;
 reader.readAsBinaryString(file);
 reader.onload = function(e){
 var rawLog = reader.result;
 数据= e.target.result;
 var wb = XLSX.read(data,{type:'binary',cellDates:true,cellText:false,dateNF:'DD-MM-YYYY'});
 如果(wb.SheetNames [0]!=" _com.sap.ip.bi.xl.hiddensheet"){
 var first_sheet_name = wb.SheetNames [0];
 }其他{
 var first_sheet_name = wb.SheetNames [1];
 }
 var worksheet = wb.Sheets [first_sheet_name];


 var aData = that.getRowData(worksheet);
 var aColumns = that.getColumnNames(worksheet,aData);


 var aCells = that.getCells(aData);
 var oModel = new sap.ui.model.json.JSONModel();
 oModel.setData({
 列:aColumns,
 行:aData
 });
 oTable.setModel(oModel);
 oTable.bindColumns("/img/columns",function(index,context){
 var columnName = context.getObject()。columnId;
 返回新的sap.ui.table.Column({
 标签:columnName,
 模板:columnName
 });
 });


 oTable.bindRows("/img/rows");


 };
 };
 },

//2. InfoObject
 onLoadViewModel:函数(事件){
 var params = {viewName:" ZAC543PRO",viewId:" 499",id:undefined};
 var metaDataModel =新的ODataModel(ODATA_META_DATA_SERVICE_URL);
 var modelname = MODEL_NAME_ODATA_DETAILS +'>';
 var modelprefix ='/I'+ CONFIG.OBJECT_SEPARATOR + _.toNumber(params.viewId)+''+ CONFIG.OBJECT_SEPARATOR + params.viewName.replace(/\//g,'-');
 var configValuesMetaData = JSON.parse(this.getView()。getModel('viewConfigValues')。getProperty('/TABLE_METADATA'));
 var tableButtonList = [];
 var placeAt = this.getView()。byId('generatedTableView');
 this.callbackAPI.GeneratedTableView.getController()。generateTableView(metaDataModel,modelname,modelprefix,tableButtonList,this.onTableGenerated,configValuesMetaData,placeAt);
 },

 

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


大家好,

我正在寻找一种合并/联接到SAPui5中的表的方法。 (最好使用javascript)

对于第一个表,我从excel工作表上传数据,第二个表从InfoObject中生成。

现在,我想根据InfoObject表的技术键,从第一个表中获取数据并添加到第二个表中。 (寻找一种方法来搜索匹配的技术密钥,然后相应地替换数据)

你们中有人有做过这样的事情吗? (我并不是要寻求一个完整的解决方案,而只是寻求一些有关如何/从何处开始的信息。)

谢谢!

* EDIT *这是(1.)我如何从excel上传数据的代码。 至于(2.)检索InfoObject,它基于我的主控制器/视图,在这里我可以从中获取元数据等)

//1。  excel上传
 onXLSXupload:function(e){
 this._import(e.getParameter(" files")&& e.getParameter(" files")[0]);
 },
 _import:函数(文件){
 var oTable = this.getView()。byId('uploadData');
 if(file && window.FileReader){
 var reader = new FileReader();
 var result = {},数据;
 var that = this;
 reader.readAsBinaryString(file);
 reader.onload = function(e){
 var rawLog = reader.result;
 数据= e.target.result;
 var wb = XLSX.read(data,{type:'binary',cellDates:true,cellText:false,dateNF:'DD-MM-YYYY'});
 如果(wb.SheetNames [0]!=" _com.sap.ip.bi.xl.hiddensheet"){
 var first_sheet_name = wb.SheetNames [0];
 }其他{
 var first_sheet_name = wb.SheetNames [1];
 }
 var worksheet = wb.Sheets [first_sheet_name];


 var aData = that.getRowData(worksheet);
 var aColumns = that.getColumnNames(worksheet,aData);


 var aCells = that.getCells(aData);
 var oModel = new sap.ui.model.json.JSONModel();
 oModel.setData({
 列:aColumns,
 行:aData
 });
 oTable.setModel(oModel);
 oTable.bindColumns("/img/columns",function(index,context){
 var columnName = context.getObject()。columnId;
 返回新的sap.ui.table.Column({
 标签:columnName,
 模板:columnName
 });
 });


 oTable.bindRows("/img/rows");


 };
 };
 },

//2. InfoObject
 onLoadViewModel:函数(事件){
 var params = {viewName:" ZAC543PRO",viewId:" 499",id:undefined};
 var metaDataModel =新的ODataModel(ODATA_META_DATA_SERVICE_URL);
 var modelname = MODEL_NAME_ODATA_DETAILS +'>';
 var modelprefix ='/I'+ CONFIG.OBJECT_SEPARATOR + _.toNumber(params.viewId)+''+ CONFIG.OBJECT_SEPARATOR + params.viewName.replace(/\//g,'-');
 var configValuesMetaData = JSON.parse(this.getView()。getModel('viewConfigValues')。getProperty('/TABLE_METADATA'));
 var tableButtonList = [];
 var placeAt = this.getView()。byId('generatedTableView');
 this.callbackAPI.GeneratedTableView.getController()。generateTableView(metaDataModel,modelname,modelprefix,tableButtonList,this.onTableGenerated,configValuesMetaData,placeAt);
 },

 

付费偷看设置
发送
2条回答
一只江湖小虾
1楼-- · 2020-09-13 02:43

由于没有提供代码,所以很难提供帮助。

我建议为每个数据源使用JSONModel并合并到第三个数据源。

由于您的 完全没有指定API响应。 如果您怀疑这样做是否可行,UI5不会直接读取数据库。

槿木_熙
2楼-- · 2020-09-13 02:46

Fabio Pagoti 嗨,法比奥,我 抱歉,我没有提供足够的信息! 随时与您分享! 您需要什么?

至于API响应,我不是100%确定需要什么信息。 我是SAP的新手,并不完全知道什么对您有最大的帮助! 请告诉我。 我很想实现这一目标。

一周热门 更多>

点击此处---> EasySAP.com 一起学习S4 HANA ...

相关问答