【ABAP系列】SAP ABAP DYNP_VALUES_UPDATE 更新屏幕字段的函数及用法

前言部分
大家可以关注我的公众号,公众号里的排版更好,阅读更舒适。
正文部分
用这两个函数Function DYNP_VALUES_READ, DYNP_VALUES_UPDATE
参考代码:
MODULE ztmdno_dr_help INPUT.
DATA:
l_lifnr TYPE ztmt018-lifnr,
l_zvehtab TYPE ztmt018-zvehtab,
l_zvehid TYPE ztmt018-zvehid. CLEAR: gt_dynfields,gh_dynfields,it_return[],it_ztmdno[],ih_ztmdno. gh_dynfields-fieldname = 'PRE_DATA-LIFNR'.
APPEND gh_dynfields TO gt_dynfields.
CLEAR gh_dynfields.
gh_dynfields-fieldname = 'PRE_DATA-ZVEHTAB'.
APPEND gh_dynfields TO gt_dynfields.
----------------------获取屏幕的值
CALL FUNCTION 'DYNP_VALUES_READ'
EXPORTING
dyname = sy-repid
dynumb = sy-dynnr
translate_to_upper = 'X'
TABLES
dynpfields = gt_dynfields
EXCEPTIONS
invalid_abapworkarea =
invalid_dynprofield =
invalid_dynproname =
invalid_dynpronummer =
invalid_request =
no_fielddescription =
invalid_parameter =
undefind_error =
double_conversion =
stepl_not_found =
OTHERS = .
IF sy-subrc <> .
MESSAGE '函数DYNP_VALUES_READ,未能取值' TYPE 'E'.
EXIT.
ENDIF.
READ TABLE gt_dynfields INTO gh_dynfields WITH KEY fieldname = 'PRE_DATA-LIFNR'.
IF sy-subrc = .
l_lifnr = gh_dynfields-fieldvalue.
ENDIF. READ TABLE gt_dynfields INTO gh_dynfields WITH KEY fieldname = 'PRE_DATA-ZVEHTAB'.
IF sy-subrc = .
IF gh_dynfields-fieldvalue IS INITIAL.
MESSAGE '请先输入车牌号' TYPE 'I'.
EXIT.
ENDIF.
l_zvehtab = gh_dynfields-fieldvalue.
ENDIF. SELECT SINGLE zvehid
INTO l_zvehid
FROM ztmt018
WHERE lifnr = l_lifnr
AND zvehtab = l_zvehtab. SELECT ztmdno
ztmdname
ztmmob
zvehid
INTO TABLE it_ztmdno
FROM ztmt025
WHERE zvehid = l_zvehid.
IF it_ztmdno[] IS NOT INITIAL.
CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
EXPORTING
retfield = 'ZTMDNO_DR'
dynpprog = sy-repid
dynpnr = sy-dynnr
value_org = 'S'
TABLES
value_tab = it_ztmdno[]
return_tab = it_return[]
EXCEPTIONS
parameter_error =
no_values_found =
OTHERS = .
IF sy-subrc <> .
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF. READ TABLE it_return INDEX .
IF sy-subrc = .
pre_data-ztmdno_dr = it_return-fieldval.
READ TABLE it_ztmdno INTO ih_ztmdno WITH KEY zvehid = l_zvehid.
IF sy-subrc = .
CLEAR gh_dynfields.
gh_dynfields-fieldname = 'PRE_DATA-ZTMDNAME_DR'.
gh_dynfields-fieldvalue = ih_ztmdno-ztmdname_dr.
APPEND gh_dynfields TO gt_dynfields.
CLEAR gh_dynfields.
gh_dynfields-fieldname = 'PRE_DATA-ZTMMOB'.
gh_dynfields-fieldvalue = ih_ztmdno-ztmmob.
APPEND gh_dynfields TO gt_dynfields.
---------------------更新屏幕的值
CALL FUNCTION 'DYNP_VALUES_UPDATE'
EXPORTING
dyname = sy-repid
dynumb = sy-dynnr
TABLES
dynpfields = gt_dynfields
EXCEPTIONS
invalid_abapworkarea =
invalid_dynprofield =
invalid_dynproname =
invalid_dynpronummer =
invalid_request =
no_fielddescription =
undefind_error =
OTHERS = .
IF sy-subrc <> .
ENDIF.
ENDIF.
ENDIF.
ENDIF.
ENDMODULE. " ZTMDNO_DR_HELP INPUT
【ABAP系列】SAP ABAP DYNP_VALUES_UPDATE 更新屏幕字段的函数及用法的更多相关文章
- 【ABAP系列】ABAP CL_ABAP_CONV_IN_CE
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[ABAP系列]ABAP CL_ABAP_CON ...
- SAP物料主数据的屏幕字段控制,必输,隐藏
http://www.cnblogs.com/275147378abc/p/5699077.html 1.事务码MM01,把物料组设为选填字段. 2.找到物料组的屏幕字段. 3.在后台根据屏幕字段找到 ...
- 【FICO系列】SAP ABAP&FI FI/CO接口:待更新的不一致的FI/CO凭证标题数据
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[FICO系列]SAP ABAP&FI ...
- 【ABAP系列】SAP abap dialog screen屏幕参数简介
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[ABAP系列]SAP abap dialog ...
- 【MM系列】SAP ABAP 编辑字段出现:对象编辑中的错误
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[ABAP系列]SAP ABAP 编辑字段出现: ...
- 【ABAP系列】SAP 使用特殊的技术更新数据库(ABAP)
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[ABAP系列]SAP 使用特殊的技术更新数据库 ...
- 【ABAP系列】SAP ABAP WRITE字段隐藏的方法
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[ABAP系列]SAP ABAP 字段隐藏的方法 ...
- 【ABAP系列】SAP ABAP选择屏幕(SELECTION SCREEN)事件解析
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[ABAP系列]SAP ABAP选择屏幕(SEL ...
- 【ABAP系列】SAP smartforms金额字段产生空格,除去空格的方法
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[ABAP系列]SAP smartforms金额 ...
随机推荐
- VM错误解决:This Virtual Machine Appears To Be In Use
刚才准备做网站(数据备份都在VM里面),没想到启动不起来,咋一看,出现This Virtual Machine Appears To Be In Use字号,不过貌似我没有启动任何VM啊,何来in u ...
- 深入理解docker
注意这是一篇笔记整理,来源是一篇公众号,https://mp.weixin.qq.com/s/vS-Dp31T19Rk_tQj2GzmCQ 为了自己更好的查看和理解,涉及到侵权联系删! 目录: Ima ...
- crontab误删操作的恢复与防范
1.crontab -r 误删操作的恢复 语句解析:crontab -e 编辑 与 crontab -r 删除,由于e, r在键盘上是紧邻的,一旦误操作 crontab -r 将会删除每个用户的定时任 ...
- jmeter请求时出现no cookies
现象: 解决步骤: 1.添加http cookie管理器 2.检查http信息头管理器是否正确
- 百度地图api的简单应用(二):轻量级路径规划
同上篇的原理,我们还是输入url,返回json文件. 而由图可见,路径规划返回的json文件内容可能会很多.杂: 因此后续的处理与上篇略有不同. import json import requests ...
- 12.24TG1
1,线段树中把pushup写出去是因为 有点线段树维护的值比较多,写出去方便美观. 2,洛谷有的质量高有的质量不高,没办法.
- Python简单雷达图绘制
import numpy as npimport matplotlib.pyplot as pltimport matplotlibmatplotlib.rcParams['font.family'] ...
- luoguP1514 引水入城 x
P1514 引水入城 题目描述 在一个遥远的国度,一侧是风景秀美的湖泊,另一侧则是漫无边际的沙漠.该国的行政区划十分特殊,刚好构成一个N 行M 列的矩形,如上图所示,其中每个格子都代表一座城市,每座城 ...
- CQOI2010 传送带
题目链接:戳我 分别枚举线段AB上的出发点,和线段CD上的到达点,然后时间直接计算,取min就可以了. 但是这样子显然会T飞,(相当于1e5的平方吧?)所以我们进一步考虑性质. 然后打表(或者感性理解 ...
- 【转载】mysqld_safe Directory ‘/var/run/mysqld’ for UNIX socket file don’t exists.
This is about resetting the MySQL 5.7 root password in Ubuntu 16.04 LTS You probably tried something ...