• 正确地使用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.

  • 相关阅读:
    【struts2】【2】添加interceptor出错
    C++本质:类的赋值运算符=的重载,以及深拷贝和浅拷贝
    Garbage Collection Essence.Net中Garbage Collection深入探讨
    数据结构C#实现二叉查找树的创建,查找,以及各种递归(非递归)遍历算法
    C#中不安全代码的编写和指针的应用
    C#中的安全策略
    系统诊断概述如何通过windbg来dump特定process的memory.
    经典数据结构之栈的应用迷宫问题
    CPU Scheduling进程调度算法
    ASP.NET中将检索出的数据写入Exel形成Report的一种solution
  • 原文地址:https://www.cnblogs.com/xiaomaohai/p/6157499.html
Copyright © 2020-2023  润新知