ABAP学习(35):常用Function
ABAP Function
ABAP Coding过程中比较好用的Function整理。
1.获取Domain信息
代码实例:
"********************************获取domain
FORM f_get_domain.
DATA:fs_taba TYPE dd07v.
DATA:it_taba TYPE STANDARD TABLE OF dd07v.
DATA:it_tabb TYPE STANDARD TABLE OF dd07v. CALL FUNCTION 'DD_DOMA_GET'
EXPORTING
DOMAIN_NAME = 'XXX'
LANGU = SY-LANGU
WITHTEXT = 'X'
TABLES
DD07V_TAB_A = it_taba
DD07V_TAB_N = it_tabb
EXCEPTIONS
ILLEGAL_VALUE = 1
OP_FAILURE = 2
OTHERS = 3.
IF SY-SUBRC = 0.
LOOP AT it_taba INTO fs_taba.
WRITE:/ sy-tabix,fs_taba-domvalue_l,fs_taba-ddtext.
ENDLOOP.
LOOP AT it_tabb INTO fs_taba.
WRITE:/ sy-tabix,fs_taba-domvalue_l,fs_taba-ddtext.
ENDLOOP.
ENDIF.
ENDFORM.
2.非金额单位数据转换
代码实例:
"*************************单位数据转换
FORM f_change_unit.
DATA:v_out TYPE P DECIMALS 1.
DATA:v_in TYPE P DECIMALS 1 VALUE 1000.
CALL FUNCTION 'UNIT_CONVERSION_SIMPLE'
EXPORTING
INPUT = v_in
* NO_TYPE_CHECK = 'X'
* ROUND_SIGN = ' '
UNIT_IN = 'G'
UNIT_OUT = 'KG'
IMPORTING
OUTPUT = v_in. IF SY-SUBRC <> 0.
MESSAGE s000 WITH 'error'.
ELSE.
MESSAGE s000 WITH v_in.
* Implement suitable error handling here
ENDIF.
ENDFORM.
3.获取金额转换汇率
代码实例:
"获取汇率转换汇率
FORM f_get_rate.
DATA:lv_type TYPE tcurr-kurst.
DATA:lv_rate TYPE P LENGTH 15 DECIMALS 2.
DATA:lv_msg TYPE string.
lv_type = 'AVTW'.
"获取汇率
CALL FUNCTION 'READ_EXCHANGE_RATE'
EXPORTING
CLIENT = sy-mandt
DATE = sy-datum
FOREIGN_CURRENCY = 'RMB'
LOCAL_CURRENCY = 'USD'
TYPE_OF_RATE = lv_type
IMPORTING
EXCHANGE_RATE = lv_rate
EXCEPTIONS
NO_RATE_FOUND = 1
NO_FACTORS_FOUND = 2
NO_SPREAD_FOUND = 3
DERIVED_2_TIMES = 4
OVERFLOW = 5
ZERO_RATE = 6.
IF sy-subrc <> 0.
lv_msg = 'Get exchange rate failed!'.
MESSAGE lv_msg TYPE 'E'.
ELSE.
lv_msg = 'Translate RMB TO USD Rate:' && lv_rate.
MESSAGE lv_msg TYPE 'S'.
ENDIF.
ENDFORM.
4.字符串转换到字符串内表
Function Group:SCMS_CONV
字符串转换到字符串内表:SCMS_STRING_TO_FTEXT
字符串转换成Xstring: SCMS_STRING_TO_XSTRING
字符串内表转换Xstring: SCMS_FTEXT_TO_XSTRING
字符串内表转换String: SCMS_FTEXT_TO_STRING
代码实例:
"***********************字符串转换为字符串内表
FORM f_trans_strtoitab.
TYPES:BEGIN OF t_str,
str(255) TYPE C,
END OF t_str.
DATA:lt_str TYPE TABLE OF t_str.
DATA:ls_str LIKE LINE OF lt_str.
DATA:lv_length TYPE i.
CALL FUNCTION 'SCMS_STRING_TO_FTEXT'
EXPORTING
TEXT = 'hello world懒得看缴费对的看法角度abcdef'
IMPORTING
LENGTH = lv_length
TABLES
FTEXT_TAB = lt_str.
WRITE:/ lv_length.
LOOP AT lt_str INTO ls_str.
WRITE:/ ls_str-str.
ENDLOOP.
ENDFORM.
5.根据字符串公式计算值
代码实例:
"******************通过公式计算分数
TYPES:t_p TYPE p LENGTH 15 DECIMALS 2.
FORM f_calculate_formula
USING iv_formula TYPE string
CHANGING ev_result TYPE t_p.
DATA:lv_qsollwerte TYPE qsollwerte.
DATA:lv_float TYPE float. CALL FUNCTION 'EVAL_FORMULA'
EXPORTING
formula = iv_formula
IMPORTING
value = lv_float. ev_result = lv_float.
ENDFORM.
FORM f_test_cal.
DATA:lv_formula TYPE string.
DATA:lv_res TYPE P LENGTH 15 DECIMALS 2. lv_formula = '1000/200+20*(0.25/1.2)*10'.
PERFORM f_calculate_formula USING lv_formula CHANGING lv_res.
lv_res = lv_res.
WRITE:/ lv_res.
ENDFORM.
6.字符串前导0的添加与删除
代码实例:
"******************字符串前补0,删除前导0
FORM f_numb_0.
"*******************************************数字符串前补0
WRITE:/'数字字符串前补0'.
DATA: input_p(3) type N value '344'.
DATA: output_p(20) type N. CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
INPUT = input_p
IMPORTING
OUTPUT = output_p
.
WRITE:/ input_p,'----', output_p. "*****************************************消除数字符串前0
DATA: input_p1(10) type N value '00034'.
DATA: output_p1(3) type N .
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT'
EXPORTING
INPUT = input_p1
IMPORTING
OUTPUT = output_p1
.
WRITE:/ input_p1,'----',output_p1.
ENDFORM.
7.全角半角转换
代码实例:
"*******************************全角半角转换
FORM f_change_quanjiao.
DATA:lv_c TYPE C LENGTH 20.
lv_c = ' hello自大'. "全角转换半角
CALL FUNCTION 'SJIS_DBC_TO_SBC'
EXPORTING
ALL = 'X'
CHANGING
TEXT = lv_c.
IF SY-SUBRC <> 0. ELSE.
WRITE:/ lv_c.
CONDENSE lv_c NO-GAPS.
WRITE:/ lv_c.
ENDIF. "半角转换全角
CALL FUNCTION 'SJIS_SBC_TO_DBC'
EXPORTING
ALL = 'X'
* IMPORTING
* CONVERTED =
* HIT =
CHANGING
TEXT = lv_c
EXCEPTIONS
OVERFLOW = 1
OTHERS = 2.
IF SY-SUBRC <> 0.
MESSAGE 'error' TYPE 'E'.
ELSE.
WRITE:/ lv_c.
ENDIF.
ENDFORM.
ABAP学习(35):常用Function的更多相关文章
- abap 常用 function
ABAP常用函数总结 alv .smartform. excel .text.邮件 .远程访问,FTP服务器... **********常用功能function REUSE_ALV_GRID_DI ...
- 转载-聊一聊深度学习的activation function
目录 1. 背景 2. 深度学习中常见的激活函数 2.1 Sigmoid函数 2.2 tanh函数 2.3 ReLU函数 2.4 Leaky ReLu函数 2.5 ELU(Exponential Li ...
- SAP ABAP学习路线图--标准教程
SAP ABAP学习路线图--标准教程 摘自:http://www.cnblogs.com/clsoho/archive/2010/07/05/1771400.html
- IOS学习:常用第三方库(GDataXMLNode:xml解析库)
IOS学习:常用第三方库(GDataXMLNode:xml解析库) 解析 XML 通常有两种方式,DOM 和 SAX: DOM解析XML时,读入整个XML文档并构建一个驻留内存的树结构(节点树),通过 ...
- Swift学习之常用UI的使用
Swift学习之常用UI的使用 最近笔者在开始学习苹果最新的编程语言,因为笔者认为,苹果既然出了这门语言就绝对不会放弃,除非苹果倒闭了(当然这里知识一个玩笑). 所以在不久的将来,swift绝对是iO ...
- IOS开发-OC学习-常用功能代码片段整理
IOS开发-OC学习-常用功能代码片段整理 IOS开发中会频繁用到一些代码段,用来实现一些固定的功能.比如在文本框中输入完后要让键盘收回,这个需要用一个简单的让文本框失去第一响应者的身份来完成.或者是 ...
- springmvc学习笔记(常用注解)
springmvc学习笔记(常用注解) 1. @Controller @Controller注解用于表示一个类的实例是页面控制器(后面都将称为控制器). 使用@Controller注解定义的控制器有如 ...
- c/c++再学习:常用字符串转数字操作
c/c++再学习:常用字符串转数字操作 能实现字符串转数字有三种方法,atof函数,sscanf函数和stringstream类. 具体demo代码和运行结果 #include "stdio ...
- 一张图学习vim常用命令
一张图学习vim常用命令
- Python 常用模块系列学习(1)--random模块常用function总结--简单应用--验证码生成
random模块--random是一个生成器 首先: import random #导入模块 print (help(random)) #打印random模块帮助信息 常用function ...
随机推荐
- 【集成开发环境 (IDE)】Dev-Cpp下载与安装 [ 图文教程 ]
版权声明 本文作者:main工作室 本文链接:https://www.cnblogs.com/main-studio/p/17037280.html 版权声明:本文为 博客园 博主「main工作室」的 ...
- JavaBean为何物?
JavaBean为何物? 摘要:初学SSM框架之后,我对JavaBean这个东西开始有了简单的接触,在很久以前听见JavaBean这个词一直以为是一个非常高大上的东西,但是在仔细研究之后发现其本质 ...
- 再讲Floyd变形:传递闭包类问题
题目 今天上课老师讲到一道传递闭包的问题,由于蒟蒻之前讲的不详细再来讲一遍. 传送门 思路 建图,注意是有向图. 能确定名次指的是:在图上由这个点可以到达的点数+在图上可以到达这个点的点数=n-1 对 ...
- FalseSharing-伪共享
1.CPU缓存 要了解什么是伪共享,首先得了解CPU缓存架构与缓存行的知识 (1)<CPU缓存架构> 主内存RAM是数据存在的地方,CPU和主内存之间有好几级缓存,因为即使直接访问主内存相 ...
- java入门与进阶P-5.5+P-5.6
投票统计 写一个程序,输入数量不确定的[0,9]范围内的整数,统计每一中数字出现的次数,输入-1表示结束 循环遍历 通常都是使用for循环,让循环变量i从0到<数组的length,这样循环体内最 ...
- Java入门与进阶P-5.3+P-5.4
数组的元素 有效的下标 最小的下标是0,最大的下标是数组的元素个数-1 可是编译器不会检查看你是否用了有效的下标 但是如果运行的时候出现了无效的下标,可能会导致程序终止 定义数组变量 元素个数必须是整 ...
- 同类型芯片资源对比-CH32x芯片快速应用说明
CH32Fx 系列芯片是基于 Cortex-M3 内核设计的微控制器,所以与大部分 ARM 工具和软件兼容. 此外,其外设和硬件设计兼容市场上一些主流微控制器,并在性能和功能上有所增强, 方便用户快速 ...
- 带你读AI论文丨S&P21 Survivalism: Living-Off-The-Land 经典离地攻击
摘要:这篇文章属于系统分析类的文章,通过详细的实验分析了离地攻击(Living-Off-The-Land)的威胁性和流行度,包括APT攻击中的利用及示例代码论证. 本文分享自华为云社区<[论文阅 ...
- WinRAR的 安装与下载
一.简介 WinRAR 是一个强大的压缩文件管理工具.它能备份你的数据,减少你的 E-mail 附件的大小,解压缩从 Internet 上下载的 RAR.ZIP 和其他格式的压缩文件,并能创建 RAR ...
- 【OpenWrt】N1刷机过程及旁路由设置(通用)
最近买了个N1盒子,从源系统刷到OpenWrt,总结一下整体过程,大部分都来源于网络教程和自己实践,如有错误欢迎指出! N1盒子刷机 固件准备 最著名的应该是F大的吧,原贴地址:[2023-2-14] ...