SAP DYNP_VALUES_UPDATE/READ 更新/获取屏幕字段函数用法

news2024/11/17 23:43:36

【函数】Function DYNP_VALUES_READ, DYNP_VALUES_UPDATE

【作用】实时获取和更新屏幕上的最新值。

【场景】GUI选择屏幕,选择公司代码,过滤所属公司下的项目;选择项目过滤所属的分期。



REPORT zdynp_values_read MESSAGE-ID 00 NO STANDARD PAGE HEADING.
TABLES:t001,ztsd0011.

SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME TITLE TEXT-t01.
PARAMETERS p_bukrs TYPE t001-bukrs.
PARAMETERS p_pspnr TYPE ztsd0011-pspnr.
SELECT-OPTIONS:
  s_fqwbs  FOR ztsd0011-fqwbs  MODIF ID m1.

SELECTION-SCREEN END OF BLOCK b2.
*----------------------------------------------------------------------
*  AT SELECTION-SCREEN ON VALUE-REQUEST
*----------------------------------------------------------------------
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_pspnr.
  PERFORM frm_fqwbs_f4 USING 'P_PSPNR-LOW' 1 'P_BUKRS'.

AT SELECTION-SCREEN ON VALUE-REQUEST FOR s_fqwbs-low.
  PERFORM frm_fqwbs_f4 USING 'S_FQWBS-LOW' 2 'P_PSPNR'.

AT SELECTION-SCREEN ON VALUE-REQUEST FOR s_fqwbs-high.
  PERFORM frm_fqwbs_f4 USING 'S_FQWBS-HIGH' 2 'P_PSPNR'.

*&---------------------------------------------------------------------*
*&      Form  FRM_FQWBS_F4
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
FORM frm_fqwbs_f4  USING uv_name uv_level uv_bukrs.
  DATA: BEGIN OF lt_posid OCCURS 0,
          posid TYPE prps-posid,              "工作分解结构元素
          post1 TYPE prps-post1,              "短描述
          pbukr TYPE prps-pbukr,              "短描述
        END OF lt_posid.
  DATA: l_pspnr  TYPE prps-pspnr,
        lv_bukrs TYPE bukrs_d,
        l_posid  TYPE prps-posid,
        l_psphi  type prhi-psphi.

  DATA:
    wa_posid   LIKE lt_posid,
    scr_fields LIKE dynpread OCCURS 1 WITH HEADER LINE.

  CLEAR: scr_fields, scr_fields[].

  scr_fields-fieldname = uv_bukrs.
  APPEND scr_fields.

  CALL FUNCTION 'DYNP_VALUES_READ'
    EXPORTING
      dyname               = sy-repid
      dynumb               = sy-dynnr
    TABLES
      dynpfields           = scr_fields
    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.
  IF sy-subrc EQ 0.
    READ TABLE scr_fields INDEX 1.
    CASE uv_level.
      WHEN '1'.
        lv_bukrs = scr_fields-fieldvalue.
      WHEN '2'.
        l_posid = scr_fields-fieldvalue.
    ENDCASE.
  ENDIF.

  "获取项目内码
  SELECT SINGLE pspnr psphi INTO ( l_pspnr, l_psphi ) FROM prps WHERE pspnr = l_posid.

  CASE uv_level.
    WHEN '1'.
      "公司代码过滤所属项目
      IF lv_bukrs IS NOT INITIAL.
        SELECT prps~posid
        prps~post1
        prps~pbukr
        INTO CORRESPONDING FIELDS OF TABLE lt_posid
        FROM prps
        JOIN prhi ON prps~pspnr EQ prhi~posnr
        WHERE prps~stufe EQ uv_level
        AND pbukr = lv_bukrs.
      ELSE.
        SELECT prps~posid
        prps~post1
        prps~pbukr
        INTO CORRESPONDING FIELDS OF TABLE lt_posid
        FROM prps
        JOIN prhi ON prps~pspnr EQ prhi~posnr
        WHERE prps~stufe EQ uv_level.
      ENDIF.
    WHEN '2'.
      "项目过滤所属的分期
      IF l_psphi IS NOT INITIAL.
        SELECT prps~posid
        prps~post1
        prps~pbukr
        INTO CORRESPONDING FIELDS OF TABLE lt_posid
        FROM prps
        JOIN prhi ON prps~pspnr EQ prhi~posnr
        WHERE prps~stufe = '2'
          AND prhi~psphi = l_psphi.
      ENDIF.
  ENDCASE.

  SORT lt_posid BY posid.

  CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
    EXPORTING
      retfield        = 'POSID'
      dynpprog        = sy-repid
      dynpnr          = sy-dynnr
      dynprofield     = uv_name
      value_org       = 'S'
    TABLES
      value_tab       = lt_posid
    EXCEPTIONS
      parameter_error = 1
      no_values_found = 2
      OTHERS          = 3.
