怎么用ABAP 代码判断,,某程序的某个屏幕上,输出了 ALV 且 计算 输出ALV 的内表有 多少个字段?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎么用ABAP 代码判断,,某程序的某个屏幕上,输出了 ALV 且 计算 输出ALV 的内表有 多少个字段?相关的知识,希望对你有一定的参考价值。

1.首先判断是否可能是ALV屏幕,选择屏幕都存在系统自动生成的MODULE %_INIT_PBO.
2.通过程序Source Scan扫描程序代码找到SET_TABLE_FOR_FIRST_DISPLAY/REUSE_ALV_GRID_DISPLAY/FACTORY
3.找到IT_OUTTAB/T_OUTTAB/T_TABLE Mapping 的内表,排除TYPE LVC*之类无关的字段,
不过此方法不完善,有待寻求更完美的~追问

怎么找 Mapping 的内表? 还有怎么确定是哪个屏幕的?

追答

IT_OUTTAB/T_OUTTAB/T_TABLE 后面的就是所要的内表,逐个屏幕进去扫描代码

追问

谢谢,我先试一试

参考技术A 不知道你这种要求是有什么具体的需求吗?这种做法我还没碰到过追问

需要计算已开发的程序中的 使用的 Field 个数后,保存到CBO 表

算ABAP 结业考试吧

追答

不好意思,这个确实不会,因为实际应用中我还没碰到过这种问题

追问

还是谢谢你了

参考技术B 某程序和某屏幕是指定的,还是需要查找的?追问

LOOP 一张内表,每条记录里有一个 程序名 和 一个屏幕编号,然后 要确定这个程序的这个屏幕有没有 ALV ,有就找 他有几个字段

追答

抱歉这个需求还真没有做过。

js 判断是不是含某字符

如何判断一个字符串是是否含有small ,并把它后边的所有的字符都删了?
我还想知道那个right 的用法,为什么我用这个来去字符提示错误 比如url=Right(url,12);
是句是错误的

是否包含某字符串,可以直接用字符串操作里面的indexOf方法。

下面是简单的小例子。仅供参考:

<body>
    <input type="text" id="inp" />
</body>
<script>
    var oInp = document.getElementById(\'inp\');
    oInp.onblur = function()
        if(oInp.value.indexOf(\'a\') >= 0) //判断输入框中是否输入了a
            console.log(\'有值!!!\');
        
    ;
</script>
参考技术A 因为right,left,mid 方法是在SQL中的查询语句中才有的语法.所以在javascript语言中不可用.

url="tftyvhvSdzsmallhvh";
if(url.indexOf("small")>=0)

alert(url.substring(0,aa.indexOf("small")+5));
参考技术B aa="sdfsfsdsmalldddd";
if(aa.indexOf("small")>=0)

alert(aa.substring(0,aa.indexOf("small")+5));

看看这个

javascript中没有right,left,mid本回答被提问者采纳
参考技术C <script type="text/javascript">
url="tftyvhvSdz1323smallhvh";
document.write(url.replace(/(.*?)(?=small).*/gi,"$1"))
</script>

以上是关于怎么用ABAP 代码判断,,某程序的某个屏幕上,输出了 ALV 且 计算 输出ALV 的内表有 多少个字段?的主要内容,如果未能解决你的问题,请参考以下文章

abap select option 不允许输入某值

ABAP选择屏幕字段无法输入负值

ABAP 子屏幕上的按钮怎么响应

ABAP笔记

ABAP物料表

ABAP WRITE如何用变量,屏幕输出颜色