怎样获取屏幕输入字段的输入值

假设选择屏幕上有2个输入字段,
parameters: p_werks type marc-werks,  "工厂
                 p_matnr type marc-matnr. “物料
为物料输入字段设置F4输入帮助,其F4输入帮助内容是根据工厂值来确定的,就是说物料是输入的工厂下的所有物料。
但是在下列事件为物料设置输入帮助时获取不到屏幕输入的工厂值p_werks,不信可以加断点调试一下。
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_mantr.
我们需要在此调用一个

CALL FUNCTION ‘DYNP_VALUES_READ‘
    EXPORTING
      DYNAME                 = SY-CPROG
      DYNUMB                 = SY-DYNNR
    TABLES
      DYNPFIELDS             = LT_DYNPFIELDS
   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 <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
  ENDIF.
READ TABLE LT_DYNPFIELDS INTO LW_DYNPFIELDS
                           WITH KEY FIELDNAME  = ‘P_WERKS‘.
IF LW_DYNPFIELDS-FIELDVALUE <> SPACE.
    P_WERKS  =  LW_DYNPFIELDS-FIELDVALUE+0(4). "工厂值
ELSE.
   SET CURSOR FIELD CNS_P_BUKRS.
    MESSAGE E711(ZCM) WITH TEXT-009 SPACE SPACE SPACE.
ENDIF.

以上是对parameter的获取,如果是select-option,分2种情况:
    1. 读取一条值,调用function ‘RS_SELECTIONSCREEN_READ‘,此function只能读取一条,不能读取多条;
   2. 读取多条值,调用function ‘RS_REFRESH_FROM_SELECTOPTIONS‘,此function只能读取多条,不能读取一条。

时间: 2024-09-28 15:58:23

怎样获取屏幕输入字段的输入值的相关文章

C++获取屏幕输入

1. c++获取屏幕上一行数字的输入,以任意字符分隔,以回车结束(不需要提前知道有多少数据) #include<iostream> #include<vector> #include<sstream> #include<stdlib.h> using namespace std; void split(const string& s, const string& delim,vector<string> &elems) {

Android-------ListView列表中获取EditText输入的值

最近项目的购物车中用列表中包含了留言功能, 需要获取EditText输入的内容,当购买多件商品时,就有点棘手了. 经过查资料解决了这个功能,并写了一个案例: 效果图: 可以在商品数据用一个字段来管理留言数据,这样就可以方便的操作了. 代码: public class MainActivity extends AppCompatActivity { ListView listView; @Override protected void onCreate(Bundle savedInstanceSt

android DisplayMetrics 获取屏幕分辨率

Android 提供DisplayMetircs 类可以很方便的获取分辨率.下面介绍 DisplayMetics 类: Andorid.util 包下的DisplayMetrics 类提供了一种关于显示的通用信息,如显示大小,分辨率和字体. 为了获取DisplayMetrics 成员,首先初始化一个对象如下: DisplayMetrics metrics = new DisplayMetrics(); getWindowManager().getDefaultDisplay().getMetri

java程序获取键盘输入(转载)

Java程序开发过程中,需要从键盘获取输入值是常有的事,但Java它偏偏就没有像c语言给我们提供的scanf(),C++给我们提供的cin()获取键盘输入值的现成函数!Java没有提供这样的函数也不代表遇到这种情况我们就束手无策,我们来看以下三种解决方法: 方法一:从控制台接收一个字符,然后将其打印出来 代码示例: 1 //System.in.read()方法,只能接收单个字符 2 private static void inputMethod1() throws IOException { 3

JAVA中获取键盘输入的方法总结

Java程序开发过程中,需要从键盘获取输入值是常有的事,但Java它偏偏就没有像c语言给我们提供的scanf(),C++给我们提供的cin()获取键盘输入值的现成函数!下面介绍三种解决方法: 方法一:从控制台接收一个字符,然后将其打印出来 import java.io.*; public static void main(String [] args) throws IOException{ System.out.print("Enter a Char:"); char i = (ch

Python从菜鸟到高手(6):获取用户输入、函数与注释

1. 获取用户输入   要编写一个有实际价值的程序,就需要与用户交互.当然,与用户交互有很多方法,例如,GUI(图形用户接口)就是一种非常好的与用户交互的方式,不过我们先不讨论GUI的交互方式,本节会采用一种原始,但很有效的方式与用户交互,这就是命令行交互方式,也就是说,用户通过命令行方式输入数据,程序会读取这些数据,并做进一步的处理.   从命令行接收用户的输入数据,需要使用input函数.input函数接收一个字符串类型的参数,用于作为输入的提示.input函数的返回值就是用户在命令行中录入

cocos2d-x JS 获取屏幕大小或中点

以一张背景图为例: var HelloWorldLayer = cc.Layer.extend({ ctor:function () { this._super(); var bg = new cc.Sprite(res.HelloWorld_png); var size = cc.director.getWinSize();//获取屏幕大小 bg.x = size.width / 2; // x轴/2即为x轴中点 bg.y = size.height / 2; // y轴/2即为y轴中点 th

python入门学习--语句、获取用户输入、函数

1.语句 1.1 语句和表达式有什么区别呢?表达式就是某件事情,而语句是做某件事情(即告诉计算机做什么).比如2*2是4,而print2*2则是打印4 1.2 if语句 当条件为假时,什么都没发生:当条件为真时,后面的语句(上图为print语句)被执行.注:在交互式解释器内使用if语句,需要按两次回车,if语句才会执行 2.获取用户输入 python提示符(>>>)后面的语句可以算作一个完整的程序的组成部分了,输入的值由用户提供,而程序就会打印出输入的两个数的乘积1428.在编写程序的时

C#获取屏幕鼠标所指点的颜色

有时候要获取屏幕某一点的坐标颜色值,可以如下实现: 在VS2012中创建一个C#的Windows窗口应用程序,然后在Form上添加PictureBox和Button两个控件,并加入以下代码. //需要这个命名空间: //using System.Runtime.InteropServices; [DllImport("user32.dll")]//取设备场景 private static extern IntPtr GetDC(IntPtr hwnd);//返回设备场景句柄 [DllI