公众号:SAP Technical
本文作者:matinal
 

前言部分

大家可以关注我的公众号,公众号里的排版更好,阅读更舒适。

正文部分


  1. CALL FUNCTION 'POPUP_TO_CONFIRM'
  2. EXPORTING
  3. * TITLEBAR = ' '
  4. * DIAGNOSE_OBJECT = ' '
  5. TEXT_QUESTION =
  6. * TEXT_BUTTON_1 = 'Ja'(001)
  7. * ICON_BUTTON_1 = ' '
  8. * TEXT_BUTTON_2 = 'Nein'(002)
  9. * ICON_BUTTON_2 = ' '
  10. * DEFAULT_BUTTON = '1'
  11. * DISPLAY_CANCEL_BUTTON = 'X'
  12. * USERDEFINED_F1_HELP = ' '
  13. * START_COLUMN = 25
  14. * START_ROW = 6
  15. * POPUP_TYPE =
  16. * IV_QUICKINFO_BUTTON_1 = ' '
  17. * IV_QUICKINFO_BUTTON_2 = ' '
  18. * IMPORTING
  19. * ANSWER =
  20. * TABLES
  21. * PARAMETER =
  22. * EXCEPTIONS
  23. * TEXT_NOT_FOUND = 1
  24. * OTHERS = 2
  25.  

  1. POPUP_TO_CONFIRM in ECC600 have to be used instead of the obsolete function module:
  2.  
  3. POPUP_FOR_INFO
  4. POPUP_TO_CONFIRM_LOSS_OF_DATA
  5. POPUP_TO_CONFIRM_STEP
  6. POPUP_TO_CONFIRM_WITH_MESSAGE
  7. POPUP_TO_CONFIRM_WITH_VALUE
  8. POPUP_TO_CONFIRM_WITH_VALUE_2
  9. POPUP_TO_DECIDE
  10. POPUP_TO_DECIDE_WITH_MESSAGE
  11.  
  12. Even if most of these function modules are obsolete also in SAP 4.7, I would like to analyze it because are largely used. Below for each obsolete function module I give the new coding (default use) through POPUP_TO_CONFIRM.
  13.  

1. POPUP_FOR_INFO:


  1. CALL FUNCTION 'POPUP_FOR_INFO'
  2. EXPORTING
  3. INFO1 = text-
  4. TEXTLINE1 = text-
  5. TITEL = text-.
  6.  

  1. CALL FUNCTION 'POPUP_TO_CONFIRM'
  2. EXPORTING
  3. TITLEBAR = text-
  4. TEXT_QUESTION = text-
  5. DISPLAY_CANCEL_BUTTON = ' '.
  6.  

2. POPUP_TO_CONFIRM_LOSS_OF_DATA:


  1. CALL FUNCTION 'POPUP_TO_CONFIRM_LOSS_OF_DATA'
  2. EXPORTING
  3. TEXTLINE1 = text-
  4. * TEXTLINE2 = ' '
  5. TITEL = text-
  6. * START_COLUMN = 25
  7. * START_ROW = 6
  8. * DEFAULTOPTION = 'N'
  9. * IMPORTING
  10. * ANSWER =
  11. .
  12.  


  1. CALL FUNCTION 'POPUP_TO_CONFIRM'
  2. EXPORTING
  3. TITLEBAR = text-
  4. DIAGNOSE_OBJECT = 'CACS_CONFIRM_LOSS_OF_DATA'
  5. TEXT_QUESTION = text-
  6. DISPLAY_CANCEL_BUTTON = ' '
  7. POPUP_TYPE = 'ICON_MESSAGE_WARNING'.
  8.  

3. POPUP_TO_CONFIRM_STEP:


  1. CALL FUNCTION 'POPUP_TO_CONFIRM_STEP'
  2. EXPORTING
  3. * DEFAULTOPTION = 'Y'
  4. TEXTLINE1 = text-
  5. * TEXTLINE2 = ' '
  6. TITEL = text-
  7. * START_COLUMN = 25
  8. * START_ROW = 6
  9. * CANCEL_DISPLAY = 'X'
  10. * IMPORTING
  11. * ANSWER =
  12. .
  13.  


  1. CALL FUNCTION 'POPUP_TO_CONFIRM'
  2. EXPORTING
  3. TITLEBAR = text-
  4. TEXT_QUESTION = text-.
  5.  