ENDFORM.

【实现效果】


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

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

相关文章

grbl下载、编译与修改

一、下载 官方基本grbl https://github.com/grbl/grbl官方优化后的grbl https://github.com/gnea/grbl官方适配mega2560的grbl https://github.com/gnea/grbl-Mega/ 二、编译 arduino最新 为了防止出现问题,将arduino更新到最新是必要的。压缩和加载库 压缩&…

文件上传不断流,下载不限速的企业网盘推荐——可道云teamOS

在信息爆炸的时代,企业文件的传输与管理成为了日常工作中不可或缺的一环。面对海量数据的传输需求,如何确保文件上传的流畅性、下载的高效性,同时又能兼顾文件管理的便捷性,成为了许多企业面临的难题。 今天,我要向大…

20240823 system()读取io口状态 popen()接收io操作的返回信息

读取工控机io system 与 popen io操作APIc system()popenopen os.system()、os.popen()和subprocess的区别(一) 函数system 直接读文件最快![Linux] Ubuntu实机下控制GPIO io操作API 工控机的io口操作的函数 需要…

【机器学习】CNN在计算机视觉中的应用

🌈个人主页: 鑫宝Code 🔥热门专栏: 闲话杂谈| 炫酷HTML | JavaScript基础 ​💫个人格言: "如无必要,勿增实体" 文章目录 CNN在计算机视觉中的应用1. 引言2. 图像分类3. 目标检测3.1 基于区域的目标检测…

总结拓展八:SAP常见的系统间接口方式

(01)-远程函数调用 所谓系统接口,实际上就是不同系统间的数据交换方式。 对于一个企业来说,肯定不是一个系统就能够支持所有业务的运转,几乎所有企业都会使用多个系统,比如较为常见的ERP/MES等。 当企业有多…

【STM32单片机_(HAL库)】3-4-4【中断EXTI】【智能排队控制系统】项目实现

3-4-2系统框图及硬件接线 3-4-3系统代码框架搭建 4.软件—tasks.c文件编写 排队控制系统状态机 tasks.c #include "tasks.h" #include "led.h" #include "beep.h" #include "exti.h" #include "lcd1602.h" #include &…

直流负载的必要性

直流负载在电力系统中扮演着至关重要的角色,它的必要性主要体现在以下几个方面: 1. 能源转换效率:在现代电力系统中,电能的生成、传输和使用过程中,需要经过多次能量形式的转换。在这个过程中,直流负载可以…

虚幻引擎UE5入坑记

前言 Unreal Engine 和Unity Engine作为目前主流的游戏引擎,各有优缺点。而我目前的工作还是以Unity开发为主,在使用Unity的过程中,总避免不了听到或看到过UE相关的东西,从开始的好奇到后面想要去学习它,但是&#xf…

数据结构之AVL树的 “奥秘“

二叉树查询性能分析: 插入和删除操作都必须先查找,查找效率代表了二叉搜索树中各个操作的性能 对有n个结点的二叉搜索树,若每个元素查找的概率相等,则二叉搜索在二叉搜索树树平均查找长度是结点的深度的函数,即结点越深…

