说明

I created 2 MODAL screens 0806 & 2009
0806 was for start of job spash & 20009 was an exit SPLASH
Used this effectively in a lrge DOI Excel download program…

2 JPG files with a nice Indian Welcome & fancy Bengali Text!
Each Modal scren had 2 Containers
CUSTOM_1 shaped for Picture control
CUSTOM_2 for CL_GUI_TIMER control

  • Create 2 MODAL screens 0806 and 2009
  • 1 CUSTOM_1 shaped to hold JPG
  • and 1 CUSTOM_2 to hold TIMER

源代码

REPORT zpp_r012 LINE-SIZE  160LINE-COUNT 72MESSAGE-ID zpp01.DATA: container1 TYPE REF TO cl_gui_custom_container,container2 TYPE REF TO cl_gui_custom_container,picture TYPE REF TO cl_gui_picture.DATA: graphic_url(255),g_result   TYPE i,g_linesz   TYPE i,g_filesz   TYPE i,g_name(100).TYPES: t_graphic_line(256) TYPE x.DATA: graphic_line TYPE t_graphic_line,graphic_table TYPE TABLE OF t_graphic_line.*---------------------------------------------------------------------*
*       CLASS lcl_event_handler DEFINITION
*---------------------------------------------------------------------*
CLASS lcl_event_handler DEFINITION.PUBLIC SECTION.CLASS-METHODS: on_finished FOR EVENT finished OF cl_gui_timer.
ENDCLASS. "lcl_event_handler DEFINITION*---------------------------------------------------------------------*
*       CLASS lcl_event_handler IMPLEMENTATION
*---------------------------------------------------------------------*
CLASS lcl_event_handler IMPLEMENTATION.METHOD on_finished.IF sy-dynnr = 2009.LEAVE PROGRAM.ELSE.PERFORM f_excel_job.ENDIF.ENDMETHOD. "on_finished
ENDCLASS. "lcl_event_handler IMPLEMENTATIONDATA timer TYPE REF TO cl_gui_timer.
DATA event_handler TYPE REF TO lcl_event_handler.
DATA timeout TYPE i VALUE '3'.*&---------------------------------------------------------------------*
*                      SELECTION-SCREEN DESIGN
*
*&---------------------------------------------------------------------*
SELECTION-SCREEN: BEGIN OF BLOCK b2sels WITH FRAME TITLE text-002.
PARAMETERS: pwerks  LIKE     mseg-werks OBLIGATORY,  "THIS Plantpbudat  LIKE     mkpf-budat OBLIGATORY.  "THIS Date
SELECTION-SCREEN: END OF BLOCK b2sels.*&---------------------------------------------------------------------*
*                       INITIALIZATION EVENT
*
*&---------------------------------------------------------------------*
INITIALIZATION.*&---------------------------------------------------------------------*
*                     AT SELECTION-SCREEN EVENT
*
*&---------------------------------------------------------------------*
**Use this EVENT to validate SELECTION-SCREEN
AT SELECTION-SCREEN.*&---------------------------------------------------------------------*
*                      START-OF-SELECTION EVENT
*
*&---------------------------------------------------------------------*
START-OF-SELECTION.CALL SCREEN 0806 STARTING AT 30 4.*&---------------------------------------------------------------------*
*&      Form  f_excel_job
*&---------------------------------------------------------------------*
FORM f_excel_job.* LOTS of CodeCALL SCREEN 2009 STARTING AT 30 4.ENDFORM.                    "f_excel_job** LOTS of CODE*&---------------------------------------------------------------------*
*&      Form  getpicurl
*&---------------------------------------------------------------------*
FORM getpicurl.OPEN DATASET g_name FOR INPUT IN BINARY MODE.REFRESH graphic_table.CLEAR   g_filesz.DO.CLEAR graphic_line.READ DATASET g_name INTO graphic_line ACTUAL LENGTH g_linesz.ADD g_linesz TO g_filesz.APPEND graphic_line TO graphic_table.IF sy-subrc <> 0.EXIT.ENDIF.ENDDO.CLOSE DATASET g_name.CLEAR graphic_url.CALL FUNCTION 'DP_CREATE_URL'EXPORTINGtype                 = 'IMAGE'subtype              = 'GIF'TABLESdata                 = graphic_tableCHANGINGurl                  = graphic_urlEXCEPTIONSdp_invalid_parameter = 1dp_error_put_table   = 2dp_error_general     = 3OTHERS               = 4.IF sy-subrc <> 0.MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgnoWITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.EXIT.ENDIF.IF graphic_url IS NOT INITIAL.CALL METHOD picture->clear_pictureEXCEPTIONSerror = 1.CALL METHOD picture->load_picture_from_urlEXPORTINGurl    = graphic_urlIMPORTINGRESULT = g_result.CALL METHOD picture->set_display_modeEXPORTINGdisplay_mode = picture->display_mode_normal_centerEXCEPTIONSerror        = 1.CALL METHOD cl_gui_cfw=>update_view.ENDIF.ENDFORM.                    "getpicurl*---------------------------------------------------------------------*
*  MODULE zjncpbo OUTPUT screen 0806
*---------------------------------------------------------------------*
MODULE zjncpbo OUTPUT.MOVE 'NAMASTE.JPG' TO g_name.CREATE OBJECT: container1 EXPORTING container_name = 'CUSTOM_1',container2 EXPORTING container_name = 'CUSTOM_2',picture    EXPORTING parent = container1,timer      EXPORTING parent = container2.SET HANDLER lcl_event_handler=>on_finished FOR timer.* Start Timertimer->interval = timeout.CALL METHOD timer->run.PERFORM getpicurl.CALL METHOD cl_gui_cfw=>flush.ENDMODULE.                             " PBO*---------------------------------------------------------------------*
*  MODULE zjncpbo2 OUTPUT screen 2009
*---------------------------------------------------------------------*
MODULE zjncpbo2 OUTPUT.MOVE 'THANKS.JPG' TO g_name.CREATE OBJECT: container1 EXPORTING container_name = 'CUSTOM_1',container2 EXPORTING container_name = 'CUSTOM_2',picture    EXPORTING parent = container1,timer      EXPORTING parent = container2.SET HANDLER lcl_event_handler=>on_finished FOR timer.* Start Timertimer->interval = timeout.CALL METHOD timer->run.PERFORM getpicurl.CALL METHOD cl_gui_cfw=>flush.ENDMODULE.                             " PBO

