• ABAP 弹出框 函数


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


    以下是一个对弹出框中的客户编码进行存在性检验的一个简单样例 


    DATA:tab TYPE TABLE OF sval WITH HEADER LINE.
    DATA: code  TYPE c.


    CLEAR tab.
    tab-tabname = 'KNA1'.
    tab-fieldname = 'KUNNR'.
    APPEND tab.


    "弹出填写数据的框
    CALL FUNCTION 'POPUP_GET_VALUES_USER_HELP'
      EXPORTING
        popup_title = '抬头'
        programname = 'ZTEST'
        formname    = 'TESTFORM'
      IMPORTING
        returncode  = code
      TABLES
        fields      = tab.


    IF sy-subrc <> 0.
    * MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    *         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.


    *&---------------------------------------------------------------------*
    *&      Form  TESTFORM
    *&---------------------------------------------------------------------*
    *       检查客户编码是否存在
    *----------------------------------------------------------------------*
    FORM testform  TABLES   fields STRUCTURE sval
                        CHANGING error  STRUCTURE svale.
      DATA:l_kunnr TYPE kna1-kunnr.
      DATA:lw_kna1 TYPE kna1.
      READ TABLE fields INDEX 1.
      l_kunnr = fields-value.
      SELECT SINGLE * INTO lw_kna1 FROM kna1 WHERE kunnr = l_kunnr.
      IF sy-subrc <> 0.
    *    Bitte geben Sie einen gültigen Lagerort an
        CLEAR error.
        error-errortab   = 'KNA1'.
        error-errorfield = 'KUNNR'.
        error-msgty      = 'I'.
        error-msgid      = '消息对象'.
        error-msgno      = '消息号'.
      ENDIF.
    ENDFORM.   


    附:
    SAP对弹出框依据类型进行了分组  分成了SPO1 SPO2 ...
    上述的有输入的属于SPO4的组 同一时候SAP系统中有一些这些分组的函数的例子函数。能够通过 RS+分组+* 进行搜索。如我们这里的是SPO4的 使用RSSPO4*进行搜索 有例如以下结果
    其它的用户交互框能够通过一下程序进行学习 RSSPO4 *
    RSSPO410                       函数模块 POPUP_GET_VALUES 的范例
    RSSPO420                       函数模块 POPUP_GET_VALUES_DB_CHECKED 的范例
    RSSPO430                       函数模块 POPUP_GET_VALUES_USER_CHECKED 的范例
    RSSPO440                       函数模块 POPUP_GET_VALUES_USER_CHECKED 的范例

    RSSPO450                       函数模块 POPUP_GET_VALUES_USER_BUTTONS 的范例

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

    适用情况

    Function group

    提示用户将可能丢失数据

    SPO1

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

    SPO1

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

    SPO1

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

    SPO2

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

    SPO2

    提示用户输入数据 (能够依据一个表检查或者不检查输入值)

    SPO4

    将数据显示给用户

    SPO4

    将具体数据显示给用户

    SPO6

    从列表中选择数据 SPO5

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

    STAB

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

    STPR


    SPO1                           迅速保存的会话框
    POPUP_TO_CONFIRM               标准对话弹出消息
    POPUP_TO_CONFIRM_LOSS_OF_DATA  返回后迅速确实会话框 (POPUP, CONFIRM)
    POPUP_TO_CONFIRM_STEP          用此函数能够建立一个对话框用于询问用户是否运行某步操作,用户能够选 择Yes No或者Cancel。该函数能够传入一个标题和两行的文本(提示问题)。
    POPUP_TO_CONFIRM_WITH_MESSAGE  类似POPUP_TO_CONFIRM_STEP,仅仅是多三行的文本错误诊断提示。 系统             在窗体上显示一个绿色问号图标。


    POPUP_TO_CONFIRM_WITH_VALUE    用此函数能够建立一个对话框用于询问用户是否运行某步操作,该操作可能 会丢失数据,用户能够选择Yes No或者Cancel。该函数能够传入一个标题, 两行的文本(提示问题)和一个对象值(对象值将会插入在提示问题文本的 两部分之间)。

    系统在窗体上显示一个绿色问号图标。
    POPUP_TO_CONFIRM_WITH_VALUE_2  Do not use! Please use POPUP_TO_CONFIRM.
    SPO2                           决定年龄的对话框
    POPUP_TO_DECIDE                显示一个对话框。用户能够两个操作中的一个或者取消。能够传入三行提示文本。


    POPUP_TO_DECIDE_WITH_MESSAGE   用于有诊断选项间的选择的对话框
    SPO3                           用于输入数据的对话框
    POPUP_TO_GET_ONE_VALUE         Pop-up window, in order to confirm user-defined processing step (CONF
    POPUP_TO_GET_VALUE             POPUP for requesting a value
    SPO4                           用于显示和请求的对话框
    ALPHA_EXIT_FOR_TYPE_N_CONTROL
    POPUP_GET_VALUES               对于显示和值请求的会话框, 没有检查
    POPUP_GET_VALUES_DB_CHECKED    对于请求值的对话框, 预防检查 DB 表/视图
    POPUP_GET_VALUES_SET_MAX_FIELD 为此组的对话框设置每一个对话框的字段最大数值
    POPUP_GET_VALUES_USER_BUTTONS  用于要求值和提供用户button的对话框
    POPUP_GET_VALUES_USER_CHECKED  对于请求值的对话框, 通过存在用户检查
    POPUP_GET_VALUES_USER_HELP     请求值的对话框, 用户退出和帮助的调用
    SPO5                           从列表选择的对话框
    POPUP_TO_DECIDE_LIST           Dialog box for choosing from a list without diagnosis
    SPO6                           显示文本的对话框
    POPUP_DISPLAY_TEXT             文本显示对话框窗体
    POPUP_DISPLAY_TEXT_USER_BUTTON Popup with user-defined pushbuttons to display a text
    POPUP_DISPLAY_TEXT_WITH_PARAMS 用參数对话窗显示文本
    SPO8                           Application Modules
    POPUP_TO_DECIDE_LOCKED_DATA

  • 相关阅读:
    Ansi,UTF8,Unicode,ASCII编码的区别
    Delphi 快捷键
    Sql Server2008恢复备份数据库问题
    js图片无缝滚动代码
    SQL Server 2008 清空删除日志文件 130G日志 10秒内变10M .
    JavaScript_循环26个英文字母的方法 .
    iframe跨子域
    sql数据库该名字
    大型网站架构的优化与架构演变(整理) .转自网络
    删除SQL日志语句,经测试8G日志文件都可以删除
  • 原文地址:https://www.cnblogs.com/wzzkaifa/p/6845969.html
Copyright © 2020-2023  润新知