ABAP 搜索帮助带出多个字段描述 更新屏幕字段

news/2024/4/18 16:16:48/文章来源:https://blog.csdn.net/weixin_49198221/article/details/128958425

文章目录

  • 需求
  • 解析
    • 1-DYNP_GET_STEPL
    • 2-F4IF_INT_TABLE_VALUE_REQUEST
    • 3-获取返回值
    • 4-把相应字段更新到内表
    • 5-DYNP_VALUES_UPDATE
  • 代码

需求

如图,当我点击责任工序的搜说帮助时,
同时会把责任人员的描述带出来.

在这里插入图片描述

解析

1-DYNP_GET_STEPL

这个方法就是获取当前的循环步骤
在这里插入图片描述

2-F4IF_INT_TABLE_VALUE_REQUEST

这个函数就是搜索帮助功能的函数,这里主要说一下这个参数RETURN_TAB返回值,
他会返回你所想要的字段值.
在这里插入图片描述

3-获取返回值

这个红框中就是我想要这个字段的具体内容,然后通过这个字段值我来获取责任人员的数据.
在这里插入图片描述

4-把相应字段更新到内表

这个就是你要把那些值带到屏幕上去,可以带出多个字段,一直加就行了.
在这里插入图片描述

5-DYNP_VALUES_UPDATE

这个函数的作用就是更新字段的, 把刚才你添加的那两个字段更新到屏幕上去.
在这里插入图片描述
欢迎大佬前来补充

代码

