unpack
For example: 与外围系统接口,外围系统数据库存储数据是有0000的,但是SAP数据库中存储是没有0000,可以用前导零函数或者这个关键字处理
PACK格式:PACK source TO destination.
标准教材上说: In contrast to the conversion rules for elementary data types, a decimal separator in source is ignored.说什么小数点会被忽略,反正我是不信,尝试一下。
DATA: LV_PACK TYPE P LENGTH 8 DECIMALS 3 VALUE '123.456',
CHAR1 TYPE C LENGTH 10,
CHAR2 TYPE C LENGTH 10.
PACK LV_PACK TO CHAR1.
WRITE : / CHAR1.
输出:
果然如此,我居然无言以对。
再举一个例子。
DATA: LV_PACK TYPE CHAR255 VALUE '王健林.王思聪',
CHAR1 TYPE C LENGTH 10,
CHAR2 TYPE C LENGTH 10.
PACK LV_PACK TO CHAR1.
WRITE : / CHAR1.
输出:
原因在标准教材上也有说明:The data type of source must be character-type,flat, and its content must be interpretable as a numeric value.
再说说比较有用的unpack格式:UNPACK source TO destination.
标准教材上这样说:
If the data type of source is not of the type p with length 16 and without decimal places, then the content of source is converted to this data type. Contrary to the rules described in conversion rules for elementary data types, any decimal separator in source is completely ignored.
The digits of the interim result are assigned to data object destination right-aligned and without +/- sign. Any additional places in destination are filled with leading zeros. If the length of destination is not sufficient, the assigned variable is truncated from the left.
大概意思同上面的PACK,唯一的好处是什么,就是刚开始说明的,比如别的系统是需要千导0的,我们得给他按位数转换上。
直接看例子:
DATA: PACK TYPE P LENGTH 8 DECIMALS 3 VALUE '123.456',
CHAR1 TYPE C LENGTH 10,
CHAR2 TYPE C LENGTH 10.
MOVE PACK TO CHAR1.
UNPACK PACK TO CHAR2.
WRITE : / CHAR1.
WRITE : / CHAR2.
输出:
相关阅读
一、Tcpdump主要有三种类型的关键字: 第一种:关于类型。 主要包括host,net,port,没有指定类型默认为host。host指明IP、net指定网络地
本文是语法分析的第四篇文章,第一篇文章介绍了基本的文法、推导和归约的概念,第二篇文章介绍了自顶向下的语法分析和LL(1)方法,第三
%prep 预处理脚本 预处理脚本,这个段是预处理段,通常用来执行一些解开源程序包的命令,为下一步的编译安装作准备。 %prep和下面的%
汉语语法有五级语法单位:语素→词→短语→句子→句群。中学语法我们重点讲词、短语和句子这三级。1.语素语素是语音语义的最小结合
一.名词 I. 名词的种类: 专有名词 普通名词 国名地名人名,团体机构名称 可数名词 不