区别CALL SCREEN/SET SCREEN/LEAVE TO SCREEN详解编程语言
2023-06-13 09:11:49 时间
1,
CALL SCREEN XXXX将在Screen调用栈(CALL STACK)上面添加一层调用(进栈),调用XXXX的PBO和PAI,如果XXXX的Next Screen不为0,那么将继续其Next Screen的PBO和PAI,如此继续~~~当最后碰到Next Screen为0时,该层调用将从调用栈中退出(出栈),然后系统将
继续执行CALL SCREEN XXXX之后的语句。
2,
SET SCREEN XXXX,设置调用栈当前层次的Next Screen为XXXX,它并不影响调用栈的层数,除非XXXX为0,那将导致调用栈退掉一层(出栈)。要注意的是,PAI中SET SCREEN XXXX后的语句,
系统将照样执行。只有执行完毕该PAI整个逻辑后,才考虑Next Screen的PBO和PAI。
3,LEAVE TO SCREEN与SET SCREEN比较类似,所不同的是,LEAVE TO SCREEN XXXX将强行中断当前SCREEN的PAI,直接执行XXXX的PBO和PAI。换言之,
PAI中LEAVE TO SCREEN XXXX后的语句,系统将不会执行到。
在ABAP中,
CALL TRANSACTION和SUBMIT report_name AND RETURN语句,也都是在调用栈上添加一层调用,与CALL SCREEN有点类似。而
LEAVE TO TRANSACTION以及SUBMIT report_name则是在调用栈当前层次的一个跳转,与LEAVE TO SCREEN类似。
CALL SCREEN XXXX将在Screen调用栈(CALL STACK)上面添加一层调用(进栈),调用XXXX的PBO和PAI,如果XXXX的Next Screen不为0,那么将继续其Next Screen的PBO和PAI,如此继续~~~当最后碰到Next Screen为0时,该层调用将从调用栈中退出(出栈),然后系统将
继续执行CALL SCREEN XXXX之后的语句。
2,
SET SCREEN XXXX,设置调用栈当前层次的Next Screen为XXXX,它并不影响调用栈的层数,除非XXXX为0,那将导致调用栈退掉一层(出栈)。要注意的是,PAI中SET SCREEN XXXX后的语句,
系统将照样执行。只有执行完毕该PAI整个逻辑后,才考虑Next Screen的PBO和PAI。
3,LEAVE TO SCREEN与SET SCREEN比较类似,所不同的是,LEAVE TO SCREEN XXXX将强行中断当前SCREEN的PAI,直接执行XXXX的PBO和PAI。换言之,
PAI中LEAVE TO SCREEN XXXX后的语句,系统将不会执行到。
在ABAP中,
CALL TRANSACTION和SUBMIT report_name AND RETURN语句,也都是在调用栈上添加一层调用,与CALL SCREEN有点类似。而
LEAVE TO TRANSACTION以及SUBMIT report_name则是在调用栈当前层次的一个跳转,与LEAVE TO SCREEN类似。
原创文章,作者:Maggie-Hunter,如若转载,请注明出处:https://blog.ytso.com/18284.html
c相关文章
- ORA-29324: SET COMPATIBILITY release string format is wrong ORACLE 报错 故障修复 远程处理
- MySQL Error number: MY-011682; Symbol: ER_GRP_RPL_SLAVE_PRESERVE_COMMIT_ORDER_NOT_SET; SQLSTATE: HY000 报错 故障修复 远程处理
- plsqldeveloper命令行Cannot SET AUTOTRACE 开启执行计划失败详解数据库
- Java集合类: Set、List、Map、Queue使用场景梳理详解编程语言
- list与Set、Map区别及适用场景详解编程语言
- 实现MySQL函数SET实现灵活应用(mysql函数set)
- TypeError: set expected at most 1 arguments, got 4详解编程语言
- List、Map、Set 三个接口,存取元素时,各有什么特点详解编程语言
- 关于SET/GET PARAMETER ID的注意事项详解编程语言
- ini_set详解编程语言
- MySQL中SET的常见用法及示例解析(mysql中set 用法)
- MySQL中如何设置变量使用SET语句(mysql 中set变量)
- MySQL中SET使用方法详解(mysql中set作用)
- 探究Redis的SET命令的功能与用法(查看redis命令set)
- 红色随机Redis 的Set类型(set 随机 redis)
- Oracle中如何使用SET命令(oracle中的set)
- Redis集群以Set的方式扩展(redis 集群 set)
- Redis实现Set对象的过滤功能(redis过滤set对象)
- Redis实现快速获取Set数据列表(redis获取set列表)