首页 > 数据库 >如何自行查找出 SAP ABAP 标准的 OData 服务返回数据的后台数据库表和表字段名称

如何自行查找出 SAP ABAP 标准的 OData 服务返回数据的后台数据库表和表字段名称

时间:2023-04-16 17:12:20浏览次数:45  
标签:服务 OData ABAP Accounts SAP 数据库

笔者的知识星球有朋友提问,询问如何查找一个 SAP ABAP OData 服务,暴露出的字段到底来自 SAP ABAP 后台哪些数据库表的哪些字段。

要回答这个问题,需要综合运用到我们过去学过的包括 ABAP 后台程序单步调试的知识。

本文我们还是通过之前使用过的 SAP CRM 标准的 Fiori 应用,My Accounts 作为例子进行讲解。

在 Fiori Launchpad 里点击 My Accounts tile 之后,能看到 SAP OData 服务返回的 Accounts 数据列表。

点击其中一个行项目,就能进入 Accounts 的明细页面。这里在 SAP UI5 应用界面上看到的字段,都是该应用对应的 OData 服务从 SAP 后台业务服务器取回的。

在实际的 SAP 集成项目中,我们有时候会需要知道这些 OData 返回字段值,到底是存储在哪些数据库表的哪些字段中。这些信息作为系统集成二次开发的理论前提。

本教程前一篇文章,已经介绍了如何通过 Chrome 开发者工具,自行找到该 SAP UI5 应用使用的 OData 服务的名称,以及运行时部署在 SAP Gateway 系统上的 SAP UI5 应用,发出的 OData 服务,到底被哪一台 SAP 后台服务器接收并处理。

本文首先介绍另一种方式,不通过 Chrome 开发者工具,即可直接找到 My Accounts 应用使用的 OData 服务名称。

按照笔者这篇教程介绍的步骤,即可轻松找到 OData 服务的名称为 CRM_BUPA_ODATA.

并且能够快速获得下面这张列表,即 OData CRM_BUPA_ODATA 在运行时访问的 SAP 数据库表的清单。

从清单里我们很容易找到 Fiori UI 上的 Account 字段,对应数据库表里哪些存储字段。

上图第三列 Accesses 列表示该行表示的数据库表在整个执行过程中,被访问的次数,第四列 Net 代表访问该数据库表耗费的时间,单位是微秒。Short Description 即数据库表的描述信息,Package 即所在 ABAP 开发包的名称。

从上图描述信息能够看出,BUT000 这张表存储了 Business Partner 数据模型的抬头信息。本文讨论的 My Accounts 应用里显示的 Account 模型,是一种特殊类型的 Business Partner.

比如 My Accounts 应用显示的 First Name 和 Last Name 的值:

实际存储在数据库表 BUT000 如下图所示的 NAME_LASTNAME_FIRST 字段里。

通过这张表里的 PERSNUMBER 字段作为外键:

还能链接到其他数据库表,比如同样出现在 SAT 事务码结果列表里的 ADR12, Account 在 Fiori UI 上显示的 WebSite,就存储在这张数据库表的 URI_SRCH 字段里。

总结

这篇文章首先介绍了已知一个 SAP UI5 应用名称,如何通过 SAP 官方工具,快速查找到其使用的 OData 服务名称。接着介绍了如何在 ABAP 调试器里,通过内置的 ABAP Trace 将调试器里执行的 ABAP 代码的明细全部记录下来,保存成能够在事务码 SAT 里查看的 Trace 文件。最后通过实际的例子,展示了如何在事务码 SAT 里查看 OData 服务运行时访问了哪些数据库表,以及将 SAP UI5 界面上的字段同这些数据库表的字段进行一一匹配。

标签:服务,OData,ABAP,Accounts,SAP,数据库
From: https://www.cnblogs.com/sap-jerry/p/17323598.html

相关文章

  • TEXT_CONVERT_XLS_TO_SAP-上传excel
    *&---------------------------------------------------------------------**&ReportZ004*&*&---------------------------------------------------------------------**&*&*&------------------------------------------------------......
  • 本周参加两个SAP项目面试后的感想
    本周参加两个SAP项目面试后的感想  本周二和周四,应约参加了2个不同项目的电话面试,感触挺多的。    1,行业经验在很多项目选人的时候具有关键性的决定作用。 A项目,是一个快消品行业的大项目,客户是世界跨国巨头,听对方介绍起来该项目规模庞大,极其复杂,所以他们选人要......
  • SAP ERP系统PP模块计划策略20&50详解​
    SAP/ERP系统中面向订单生产的计划策略主要有20和50两个策略,这两个策略都是面向订单生产的计划策略,也是离散制造行业应用比较广泛的策略。它们之间最大差异就是在于20策略完全是由订单驱动,而50策略是预测加订单驱动。1.策略20的基本流程说明(策略20)用途说明:1.完全按销售订单(真实需求......
  • SAP Business One系统在半导体行业中的应用
    中国由制造业大国向制造业强国转变。中国每年在半导体行业投下大量资金,而且经费不断上升,高科技半导体产业链从设计公司,晶圆制造及后段封装测具有显著不同的业务模式,需要针对不同细分行业寻求对应业务需求和业务场景的解决方案及卓越实践,实现端到端整体方案导入。半导体设计行业隶属......
  • Eclipse 安装 ABAP 插件报错 Microsoft Visual C++ 2013 (x64) 快速解决
     去官网下载MicrosoftVisualC++2013(x64)安装   DownloadVisualC++RedistributablePackagesforVisualStudio2013fromOfficialMicrosoftDownloadCenter   ......
  • 基于ISODATA改进算法的负荷场景曲线聚类(适用于风光场景生成)
    基于ISODATA改进算法的负荷场景曲线聚类(适用于风光场景生成)摘要:代码主要做的是一种基于改进ISODATA算法的负荷场景曲线聚类,代码中,主要做了四种聚类算法,包括基础的K-means算法、ISODATA算法、L-ISODATA算法以及K-L-ISODATA算法,并且包含了对聚类场景以及聚类效果的评价,通过DBI的计......
  • 2023-4-13 某SAP项目面试小记
    2023-4-13某SAP项目面试小记   按照某个SAP猎头的安排,笔者今天应约参加一个基于TEAMS工具的电话面试。整个面试全程英语面试,共计52分钟。面试结束后,笔者凭借记忆,记录了面试官问过的那些问题,算是做一个回顾。 自我介绍一下过去的SAP项目经验。有无做过SAPS4HANA项目?......
  • SAP WM模块里的那些标准 Interim Storage Type
    SAPWM模块里的那些标准InterimStorageType   ......
  • CSAPP练习题2.11
    练习题2.111/*2CSAPP练习题2.11,并做了一些扩展3指定或者用户输入一个数组(100以内),打印反转前后的所有数组元素4*/5#include<stdio.h>67voidinplace_swap(int*x,int*y);//互换值8voidreverse_array(inta[],intcnt);//数组反转9voi......
  • SAP ABAP 释放 TR 遇到错误消息 ended with return code 8 的含义和处理办法
    我的知识星球里有朋友提问:se09释放请求号报错:endedwithreturncode:=>8<=这个问题该如何解决?这是ABAPTransportRequest释放时的一个Generic错误消息。熟悉ABAP编程的朋友都知道,很多ABAP关键字执行后,通过系统变量sy-subrc的值来判断是否执行成功,0代表成功,4或......