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

ABAP POH和POV事件中 获得屏幕字段的值

屏幕中有四个主要的逻辑流 (PBO,PAI POH,POV)

PROCESS BEFORE OUTPUT.       该事件在屏幕出来之前被触发

PROCESS AFTER INPUT.       该模块监听用户操作时间

PROCESS ON HELP-REQUEST.  

    FIELD FIELD_NAME MODULE HELP_MODULE.        "当用户查看帮助信息时(按下F1键)被触发,事件结束后将继续处理当前屏幕

PROCESS ON VALUE-REQUEST.  

 FIELD FIELD_NAME MODULE F4_MODULE.             "当用户按下查询帮助按键时(或按下F4)被触发,事件结束后将继续处理当前屏幕。

 

 

http://www.mamicode.com/info-detail-1921783.html

在Screen显示之前,系统会自动将程序变量值放到屏幕字段中;在PAI事件中,系统会自动将屏幕字段的值更新到相应的程序变量。
在Screen Logic中我们还有POH和POV事件,所以有时需要调用函数DYNP_VALUES_READ来读取屏幕字段值。
 
比如:屏幕上有两个字段,NAME1 和 NAME2。当字段NAME2触发搜索帮助的时候,必须参照用户在NAME1中的录入值。由于PAI尚未被执行,屏幕字段NAME1的字符串值尚未更新到程序变量NAME1。
此时我们可以调用DYNP_VALUES_READ来实现。
 
DATA: dynpfields TYPE TABLE OF dynpread WITH HEADER LINE.

CLEAR: dynpfields, dynpfields[].
 dynpfields-fieldname = 'NAME1'. "填入需要读值的字段名
APPEND dynpfields.

CALL FUNCTION 'DYNP_VALUES_READ'
   EXPORTING
     dyname             = sy-repid
     dynumb             = sy-dynnr
     translate_to_upper = 'X'
   TABLES
     dynpfields         = dynpfields
   EXCEPTIONS
     OTHERS             = 9.
IF sy-subrc = 0.
   READ TABLE dynpfields WITH KEY fieldname = 'NAME1'.
   name1 = dynpfields-fieldvalue. "备注
ENDIF. 

 

转载于:https://www.cnblogs.com/mingdashu/p/7230268.html

相关文章:

  • Hive优化(2)之系统评估reduce数为1的MR Job优化
  • RecycleView + SwipeRefreshLayout 实现下拉刷新和底部自动加载
  • hive中间接实现不等值连接
  • python之字符编码
  • Hadoop计算文件大小
  • 在Oracle中利用SQL_TRACE跟踪SQL的执行
  • Linux添加/删除用户和用户组
  • Hive优化(3)之随机数避免数据倾斜
  • Angular2学习(一)
  • hive优化(4)之mapjoin和union all避免数据倾斜
  • hive cli
  • Hive优化(5)之选择合适的map数
  • C++ 文件操作(CFile类)
  • Hadoop MapReduce:详解Shuffle过程
  • 编译树莓派2代B型OpenWrt固件实现无线路由器及nodogsplash认证功能
  • Essential Studio for ASP.NET Web Forms 2017 v2,新增自定义树形网格工具栏
  • leetcode46 Permutation 排列组合
  • mysql 5.6 原生Online DDL解析
  • MySQL数据库运维之数据恢复
  • nodejs调试方法
  • PAT A1092
  • PyCharm搭建GO开发环境(GO语言学习第1课)
  • Python打包系统简单入门
  • Python中eval与exec的使用及区别
  • Spring思维导图,让Spring不再难懂(mvc篇)
  • Vue.js-Day01
  • Vue2 SSR 的优化之旅
  • 百度贴吧爬虫node+vue baidu_tieba_crawler
  • 对象引论
  • 多线程 start 和 run 方法到底有什么区别?
  • 仿天猫超市收藏抛物线动画工具库
  • 机器学习学习笔记一
  • 坑!为什么View.startAnimation不起作用?
  • 远离DoS攻击 Windows Server 2016发布DNS政策
  • 在weex里面使用chart图表
  • puppet连载22:define用法
  • ​如何在iOS手机上查看应用日志
  • # Swust 12th acm 邀请赛# [ A ] A+B problem [题解]
  • #ifdef 的技巧用法
  • #Linux(make工具和makefile文件以及makefile语法)
  • (0)Nginx 功能特性
  • (9)YOLO-Pose:使用对象关键点相似性损失增强多人姿态估计的增强版YOLO
  • (二)hibernate配置管理
  • (十五)devops持续集成开发——jenkins流水线构建策略配置及触发器的使用
  • (一)VirtualBox安装增强功能
  • (转)Spring4.2.5+Hibernate4.3.11+Struts1.3.8集成方案一
  • ./include/caffe/util/cudnn.hpp: In function ‘const char* cudnnGetErrorString(cudnnStatus_t)’: ./incl
  • .bat批处理(十一):替换字符串中包含百分号%的子串
  • .net core 控制台应用程序读取配置文件app.config
  • .Net IOC框架入门之一 Unity
  • .NET 使用 ILMerge 合并多个程序集,避免引入额外的依赖
  • [Angularjs]asp.net mvc+angularjs+web api单页应用之CRUD操作
  • [bzoj1006]: [HNOI2008]神奇的国度(最大势算法)
  • [BZOJ4010]菜肴制作
  • [C++基础]-入门知识