FM实现F4帮助系列三:弹出框多筛选条件的搜索帮助(根据搜索帮助筛选字段)...

函数:F4IF_GET_SHLP_DESCR

        F4IF_START_VALUE_REQUEST

效果图

fb6ac7bd2e52c4f828bf4e7443fec9e0.jpeg

本例子代码:

找到需要的帮助:

9135069011db131c0592a65df3adc12d.jpeg

*& Report  ZLM_TEST_045

REPORT  zlm_test_045.

TABLES makt.

DATA:

      BEGIN OF str_f4,

        matnr TYPE matnr,

        maktx  TYPE maktx,

        END OF str_f4.

DATA:l_it_f4 LIKE TABLE OF str_f4.

SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-t01.

SELECT-OPTIONS:

           s_matnr  FOR makt-matnr NO INTERVALS.

SELECTION-SCREEN END OF BLOCK b1.

"帮助

AT SELECTION-SCREEN ON VALUE-REQUEST FOR s_matnr-low.

  SELECT * FROM makt INTO CORRESPONDING FIELDS OF TABLE l_it_f4.

  PERFORM frm_f4."  USING 'S_MATNR-LOW' .

*&-------------------------------------------------------------------

*& 搜索帮助

*&-------------------------------------------------------------------

FORM frm_f4.

  DATA g_shlp_descr_t             TYPE shlp_descr_t.

  DATA gwa_shlp_descr_t_interface TYPE ddshiface.

  DATA: gt_return_tab   TYPE TABLE OF ddshretval WITH HEADER LINE.

"调用标准帮助

  CALL FUNCTION 'F4IF_GET_SHLP_DESCR'

    EXPORTING

      shlpname = 'MAT1W'

      shlptype = 'SH'

    IMPORTING

      shlp     = g_shlp_descr_t.

  LOOP AT g_shlp_descr_t-interface INTO gwa_shlp_descr_t_interface.

    IF gwa_shlp_descr_t_interface = 'MATNR'.

      gwa_shlp_descr_t_interface-valfield = 'X'.

      MODIFY g_shlp_descr_t-interface FROM gwa_shlp_descr_t_interface.

    ENDIF.

  ENDLOOP.

  CALL FUNCTION 'F4IF_START_VALUE_REQUEST'

    EXPORTING

      shlp          = g_shlp_descr_t

      maxrecords    = 500

      multisel      = 'X'

    TABLES

      return_values = gt_return_tab.

  "获取选中值 可以多选 拥有select options

  LOOP AT gt_return_tab.

    s_matnr-sign = 'I'.

    s_matnr-option = 'EQ'.

    s_matnr-low = gt_return_tab-fieldval.

    APPEND s_matnr.

  ENDLOOP.

ENDFORM.                    " FRM_F4

另外一个F4增强的例子,也是添加筛选字段:

http://blog.sina.com.cn/s/blog_c0978c9b0101h1qf.html

推荐阅读:

《ABAP新语法1》

《ABAP新语法2》

《SM30添加按钮:批导,筛选,排序等完整demo 》

《关于 SM30/VIEW_MAINTENANCE_CALL锁整张表问题》

《Demo:弹出文本输入框》

《关于update task几个有意思的测试》

《动态批量修改任意表任意字段的值》

《动态获取查询条件的一个小Demo》

《使用cl_gui_docking_container 实现多ALV》

《VOFM 修改 组单开票时 会计凭拆分规则》

《DEMO SUBMIT 某程序并获取该程序ALV数据》

《DEMO:S/4 1809 FAGLL03H 增加字段增强》

《几个ABAP实用模板,体力活就别一行行敲了,复制粘贴得了》

《DEMO:BTE增强实现凭证创建检查》

《SAP Parallel Accounting(平行分类账业务)配置+操作手册+BAPI demo程序》

《CC02修改确认日期BAPI:Processing of change number  was canceled》《我是怎样调试BAPI的,以F-02为例》

《我是不是被代码给耽误了……不幸沦为一名程序员……》

《三亚自由行攻略(自己穷游总结)》