MODULE f4_help_4_zzrgx INPUT.DATA:BEGIN OF ls_oper,vornr TYPE zsmsjkz-vornr,arbpl TYPE zsmsjkz-arbpl,ktext TYPE crhd_v1-ktext,END OF ls_oper.DATA:lt_oper     LIKE STANDARD TABLE OF ls_oper.DATA:lt_return   TYPE STANDARD TABLE OF ddshretval.DATA:lt_zsmsjkz TYPE STANDARD TABLE OF zsmsjkz.DATA:lv_sname      TYPE string."责任人   文本DATA:lv_zzrgx      TYPE shvalue_d.DATA:lvx_row    LIKE sy-tabix,lt_systems TYPE STANDARD TABLE OF dynpread.FIELD-SYMBOLS:<fs_systems> TYPE dynpread.FIELD-SYMBOLS:<fs_return> TYPE ddshretval.CLEAR: lv_bj,lv_bj2,lv_bj3.IF gs_authorization-conform  NE 'X'.EXIT.ENDIF.CLEAR: lt_oper,ls_oper .SELECTzsmsjkz~vornr,zsmsjkz~arbpl,zsmsjkz~tarbpl,crhd_v1~ktextINTO TABLE @DATA(lt_zsm)FROM zsmsjkzLEFT JOIN crhd_v1 ON zsmsjkz~arbpl = crhd_v1~arbplWHERE aufnr = @gs_data-aufnrAND crhd_v1~werks = '1000'.SORT lt_zsm BY vornr.IF  sy-subrc = 0 .LOOP AT lt_zsm INTO DATA(ls_zsm) .IF  ls_zsm-tarbpl <> ''.SELECT ktext INTO @DATA(lv_tarbpl) FROM crhd_v1 WHERE arbpl = @ls_zsm-tarbpl .ENDSELECT.ls_zsm-arbpl =  ls_zsm-tarbpl .ls_zsm-ktext = lv_tarbpl .ENDIF.CLEAR ls_oper .ls_oper-vornr = ls_zsm-vornr.ls_oper-arbpl = ls_zsm-arbpl.ls_oper-ktext = ls_zsm-ktext .APPEND ls_oper TO lt_oper.CLEAR ls_zsm.ENDLOOP.ENDIF.CALL FUNCTION 'DYNP_GET_STEPL'IMPORTINGpovstepl = lvx_row.CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'EXPORTINGretfield         = 'ZZRGX'            "lt内表里面的字段dynpprog         = sy-repiddynpnr           = sy-dynnrdynprofield      = 'LS_OPER-ARBPL'   "画面上绑定字段value_org        = 'S'window_title     = '责任工序选择'callback_program = sy-repiddisplay          = 'F'
*     MULTIPLE_CHOICE  = 'X'               "X:支持多选,space:单选
*     callback_form    = 'CALLBACK_F4'TABLESvalue_tab        = lt_oper          "需要显示帮助的值内表return_tab       = lt_return         "返回值EXCEPTIONSparameter_error  = 1no_values_found  = 2OTHERS           = 3.IF sy-subrc = 0.READ TABLE lt_return ASSIGNING <fs_return> INDEX 1.IF sy-subrc = 0.CLEAR: lv_zzrgx,lv_sname.lv_zzrgx = z_tct_interface_util=>replace_char_in_string( iv_str = <fs_return>-fieldval iv_old_char = '/' iv_new_char = '-' ).READ TABLE lt_oper INTO ls_oper WITH  KEY ktext = lv_zzrgx.SELECTzyggh~ygmcINTO lv_snameFROM zygghINNER JOIN zsmsjl ON zyggh~rgm = zsmsjl~rgmWHERE zsmsjl~arbpl = ls_oper-arbplAND zsmsjl~aufnr   = gs_data-aufnrAND zsmsjl~OPERTP = '2'.ENDSELECT.APPEND INITIAL LINE TO lt_systems ASSIGNING <fs_systems>.<fs_systems>-fieldname = 'GS_DATA-ZZRGX'.<fs_systems>-stepl     = lvx_row.<fs_systems>-fieldvalue = lv_zzrgx.APPEND INITIAL LINE TO lt_systems ASSIGNING <fs_systems>.<fs_systems>-fieldname = 'GS_DATA-ZZRXR'.<fs_systems>-stepl     = lvx_row.<fs_systems>-fieldvalue = lv_sname.
*
*      APPEND INITIAL LINE TO lt_systems ASSIGNING <fs_systems>.
*      <fs_systems>-fieldname = 'GS_DATA-ZGZZX'.
*      <fs_systems>-stepl     = lvx_row.
*      <fs_systems>-fieldvalue = lv_sname2.*      APPEND INITIAL LINE TO lt_systems ASSIGNING <fs_systems>.
*      <fs_systems>-fieldname = 'GS_DATA-ZZRBM'.
*      <fs_systems>-stepl     = lvx_row.
*      <fs_systems>-fieldvalue = lv_sname3.
*
*      IF lv_zzrgx NE '其它' AND gs_data-werks = '1000'. "ADD BY CHY 2021.03.23
*        APPEND INITIAL LINE TO lt_systems ASSIGNING <fs_systems>.
*        <fs_systems>-fieldname = 'GS_DATA-DEPARTMENTID'.
*        <fs_systems>-stepl     = lvx_row.
*        <fs_systems>-fieldvalue = ''.
*
*        APPEND INITIAL LINE TO lt_systems ASSIGNING <fs_systems>.
*        <fs_systems>-fieldname = 'GS_DATA-DEPARTMENTDNM'.
*        <fs_systems>-stepl     = lvx_row.
*        <fs_systems>-fieldvalue = ''.
*      ENDIF.CALL FUNCTION 'DYNP_VALUES_UPDATE'EXPORTINGdyname               = sy-repiddynumb               = '100'TABLESdynpfields           = lt_systemsEXCEPTIONSinvalid_abapworkarea = 1invalid_dynprofield  = 2invalid_dynproname   = 3invalid_dynpronummer = 4invalid_request      = 5no_fielddescription  = 6undefind_error       = 7OTHERS               = 8.IF sy-subrc <> 0.ENDIF.ENDIF.ENDIF.ENDMODULE.

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

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

相关文章

WorkTool无障碍服务实现企业微信机器人接口

