• 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就不给列出来了。

  • 相关阅读:
    Matlab 画图
    OfferCome-0531
    OfferCome--0528
    剑指offer(2)
    剑指offer(1)
    MySQL的自增主键
    java Junit 测试
    sql 注入问题
    Facebook Libra
    markdown的博客
  • 原文地址:https://www.cnblogs.com/yibing-jia/p/11586412.html
Copyright © 2020-2023  润新知