ABAP SM30自定义搜素帮助,且带出相关描述,也可回车带出。

news2025/1/15 13:31:20

本篇文章用SM30字段BUKRS带出BUTXT为例。

MODULE zfzhdm_f4help INPUT.
 DATA: lt_dynpfields1 TYPE STANDARD TABLE OF dynpread,
           ls_dynpfields1 TYPE dynpread,
           lt_return1     TYPE STANDARD TABLE OF ddshretval,
           ls_return1     TYPE ddshretval,
           lv_povstepl1   TYPE sy-stepl,
           lv_index1      TYPE sy-stepl.
  DATA:lv_zfzhdm TYPE zfzh_dm1-zfzhdm,
       lv_zfzhms TYPE zfzh_dm1-zfzhms.

  TYPES: BEGIN OF ty_out,
        zfzhdm TYPE zfzh_dm1-zfzhdm,
        zfzhms TYPE zfzh_dm1-zfzhms,
    END OF ty_out.
  DATA : it_out1 TYPE TABLE OF ty_out,
         is_out1 TYPE ty_out.

  DATA : lv_flag TYPE c.
  CLEAR lv_flag .
*  CLEAR:lv_zfzhdm,lv_zfzhms.
* 获取本页当前行号
  CALL FUNCTION 'DYNP_GET_STEPL'
    IMPORTING
      povstepl        = lv_povstepl1
    EXCEPTIONS
      stepl_not_found = 1.

* 当前行号 = TC(包括翻页)的首行行号 + 本页当前行号 - 1
  lv_index1 = tctrl_zz006_zhbblx-top_line + lv_povstepl1 - 1.
  CLEAR lt_dynpfields1[].
  ls_dynpfields1-fieldname = 'ZZ006_ZHBBLX-ZFZHDM'.
  ls_dynpfields1-stepl     = lv_index1.
  APPEND ls_dynpfields1 TO lt_dynpfields1.
  CLEAR ls_dynpfields1.

* 获取屏幕值(以防用户修改后未按回车)
  CALL FUNCTION 'DYNP_VALUES_READ'
    EXPORTING
      dyname               = sy-repid
      dynumb               = sy-dynnr
      translate_to_upper   = 'X'
    TABLES
      dynpfields           = lt_dynpfields1
    EXCEPTIONS
      invalid_abapworkarea = 1
      invalid_dynprofield  = 2
      invalid_dynproname   = 3
      invalid_dynpronummer = 4
      invalid_request      = 5
      no_fielddescription  = 6
      invalid_parameter    = 7
      undefind_error       = 8
      double_conversion    = 9
      stepl_not_found      = 10
      OTHERS               = 11.
  READ TABLE lt_dynpfields1 INTO ls_dynpfields1 INDEX 1.
  IF sy-subrc = 0.
    lv_zfzhdm = ls_dynpfields1-fieldvalue.
  ENDIF.

*  IF lv_zfzhdm IS INITIAL .
  SELECT
    zfzhdm
    zfzhms
    FROM zfzh_dm1
    INTO CORRESPONDING FIELDS OF TABLE it_out1.
*  ELSE.
*    SELECT
*      zfzhdm
*      zfzhms
*    FROM zfzh_dm1
*    INTO CORRESPONDING FIELDS OF TABLE it_out1
*    WHERE zfzhdm = lv_zfzhdm.
*  ENDIF.


* 自定义搜索帮助
*  CLEAR :lt_return1,ls_return1.
  CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
    EXPORTING
      retfield        = 'ZFZHDM'
      value_org       = 'S'
    TABLES
      value_tab       = it_out1
      return_tab      = lt_return1
    EXCEPTIONS
      parameter_error = 1
      no_values_found = 2
      OTHERS          = 3.
  IF sy-subrc = 0.
    READ TABLE lt_return1 INTO ls_return1 INDEX 1.
    IF sy-subrc = 0.
*      zbukrs_zhbblx-bukrs = ls_return1-fieldval.
      SELECT SINGLE zfzhms INTO lv_zfzhms FROM zfzh_dm1 WHERE zfzhdm = ls_return1-fieldval.
*      MODIFY lt_dynpfields1 FROM ls_dynpfields1 INDEX lv_index1 .
*   ELSE.
*     lv_flag = 'X'.
    ENDIF.
  ENDIF.

