SHIFT 去掉前导0,SHIFT语法

SHIFT str LEFT DELETING LEADING '0'.
如果要在layout显示不出前面的0 格式:
&字段(zc)&
如果要在layout显示不出小数点后面的0 格式: &字段(.0)&
关于shift
1.Shift a structure by a given number of
postions
SHIFT <c> [BY <n> PLACES] [<mode>].
This
statement shifts the field <c> by <n> positions. If you omit BY
<n> PLACES, <n> is
interpreted as one. If <n> is 0 or
negative, <c> remains unchanged. If <n> exceeds the
length
<c>, <c> is padded with blanks. <n> can be
variable.
With the different (<mode>) options, you can shift the field
<c> in the following ways:
· LEFT:
Shift <n> positions to the
left and pad with <n> blanks on the right (default setting).
·
RIGHT:
Shift <n> positions to the right and pad with <n> spaces
on the left.
· CIRCULAR:
Shift <n> positions to the left so that
<n> characters on the left appear on the right.
2.Shift a structure up
to a given string
To shift field contents up to a given string, use the SHIFT
statement as follows
Syntax
SHIFT <c> UP TO <str>
<mode>.
ABAP searches the field contents of <c> until it finds
the string <str> and shifts the field <c> up to
the field margin.
The (<mode>) options are the same as described in the section Shifting
a
Structure by a Given Number of Positions [Page 201]. <str> can be a
variable.
If <str> is not found in <c>, SY-SUBRC is set to 4 and
<c> is not shifted. Otherwise, SY-SUBRC is set to 0.
3.Shifting a
structure according to the first or last character
You can use the SHIFT
statement to shift a field to the left or to the right, provided the first or
last
character satisfies a certain condition. To do this, use the following

syntax:
SHIFT <c> LEFT DELETING LEADING <str>.
SHIFT
<c> RIGHT DELETING TRAILING <str>.

SHIFT dobj [ {[places] [direction]} |deleting]            [IN {BYTE|CHARACTER} MODE].

1 SHIFT dobj

向左移动一位(一个汉字、一个数字或者一个字符)

2 SHIFT dobj BY num PLACES LEFT|RIGHT.

向左或者向右移动num位,默认值是向左。

3  SHIFT dobj LEFT DELETING LEADING pattern.从左开始比较并向左移动,

   SHIFT dobj RIGHT DELETING TRAILING pattern. 从左开始比较并向左移动。

例如: c = '12345678'. shift c RIGHT DELETING TRAILING '768'. 结果 12345

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值