前言 想要实现一个企业微信机器人&#xff0c;如京东/拼多多福利群、美团瑞幸定时营销群、自助订单查询、智能咨询或社群管理机器人等&#xff0c;首先官方未提供外部群/客户群的机器人API&#xff0c;会话存档也只在一定场景下适用&#xff0c;及时使用会话存档也存在只能收不…

opencv+python物体检测【03-模仿学习】

仿照练习&#xff1a;原文链接 步骤一&#xff1a;准备图片 正样本集&#xff1a;正样本集为包含“识别物体”的灰度图&#xff0c;一般大于等于2000张&#xff0c;尺寸不能太大&#xff0c;尺寸太大会导致训练时间过长。 负样本集&#xff1a;负样本集为不含“识别物体”的…

微服务--Gateway网关学习

Gateway服务网关 为什么需要网关 网关功能&#xff1a; 身份认证和权限校验服务路由&#xff0c;负载均衡请求限流 网关的技术实现&#xff1a;在SpringCloud网关的实现包括两种&#xff1a; gatewayzuul Zuul是基于Servlet的实现&#xff0c;属于阻塞式编程。而SpringCloudGa…

车道线检测-E2E_LSFitting 论文学习笔记

论文&#xff1a;《End-to-end Lane Detection through Differentiable Least-Squares Fitting》 代码&#xff1a;https://github.com/wvangansbeke/LaneDetection_End2End 材料&#xff1a;https://zhuanlan.zhihu.com/p/94419168 特点&#xff1a; 拟合二次曲线&#xff1b…

专家说年轻人工资低是能力不行….

我们国家的很多专家总讲究语不惊人死不休&#xff0c;同时他们还很喜欢话风高速原地调头。 最近又有一个碉堡了的专家在大放厥词&#xff0c;就在前几天的首届长白山高峰论坛上中航基金副总经理邓海清发表批评年轻人的言论&#xff0c;邓老板是这么说的&#xff1a;很多年轻人…

synchronized 关键字-监视器锁 monitor lock

1.代码示例&#xff1a; package thread3;import java.util.Scanner;public class Test2 {public static Object object new Object();public static void main(String[] args) throws InterruptedException {Thread thread1 new Thread(() -> {Scanner scanner new Sca…

第五十一章 BFS进阶(一)——双端队列广搜

第五十一章 BFS进阶&#xff08;一&#xff09;——双端队列广搜一、原理二、例题1、问题2、分析三、代码一、原理 在介绍双端队列广搜之前&#xff0c;我们先回顾一下堆优化版本的dijkstradijkstradijkstra算法。 在这个算法中&#xff0c;我们使用的是小根堆来找到距离起点…

Windows/VM虚拟机安装黑群晖6.1-----保证有效而且简单操作

1视频&#xff1a;Windows/VM虚拟机安装黑群晖教程_哔哩哔哩_bilibili2:网址&#xff1a;Synology Web Assistant3&#xff1a;重新打开群晖操作步骤1&#xff1a;按着视频下载好资源后&#xff0c;按照视频操作&#xff0c;途中修改地方&#xff08;两个情况选择其中一个&…

Flowable进阶学习(九)数据对象DataObject、租户Tenant、接收任务ReceiveTask

文章目录一、数据对象DataObject二、租户 Tenant三、接收任务 ReceiveTask案例一、数据对象DataObject DataObject可以⽤来定义⼀些流程的全局属性。 绘制流程图&#xff0c;并配置数据对象&#xff08;不需要选择任意节点&#xff09; 2. 编码与测试 /*** 部署流程*/ Test…

函数/任意波形发生器 DG5072 技术资料

函数/任意波形发生器 DG5072 DG5000人性化的界面设计和键盘布局&#xff0c;给用户带来非凡体验&#xff1b;丰富的标准配置接口&#xff0c;可轻松实现仪器远程控制&#xff0c;为用户提供更多解决方案。 产品特性 4.3英寸16M真彩TFT液晶显示屏 350 MHz、250MHz、100 MHz或70…

