ABAP 自定义屏幕开发实现屏幕跳转

屏幕跳转

遇到的问题描述:在ABAP中的SCREEN的开发中,如果通过call screen 1000 starting at 11 12 ending at 23 22实现弹出小窗口的时候,右上角的关闭按钮是无法达到关闭窗口的效果的,我们都知道如果通过call screen 1000调用屏幕的时候,关闭按钮是可以关闭窗口的,小窗口的关闭要通过CODING来实现

1)如果没有给这个屏幕设置GUI状态,那么请创建一个GUI状态,然后给这个屏幕,通过set pf-status来实现。
2)有了GUI状态后,再GUI状态的功能码上的关闭图标上分配一个功能码给它。
3)分配好功能码,在按钮事件处理,如果点击了这个按钮,就 leave to screen 0(返回上一个屏幕,如果上一个屏幕就退出程序)或者 leave program(退出程序)。

LEAVE SCREEN.     or        LEAVE TO SCREEN <next screen>.

LEAVE SCREEN语句会结束当前屏幕并调用下一屏幕,next scree可以是static next screen,或者是dynamic next screen,如果是动态的,你必须在使用LEAVE SCREEN语句前使用SET SCREEN语句来重写static next screen

LEAVE TO SCREEN        相当于        SET SCREEN <next screen>.      LEAVE SCREEN.

这两个语句不会结束屏幕序列,它们仅仅转向统一屏幕序列中的另一个屏幕。屏幕序列是否结束要看<next screen>是否为0或者屏幕的next screen属性是否设置为0

可以用LEAVE TO SCREEN 0来结束当前SCREEN SEQUENCE

CALL SCREEN / SET SCREEN / 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之后的语句。

SET SCREEN XXXX设置调用栈当前层次的Next Screen为XXXX,它并不影响调用栈的层数(即不会重新开启一个新的屏幕序列只做屏幕之间的切换,而不是屏幕序列之间的切换),除非XXXX为0,那将导致调用栈退掉一层(出栈)。要注意的是,PAI中SET SCREEN XXXX后的语句,系统将照样执行,只有执行完毕该PAI整个逻辑后,才考虑Next Screen的PBO和PAI。

LEAVE TO SCREEN XXXSET SCREEN XXX比较类似(也不会重新开启一个新的屏幕序列,只做屏幕之间的切换,而不是屏幕序列之间的切换),所不同的是,LEAVE TO SCREEN XXXX将强行中断当前SCREEN的PAI,直接执行XXXX的PBO和PAI。换言之,PAI中LEAVE TO SCREEN XXXX后面的语句,系统将不会执行到

LEAVE SCREEN.后面的语句也不会执行

CALL SCREEN是将正在运行的画面挂起,进入所调用的画面,当使用LEAVE TO SCREEN 0时,能够返回原主调画面,可理解为嵌套调用;而LEAVE TO SCREEN是立即结束本画面的执行,调用所指定的画面,在调用画面中,无法再返回原主调画面。

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
ABAP中的自定义屏幕搜索帮助可以从字典中获得。 在ABAP中,字典是一个用于管理和维护数据库对象的中心存储库。字典是一种集成的数据结构,可以用于存储表、视图、数据元素、域和其他数据库对象的定义。 要创建自定义屏幕搜索帮助,我们首先需要在字典中创建一个数据元素。数据元素定义了一个可重用的数据类型,可以用于在屏幕对话框中输入、输出和处理数据。在创建数据元素时,我们需要指定其数据类型、长度和其他属性。 接下来,在字典中创建一个域。域是数据元素的基本单位,它定义了一个数据元素的具体值范围、输入帮助和默认值等。在域定义中,我们可以指定一个搜索帮助,该搜索帮助将在屏幕对话框中提供数据输入帮助。 创建菜单路径:工具->ABAP字典,在打开的字典事务中,选择创建和编辑数据元素(SE11)。在创建数据元素时,我们可以指定数据类型(如CHAR、STRING、NUMC等)、长度、小数点位数和其他属性。 创建数据元素后,我们可以选择创建和编辑域(SE11)。在域定义中,我们可以指定值范围、输入帮助和默认值等。在输入帮助选项中,我们可以选择一个搜索帮助程序,该程序将在屏幕对话框中提供数据输入帮助。 通过将搜索帮助与数据元素和域相结合,我们可以在ABAP屏幕对话框中实现自定义屏幕搜索帮助。当用户在屏幕上输入数据时,他们可以通过搜索帮助来选择合适的值,并将其自动填充到相关字段中。 总之,ABAP中的自定义屏幕搜索帮助可以通过在字典中创建数据元素和域来实现。通过指定搜索帮助程序,我们可以在屏幕对话框中为用户提供数据输入帮助,并提高数据输入的准确性和效率。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值