《苏州游记》

记码农十周年(20110214--20210214)

《不一样的SAP干货铺群:帅哥靓妹、红包、烤羊腿!》

《十年老码农搬砖习惯和技巧》

《我这个老码农是怎么debug标准程序的》

《我是怎样调试BAPI的,以F-02为例》

《杂谈:几种接口》

《Odata 增删改查详例》

《ODATA CREATE_DEEP_ENTITY 详例》

《RESTful DEMO 一:SAP 如何提供 RESTful Web 服务》

《RESTful DEMO 四 :增删改查及调用》

《DEMO  search help 增强 ( vl03n KO03 等)》

《录BDC时  弹出的公司代码框问题》

《搜索帮助系列》

《增强相关》

Debug 系列

DEBUG  系列一:Dump debug
DEBUG  系列二:Configure Debugger Layer
DEBUG系列三:使用  F9 和 watch point
DEBUG系列四:第三方接口debug
DEBUG系列五:Update  模式下的function debug
DEBUG系列六:后台JOB  debug
DEBUG系列七:保存测试参数
DEBUG系列八:Debug弹出框
debug系列九:SM13查看update更新报错
DEBUG系列十:Smartforms  debug
DEBUG系列十一:GGB1  debug
Debug系列十二:QRFC  队列 debug

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/26298.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

react antd Modal里Form设置值不起作用

问题描述: react antd Modal里Form设置值不起作用,即使用form的api。比如:编辑时带出原有的值。 造成的原因:一般设置值都是在声明周期里设置,比如:componentDidMounted里设置,hook则在useEff…

国际植物命名数据库(International Plant Names Index)

功能介绍 https://www.ipni.org/ 是国际植物命名数据库(International Plant Names Index)的官方网站。国际植物命名数据库是一个全球性的植物命名和分类资源,旨在提供植物命名信息的权威来源。以下是该网站的一些特点和功能: 植…

Web Scoket简述

