【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金额 ...
随机推荐
- php判断变量是否为数字is_numeric()
is_numeric — 检测变量是否为数字或数字字符 <?php $tests = array( "31", 1380, "1e4", "no ...
- Error: unable to perform an operation on node 'rabbit@DESKTOP-6JT7D2H'. Please see diagnostics information and suggestions below.
https://blog.csdn.net/qq_32814555/article/details/79494533
- 【洛谷P2447】外星千足虫
题目大意:给定一个 M 个含 N 个未知数的异或方程组,保证有解,若存在唯一解,给出至少需要几个方程才能得出唯一解,若不存在,直接输出不存在. 题解:异或方程组也满足类似初等行变换的操作,只不过所有的 ...
- scrapy五大核心组件和中间件以及UA池和代理池
五大核心组件的工作流程 引擎(Scrapy) 用来处理整个系统的数据流处理, 触发事务(框架核心) 调度器(Scheduler) 用来接受引擎发过来的请求, 压入队列中, 并在引擎再次请求的时候返回. ...
- Python----webserver项目2
# 编码问题 - 为什么需要编码问题 - 本质上计算机只能识别01代码 - 如何用一长串01代码表示复杂的信息 - encode:编码 decode:解码 - 编码简史 - 二进制 - bit: 一 ...
- NOIP2016提高A组模拟9.17总结
第一题,典型的隔板问题, 但是我忘记隔板问题怎么打,一开始在花了1小时,还是没想出来,果断弃疗, 最后的40分钟,我打完了第二题,接着又用了20分钟推敲出一种极其猥琐的式子来代替,可惜预处理的阶乘忘记 ...
- J2EE知识总结——面试、笔试
9.2 jdk 1.8的新特性(核心是Lambda 表达式) 参考链接:http://www.bubuko.com/infodetail-690646.html (1)接口的默认方法 (给接口添加一个 ...
- 【leetcode】1189. Maximum Number of Balloons
题目如下: Given a string text, you want to use the characters of text to form as many instances of the w ...
- Vue3.0 Function API---------引用
1.了解 Vue 3.0 是否有 break change,就像 Python 3 / Angular 2 一样? 不,100% 兼容 Vue 2.0,且暂未打算废弃任何 API(未来也不).之前有草 ...
- python 输出一个随机数
题目:输出一个随机数. 程序分析:使用 random 模块. #!/user/bin/env python #coding:utf-8 import random print random.rando ...