zoukankan      html  css  js  c++  java
  • ABAP Where used list的代码实现

    俺今天接了个需求,要把一些字段的where used list给list出来。

    众所周知,这玩意直接用三叉戟那个图标的,但是我需要list出来的字段有点多,可能会列到明天去。

    大量重复冗余的工作当然不该一个优秀的程序员来做。

    身为不优秀的程序员,我必须向优秀程序员看齐。

    首先出第一个解决方案,哈哈哈那就是sap脚本,没想到吧,我只要录制一遍查找过程,就可以重复执行脚本取得所有值。

    然而德国人给出了新的问题,where used list是有选择的,列出所有的带check字样的mothod。

    那就只有写abap了,调试系统where功能,搞了个报表,找了个函数,试了半小时参数,终于搞定了。

    代码就不放了,函数是'RS_EU_CROSSREF',参数DSF代表field,何等卧槽,我一直以为是FD(按类型去表里查的)

    终于搞完了之后,开会提了这事。

    这时候,同事说...这玩意在一个表里也有。

    我一愣,这玩意怎么会存在表里。

    然而事实上这玩意真tm会存在一个表里,表名 wbcrossgt

    简直想吐槽,这玩意不应该是实时分析读取的么,放表里的effort更大吧...每一个类型的object的每一个类型的where都存一遍,那每次写程序岂不是这表还在不停的实时更新?

    一查表,七千多万条数据,行吧。

    两个方案都写了代码,互相检验了一遍,正确。

    有个小坑,表里存的字段,中间不是‘-’ 连接的,而是TY:, 比如‘vbakTY:vbeln’.

    还有个小坑,表的话如果是method的话,会显示成class===CM***的形式,这种用se38可以打开到method。

    还有个小坑,表的话如果method加上classname长度超标,这时候method就不给列出来了。

  • 相关阅读:
    字符串去重
    你必须懂的 T4 模板:深入浅出
    解决T4模板的程序集引用的五种方案
    table 合并行和列
    porwedesigner 去掉引号
    面向对象JS基础
    19套最新的免费图标字体集
    推荐 15 款很棒的文本编辑器
    13个JavaScript图表(JS图表)图形绘制插件
    推荐10款免费而优秀的图表插件
  • 原文地址:https://www.cnblogs.com/yibing-jia/p/11586412.html
Copyright © 2011-2022 走看看