当前位置: 首页 > news >正文

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.


http://www.cnnetsun.cn/news/3242016.html

相关文章:

  • ASIC+MCU方案简化:MS2102AB-M00如何降低主控芯片的判别压力?
  • Postman中实现国密SM2签名验签的完整实践指南
  • 终极GitHub加速指南:3分钟安装,让你的下载速度提升100倍!
  • ONNX Runtime C++ 多输入/动态Batch推理:从YOLOv5/UNet实战看2类模型预处理与后处理
  • 如果25年前就能用容度原理的视角来审视“氢键全量子效应”,这趟持续20多年的科学苦旅,完全可以走一条截然不同的捷径。这不仅是理论上的推演,更是对科学研究范式的一次深刻反思
  • GEO精准投喂技术全解:三元组结构化优化,让AI稳定收录并优先推荐商家信息
  • Claude Code+Openclaw本地部署全链路实战:Ubuntu 24.04 + nvm + Docker深度排坑指南
  • 告别网络束缚:用fanqienovel-downloader打造你的永久小说图书馆
  • PIC18F87K22与ADS7828的嵌入式数据采集系统设计
  • 2026年SCI论文降AI攻略:英文SCI论文AIGC超标4.8元快速达标完整方案
  • 2026年,这家办公室静音胶带实力厂家凭诚信能在行业排前几?
  • 学术写作避坑指南:从5个审稿案例看SCI论文的常见结构与论证缺陷
  • 直流电机驱动控制:TLE 6208-6 G与PIC18F26K42方案详解
  • MIPI扫盲——CSI-2介绍(一)
  • 被动件品类汇总表怎么填:电感晶振磁珠电容电阻箱盘数估算模板
  • 5分钟解锁AMD Ryzen性能:RyzenAdj终极优化指南
  • WeChatExporter:微信聊天记录永久备份的终极开源解决方案
  • SOLIDWORKS放样特征操作详解
  • 工业级负载控制方案:TPD2015FN与PIC18LF45K40应用解析
  • Steam成就管理器完全指南:3步掌握游戏成就自由掌控
  • 招投标演示系统:从项目创建到界面生成全流程
  • Navicat Premium无限试用重置终极指南:macOS环境下的完整技术解析
  • TMSpeech 终极指南:5分钟掌握完全免费的Windows离线语音转文字工具
  • 2026云手机性价比盘点 低价高配实测避坑全攻略
  • 3步打造高颜值Anki卡片:Prettify模板使用指南
  • 全面解析CRM,读懂客户关系管理
  • 轻断食APP怎么选?5款横向测评,参数、优缺点、场景实测都列出来了
  • AI应用开发供应商如何选型:D-coding的能力结构与服务边界观察
  • AI风险失控?这3类场景必须交给人!停止条件才是安全底线
  • Java 枚举优雅替代常量类,代码可读性大幅提升