如何找到某个 ABAP structure 某字段的源头来自哪个数据库表
2021/10/18 2:13:59
本文主要是介绍如何找到某个 ABAP 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的原创文章,尽在:"汪子熙":
这篇关于如何找到某个 ABAP structure 某字段的源头来自哪个数据库表的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-16在电脑上怎么模拟手机的运行环境?-icode9专业技术文章分享
- 2024-11-16接收socket数据,莫名其妙socket就关闭了是怎么回事?-icode9专业技术文章分享
- 2024-11-16ts nightly是什么?-icode9专业技术文章分享
- 2024-11-16如何升级vscode版本?-icode9专业技术文章分享
- 2024-11-16如何设置vscode默认的node版本?-icode9专业技术文章分享
- 2024-11-16shell 如何创建一个文件夹?-icode9专业技术文章分享
- 2024-11-16useReducer案例详解:从零开始理解与应用
- 2024-11-15聊聊用LangChain4J构建聊天机器人的那些事儿
- 2024-11-15LangChain 和 LlamaIndex 在检索增强生成(RAG)中的大比拼:全面对比评测
- 2024-11-15平台工程不只是配置管理:超越CFEngine的方法