ABAP 数值转换大写
- 转自:http://www.dasunny.com/wordpress/sapnotes/2015113091.html
SAP标准的数值转换函数 SPELL_AMOUNT,
- 仅对整数部分进行了处理,小数部分未处理。
- FUNCTION Z_RMBDX.
- DATA: BEGIN OF RMB,
- BY TYPE C,
- SY TYPE C,
- Y TYPE C,
- QW TYPE C,
- BW TYPE C,
- SW TYPE C,
- W TYPE C,
- Q TYPE C,
- B TYPE C,
- S TYPE C,
- G TYPE C,
- D TYPE C,
- J TYPE C,
- F TYPE C,
- N TYPE C,
- END OF RMB.
- DATA: BEGIN OF RMBDX,
- BY() TYPE C,
- BY1() TYPE C,
- SY() TYPE C,
- SY1() TYPE C,
- Y() TYPE C,
- Y1() TYPE C,
- QW() TYPE C,
- QW1() TYPE C,
- BW() TYPE C,
- BW1() TYPE C,
- SW() TYPE C,
- SW1() TYPE C,
- W() TYPE C,
- W1() TYPE C,
- Q() TYPE C,
- Q1() TYPE C,
- B() TYPE C,
- B1() TYPE C,
- S() TYPE C,
- S1() TYPE C,
- G() TYPE C,
- D() TYPE C,
- J() TYPE C,
- J1() TYPE C,
- F() TYPE C,
- F1() TYPE C,
- Z() TYPE C,
- END OF RMBDX.
- DATA: Y() TYPE C.
- RMB = RMBXX.
- IF NOT ( RMB-BY IS INITIAL ) AND RMB-BY NE ''.
- PERFORM DX USING RMB-BY CHANGING RMBDX-BY.
- Y = 'X'.
- IF RMB-BY NE ''.
- IF RMB-SY EQ '' AND RMB-Y EQ ''.
- RMBDX-BY1 = '佰亿'.
- ELSE.
- RMBDX-BY1 = '佰'.
- ENDIF.
- ENDIF.
- ENDIF.
- IF NOT ( RMB-SY IS INITIAL ).
- IF RMB-SY NE '' OR RMB-Y NE ''.
- PERFORM DX USING RMB-SY CHANGING RMBDX-SY.
- Y = 'X'.
- IF RMB-SY NE ''.
- IF RMB-Y EQ ''.
- RMBDX-SY1 = '拾亿'.
- ELSE.
- RMBDX-SY1 = '拾'.
- ENDIF.
- ENDIF.
- ENDIF.
- ENDIF.
- IF NOT ( RMB-Y IS INITIAL ).
- IF RMB-Y NE '' OR RMB-QW NE ''.
- PERFORM DX USING RMB-Y CHANGING RMBDX-Y.
- Y = 'X'.
- IF RMB-Y NE ''.
- RMBDX-Y1 = '亿'.
- ENDIF.
- ENDIF.
- ENDIF.
- IF NOT ( RMB-QW IS INITIAL ).
- IF RMB-QW NE '' OR RMB-BW NE ''.
- PERFORM DX USING RMB-QW CHANGING RMBDX-QW.
- Y = 'X'.
- IF RMB-QW NE ''.
- IF RMB-BW EQ '' AND RMB-SW EQ '' AND RMB-W EQ ''.
- RMBDX-QW1 = '仟万'.
- ELSE.
- RMBDX-QW1 = '仟'.
- ENDIF.
- ENDIF.
- ENDIF.
- ENDIF.
- IF NOT ( RMB-BW IS INITIAL ).
- IF RMB-BW NE '' OR RMB-SW NE ''.
- PERFORM DX USING RMB-BW CHANGING RMBDX-BW.
- Y = 'X'.
- IF RMB-BW NE ''.
- IF RMB-SW EQ '' AND RMB-W EQ ''.
- RMBDX-BW1 = '佰万'.
- ELSE.
- RMBDX-BW1 = '佰'.
- ENDIF.
- ENDIF.
- ENDIF.
- ENDIF.
- IF NOT ( RMB-SW IS INITIAL ).
- IF RMB-SW NE'' OR RMB-W NE ''.
- PERFORM DX USING RMB-SW CHANGING RMBDX-SW.
- Y = 'X'.
- IF RMB-SW NE ''.
- IF RMB-W EQ ''.
- RMBDX-SW1 = '拾万'.
- ELSE.
- RMBDX-SW1 = '拾'.
- ENDIF.
- ENDIF.
- ENDIF.
- ENDIF.
- IF NOT ( RMB-W IS INITIAL ).
- IF RMB-W NE '' OR RMB-Q NE ''.
- PERFORM DX USING RMB-W CHANGING RMBDX-W.
- Y = 'X'.
- IF RMB-W NE ''.
- RMBDX-W1 = '万'.
- ENDIF.
- ENDIF.
- ENDIF.
- IF NOT ( RMB-Q IS INITIAL ).
- IF RMB-Q NE '' OR RMB-B NE ''.
- PERFORM DX USING RMB-Q CHANGING RMBDX-Q.
- Y = 'X'.
- IF RMB-Q NE ''.
- RMBDX-Q1 = '仟'.
- ENDIF.
- ENDIF.
- ENDIF.
- IF NOT ( RMB-B IS INITIAL ).
- IF RMB-B NE '' OR RMB-S NE ''.
- PERFORM DX USING RMB-B CHANGING RMBDX-B.
- Y = 'X'.
- IF RMB-B NE ''.
- RMBDX-B1 = '佰'.
- ENDIF.
- ENDIF.
- ENDIF.
- IF NOT ( RMB-S IS INITIAL ).
- IF RMB-S NE'' OR RMB-G NE ''.
- PERFORM DX USING RMB-S CHANGING RMBDX-S.
- Y = 'X'.
- IF RMB-S NE ''.
- RMBDX-S1 = '拾'.
- ENDIF.
- ENDIF.
- ENDIF.
- IF NOT ( RMB-G IS INITIAL ) AND RMB-G NE ''.
- PERFORM DX USING RMB-G CHANGING RMBDX-G.
- Y = 'X'.
- ENDIF.
- IF Y EQ 'X'.
- RMBDX-D = '圆'.
- ENDIF.
- IF NOT ( RMB-J IS INITIAL ) AND RMB-J NE ''.
- PERFORM DX USING RMB-J CHANGING RMBDX-J.
- RMBDX-J1 = '角'.
- ENDIF.
- IF NOT ( RMB-F IS INITIAL ) AND RMB-F NE ''.
- PERFORM DX USING RMB-F CHANGING RMBDX-F.
- RMBDX-F1 = '分'.
- ELSE.
- RMBDX-Z = '整'.
- ENDIF.
- CONDENSE RMBDX NO-GAPS.
- IF RMBXX = .
- CLEAR RMBDX.
- ENDIF.
- RMBDX1 = RMBDX.
- CLEAR Y.
- ENDFUNCTION.
- FORM DX USING VALUE(X) CHANGING DXX.
- CASE X.
- WHEN ''.
- DXX = '零'.
- WHEN ''.
- DXX = '壹'.
- WHEN ''.
- DXX = '贰'.
- WHEN ''.
- DXX = '叁'.
- WHEN ''.
- DXX = '肆'.
- WHEN ''.
- DXX = '伍'.
- WHEN ''.
- DXX = '陆'.
- WHEN ''.
- DXX = '柒'.
- WHEN ''.
- DXX = '捌'.
- WHEN ''.
- DXX = '玖'.
- ENDCASE.
- ENDFORM.
ABAP 数值转换大写的更多相关文章
- C# 数字转换成汉字大写 数值转换成汉字大写
1.数字转换成汉字大写 public string NumToChinese(string x) { //数字转换为中文后的数组 //转载请注明来自 http://www.shang11.com st ...
- javascript的数值转换
在javascript中数值转换,最要的一点是函数第一个字母必须要大写.js中的函数有string字符型.number数值型.null空型.boolean布尔型.undefined未定义. 具体的转换 ...
- Javascript数值转换(string,int,json)
数值: 在JavaScript中,数值转换一般有三种方式: 一.Number(param)函数:param可以用于任何数据类型 1.1 param是Boolean值,true和false分别转换为1和 ...
- JavaScript数值转换总结
在JavaScript中,数值转换一般有三种方式: 一.Number(param)函数:param可以用于任何数据类型 1.1 param是Boolean值,true和false分别转换为1和0: ...
- js数值转换
先来几个题吧: var num1 = Number("123blue");var num2 = Number("");var num3 = Number([]) ...
- 【前端】深入浅出Javascript中的数值转换
由于Javascript是一门弱类型的语言,在我们的代码中无时无刻不在发生着类型转换,所以了解Javascript中的类型转换对于了解我们认识Javascript的运行原理至关重要. 本文主要从数值转 ...
- char类型的数值转换
在视频教程中,你已经认识到了数字类型之间.字符串和其他类型之间的转换.而某些时候,我们还需要将char类型转换为int类型,或者把int类型转换为char类型. 这篇文章,将介绍在代码中虽然不太常用, ...
- python 字符和数值转换
# python 字符和数值转换 ### 字符转数值------------------------------ ord('A') ==> 65- ord('B') ==> 66- ord ...
- 用boost::lexical_cast进行数值转换
在STL库中,我们可以通过stringstream来实现字符串和数字间的转换: int i = 0; stringstream ss; ss << "123"; ...
随机推荐
- codeigniter视图
怎么加载视图? 例如我们有一个视图在 application/views/welcome.php public function index() { $this->load->view(' ...
- org.apache.commons.io.Charsets
requiredCharsets:由Java平台支持字符集对象标准名称,构造一个sorted map. public void test() { Map<String, Charset> ...
- Beginning Auto Layout Tutorial in iOS 7: Part 2
Auto Layout to the rescue! 接下来就看看如何使用Auto Layout来实现这个效果. 首先移除viewWillLayoutSubviews方法,选择Main.storybo ...
- Storyboards Tutorial 01
Storyboarding 是在ios 5时候引进入的一个非常出色的特性.节省了为app创建user interfaces的时间.
- cocos3.x新建项目
cocos new -p FishRunMan com.game.simple -l cpp
- Scut游戏服务器引擎6.0.5.1发布
1. 修正缓存删除时不会更新到Redis的问题 2. 修正Model组合3个以上子类时Change事件未绑定的问题 3. 修正中间层MySql与MsSql数据库Sql语句分页问题
- UVA 133“The Dole Queue”(循环报数处理技巧)
•参考资料 [1]:紫书P82 •题意(by紫书) 按照被选中的次序输出这 n 个人的编号: 如果A和B选中的是同一个人,输出一个这个人的编号: 输出格式:输出的每个编号占3个字节,不够3个字节在前面 ...
- ajax跨域解决办法
在使用jquery的ajax作请求时,http://127.0.0.1:8080,类似这样的一个本地请求,会产生跨域问题, 解决办法一: jsonp: var url= "http://12 ...
- flask的安全注意事项,如何防范XSS、CSRF、JSON安全
参考官方文档:http://docs.jinkan.org/docs/flask/security.html 1.xss Flask 配置 Jinja2 自动转义所有值,除非显式地指明不转义.这就排除 ...
- 2017.2.21 activiti实战--第七章--Activiti与spring集成(一)配置文件
学习资料:<Activiti实战> 第七章 Activiti与容器集成 本章讲解activiti-spring可以做的事情,如何与现有系统集成,包含bean的注入.统一事务管理等. 7.1 ...