正确地使用SAP的标准对话框函数

在用户设计sap的程序时,经常需要一些对话框,用户可以自己编写,但使用SAP系统中提供了的对话框函数将减少许多开发工作。

1、sap的函数组列表和用途说明

适用情况

Function group

提示用户将可能丢失数据

SPO1

提示用户对某个问题选择Yes或者No 

SPO1

提示用户将可能丢失数据, 并询问用户是否继续操作

SPO1

提示用户在多个操作中选择一个操作

SPO2

提示用户是继续当前操作或者取消当前操作

SPO2

提示用户输入数据 (可以根据一个表检查或者不检查输入值)

SPO4

将数据显示给用户

SPO4

将详细数据显示给用户

SPO6

从列表中选择数据 SP05

用可滚动的对话框显示数据给用户

STAB

从视图或者数据表中打印数据

STPR

 

2、函数列表和说明
2.1 SPO1的函数

  • POPUP_TO_CONFIRM_STEP
    用此函数可以建立一个对话框用于询问用户是否执行某步操作,用户可以选择Yes No或者Cancel。该函数可以传入一个标题和两行的文本(提示问题)。系统在窗口上显示一个绿色问号图标。
    可以设置某个按钮作为默认按钮。
         CALL FUNCTION 'POPUP_TO_CONFIRM_STEP'
              EXPORTING TITEL        = '确认提示测试'
                        TEXTLINE1    =  '确实要执行'
                        TEXTLINE2    = '测试?'
                        CANCEL_DISPLAY = SPACE  "不显示CANCEL按钮
              IMPORTING ANSWER       = ANSWER.
  • POPUP_TO_CONFIRM_WITH_MESSAGE
    类似POPUP_TO_CONFIRM_STEP,只是多三行的文本错误诊断提示。 系统在窗口上显示一个绿色问号图标。
         call function 'POPUP_TO_CONFIRM_WITH_MESSAGE'
              exporting titel         = '确认提示测试'
                        textline1     =  '确实要执行                         ;;'
                        textline2     = spop-textline2
                        diagnosetext1 = spop-diagnose1
                        diagnosetext2 = spop-diagnose2
                        diagnosetext3 = spop-diagnose3
              importing answer        = answer.
  • POPUP_TO_CONFIRM_WITH_VALUE
    用此函数可以建立一个对话框用于询问用户是否执行某步操作,该操作可能会丢失数据,用户可以选择Yes No或者Cancel。该函数可以传入一个标题,两行的文本(提示问题)和一个对象值(对象值将会插入在提示问题文本的两部分之间)。系统在窗口上显示一个绿色问号图标。
    可以设置某个按钮作为默认按钮。
         CALL FUNCTION 'POPUP_TO_CONFIRM_WITH_VALUE'
              EXPORTING TITEL        = TITEL
                        TEXT_BEFORE  = '确实要执行'
                        OBJECTVALUE  = 'TEST'
                        TEXT_AFTER   = '?'
              IMPORTING ANSWER       = ANSWER.
  • POPUP_TO_CONFIRM_LOSS_OF_DATA
    用此函数可以建立一个对话框用于询问用户是否执行某步操作,该操作可能会丢失数据,用户可以选择Yes No或者Cancel。该函数可以传入一个标题和一个两行的文本(提示问题)。 系统在窗口上显示一个黄色!图标和一行“数据将丢失。”。
    可以设置某个按钮作为默认按钮。
         CALL FUNCTION 'POPUP_TO_CONFIRM_LOSS_OF_DATA'
              EXPORTING TITEL        = TITEL
                        TEXTLINE1    = SPOP-TEXTLINE1
                        TEXTLINE2    = SPOP-TEXTLINE2
              IMPORTING ANSWER       = ANSWER.
  • POPUP_TO_CONFIRM
    该函数是POPUP函数的增强版,可以自定义按钮文本和图标。

2.2、Function group SPO2

  • POPUP_TO_DECIDE
  • 显示一个对话框,用户可以两个操作中的一个或者取消。可以传入三行提示文本。
  • POPUP_TO_DECIDE_WITH_MESSAGE
  • 类同POPUP_TO_DECIDE,程序员可以多传入With this function module you create a dialog box in which you inform the user about a specific decision point via a diagnosis text, during an action. He or she can choose one of two alternative actions offered or cancel the action.
    The action, the diagnosis text, the question and the alternative actions are passed as parameters.
    The user action (Alternative 1, Alternative 2, or Cancel) is returned in a parameter.