用 ABAP 实现的报表欢迎屏幕 - Splash Screen相关推荐

  1. 如何设计ABAP/4 Query报表

    ABAP/4 Query是sap R/3系统报表开发的一种工具.开发人员可以用它来创建简单的报表.用ABAP/4 Query创建报表主要包括一下步骤: 1.创建用户组(User Group)(TCOD ...

  2. 如何创建启动界面Splash Screen

    启动界面Splash Screen在应用程序是很常用的,往往在启动界面中显示产品Logo.公司Logo或者开发者信息,如果应用程序启动时间比较长,那么启动界面就是一个很好的东西,可以让用户耐心等待这段 ...

  3. Java splash screen

    虽然Java的启动速度有很大改观,但大型桌面应用的启动通常需要相当长的时间.NetBeans和Eclipse的启动都有一个所谓splashscreen来让用户耐心等待.做splashscreen方法很 ...

  4. 屏幕序列Screen Sequences

    屏幕序列Screen Sequences. 337 Static Next Screen. 338 Dynamic Next Screen. 338 Leaving a Screen from a P ...

  5. java splash screen_Java splash screen

    虽然Java的启动速度有很大改观,但大型桌面应用的启动通常需要相当长的时间.NetBeans和Eclipse的启动都有一个所谓splashscreen来让用户耐心等待.做splashscreen方法很 ...

  6. 实现在Android开发中的Splash Screen开场屏的效果

    很多网友可能发现近期Tencent推出的手机QQ Android版包含了一个开场屏Splash Screen载入效果,通常游戏或大型软件打开时可能需要一个释放解析资源的过程,需要一个前台的动画播放和后 ...

  7. MFC中添加Splash Screen

    1.  新建一个MFC项目SDI或MDI. 2.  新建或导入一个ID为IDB_SPLASH的位图. 3.  添加现有项SplashWnd.h和SplashWnd.cpp. SplashWnd.h源代 ...

  8. android oreo 开机动画,Android O添加了一个 Splash Screen API帮助简化启动屏制作

    大多数开发者对闪屏(splash screen)都持不同的态度.一些人支持用闪屏隐藏app的加载,然后自然过渡到主界面,而另一些人认为闪屏不管是对用户还是开发者都是浪费时间.谷歌在这个问题上的立场也是 ...

  9. WPF Splash Screen 和启动速度相关资料

    SplashScreen的介绍,陈老师已经写的很详细了,呵呵. WPF:如何为程序添加splashScreen? http://www.cnblogs.com/chenxizhang/archive/ ...

最新文章

  1. 苹果又魔改安卓? iOS 15 正式发布、可跨设备移动文件,这届 WWDC21 带来了什么?...
  2. python表白-情人节来了,教你个用 Python 表白的技巧
  3. 并发安全Sync包的使用
  4. python图像锐化_opencv实现图片模糊和锐化操作
  5. Resco Photo Viewer for WinCE6.0
  6. 若川知乎高赞:有哪些必看的 JS 库?
  7. 3d照片环效果(修改版--添加了x轴y轴双向转动和修复模糊度的bug)
  8. 操作系统学习笔记-2.1.5线程概念和多线程模型
  9. mybatis mysql5.7_spring boot整合ES+mysql5.7+mybatis+iview个人博客系统
  10. gephi生成网络关系图_路网拓扑重建专题 (3) 网络图生成
  11. Java中this关键词与构造函数,构造代码块的理解
  12. jquery jqplot pierenderer 饼图百分比小于3的无法显示DataLabels
  13. json读取json文件,上传到后台
  14. miui android mmi,小米5miui9稳定版自改官包方法
  15. 基于tushare和python的证券市场价格分析
  16. python-求无理数e的近似值
  17. 技术管理经验谈丨从程序员到部门经理的“完美三级跳”
  18. 高斯-约当消元法(随机程序,UVA 10828)
  19. 【js】js面试题汇总
  20. RobotStudio ABB 仿真软件过期 后的处理

热门文章

  1. python 单例模式的实现方法_python中单例模式的四种实现方式
  2. 19号以后包括数组在内的所有内容(数组、函数、方法、dom操作)
  3. linux cron计划任务
  4. SQL数据库 - (二)关系数据库
  5. Qt/Qte/Qtopia三者的区别
  6. Kickstart+NFS+DHCP+TFTP+PXElinux实现CentOS的网络自动安装
  7. android异步更新UI
  8. LoadRunner本机录制http协议程序遇到的问题以及解决方法
  9. docker中使用golang:alpine镜像制作开启goweb的dockerfile
  10. 【转】关于使用Android6.0编译程序时,出现getSlotFromBufferLocked: unknown buffer: 0xac0f8650问题的解释...