ABAP实例:如何生成年月的输入帮助
在ABAP的设计过程中经常会出现账务期输入,格式为年月。如果我们使用spmon元素为参考,但是系统无输入帮助,用户常常出错,为了避免输入错误。我们可以自定义输入帮助,步骤如下:
1、定义选择变量
select-options s_spmon for s031-spmon default sy-datum+0(6) obligatory.
2、定义帮助子过程
data: begin of mf_dynpfields occurs 1.
include structure dynpread.
data: end of mf_dynpfields.
data: mf_returncode like sy-subrc,
mf_monat like isellist-month,
mf_hlp_repid like sy-repid.
field-symbols: <mf_feld>.
get cursor field mf_dynpfields-fieldname.
append mf_dynpfields.
mf_hlp_repid = sy-repid.
do 2 times.
call function 'DYNP_VALUES_READ'
exporting
dyname = mf_hlp_repid
dynumb = sy-dynnr
tables
dynpfields = mf_dynpfields
exceptions
invalid_ABAPworkarea = 01
invalid_dynprofield = 02
invalid_dynproname = 03
invalid_dynpronummer = 04
invalid_request = 05
no_fielddescription = 06
undefind_error = 07.
if sy-subrc = 3.
mf_hlp_repid = 'SAPLALDB'.
else.
read table mf_dynpfields index 1.
translate mf_dynpfields-fieldvalue using '_ '.
exit.
endif.
enddo.
if sy-subrc = 0.
call function 'CONVERSION_EXIT_PERI_INPUT'
exporting
input = mf_dynpfields-fieldvalue
importing
output = mf_monat
exceptions
error_message = 1.
if mf_monat is initial.
mf_monat = sy-datlo(6).
endif.
call function 'POPUP_TO_SELECT_MONTH'
exporting
actual_month = mf_monat
importing
selected_month = mf_monat
return_code = mf_returncode
exceptions
factory_calendar_not_found = 01
holiday_calendar_not_found = 02
month_not_found = 03.
if sy-subrc = 0 and mf_returncode = 0.
call function 'CONVERSION_EXIT_PERI_OUTPUT'
exporting
input = mf_monat
importing
output = mf_dynpfields-fieldvalue.
collect mf_dynpfields.
call function 'DYNP_VALUES_UPDATE'
exporting
dyname = mf_hlp_repid
dynumb = sy-dynnr
tables
dynpfields = mf_dynpfields
exceptions
invalid_ABAPworkarea = 01
invalid_dynprofield = 02
invalid_dynproname = 03
invalid_dynpronummer = 04
invalid_request = 05
no_fielddescription = 06
undefind_error = 07.
endif.
endif.
endform. "MONAT_F4
3、定义输入帮助事件
perform monat_f4.
at selection-screen on value-request for s_spmon-low.
perform monat_f4.
at selection-screen on value-request for s_spmon-high.
perform monat_f4.
ABAP实例:如何生成年月的输入帮助相关推荐
- ABAP实例:一个现金流量表的代码
ABAP实例:一个现金流量表的代码 * program SOURCE HEADER : 现金流量表 * Program Name: * Description: * D ...
- 01基于HLS的加速器Overlay设计实例 - 快速生成硬件IP
可进qq群进行相关Verilog知识交流:1073030956 基于HLS的加速器Overlay设计实例 – 快速生成硬件IP 介绍 本章节介绍了HLS的基本操作流程,你将熟悉HLS工程的创建.仿真. ...
- java生成验证码实例_Java生成验证码功能实例代码
页面上输入验证码是比较常见的一个功能,实现起来也很简单.给大家写一个简单的生成验证码的示例程序,需要的朋友可以借鉴一下. 闲话少续,直接上代码.代码中的注释很详细. package com.SM_te ...
- ABAP实例之ALV
*&-----------------------* *& Report ZLG_ALV ...
- ABAP文档生成工具
本文介绍的工具原理和JavaDoc类似,位于software component BBPCRM 1. 在ABAP类里新建一个名为CLASS_DOCU的私有方法. 然后把所有的注释写在这个方法源代码的前 ...
- shell脚本执行php文件_分享两个shell脚本实例--批量生成随机字符文件名和批量改名...
概述 在计算机科学中,for循环(英语:for loop)是一种编程语言的迭代陈述,能够让程式码反复的执行. 它跟其他的循环,如while循环,最大的不同,是它拥有一个循环计数器,或是循环变数.这使得 ...
- python生成动态二维码实例_python生成动态个性二维码(示例代码)
1 安装工具 2 生成普通二维码 3 带图片的二维码 4 动态 GIF 二维码 5 在Python程序中使用 一.安装 首先在python环境下运行, 打开cmd进入python27 进入script ...
- 将实例的生成交给子类——工厂方法模式
工厂方法模式(Factory Method),定义一个用于创建对象的接口,让子类决定实例化哪一个类.工厂方法使一个类的实例化延迟到子类. 工厂方法实现时,由客户端决定实例化哪个工厂来实现具体的产品类, ...
- 19.猜数字的游戏:随机生成数字与输入数字进行比较
编程题目: 19.设计一个猜数字的游戏.数字为50-150之间的一个整数,由程序随机生成,程序使用者在键盘上输入数字,程序将输入的数字与被猜的数字作比较,给使用者提示信息(输入数字比被猜的的数字小,提 ...
最新文章
- 2022-2028年中国塑料安瓿瓶行业市场研究及前瞻分析报告
- 华为VC首次出手:投资2家半导体公司,带火5G建材“碳化硅”
- element-ui + redis + mongo + nuxt
- sublime使用笔记
- AT4513-[AGC030D]InversionSum【dp】
- java activemq jmx_通过JMX 获取Activemq 队列信息
- bootstrap .navbar-header 控制button隐藏/显示
- 串口转WIFI的工作方式理解
- 常见算法的英文命名(排序、查找)
- 2010年计算机专业考研大纲解析
- 如何查找qq邮箱的服务器地址
- linux scp密码参数,linux-scp不输入密码 - 不断的前进ING。。。 - 51Testing软件测试网 51Testing软件测试网-软件测试人的精神家园...
- GL-Currencies-Rates-Daily:Error:APP-FND-01206: This record already exists-文档 ID 292731.1
- linux 内存耗尽重启,【server故障】linux下JVM内存耗尽故障
- matlab寻找频谱峰值,matlab – 从数据中获取FFT峰值
- Minecraft 1.19.2 Forge模组开发 05.矿石生成
- 如何给女朋友解释为什么200M宽带,打王者荣耀还是会有460ms的延迟?
- java热敏打印机_用java在POS热敏打印机上打印PDF或PNG
- el-input-number 失去焦点blur事件,
- python夯实基础日记-函数详解
热门文章
- 阿里云宣布 Serverless 容器服务 弹性容器实例 ECI 正式商业化
- 让TP5.0在SWOOLE上飞起来
- 招募技术合伙人(H5混合开发+秒开流应用)
- Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (111)解决方法
- [Array]Pascal's Triangle II
- Linux工具快速上手,Linux很实用命令
- 浅淡绿萝2.0和星火计划
- 90后80后70后60后和50后的无奈
- Redux vs Mobx系列(-):immutable vs mutable
- 《JavaScript忍者秘籍》——导读