2.3、Function group SPO4

  • POPUP_GET_VALUES
  • This function module sends a dialog box for data display and input.
    The input fields are passed in a structure and must be defined in the Dictionary. You can also specify individual field display attributes and a field text, if the key word from the Dictionary is not to be displayed as field text in the dialog box, in the structure.
    The standard help functionality (F1, F4) is supported.
  • POPUP_GET_VALUES_DB_CHECKED
  • This function module sends a dialog box for data to be input und checked against the database.
    The input fields are passed in a structure and must be defined in the Dictionary. You can also specify individual field display attributes and a field text in the structure, if the key word from the Dictionary is not to be displayed as field text in the dialog box.
    A comparison operator for checking the input data in the database is passed. You can specify whether the check is for the existence or absence of an object. A foreign key relationship check is supported.
    The standard help functionality (F1, F4) is supported.
    The user action is returned in a parameter.
  • POPUP_GET_VALUES_USER_CHECKED
  • This function module sends a dialog box for data to be input and checked in an external sub-routine (user exit). The input fields are passed in a structure and must be defined in the dictionary. You can also specify individual field display attributes and a field text in the structure, if the key word from the Dictionary is not to be displayed as field text in the dialog box.
    The Data input by the user in the dialog box are passed to the sub-routine specified in the interface for checking. Errors found by the check are entered in an error structure and are evaluated on return from the sub-routine by the function module.
    The standard help functionality (F1, F4) is supported.
    The user action (Continue or Cancel) is returned in a parameter.
  • POPUP_GET_VALUES_USER_HELP
  • This function module sends a dialog box for data to be input with the possibility of a check in an external sub-routine (user exit) and branching in a user F1 or F4 help.
    The input fields are passed in a structure and must be defined in the Dictionary. You can also specify individual field display attributes and a field text in the structure, if the key word from the Dictionary is not to be displayed as field text in the dialog box.
    You can pass the data which are entered by the user in a dialog box to a sub-routine which must be specified in the interface for checking. Errors occurring in the check are stored in an error structure and are analyzed by the function module upon return from the sub-routine. The data, and an error message, if appropriate, are displayed again.
    The standard help functionality (F1, F4) is supported.
    User exits for a user F1 or F4 help can also be specified.
    The user action (Continue or Cancel) is returned in a parameter.
  • POPUP_GET_VALUES_USER_BUTTONS
  • This function module is like the previous function module POPUP_GET_VALUES_USER_HELP, with the additional possibility of passing one or two additional pushbuttons and a standard pushbutton, which the user can name.
  • POPUP_GET_VALUES_SET_MAX_FIELD
  • With this function module you can specify the maximum number of fields which can be displayed in dialog boxes for this function group (SPO4). The specified value is stored in the function group local memory and applies for the rest of the application. Dialog boxes which display more then this number of fields are displayed with a scroll bar.

2.4、Function group SPO6

  • POPUP_DISPLAY_TEXT

  • With this function module you display a text which exists in the system in a dialog box.
  • POPUP_DISPLAY_TEXT_WITH_PARAMS

  • With this function module you display a text which exists in the system with parameters in a dialog box. The parameter values are passed in a table. The use of numbered texts is recommended, to make the parameter values translatable.
    The parameter names must be passed in upper-case letters.

2.5、Function group SPO5 

  • POPUP_TO_DECIDE_LIST

  • 从列表中选择数据,样例程序

report  rsspo500.
data:   selectlist like spopli occurs 5 with header line.
data:   antwort   type c.
while antwort ne 2.
clear   selectlist.
refresh selectlist.
selectlist-varoption = 显示含有单选按钮的弹出框'.
append selectlist.
selectlist-varoption = '显示含有复选框的弹出框'.
selectlist-selflag   = 'X'.
append selectlist.
call function 'POPUP_TO_DECIDE_LIST'
     exporting
*         CURSORLINE         = 1
*         MARK_FLAG          = ' '
          mark_max           = 1
          start_col          = 10
          start_row          = 10
          textline1          = 'Text1'
          textline2          = 'POPUP_TO_DECIDE_LIST'
          textline3          = 'TEXT3'
          titel              = 'TITLE '
     importing
          answer             =  antwort
     tables
          t_spopli           =  selectlist
     exceptions
          not_enough_answers = 1
          too_much_answers   = 2
          too_much_marks     = 3
          others             = 4.
  if antwort eq 'A'.
    exit.
  endif.
endwhile.

if antwort ne 'A'.
  clear   selectlist.
  refresh selectlist.
  selectlist-varoption = '最多 15 个选项'.
  selectlist-selflag   = 'X'.
  append selectlist.
  selectlist-varoption = '含有复选框'.
  selectlist-selflag   = 'X'.
  append selectlist.
  selectlist-varoption = '或单选按钮'.
  selectlist-selflag   = 'X'.
  append selectlist.
  selectlist-varoption = '典型的列表功能:'.
  selectlist-selflag   = 'X'.
  append selectlist.
  selectlist-varoption = '* 选择'.
  selectlist-selflag   = 'X'.
  append selectlist.
  selectlist-varoption = '* 选择全部'.
  selectlist-selflag   = 'X'.
  append selectlist.
  selectlist-varoption = ' 取消全部选择'.
  selectlist-selflag   = 'X'.
  append selectlist.
  selectlist-varoption = '3 70字符/选项'.
  selectlist-selflag   = 'X'.
  append selectlist.
  selectlist-varoption = '65 字符/选项'.
  selectlist-selflag   = 'X'.
  append selectlist.
  selectlist-varoption =  '激活/不激活可选行'.
  selectlist-selflag   = 'X'.
  selectlist-inactive  = 'X'.
  append selectlist.

* 2. Aufruf **********************************************************

  call function 'POPUP_TO_DECIDE_LIST'
       exporting
*         CURSORLINE         = 1
            mark_flag          = 'X'
            mark_max           = 0
          start_col          = 15
          start_row          = 15
            textline1          = 'Das POPUP bietet'(c01)
            textline2          = 'folgende Funktionalit鋞:'(c02)
            titel              = 'Das Beispiel 2'(b02)
       importing
            answer             =  antwort
       tables
            t_spopli           =  selectlist
       exceptions
            not_enough_answers = 1
            too_much_answers   = 2
            too_much_marks     = 3
            others             = 4.

endif.

posted on 2006-09-29 14:47  毛小娃  阅读(159)  评论(0编辑  收藏  举报

导航