如何查找Fiori UI上某个字段对应的后台存储表的名称
今天微信群里有朋友问到这个问题。
如果是SAPGUI里的事务码,比如MM01,对于开发者来说这个任务非常容易完成。
比如我想知道下图“Sales Unit”这个字段的值到底保存在哪张表的哪个字段里,只需要选中这个字段,按F1,在弹出窗口里即可得知表名是MVKE,字段名是VRKME.

在S/4 Fiori UI里,因为UI是由SAP UI5开发的,所以F1这个功能键无法继续使用。我们需要Chrome Development Tool的帮助。
还是看个具体例子: 我希望知道S/4HANA的Material master data这个Fiori应用里这个标签为"Number of Goods Receipt/Issue Slips"是存在哪张表里的。

详细步骤如下:
1. 搞清楚这个UI字段是绑在哪个模型字段上的。这里的模型指的就是MVC里的Model。
用Chrome打开Fiori 应用,按F12打开Chrome development tool, 然后在下图的UI5 tab里找到这个字段的绑定细节: 得知它绑到了模型字段NmbrOfGROrGISlipsToPrintQty。

如果你的Chrome development tool打开没有看到这个UI5 tab, 是因为没有装一个名叫UI5 Inspector的Chrome扩展程序。
具体怎么安装,可以查看我的博客An useful Chrome extension - UI5 Inspector
如果有时间,不妨多花点时间在Chrome development tool上,这个工具之于Fiori UI的重要性就像ABAP Debugger之于SAPGUI的重要性一样,在上面投资时间比较值得。
我的一些日常工作的关于使用Chrome development tool的心得总结在这篇博客: Chrome Development Tool tips used in my daily work
2. 在Chrome里打开当前Fiori应用所消费的OData service的metadata url。
怎么找到这个url呢?重新打开你的Fiori应用,在Chrome development tool的Network tab里的filter输入框里,输入meta, 这样metadata请求的url就被显示出来了,如下图红色横线标注的url。

浏览器打开Open the metadata url之后,快捷键Ctrl+F, 输入第一步找到的模型字段的名称NmbrOfGROrGISlipsToPrintQty。这时就能找到该模型字段所属的Entity Type为C_ProductstorageType.

3. 用ABAP development studio登陆ABAP系统:

输入第二步找到的类型名称: C_Productstorage(把末尾的Type去掉)

C_PRODUCTSTORAGE就是CDS view的名称。打开它的定义,发现它从另一个CDS view I_ProductStorageWD取数据,那么再打开I_ProductStorageWD:

I_ProductStorageWD又是从P_ProductStorageWD取:

P_ProductStorageWD从I_Productstorage取:

最终的数据源是表MARA, 字段名为wesch:

到SE16里打开MARA,发现字段WESCH存储的值确实和Fiori UI上看到的一致,任务完成。

要获取更多Jerry的原创技术文章,请关注公众号"汪子熙"或者扫描下面二维码:


