屏幕中有四个主要的逻辑流 (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 = .
IF sy-subrc = .
READ TABLE dynpfields WITH KEY fieldname = 'NAME1'.
name1 = dynpfields-fieldvalue. "备注
ENDIF.

ABAP POH和POV事件中 获得屏幕字段的值的更多相关文章

  1. GridView控件RowDataBound事件中获取列字段值的几种途径

    前台: <asp:TemplateField HeaderText="充值总额|账号余额"> <ItemTemplate> <asp:Label ID ...

  2. GridView控件RowDataBound事件中获取列字段值的几种途径 !!!

    protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e) { if (e.Row.RowType == ...

  3. ADO.NET实体数据模型中关于数据库字段默认值的处理

    无论是Visual Studio 2010或者2013内置的ADO.NET实体数据模型都有一个小问题:数据库中有些字段已设置了默认值,但ADO.NET实体数据模型工具并不会自动进行设置. 这时需要手工 ...

  4. MySQL数据库中,将一个字段的值分割成多条数据显示

    本文主要记录如何在MySQL数据库中,将一个字符串分割成多条数据显示. 外键有时是以字符串的形式存储,例如 12,13,14 这种,如果以这种形式存储,则不能直接与其他表关联查询,此时就需要将该字段的 ...

  5. GridView控件RowDataBound事件中获取列字段途径

    今天不知道怎么回事怎么也找不到gridview列中的控件,关键是其为编辑时隐藏域中的控件,取值就很成问题了,网上搜了很到,找到这个比较经典的东东了,可能大家都知道,但很少对比整理到一起,有多种方法可以 ...

  6. oracle中的timestamp字段的值乱码问题修改

    我的解决方案: 直接新增一个系统变量: key值为:NLS_TIMESTAMP_FORMATvalue的值为:YYYY-MM-DD HH24:MI:SSFF6 其它解决方案: 在登录PLSQL之后,查 ...

  7. 在jsp中用一数组存储了数据库表中某一字段的值,然后在页面中输出其中的值。

    List<String> list = new ArrayList<String>();  String sql = "select userName from us ...

  8. 关于Java读取mysql中date类型字段默认值'0000-00-00'的问题

    今天在做项目过程中,查询一个表中数据时总碰到这个问题:      java.sql.SQLException:Value '0000-00-00' can not be represented as ...

  9. 如何查询表A中的某字段的值在表B中不存在?

    1.测试表创建,插入数据: create table a (id int, name )); create table b (id int); ,'a'); ,'b'); ,'c'); ,'d'); ...

随机推荐

  1. RobotFramework安装完成后怎么在桌面显示ride图标

    安装了RobotFramework后,怎么让桌面上显示带有机器人的图标呢? 一.桌面上创建ride快捷方式 进入到python的安装目录的/Scripts目录下,找到ride.py文件-->右键 ...

  2. 团队作业8——第二次项目冲刺(Beta阶段)Day2--5.19

    1.展开站立式会议: 会议内容:①汇报一天大家任务的完成成果. ②新成员对学到的知识进行交流,并向老成员提问. ③根据大家的进度制定新一轮的任务计划. 2.每个人的工作分配 队员 今日任务 明日任务 ...

  3. Swing-JDialog示例代码-用户登陆UI

    JDialog是一种对话框组件,它常常与JOptionPane配合使用.JOptionPane提供对话框内部的消息.按钮等内容,JDialog提供对话框窗体,提供模态/非模态等属性.JDialog与J ...

  4. 201521123005 《java程序设计》 第八周学习总结

    1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结集合与泛型相关内容. 1.2 选做:收集你认为有用的代码片段 2. 书面作业 本次作业题集集合 Q1List中指定元素的删除(题目4 ...

  5. Optional变量初学者指南

    苹果三周前发布了Swift. 从那时起,我一直在阅读Swift的官方指南,并在Xcode 6测试版中使用. 我开始喜欢Swift的简单和语法. 与我的团队一起,我仍然在研究新的语言,并看看它与Obje ...

  6. Shiro第四篇【Shiro与Spring整合、快速入门、Shiro过滤器、登陆认证】

    Spring与Shiro整合 导入jar包 shiro-web的jar. shiro-spring的jar shiro-code的jar 快速入门 shiro也通过filter进行拦截.filter拦 ...

  7. Mybatis第三篇【动态SQL】

    动态SQL 何为动态SQL??回顾一下我们之前写的SSH项目中,有多条件查询的情况,如下图 我们当时刚开始做的时候,是需要在Controller中判断SQL是否已经有条件了,因为SQL语句需要拼接起来 ...

  8. 时间效率:最小的K个数

    输入n个整数,找出其中最小的K个数.例如输入4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4,. import java.util.ArrayList; import jav ...

  9. MyBatis Mapper.xml文件中#{selector}和${selector}的区别

    1.优先使用#{paramName,jdbcType=VARCHAR} 写法,除了可以防止sql注入以外,它还能在参数里含有单引号的时候自动转义, 而${paramName}由于是类似于拼接sql的写 ...

  10. CyclicBarrier的使用之王者荣耀打大龙

    最近一直整并发这块东西,顺便写点Java并发的例子,给大家做个分享,也强化下自己记忆,如果有什么错误或者不当的地方,欢迎大家斧正. LOL和王者荣耀的玩家很多,许多人应该都有打大龙的经历,话说前期大家 ...