*更新屏幕上已经修改的字段
  IF lv_flag <> 'X'.
    DATA : lt_systems1    LIKE dynpread OCCURS 0 WITH HEADER LINE.
    CLEAR: lt_systems1[],lt_systems1.
    lt_systems1-fieldname = 'ZZ006_ZHBBLX-ZFZHDM'.
    lt_systems1-stepl = lv_index1.
    lt_systems1-fieldvalue = ls_return1-fieldval. "返回的选择值
    APPEND lt_systems1.
    lt_systems1-fieldname = 'ZZ006_ZHBBLX-ZFZHMS'.
    lt_systems1-stepl = lv_index1.
    lt_systems1-fieldvalue = lv_zfzhms.
    APPEND lt_systems1.

    CALL FUNCTION 'DYNP_VALUES_UPDATE'
      EXPORTING
        dyname               = sy-repid
        dynumb               = '0001'
      TABLES
        dynpfields           = lt_systems1
      EXCEPTIONS
        invalid_abapworkarea = 1
        invalid_dynprofield  = 2
        invalid_dynproname   = 3
        invalid_dynpronummer = 4
        invalid_request      = 5
        no_fielddescription  = 6
        undefind_error       = 7
        OTHERS               = 8.
    IF sy-subrc <> 0.
    ENDIF.
  ENDIF.
ENDMODULE.  

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

引领文旅新体验!实时云渲染助力打造“永不落幕”的湾区文采会元宇宙

2022年11月25日至27日&#xff0c;2022年粤港澳大湾区公共文化和旅游产品&#xff08;东莞&#xff09;采购会&#xff08;简称“湾区文采会”&#xff09;在广东省东莞市文化馆举行。 文采会期间&#xff0c;文采会元宇宙线上虚拟展厅全新亮相&#xff0c;这艘承载着科技与文化…

优秀的FAQ示例及FAQ页面制作技巧

在网页中问答设计中&#xff0c;虽然说客服会话更有人情味、解决效率更高&#xff0c;但从实际的客户使用情况和使用偏好来看&#xff0c;越来越多的人更喜欢自助服务。数据显示&#xff0c;约67%的受访者会优先选择自助服务&#xff0c;91%的客户使用过帮助中心来解决问题。可…

python进阶知识点汇总

一、函数 1、函数的传参&#xff1a; &#xff08;1&#xff09;值传递&#xff1a;将实际的参数复制一份传递给形参&#xff0c;函数中修改形参时&#xff0c;不会影响到实际参数&#xff1b; def a(b,c2):return bcprint(a(10)) print(a(123,2)) print(a(2))&#xff08;2…

Gitlab添加组、创建用户和项目、权限管理

一、创建组 1、使用root管理员权限来创建组&#xff0c;一个组里面包含多个项目分支&#xff0c;可以将用户来添加到组里进行设置权限&#xff0c;不同的组有不同的权限。 2、输入群组名称、描述、和可见性级别&#xff0c;点击创建群组 二、创建用户 1、普通用户只能访问属于…

静态路由综合实验

目录 实验要求 实验步骤 1.子网划分 2.配置IP和环回 3.配置静态路由&#xff0c;实现全网可达 4.配置缺省路由&#xff0c;使R1-R4可以访问5.5.5.5/24 5.配置空接口防环 6.ping测试 实验要求 1.除R5的环回地址固定以外&#xff0c;整个其他所有网段基于192.168.1.0/2…

【C++】二叉搜索树BST

目录 1.二叉搜索树的性质2.二叉搜索树功能的实现1.二叉搜索树的框架2.插入3.查找4.删除&#xff08;难点&#xff09;解析 3.二叉搜索树功能的递归实现1.查找递归实现2.插入递归实现递归形式中新建节点的链接问题 3.删除的递归实现 4.二叉搜索树部分默认成员函数实现1.构造函数…

SpringBoot(8)日志监控