Web Socket 简介 初次接触 Web Socket 的人,我们已经有了 HTTP 协议,为什么还需要另一个协议?它能带来什么好处? 因为 HTTP 协议有一个缺陷:通信只能由客户端发起。http基于请求响应实现。 (准确来说HTTP…

使用Python进行接口性能测试:从入门到高级

前言: 在今天的网络世界中,接口性能测试越来越重要。良好的接口性能可以确保我们的应用程序可以在各种网络条件下,保持流畅、稳定和高效。Python,作为一种广泛使用的编程语言,为进行接口性能测试提供了强大而灵活的工…

尚硅谷大数据hadoop教程_mapReduce

p67 课程介绍 p68概述 p69 mapreduce核心思想 p70 wordcount源码 序列化类型 mapReduce三类进程 p71 编程规范 用户编写的程序分成三个部分:Mapper、Reducer和Driver。 P72 wordcount需求案例分析 p 73 -78 案例环境准备 (1)创建maven…

基于Html5的在线资料库的设计与实现(asp.NET,SQLServer)

在线资料库系统采用.NET开发平台进行开发,开发工具采用Microsoft Visual Studio 2010集成开发环境,后台编程语言采用C#编程语言来进行编程开发,数据库我们采用当下流行的SQL Server 2008数据库管理系统来存放平台中的数据信息,整个…

Nginx 之 Tomcat 负载均衡、动静分离

一.详细安装及操作实例(Nginx 七层代理) 首先至少准备三台服务器 Nginx 服务器:192.168.247.131:80 Tomcat服务器1:192.168.247.133:80 Tomcat服务器2:192.168.247.134:8080 192.168.247.134:80811.部署Nginx 负载均…

windows下编译roadrunner和作为laravel服务器实践

roadrunner源码地址:https://gitee.com/mirrors/RoadRunner?_fromgitee_search windows下编译roadrunner源码获得rr.exe可执行文件 将rr.exe拷贝到laravel目录下 .rr.yaml配置文件内容: version: 3 server: command: "php vendor/spiral/road…

【Jmeter】生成html格式接口自动化测试报告

jmeter自带执行结果查看的插件,但是需要在jmeter工具中才能查看,如果要向领导提交测试结果,不够方便直观。 笔者刚做了这方面的尝试,总结出来分享给大家。 这里需要用到ant来执行测试用例并生成HTML格式测试报告。 一、ant下载安…

vue methods 互相调用的方法

methods是一个内置的函数,主要用于两个组件之间的数据传递,也就是调用方法。下面给大家介绍一个在 vue中互相调用的方法,在使用过程中可以参考一下。 methods实现了两个组件之间数据的传递,我们先来看一下 Methods是如何实现数据传…

Kafka

Kafka 概述 基于Scala语言,是一个分布式,分区的,多副本的,多订阅者的消息队列系统。 优势 可靠性:分布式的,分区,复制和容错的。可扩展性:kafka消息传递系统轻松缩放&#xff0c…

ROS:订阅者Subscriber的编程实现(C++)

目录 一、话题模型二、创建功能包三、创建Subscriber代码四、编译代码五、运行 一、话题模型 图中,我们使用ROS Master管理节点。 有两个主要节点: Publisher,名为Turtle Velocity(即海龟的速度) Subscriber&#xff0…

Docker安装kafka可视化管理工具 - Kafka Manager

说明:此处是在前面使用Docker安装kafka的基础之上,再来使用Docker安装kafka-manager 第一步:使用下述命令从Docker Hub查找镜像,此处我们要选择的是sheepkiller所构建的kafka-manager镜像 docker search kafka-manager 第二步&a…

aigc分享

AIGC技术分享 AIGC概述 AIGC的概念、应用场景和发展历程https://36kr.com/p/2135547607286144 ppt https://36kr.com/p/2243237713604482 机器学习基础 机器学习的基本概念、分类和常用算法,如线性回归、决策树、支持向量机、神经网络等。 深度学习基础 深度学…

设计模式之~组合模式

组合模式: 将对象组合成树形结构以表示‘部分-整体’的层次结构。组合模式使得用户对单个对象和组合对象的使用具有一致性。 结构图: 实例: 透明方式: leaf中也有add和remove叫做透明方式,在component中声明所有用来管…

煤矿井下定位设备,实现特殊环境下人员安全管理

煤矿、金属矿山等地下作业场所的安全管理工作要求高、难度大,矿用人员定位系统通过实时定位等功能,可以帮助企业随时掌握作业人员的位置安全,提高生产和安全管理效率,并可在紧急情况时迅速采取措施,减少事故损失&#…

基于OA的采购系统和专业的招标采购管理系统区别

当前采购信息化百家争鸣,既有初级版的审批和记录电子化,也有中级版的业务全流程电子化,还有升级版的数智化创新形式(如电商平台、智能评标、供应商风险评估、专家行为画像、大数据统计分析等)。 近年来,招标…

EBU6304 Software Engineering 知识点总结_4 analysis, design, implementation, testing

analysis 仅仅从用户的需求来看得到的消息不全面,还需要分析。用户可能认为你明白了,或者他考虑不全面,觉得一些地方是不需要的。 因此我们需要分析来 Refining requirements。 gather requirements-analyse in real world context-develo…

Apache网页安全与安全优化--网页缓存、隐藏版本信息、Apache 防盗链

目录 --------网页缓存-------- 1.检查是否安装 mod_expires 模块 2.如果没有安装mod_expires 模块,重新编译安装 Apache 添加 mod_expires模块 3.配置 mod_expires 模块启用 4.检查安装情况,启动服务 5.测试缓存是否生效 --------隐藏版本信息--…

Nginx+Tomcat(多实例)实现动静分离和负载均衡四层、七层(总有些惊奇的际遇,比方说当我遇见你)

文章目录 一、Tomcat 多实例部署二、反向代理的两种类型三、NginxTomcat实现负载均衡和动静分离(七层代理)1.动静分离和负载均衡原理2.实现方法3.部署实例(1)部署Nginx负载均衡服务器(2)配置Tomcat多实例服…