继电器的工作原理及作用

系列文章目录 1.元件基础 2.电路设计 3.PCB设计 4.元件焊接 5.板子调试 6.程序设计 7.算法学习 8.编写exe 9.检测标准 10.项目举例 11.职业规划 文章目录 前言1.基本概念3.主要作用4.基本结构5.工作原理 前言 送给大学毕业后找不到奋斗方向的你(每周不定时更新&…

联合贷款系统架构与流程解析

在联合贷款作为一种创新的融资模式,正逐渐受到越来越多金融机构和借款人的青睐。本文将分析联合贷款产品的优势,详细描述其流程,并结合实际案例展示联合贷款在实际应用中的场景。帮助读者增进对于联合贷款系统架构及其运作机制的了解。 一、…

600条最强 Linux 命令总结(非常详细)零基础入门到精通,收藏这一篇就够了

一、基本命令 uname -m 显示机器的处理器架构 uname -r 显示正在使用的内核版本 dmidecode -q 显示硬件系统部件 (SMBIOS / DMI) hdparm -i /dev/hda 罗列一个磁盘的架构特性 hdparm -tT /dev/sda 在磁盘上执行测试性读取操作系统信息 arch 显示机器的处理器架构 uname -…

UE5 UMG UI编辑器工作流

创建UI控件 1.在内容菜单(Content Browser)面板,点击添加(Add)或者右键空白处,依次选择用户界面(User Interface)/ 控件蓝图(Widget Blueprint)。 2.在弹出…

领域驱动模型设计与微服务架构落地(四)之DDD分层架构设计

那么聊完领域模型之后,其实我们会发现,接下来,很多的程序员可能就会直接上代码,因为很多的程序员觉得这个你的战略设计跟我们落地的代码没有关系。哪怕你可能说得天花乱坠,可是做为底层的开发人员,我只关心手头上的功能有没有实现,实现完成之后有没有BUG。 那么我们该如…

全网最详细的自动化测试

🍅 点击文末小卡片,免费获取软件测试全套资料,资料在手,涨薪更快 软件测试作为软件生命周期中不可缺少的组成部分,对提高软件质量起着重要作用。随着软件测试的发展,自动化测试技术也得到了很大提高。 …

CART算法:决策树的双面剑

一 引言 上一篇文章 决策树算法:ID3与C4.5的对比分析 中介绍了ID3和C4.5两种决策树算法,这两种决策树都只能用于分类问题,而CART(classification and regression tree)决策树算法它可以处理分类问题(Class…

修复数据库中的 “Access Denied: SUPER Privilege Required” 错误

当您使用数据库时,您可能会看到错误消息:“Access denied; you need (at least one of) the SUPER privilege(s) for this operation”。当您的数据库用户没有足够的权限来执行某些操作时,就会发生这种情况。 本文中,我们将查看导…

SQL手工注入漏洞测试(MongoDB数据库)靶场通关攻略

构造数据回显 });return ({title:1,content:2 成功回显1,2,接下来我们开始尝试查询数据库 });return({title:tojson(db),content:2 得到之后我们就可以继续查询他的表名了 });return({title:tojson(db.getCollectionNames()),content:2 最后我们就可以爆出他表里的数…

【EI会议截稿通知】第六届光电科学与材料学术会议 (ICOSM 2024)

第六届光电科学与材料学术会议 (ICOSM 2024) 2024 6th Conference on Optoelectronic Science and Materials 重要通知 重要通知:经组委会商议决定,第六届光电科学与材料学术会议 (ICOSM 2024) 将于2024年9月7日线上召开,具体议程及线上参…

20L水箱植保无人机技术详解

1. 性能与载重 高效作业能力 本款20L水箱植保无人机专为大面积农田作业设计,具备出色的性能与载重能力。其最大载重量可达20kg,不仅轻松搭载20L的水箱及药液,还能根据实际作业需求配置额外的传感器、摄像头等设备,实现多功能集成…