微信卸载后重装的聊天记录还能找回吗?

很多人微信卸载后&#xff0c;问能不能恢复之前的聊天记录&#xff1f; 我想大家肯定都去百度搜索了&#xff0c;能搜出来可行的办法了么&#xff0c;没有是吧&#xff0c;那就看看我能不能帮到你&#xff0c;根据我的经验来解决。 答&#xff1a;理论上是不能的&#xff0c;因…

详细聊聊spring核心思想

犹记我当年初学 Spring 时&#xff0c;还需写一个个 XML 文件&#xff0c;当时心里不知所以然&#xff0c;跟着网上的步骤一个一个配置下来&#xff0c;配错一个看着 error 懵半天&#xff0c;不知所谓地瞎改到最后能跑就行&#xff0c;暗自感叹 tmd 这玩意真复杂。 到后来用上…

C语言入门教程||C语言 循环||C语言 函数

C语言 循环有的时候&#xff0c;可能需要多次执行同一块代码。一般情况下&#xff0c;语句是顺序执行的&#xff1a;函数中的第一个语句先执行&#xff0c;接着是第二个语句&#xff0c;依此类推。编程语言提供了允许更为复杂的执行路径的多种控制结构。循环语句允许我们多次执…

【Django】云笔记项目

一、介绍 用户可在系统中记录自己的笔记&#xff0c;用户的数据被存储在云笔记平台&#xff1b;用户和用户之间的数据为隔离存储&#xff08;登陆后才能使用相关笔记功能&#xff0c;且只能查阅自己的笔记&#xff09; 二、功能拆解 1、用户模块 注册&#xff1a;成为平台…

【Java 面试合集】简述下自定义异常的应用场景

简述下自定义异常的应用场景 1. 概述 如上图所示&#xff0c;我们想回答这个问题就要了解异常的基本结构。哪些是我们可以控制的&#xff0c;哪些是我们不能控制的。 也许有人会问了&#xff0c;其实在逻辑中可以多加判断&#xff0c;为什么要需要自定义呢。 其实判断的内容无…

跳跃游戏 II 解析

题目描述给定一个长度为 n 的 0 索引整数数组 nums。初始位置为 nums[0]。每个元素 nums[i] 表示从索引 i 向前跳转的最大长度。换句话说&#xff0c;如果你在 nums[i] 处&#xff0c;你可以跳转到任意 nums[i j] 处:0 < j < nums[i] i j < n返回到达 nums[n - 1] 的…

【i2c协议介绍】

文章目录协议简单介绍五种速度模式master/slave和transmitter/receiver关系第一种情况&#xff1a;master作为transmitter&#xff0c;slave作为receiver第二种情况&#xff1a;当master作为receiver&#xff0c;slave作为transmitteri2c基本信号start产生stop信号数据传输有效…

基于OpenCV 的车牌识别

基于OpenCV 的车牌识别 车牌识别是一种图像处理技术&#xff0c;用于识别不同车辆。这项技术被广泛用于各种安全检测中。现在让我一起基于 OpenCV 编写 Python 代码来完成这一任务。 车牌识别的相关步骤 1. 车牌检测&#xff1a;第一步是从汽车上检测车牌所在位置。我们将使用…

《Spring揭秘》记录

IOC部分 IOC不等于IOC容器&#xff0c;即使不使用spring&#xff0c;我们也可以使用IOC&#xff0c;只不过spring提供了IOC容器实现。Spring的IoC容器的功能就包含一个提供依赖注入服务的IoC Service Provider。它提供两方面的支持&#xff0c;业务对象的构建管理和业务对象间的…

python读取.stl文件

目录 .1 文本方式读取 1.2 stl解析 1.3 stl创建 .2 把点转换为.stl .1 文本方式读取 代码如下 stl_path/home/pxing/codes/point_improve/data/003_cracker_box/0.stlpoints[] f open(stl_path) lines f.readlines() prefixvertex num3 for line in lines:#print (l…