博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【ABAP系列】SAP ABAP POPUP_TO_CONFIRM 弹出框总结
阅读量:5030 次
发布时间:2019-06-12

本文共 7031 字,大约阅读时间需要 23 分钟。

公众号:
SAP Technical
本文作者:
matinal
原文出处:
原文链接:
 

 

前言部分

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

正文部分

​CALL FUNCTION 'POPUP_TO_CONFIRM'  EXPORTING  *   TITLEBAR                    = ' '  *   DIAGNOSE_OBJECT             = ' '  TEXT_QUESTION               =  *   TEXT_BUTTON_1               = 'Ja'(001)  *   ICON_BUTTON_1               = ' '  *   TEXT_BUTTON_2               = 'Nein'(002)  *   ICON_BUTTON_2               = ' '  *   DEFAULT_BUTTON              = '1'  *   DISPLAY_CANCEL_BUTTON       = 'X'  *   USERDEFINED_F1_HELP         = ' '  *   START_COLUMN                = 25  *   START_ROW                   = 6  *   POPUP_TYPE                  =  *   IV_QUICKINFO_BUTTON_1       = ' '  *   IV_QUICKINFO_BUTTON_2       = ' '  * IMPORTING  *   ANSWER                      =  * TABLES  *   PARAMETER                   =  * EXCEPTIONS  *   TEXT_NOT_FOUND              = 1  *   OTHERS                      = 2 ​
​POPUP_TO_CONFIRM in ECC600 have to be used instead of the obsolete function module:POPUP_FOR_INFOPOPUP_TO_CONFIRM_LOSS_OF_DATAPOPUP_TO_CONFIRM_STEPPOPUP_TO_CONFIRM_WITH_MESSAGEPOPUP_TO_CONFIRM_WITH_VALUEPOPUP_TO_CONFIRM_WITH_VALUE_2POPUP_TO_DECIDEPOPUP_TO_DECIDE_WITH_MESSAGEEven 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.​

1. POPUP_FOR_INFO:

​CALL FUNCTION 'POPUP_FOR_INFO'  EXPORTING  INFO1           = text-001  TEXTLINE1       = text-002  TITEL           = text-003.  ​
​CALL FUNCTION 'POPUP_TO_CONFIRM'  EXPORTING  TITLEBAR = text-003  TEXT_QUESTION = text-002  DISPLAY_CANCEL_BUTTON = ' '.  ​

2. POPUP_TO_CONFIRM_LOSS_OF_DATA:

​CALL FUNCTION 'POPUP_TO_CONFIRM_LOSS_OF_DATA'  EXPORTING  TEXTLINE1 = text-001  *   TEXTLINE2 = ' '  TITEL = text-002  *   START_COLUMN = 25  *   START_ROW = 6  *   DEFAULTOPTION = 'N'  * IMPORTING  *   ANSWER =  .  ​

​CALL FUNCTION 'POPUP_TO_CONFIRM'  EXPORTING  TITLEBAR = text-002  DIAGNOSE_OBJECT = 'CACS_CONFIRM_LOSS_OF_DATA'  TEXT_QUESTION = text-001  DISPLAY_CANCEL_BUTTON       = ' '  POPUP_TYPE                  = 'ICON_MESSAGE_WARNING'.  ​

3. POPUP_TO_CONFIRM_STEP:

​CALL FUNCTION 'POPUP_TO_CONFIRM_STEP'  EXPORTING  *   DEFAULTOPTION = 'Y'  TEXTLINE1 = text-001  *   TEXTLINE2 = ' '  TITEL = text-002  *   START_COLUMN = 25  *   START_ROW = 6  *   CANCEL_DISPLAY = 'X'  * IMPORTING  *   ANSWER =  .  ​

​CALL FUNCTION 'POPUP_TO_CONFIRM'  EXPORTING  TITLEBAR = text-002  TEXT_QUESTION = text-001.  ​

4. POPUP_TO_CONFIRM_WITH_MESSAGE:

​CALL FUNCTION 'POPUP_TO_CONFIRM_WITH_MESSAGE'  EXPORTING  *   DEFAULTOPTION        = 'Y'  DIAGNOSETEXT1        = text-004  *   DIAGNOSETEXT2        = ' '  *   DIAGNOSETEXT3        = ' '  TEXTLINE1            = text-002  *   TEXTLINE2            = ' '  TITEL                = text-001  *   START_COLUMN         = 25  *   START_ROW            = 6  *   CANCEL_DISPLAY       = 'X'  * IMPORTING  *   ANSWER               =  .  ​

​CALL FUNCTION 'POPUP_TO_CONFIRM'   EXPORTING  TITLEBAR = text-001  DIAGNOSE_OBJECT = 'Z_CONFIRM_WITH_MESSAGE'  TEXT_QUESTION = text-002.  ​

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.

