news 2026/7/9 12:36:20

SELECTION-SCREEN 作为弹窗调用

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
SELECTION-SCREEN 作为弹窗调用

SAP SE38 DEMO: DEMO_CALL_SELECTION_SCREEN

创建屏幕

SELECTION-SCREEN BEGIN OF SCREEN 200 AS WINDOW. . PARAMETERS p_zddlx TYPE ztpp100a_17-zddlx OBLIGATORY MODIF ID x. PARAMETERS p_zlcjd TYPE ztpp100a_17-zlcjd OBLIGATORY MODIF ID x. PARAMETERS p_zxh TYPE ztpp100a_17-zxh. PARAMETERS p_zjdsm TYPE ztpp100a_17-zjdsm. PARAMETERS p_zsfyfj TYPE ztpp100a_17-zsfyfj VISIBLE LENGTH 4 AS LISTBOX. PARAMETERS p_zfzrgh TYPE ztpp100a_17-zfzrgh. PARAMETERS p_zfzrxm TYPE ztpp100a_17-zfzrxm MODIF ID z. SELECTION-SCREEN END OF SCREEN 200.

通过 CALL SELECTION-SCREEN 201 STARTING AT 1 1. 调用

CALL SELECTION-SCREEN 201 STARTING AT 1 1.


输入完值判断他点的执行 还是 X 可以通过 SY-SUBRC判断

CALL SELECTION-SCREEN 200 STARTING AT 1 1. IF sy-subrc = 0. ls_ztpp100a_17-zddlx = p_zddlx. ls_ztpp100a_17-zlcjd = p_zlcjd. ls_ztpp100a_17-zxh = p_zxh. ls_ztpp100a_17-zjdsm = p_zjdsm. ls_ztpp100a_17-zsfyfj = p_zsfyfj. ls_ztpp100a_17-zfzrgh = p_zfzrgh. ls_ztpp100a_17-zfzrxm = p_zfzrxm. ls_ztpp100a_17-werks = p_werks. ls_ztpp100a_17-crnam = sy-uname. ls_ztpp100a_17-crdat = sy-datum. ls_ztpp100a_17-crtim = sy-uzeit. SELECT COUNT(*) FROM ztpp100a_02 WHERE werks = p_werks AND zbh_pp = p_zddlx. IF sy-subrc <> 0. MESSAGE '' && p_zddlx && '' TYPE 'S' DISPLAY LIKE 'E'. RETURN. ENDIF. SELECT COUNT(*) FROM ztpp100a_11 WHERE werks = p_werks AND zbh_gh = p_zfzrgh. IF sy-subrc <> 0. MESSAGE '' && p_zfzrgh && '' TYPE 'S' DISPLAY LIKE 'E'. RETURN. ENDIF. SELECT COUNT(*) FROM ztpp100a_17 WHERE zddlx = ls_ztpp100a_17-zddlx AND zlcjd = ls_ztpp100a_17-zlcjd AND werks = p_werks. IF sy-subrc IS INITIAL. MESSAGE '' TYPE 'S' DISPLAY LIKE 'E'. RETURN. ENDIF. INSERT ztpp100a_17 FROM ls_ztpp100a_17. COMMIT WORK AND WAIT. SELECT * INTO CORRESPONDING FIELDS OF TABLE gt_data FROM ztpp100a_17 WHERE werks = p_werks AND crdat IN s_crdat AND crnam IN s_crnam. ELSE. MESSAGE '取消操作' TYPE 'S' DISPLAY LIKE 'E'. RETURN. ENDIF.



做隐藏字段 是否可编辑 下拉框赋值可以通过 AT SELECTION-SCREEN OUTPUT.设置

AT SELECTION-SCREEN OUTPUT. IF p_lists = 'wwwww'. DATA: vid TYPE vrm_id, list TYPE vrm_values, value LIKE LINE OF list. value-key = 'Y'. value-text = '是'. APPEND value TO list. value-key = 'N'. value-text = '否'. APPEND value TO list. CALL FUNCTION 'VRM_SET_VALUES' EXPORTING id = 'P_ZSFYFJ' values = list. LOOP AT SCREEN. IF screen-group1 = 'X' AND gv_ucomm = 'ZXG' OR screen-group1 = 'Z'. screen-input = '0'. MODIFY SCREEN. ENDIF. ENDLOOP. ENDIF.

对字段做搜索帮助 可以通过 AT SELECTION-SCREEN ON VALUE-REQUEST 事件设置
如果想要 某两个字段做关联 在搜索帮助 选完值后带出 其他字段值 例如选完 负责人工号 带出负责人姓名 就要做带返回值的 F4 帮助 其中函数 SAPGUI_SET_FUNCTIONCODE 相当于按了一次回车 如果没有这个 即使对 字段赋值 屏幕不刷新 字段虽然有值 但是 屏幕显示 还是空的

