程序路径:The ABAP Programming Language -> Basic Statements -> Process Data -> Date and Time Calculations
代码:略
解析:
1、这个程序演示 ABAP 中日期和时间的计算。
2、第一组例子演示了如何获得上月的最后一天。SAP 的 D 类型是字符类型,但可以进行加减运算,因此使用起来非常方便。可以通过指定偏移和长度的赋值,把年、月、日指定为任何有效值;然后,通过加减计算出所需的日期,日期的加减都以天为单位。
3、第二组例子演示了如何计算时间差。T 类型具有跟 D 类型相同的特性。它的时间加减以秒为单位。
4、第三组例子演示了日期取反的语法。这个语法现在已经失效。它的实际计算方法就是用 99999999 减去指定日期,获得一个数字,这个日期是一个非法日期,但是可以存储到字符类型字段中,用于比较。在数据库表中,偶尔还能看到这个语法的遗迹。
====================================================
程序路径:The ABAP Programming Language -> Basic Statements -> Process Data -> Processing Strings
代码:略
解析:
1、这个程序演示 ABAP 中对字符串的处理,代码很长,我们一一说明。
2、第一组例子演示用 SHIFT 语句把字符串按各种方向移动指定长度,默认是左移,还可以右移或回转(也就是把移出字符串长度的字符从另一个方向回填)。
3、第二组例子演示用 SHIFT 语句把字符串按各种方向移动到指定字符位置。
4、第三组例子演示用 SHIFT 语句把字符串移动时删除指定字符串。
5、第四组例子演示用 REPLACE 语句替换字符串。
6、第五组例子演示用 TRANSLATE 语句转换字符串。TRANSLATE 比较特别,它的两种语法形式的作用差异巨大,一种是简单的大小写转换,另一种则是按照指定的字符对应表,把字符串中的字符替换掉。
7、第六组例子演示用 OVERLAY 语句替换字符串。它是按照指定的位置替换,还可以限制替换的字符。
8、第七组例子演示用 SEARCH 语句搜索字符串。搜索中可以使用通配符进行模式匹配。
9、第八组例子演示 SEARCH 语句的两个特别的关键字 ABBREVIATED 和 AND MARK,前者是按单词匹配,后者则能把查找到的整个单词转换成大写。
10、第九组例子演示用内建函数 strlen( ) 获得字符串长度。跟 DESCRIBE 语句相比,strlen 获得的是内容的实际长度,而 DESCRIBE 获得的是定义长度。
11、第十组例子演示用 CONDENSE 语句压缩字符串中的空格。
12、第十一组例子演示用 CONCATENATE 语句连接字符串。
13、第十二组例子演示用 SPLIT 语句拆分字符串。
14、第十三组例子演示用 MOVE 语句的 PERCENT 附加来取字符串的一部分,这个语法已经废弃。
====================================================