ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

如何找到某个 ABAP structure 某字段的源头来自哪个数据库表

2021-10-17 13:04:52  阅读:140  来源: 互联网

标签:CODE 某字 value ABAP table CITYP check structure


我的微信群里有朋友提问:

如何找到某个 ABAP structure 里的某个字段,运行时的值是从哪个数据库表的字段里写入的?

以 ABAP structure BAPIAD1VL 为例,假设我们需要查找 字段 DISTRCT_NO 的来源。

其实没有什么太好太精确的办法。我这里提供一种办法。

选中 DISTRCT_NO, 点击 SE11 工具栏的 Where used list 图标:

有4条结果,一条一条人工查看。如果结果数很多,这种方法就很低效了。

第三条记录里,发现是 ADDR1_VAL 结构的 CITYP_CODE 字段,写入了我们要查找的目标结构 BAPIAD1VL-DISTRCT_NO 字段。

这个 ADDR1_VAL 仍然是一个 ABAP 结构,所以我们这里有两种选择。

一是我们的目标,转而划归为查找结构 ADDR1_VAL 的字段 CITYP_CODE 来自何方。可以递归地用 SE11 的 where used list,查找字段 CITYP_CODE, 直至搜索结果里,发现真正的数据库表才结束探索。

第二种选择是,使用 SE80 的 Repository information system.

打开 SE80, 左边展开 Fields->Table Fields, 右边输入 CITYP_CODE:

在搜索结果里,发现 ADRCITYPRT 和 ADRSTREET 这两张表的 CITYP_CODE 字段最有可能是我们要查找的字段。

此时手动到 SE16 查看这两张表的字段来确认。

另外群里这位朋友还问到了 check table. 这个概念往往容易和另一个 value table 相混淆。

check table

它只是包含特定外键表字段的所有有效条目的表。用于字段级验证(它限制字段值)。

value table

值表在域(domain)级别维护,也称为域级别验证。

二者的区别

  • check table 将对在任何应用程序中输入的表字段的输入值进行检查,value table 将在 F4 帮助上为该表字段提供值。

  • check table 定义外键并且是表定义的一部分。而 value table 是域定义的一部分。

  • check table是字段级别的验证,value table 是域级别的验证,用于为引用该域的所有字段提供 F4 帮助。

更多Jerry的原创文章,尽在:"汪子熙":

标签:CODE,某字,value,ABAP,table,CITYP,check,structure
来源: https://www.cnblogs.com/sap-jerry/p/15416682.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有