​CALL FUNCTION 'POPUP_TO_CONFIRM_WITH_VALUE'  EXPORTING  *   DEFAULTOPTION = 'Y'  OBJECTVALUE = lv_value  *   TEXT_AFTER = ' '  TEXT_BEFORE = text-001  TITEL = text-002  *   START_COLUMN = 25  *   START_ROW = 6  *   CANCEL_DISPLAY = 'X'  * IMPORTING  *   ANSWER =  * EXCEPTIONS  *   TEXT_TOO_LONG = 1  *   OTHERS = 2  .  ​

​DATA: TEXT_QUESTION(256) TYPE C,  TEXT_BEFORE(256) TYPE C,  TEXT_AFTER(256) TYPE C,  VALUE(256) TYPE C.    VALUE = lv_value.  TEXT_BEFORE = text-001.  TEXT_AFTER = text-003.    CONCATENATE TEXT_BEFORE VALUE TEXT_AFTER INTO TEXT_QUESTION SEPARATED BY SPACE.    IF SY-SUBRC = 4.  *     TO DO: text too long  ENDIF.    CALL FUNCTION 'POPUP_TO_CONFIRM'  EXPORTING  TITLEBAR = text-002  TEXT_QUESTION = TEXT_QUESTION.  ​

​DATA: PARAMETERS LIKE SPAR OCCURS 0 WITH HEADER LINE.    MOVE lv_value TO PARAMETERS-VALUE.  MOVE 'VALUE' TO PARAMETERS-PARAM. 'PARAM must have the same name of the symbol in the dialog text  APPEND PARAMETERS.    CALL FUNCTION 'POPUP_TO_CONFIRM'  EXPORTING  TITLEBAR = text-002  DIAGNOSE_OBJECT = 'Z_CONFIRM_WITH_VALUE'  TEXT_QUESTION = ''  TABLES  PARAMETER = PARAMETERS.  ​

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.

​CALL FUNCTION 'POPUP_TO_DECIDE'  EXPORTING  *   DEFAULTOPTION           = '1'  TEXTLINE1               = text-001  *   TEXTLINE2               = ' '  *   TEXTLINE3               = ' '  TEXT_OPTION1            = 'TEXT_OPTION1'  TEXT_OPTION2            = 'TEXT_OPTION2'  *   ICON_TEXT_OPTION1       = ' '  *   ICON_TEXT_OPTION2       = ' '  TITEL                   = text-002  *   START_COLUMN            = 25  *   START_ROW               = 6  *   CANCEL_DISPLAY          = 'X'  * IMPORTING  *   ANSWER                  =  .  ​

​CALL FUNCTION 'POPUP_TO_CONFIRM'  EXPORTING  TITLEBAR = text-002  TEXT_QUESTION = text-001  TEXT_BUTTON_1 = 'TEXT_OPTION1'  TEXT_BUTTON_2 = 'TEXT_OPTION2'.  ​

8. POPUP_TO_DECIDE_WITH_MESSAGE

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

​CALL FUNCTION 'POPUP_TO_DECIDE_WITH_MESSAGE'  EXPORTING  *   DEFAULTOPTION           = '1'  DIAGNOSETEXT1           =  *   DIAGNOSETEXT2           = ' '  *   DIAGNOSETEXT3           = ' '  TEXTLINE1               =  *   TEXTLINE2               = ' '  *   TEXTLINE3               = ' '  TEXT_OPTION1            =  TEXT_OPTION2            =  *   ICON_TEXT_OPTION1       =  *   ICON_TEXT_OPTION2       =  TITEL                   =  *   START_COLUMN            = 25  *   START_ROW               = 6  *   CANCEL_DISPLAY          = 'X'  * IMPORTING  *   ANSWER                  =  .  ​

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.

转载于:https://www.cnblogs.com/SAPmatinal/p/11181964.html

你可能感兴趣的文章
bootstrap 媒体查询
查看>>
杜教筛
查看>>
《Ext JS模板与组件基本知识框架图----模板》
查看>>
txmpp
查看>>
微信开发时调用jssdk,在安卓设备中成功调用;在ios设备中返回错误消息:config fail,无其他具体错误消息,且接口权限显示获取ok,无法调用...
查看>>
【Github教程】史上最全github使用方法:github入门到精通
查看>>
抽象工厂模式(Abstract Factory)
查看>>
luogu1373 小a和uim之大逃离 (dp)
查看>>
Redis的Pub/Sub客户端实现
查看>>
SQL日常问题和技巧——持续更新
查看>>
springMVC入门(一)------springMVC基本概念与安装
查看>>
Sam做题记录
查看>>
[bzoj] 2453 维护数列 || 单点修改分块
查看>>
IIS版本变迁
查看>>
BZOJ3884: 上帝与集合的正确用法 拓展欧拉定理
查看>>
mybatis09--自连接一对多查询
查看>>
myeclipse10添加jQuery自动提示的方法
查看>>
【eclipse jar包】在编写java代码时,为方便编程,常常会引用别人已经实现的方法,通常会封装成jar包,我们在编写时,只需引入到Eclipse中即可。...
查看>>
视频监控 封装[PlayCtrl.dll]的API
查看>>
软件工程APP进度更新
查看>>