4. POPUP_TO_CONFIRM_WITH_MESSAGE:


  1. CALL FUNCTION 'POPUP_TO_CONFIRM_WITH_MESSAGE'
  2. EXPORTING
  3. * DEFAULTOPTION = 'Y'
  4. DIAGNOSETEXT1 = text-
  5. * DIAGNOSETEXT2 = ' '
  6. * DIAGNOSETEXT3 = ' '
  7. TEXTLINE1 = text-
  8. * TEXTLINE2 = ' '
  9. TITEL = text-
  10. * START_COLUMN = 25
  11. * START_ROW = 6
  12. * CANCEL_DISPLAY = 'X'
  13. * IMPORTING
  14. * ANSWER =
  15. .
  16.  


  1. CALL FUNCTION 'POPUP_TO_CONFIRM'
  2. EXPORTING
  3. TITLEBAR = text-
  4. DIAGNOSE_OBJECT = 'Z_CONFIRM_WITH_MESSAGE'
  5. TEXT_QUESTION = text-.
  6.  

Z_CONFIRM_WITH_MESSAGE should be created as shown in image below from Transaction SE61

5. POPUP_TO_CONFIRM_WITH_VALUE
This function creates a popup with a dynamic text with this pattern <TEXT_BEFORE><OBJECTVALUE><TEXT_AFTER>.

OBJECTVALUE could be any type of parameter that could be implicitly converted to a sequence of chars.


  1. CALL FUNCTION 'POPUP_TO_CONFIRM_WITH_VALUE'
  2. EXPORTING
  3. * DEFAULTOPTION = 'Y'
  4. OBJECTVALUE = lv_value
  5. * TEXT_AFTER = ' '
  6. TEXT_BEFORE = text-
  7. TITEL = text-
  8. * START_COLUMN = 25
  9. * START_ROW = 6
  10. * CANCEL_DISPLAY = 'X'
  11. * IMPORTING
  12. * ANSWER =
  13. * EXCEPTIONS
  14. * TEXT_TOO_LONG = 1
  15. * OTHERS = 2
  16. .
  17.  


  1. DATA: TEXT_QUESTION() TYPE C,
  2. TEXT_BEFORE() TYPE C,
  3. TEXT_AFTER() TYPE C,
  4. VALUE() TYPE C.
  5.  
  6. VALUE = lv_value.
  7. TEXT_BEFORE = text-.
  8. TEXT_AFTER = text-.
  9.  
  10. CONCATENATE TEXT_BEFORE VALUE TEXT_AFTER INTO TEXT_QUESTION SEPARATED BY SPACE.
  11.  
  12. IF SY-SUBRC = .
  13. * TO DO: text too long
  14. ENDIF.
  15.  
  16. CALL FUNCTION 'POPUP_TO_CONFIRM'
  17. EXPORTING
  18. TITLEBAR = text-
  19. TEXT_QUESTION = TEXT_QUESTION.
  20.  


  1. DATA: PARAMETERS LIKE SPAR OCCURS WITH HEADER LINE.
  2.  
  3. MOVE lv_value TO PARAMETERS-VALUE.
  4. MOVE 'VALUE' TO PARAMETERS-PARAM. 'PARAM must have the same name of the symbol in the dialog text
  5. APPEND PARAMETERS.
  6.  
  7. CALL FUNCTION 'POPUP_TO_CONFIRM'
  8. EXPORTING
  9. TITLEBAR = text-002
  10. DIAGNOSE_OBJECT = 'Z_CONFIRM_WITH_VALUE'
  11. TEXT_QUESTION = ''
  12. TABLES
  13. PARAMETER = PARAMETERS.
  14.  

Z_CONFIRM_WITH_VALUE is a dialog text created with SE61 with a symbol named &VALUE&.

6. POPUP_TO_CONFIRM_WITH_VALUE_2
This function is very similar to POPUP_TO_CONFIRM_WITH_VALUE but it uses only one parameter to generate test before and test after value. Separating char is '&'.