如何查找Fiori UI上某个字段对应的后台存储表的名称的更多相关文章
- 如何查找BAPI SD_SALESDOCUMENT_CHANGE里的字段对应的数据库存储表
BAPI函数SD_SALESDOCUMENT_CHANGE可以让我们很方便地通过ABAP代码来修改Sales Order. 其输入参数ORDER_HEADER_IN的类型是BAPISDHD1, 里面包 ...
- 如何将BSP应用配置成Fiori Launchpad上的一个tile
当我们通过WebIDE或者Eclipse的插件Team Provider把一个本地开发好的UI5应用部署到了ABAP Netweaver服务器上之后,我们可以将该UI5应用配置成Fiori launc ...
- Jquery easy UI 上中下三栏布局 分类: ASP.NET 2015-02-06 09:19 368人阅读 评论(0) 收藏
效果图: 源代码: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://w ...
- unity区分点击在3D物体还是2D UI上
当场景中的3D物体需要响应点击,但同时有UI显示时,存在判断点击是在3D物体上还是UI上的问题,办法如下: 1. 射线检测所有2D 3D物体,有2D物体被检测到时表明当前有UI.但无论Physics2 ...
- unity检测鼠标是点击在UI上还是物体上
void Update() { if (Input.GetMouseButtonDown(0)||(Input.touchCount >0 && Input.GetTouch(0 ...
- Unity3D_UGUI判断鼠标或者手指是否点击在UI上
比如战斗场景,UI和3D场景同时都需要响应触摸事件,如果同时响应可能就会出现触摸UI的时候影响到了3D部分.为了解决这个问题在判断3D响应之前要先判断手指是否点击在UI上. 以前NGUI的时候都是自己 ...
- linux 查询管道过滤,带上标题字段
linux查询过滤, 带上标题字段例: 一个简单的查询 ps -e | grep httpd 上面经过grep 过滤后, 标题没了, 但是为了看上去更方便,有标题字段看起来更方便一些, 那么可以按下面 ...
- element ui 上传文件,读取内容乱码解决
element ui 上传文件,读取内容乱码解决: 加第二个参数 reader.readAsText(file.raw,'gb2312'); <el-upload class="upl ...
- UGUI EventSystem.current.IsPointerOverGameObject(),判断是否进入了UI上
EventSystem.current.IsPointerOverGameObject(); //返回一个布尔值,进入了UI上就返回true,用的时候要 using UnityEngine.Event ...
随机推荐
- 学习javscript对象笔记(一)
对象(Objects) 对象属性值可以是除undefined值之外的任意值 1.对象字面量 a.{} b.new object(); 注意事项: 在对象字面量中,如果属性名是一个合法的javasc ...
- vue懒加载 && 浏览器高度
当我们进入首页时,可能有很多条目需要显示,但是如果条目太多,我们全部将之显示出来就会造成性能的消耗,比如,我在第一条就找到了需要的或者我就看前面两条我就不想看后面的了,所以,这时候如果使用全部加载的方 ...
- express遇到的问题
1. 如何引入express? cnpm install express --save 其中--save可以保存到依赖项中. 接着 var express = require("expres ...
- 记录: Win10+Ubuntu18.04双系统安装
在重装windows系统的时候顺便将ubuntu也重装了. window 10 安装 制作USB启动盘 到"微软中国下载中心"(http://www.microsoft.com/z ...
- 8086中断系统——《x86汇编语言:从实模式到保护模式》读书笔记04
80X86中断系统 能够处理256个中断 用中断向量号0-255区别 可屏蔽中断还需要借助专用中断控制器Intel 8259A实现优先权管理 1.中断的分类 中断可以分为内部中断和外部中断. (1)内 ...
- C++程序设计基础(8)main函数
注:读<程序员面试笔记>笔记总结 1.知识点 (2)main函数的形式 //first type int main() //second type int main(int argc,ch ...
- 深入理解JavaScript系列(5):强大的原型和原型链
前言 JavaScript 不包含传统的类继承模型,而是使用 prototypal 原型模型. 虽然这经常被当作是 JavaScript 的缺点被提及,其实基于原型的继承模型比传统的类继承还要强大.实 ...
- 循环结构 while
while 循环语句可以根据某些条件重复执行一条t-sql 语句或一个语句块 语法: while (条件) begin 语句或语句块 end 程序调试 alt+f5 启动调试 f9 切换断点 f10 ...
- css-知识总结
是什么 CSS通常称为CSS样式或层叠样式表,主要用于设置HTML页面中的文本内容(字体,大小,对其方式等),图片的外形 (高宽.边框样式.边距等)以及版面的布局等外观显示样式. CSS可以是HTML ...
- 【学习笔记】Java中生成对象的5中方法
概述:本文介绍以下java五种创建对象的方式: 1.用new语句创建对象,这是最常用的创建对象的方式. 2.使用Class类的newInstance方法 3.运用反射手段,调用java.lang.re ...