日志监控 监控的意义使用监控监控原理 自定义监控指标Metrics端点自定义端点 监控的意义 监控服务状态是否宕机监控服务运行指标(内存&#xff0c;虚拟机&#xff0c;线程&#xff0c;请求等)监控程序运行日志管理服务(服务上下线) 监控的实施方式 1.显示监控信息的服务器&am…

低功耗设计方法学——篇Ⅱ

引言 低功耗设计关乎ASIC芯片的性能稳定。对ASIC 特别是一些Soc芯片的设计有着重要的影响&#xff0c;随着集成规模的大幅度增加&#xff0c;芯片自身的功耗问题暴露也越来越明显。低功耗设计的需求和必要性也越来越值得关注。本文就《Low Power Methodology Manual For Syste…

逍遥自在学C语言 | 赋值运算符

前言 在C语言中&#xff0c;赋值运算符用于将一个值赋给变量 这个过程分为两个步骤&#xff1a; 计算赋值运算符右侧的表达式将结果赋给左侧的变量。 C语言提供了多个不同的赋值运算符&#xff0c;包括基本的赋值运算符、复合赋值运算符以及条件赋值运算符等 一、人物简介…

LeetCode121 买卖股票的最佳时机 遍历法和动态规划

题目地址&#xff1a;https://leetcode.cn/problems/best-time-to-buy-and-sell-stock/ 给定一个数组 prices &#xff0c;它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。 你只能选择 某一天 买入这只股票&#xff0c;并选择在 未来的某一个不同的日子 卖出该股…

Python爬虫之MongoDB

目录 一、Mongo概述 二、安装&下载 1.下载&#xff1a; 2.安装 三、基本命令 插⼊数据 查询数据 修改数据 删除数据 索引 四、Python与MongoDB交互 1.安装pymongo 2.使⽤ 一、Mongo概述 MongoDB是什么&#xff1f; MongoDB是⾮关系型数据库(No sql) 为啥需要…

无线传感网络课程作业 1-dijkstra算法计算最短路径并输出经过的节点

无线传感网络课程作业 1 仅供参考-如有需要可订阅专栏 题目有如下网络图: abc三个数以a=3,b=1,c=1为例 运行环境:anaconda3环境管理工具,Python 3.9.12,Windows 10 22H2算法实现原理流程i).

Java——二叉搜索树的后序遍历序列

题目链接 牛客在线oj题——二叉搜索树的后序遍历序列 题目描述 输入一个整数数组&#xff0c;判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则返回 true ,否则返回 false 。假设输入的数组的任意两个数字都互不相同。 数据范围&#xff1a; 节点数量 0≤n≤1000 …

PLECS的基本介绍

PLECS的基本介绍 一&#xff1a;PLECS的基本介绍简单说明二&#xff1a;多功能的辅助工具三&#xff1a;主要功能介绍1、独特的热分析功能2、功能强大的示波器3、极快的仿真速度4、强大的波形分析工具5、C 语言控制器6、丰富的元件库 一&#xff1a;PLECS的基本介绍简单说明 1&…

QMS-云质说质量 - 7 IATF 16949哪个条款严重不符合项最多?

云质QMS原创 转载请注明来源 作者&#xff1a;王洪石 引言 AIAG 《质量2020》报告的数据是否让你惊讶&#xff1f; AIAG与德勤合作发布的汽车行业《质量2020》报告指出&#xff0c;"OEMs和供应商都将问题解决和CSR&#xff08;Customer Specific Requirement顾客特定要求…

What...MiniGPT-4居然开源了,提前感受 GPT-4 的图像对话能力

说在前面的话&#xff1a; 一个月前&#xff0c;OpenAI向外界展示了GPT-4如何通过手绘草图直接生成网站&#xff0c;令当时的观众瞠目结舌。 在GPT-4发布会之后&#xff0c;相信大家对ChatGPT的对话能力已有所了解。圈内的朋友们应该已经亲身体验过无论是文本生成、编写代码&…

涨点技巧:基于Yolov5/Yolov7的困难样本挖掘---LRM loss,提升难样本检测精度

1.hard example mining(困难样本挖掘)✨✨✨ 困难例挖掘方法通常可以提高目标检测器的性能,因为它受到不平衡训练集的影响。为了通过RoI正确地挖掘困难例,引入了在线困难例挖掘(OHEM)方法[15]。该方法建议只考虑对反向传播最有利的RoI。给出最高损失值的RoI被认为是最难的…

【汽车品牌案例 Objective-C语言】

一、刚才,我给大家说了一下这个单元格的重用,接下来,我给大家再做一个案例, 1.再做一个什么案例呢,还是显示那个汽车品牌, 咱们上午是不是做过一个那个汽车品牌的展示了,做过那个展示,那是简单的一个展示,咱们再做一个,使用另外一个不同的一个plist文件,car_total.…

必应,百度,神马头条,搜狗专用站长seo推送工具大全

软件介绍&#xff1a; 百度开始打击滥用api问题&#xff0c;针对这个问题已经开发了拟人推送系列功能&#xff0c;放心使用。 五合一高效推送软件&#xff0c;目前支持百度&#xff0c;神马&#xff0c;必应&#xff0c;搜狗&#xff0c;头条&#xff0c;谷歌六大搜索引擎同步…

setup,ref,reactive

初识setup 1.理解:Vue3.0中一个新的配置项&#xff0c;值为一个函数。 2.setup是所有Composition API(组合API)“表演的舞台”。 3.组件中所用到的:数据、方法等等&#xff0c;均要配置在setup中。 4.setup函数的两种返回值: 1.若返回一个对象&#xff0c;则对象中的属性、…