In ECC6 this function module is no longer usable because it generates a dump.
See POPUP_TO_CONFIRM_WITH_VALUE.

7. POPUP_TO_DECIDE
This function creates a popup with customizable button. This function is a default in the new POPUP_TO_CONFIRM.


  1. CALL FUNCTION 'POPUP_TO_DECIDE'
  2. EXPORTING
  3. * DEFAULTOPTION = '1'
  4. TEXTLINE1 = text-
  5. * TEXTLINE2 = ' '
  6. * TEXTLINE3 = ' '
  7. TEXT_OPTION1 = 'TEXT_OPTION1'
  8. TEXT_OPTION2 = 'TEXT_OPTION2'
  9. * ICON_TEXT_OPTION1 = ' '
  10. * ICON_TEXT_OPTION2 = ' '
  11. TITEL = text-
  12. * START_COLUMN = 25
  13. * START_ROW = 6
  14. * CANCEL_DISPLAY = 'X'
  15. * IMPORTING
  16. * ANSWER =
  17. .
  18.  


  1. CALL FUNCTION 'POPUP_TO_CONFIRM'
  2. EXPORTING
  3. TITLEBAR = text-
  4. TEXT_QUESTION = text-
  5. TEXT_BUTTON_1 = 'TEXT_OPTION1'
  6. TEXT_BUTTON_2 = 'TEXT_OPTION2'.
  7.  

8. POPUP_TO_DECIDE_WITH_MESSAGE
This function is the same as POPUP_TO_DECIDE, but with a DIAGNOSE TEXT.


  1. CALL FUNCTION 'POPUP_TO_DECIDE_WITH_MESSAGE'
  2. EXPORTING
  3. * DEFAULTOPTION = '1'
  4. DIAGNOSETEXT1 =
  5. * DIAGNOSETEXT2 = ' '
  6. * DIAGNOSETEXT3 = ' '
  7. TEXTLINE1 =
  8. * TEXTLINE2 = ' '
  9. * TEXTLINE3 = ' '
  10. TEXT_OPTION1 =
  11. TEXT_OPTION2 =
  12. * ICON_TEXT_OPTION1 =
  13. * ICON_TEXT_OPTION2 =
  14. TITEL =
  15. * START_COLUMN = 25
  16. * START_ROW = 6
  17. * CANCEL_DISPLAY = 'X'
  18. * IMPORTING
  19. * ANSWER =
  20. .
  21.  

See POPUP_TO_DECIDE and POPUP_TO_CONFIRM_WITH_MESSAGE.
Finally it's very important to know how to manage the answer. In the old popup answer is a char with 3 possible value: 'J' (Yes), 'N' (No) and 'A' (Abort); in the function module POPUP_TO_CONFIRM the output answer could be: 1 (Yes), 2 (No) and 'A' (Abort), so pay much attention when you make the substitution of obsolete function with the new one.

Suggestions and critics are welcome.

In the next article I would like to analyze the class CL_GUI_FRONTEND_SERVICES.

