zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    electron 安装失败解决办法
    面向 B 端的产品经理
    如何学习一门新语言或框架
    斑马为什么有条纹?
    沃伦·巴菲特 | 成功的 10/10/10 法则
    如果想进入一家大公司面试,你会怎么做?
    人工智能缺陷与误觉:让机器产生幻觉的「怪异事件」
    20 世纪 70 年代的太空殖民艺术
    如何实现SSH断开后 进程仍然在后台运行
    让Linux关闭终端(关闭SSH等)后,程序继续运行
  • 原文地址:https://www.cnblogs.com/wzzkaifa/p/6845969.html
Copyright © 2011-2022 走看看