TYPES :BEGIN OF ty_selection, code TYPE zsmm_ckd_header-cklx, string TYPE char20, END OF ty_selection. DATA lt_selection TYPE TABLE OF ty_selection. SELECT zbh_gh AS code zbh_ght AS string FROM ztpp100a_11 INTO TABLE lt_selection WHERE werks = p_werks. DATA lt_ddshretval TYPE TABLE OF ddshretval. CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST' EXPORTING retfield = 'CODE' dynpprog = sy-repid dynpnr = sy-dynnr dynprofield = 'P_ZFZRGH' value_org = 'S' callback_program = sy-repid TABLES value_tab = lt_selection return_tab = lt_ddshretval EXCEPTIONS parameter_error = 1 no_values_found = 2 OTHERS = 3. IF sy-subrc = 0. READ TABLE lt_ddshretval INTO DATA(ls_ddshretval) INDEX 1. READ TABLE lt_selection INTO DATA(ls_selection) WITH KEY code = ls_ddshretval-fieldval. IF sy-subrc = 0. p_zfzrxm = ls_selection-string. p_zfzrgh = ls_ddshretval-fieldval. ENDIF. ELSE. MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4. ENDIF. CALL FUNCTION 'SAPGUI_SET_FUNCTIONCODE' EXPORTING functioncode = 'DUMMY'.


如果不需要做联动 搜索帮助 就不需要添加返回值表

TYPES :BEGIN OF ty_selection, code TYPE zsmm_ckd_header-cklx, string TYPE char20, END OF ty_selection. DATA lt_selection TYPE TABLE OF ty_selection. SELECT zbh_pp AS code zbh_ppt AS string FROM ztpp100a_02 INTO TABLE lt_selection WHERE werks = p_werks. CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST' EXPORTING retfield = 'CODE' dynpprog = sy-repid dynpnr = sy-dynnr dynprofield = 'P_ZDDLX' window_title = 'WINDOW--TITLE' value_org = 'S' "C表示cell,S表示structure * MULTIPLE_CHOICE = 'X' "多项选择,用于SELECT-OPTIONS * DISPLAY = 'F' "C则只能显示,不能选择 callback_program = sy-repid TABLES value_tab = lt_selection EXCEPTIONS parameter_error = 1 no_values_found = 2 OTHERS = 3. IF sy-subrc <> 0. MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4. ENDIF.


版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/9 12:35:27

ASIC+MCU方案简化:MS2102AB-M00如何降低主控芯片的判别压力?

你有没有想过&#xff0c;你手里那根雾化器&#xff0c;凭什么知道你“吸”了&#xff1f;这个问题听起来有点傻。但如果你拆过足够多的雾化器&#xff0c;如果见过维修师傅桌上那一堆“吸不动”和“自己会烧”的坏机&#xff0c;就会明白&#xff0c;这个看似简单的“知道”背…

作者头像 李华
网站建设 2026/7/9 12:35:12

Postman中实现国密SM2签名验签的完整实践指南

1. 项目概述&#xff1a;当Postman遇上国密SM2如果你正在对接一个要求使用国密SM2算法进行API签名验签的后端服务&#xff0c;而你的调试工具是Postman&#xff0c;那么这篇文章就是为你准备的。我最近刚完成一个金融项目的接口联调&#xff0c;对方的后端系统强制要求所有请求…

作者头像 李华
网站建设 2026/7/9 12:35:03

终极GitHub加速指南:3分钟安装,让你的下载速度提升100倍!

终极GitHub加速指南&#xff1a;3分钟安装&#xff0c;让你的下载速度提升100倍&#xff01; 【免费下载链接】Fast-GitHub 国内Github下载很慢&#xff0c;用上了这个插件后&#xff0c;下载速度嗖嗖嗖的~&#xff01; 项目地址: https://gitcode.com/gh_mirrors/fa/Fast-Gi…

作者头像 李华
网站建设 2026/7/9 12:31:09

如果25年前就能用容度原理的视角来审视“氢键全量子效应”,这趟持续20多年的科学苦旅,完全可以走一条截然不同的捷径。这不仅是理论上的推演,更是对科学研究范式的一次深刻反思

如果25年前就能用容度原理的视角来审视“氢键全量子效应”&#xff0c;这趟持续20多年的科学苦旅&#xff0c;完全可以走一条截然不同的捷径。这不仅是理论上的推演&#xff0c;更是对科学研究范式的一次深刻反思。⏳ 历史回顾&#xff1a;一条充满艰辛的“发现”之路王恩哥院士…

作者头像 李华