【ABAP系列】SAP ABAP POPUP_TO_CONFIRM 弹出框总结的更多相关文章

  1. 04.LoT.UI 前后台通用框架分解系列之——轻巧的弹出框

    LOT.UI分解系列汇总:http://www.cnblogs.com/dunitian/p/4822808.html#lotui LoT.UI开源地址如下:https://github.com/du ...

  2. ABAP分享一 弹出框函数的简单示例

    在开发中经常会使用到弹出框这个功能,在SAP中有很多函数可以实现类似的功能,这里介绍一个比较简单常用的函数  POPUP_TO_CONFIRM 下面是一个实现的简单示例: TABLES sscrfie ...

  3. 【ABAP系列】SAP ABAP POPUP弹出框自建内容

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[MM系列]SAP ABAP POPUP弹出框自 ...

  4. ABAP 弹出框 函数

    POPUP_GET_VALUES_USER_HELP 是一个和用户交互信息的函数,用户能够填写信息,并且我们还能够依据实际的需求对弹出框进行F1 F4 以及用户的需求进行增强.具体的实现能够參考系统标 ...

  5. JS组件系列——Bootstrap寒冬暖身篇:弹出框和提示框效果以及代码展示

    前言:对于Web开发人员,弹出框和提示框的使用肯定不会陌生,比如常见的表格新增和编辑功能,一般常见的主要有两种处理方式:行内编辑和弹出框编辑.在增加用户体验方面,弹出框和提示框起着重要的作用,如果你的 ...

  6. 小解系列-解决WebUploader在谷歌浏览器下弹出框打开慢,在Bootstrap模态框内部多次点击才能触发的问题

    WebUploader百度前端团队开源的上传组件,用起来感觉真心不错的,标题的两个问题是我实际使用过程中遇到的问题,经过百度和谷歌查到解决方案, 特分享一下,以供遇到此问题的童靴. 谷歌浏览器弹出框打 ...

  7. JavaScript插件——弹出框

    (JavaScript插件——弹出框) 前言 阅读之前您也可以到Bootstrap3.0入门学习系列导航中进行查看http://www.cnblogs.com/aehyok/p/3404867.htm ...

  8. 玩转Bootstrap(JS插件篇)-第1章 模态弹出框 :1-1导入JavaScript插件

    导入JavaScript插件 Bootstrap除了包含丰富的Web组件之外,如前面介绍的下拉菜单.按钮组.导航.分页等.他还包括一些JavaScript的插件. Bootstrap的JavaScri ...

  9. Bootboxjs快速制作Bootstrap的弹出框效果

    Bootboxjs是一个简单的js库,简单快捷帮你制作一个Bootstrap的弹出框效果. 一.简介 bootbox.js是一个小的JavaScript库,它帮助您在使用bootstrap框架的时候快 ...

随机推荐

  1. At grand 024

    A /* Huyyt */ #include <bits/stdc++.h> #define mem(a,b) memset(a,b,sizeof(a)) #define mkp(a,b) ...

  2. Codeforces 899 1-N两非空集合最小差 末尾最多9对数计算 pair/链表加优先队列最少次数清空

    A /*Huyyt*/ #include<bits/stdc++.h> #define mem(a,b) memset(a,b,sizeof(a)) #define pb push_bac ...

  3. spring事务配置,声明式事务管理和基于@Transactional注解的使用(转载)

    原文地址:http://blog.csdn.net/bao19901210/article/details/41724355 事务管理对于企业应用来说是至关重要的,好使出现异常情况,它也可以保证数据的 ...

  4. 解决Eclipse中新建jsp文件ISO8859-1 编码问题

    看了许多的贴说是在eclipse --> window --> Preferences --> General --> Content Types --> text--& ...

  5. 移动web开发问题和经验总结

    前言 这里大部分是自己遇到过的情况,还有一部分借鉴了同行的文章,如果大家有遇到其它坑,欢迎提出来一起研究. 知识要点 1. Meta标签 1.禁止用户缩放页面,页面强制让文档的宽度与设备的宽度保持1: ...

  6. re模块和正则

    正则表达式:就是用来筛选字符串中特定内容的一串具有某种逻辑规则的字符组成.正则表达式不是Python独有的,而是一门独立的技术,它在所有的编程语言中都有使用,在Python中使用就必须依赖于re模块. ...

  7. pyqt5-QTDesigner--控件操作

    Edit菜单       编辑小伙伴.用鼠标直接拖       编辑控件---样式等等. 点击需要编辑的控件--->   信号与槽 先用鼠标从控件往外拖---> --->选中相应的信 ...

  8. cocos2d 15款游戏源码

    https://blog.csdn.net/jailman/article/details/78678972

  9. 编译高博十四讲代码遇到依赖项g2o和cholmod的坑

    1. 找不到g2o库!在CMakeLists.txt中使用指令 message(STATUS "${G2O_FOUND}") 打印结果为NO. 问题描述: CMakeLists.t ...

  10. (69)Python异常处理与断言

    http://blog.csdn.net/pipisorry/article/details/21841883 断言 断言是一句必须等价于布尔真的判定;此外,发生异常也意味着表达式为假.这些工作类似于 ...