公众号: 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_DECIDEThis 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 = .