0

我需要在 SAPScript 中从右侧修剪字符串。似乎没有功能可以完成此操作。&myfield+3& 仅从左侧修剪。

有没有办法从右边修剪?偏移量可以接受负值吗?

4

1 回答 1

0

我的最终目标是取一个诸如数量之类的数字;12.43 并将其转换为:001243。

  • 6个字符长
  • 用零向左填充
  • 没有特殊字符(小数或千位分隔符)

最终我必须首先定义一个字段并进行初始数字格式化:

/:DEFINE &myfield& = &qtyfield(.2CT)&

以上

  • 将数字设置为 2 个小数点 (.2)
  • 空间压缩 (C)
  • 删除千位分隔符 (T)

然后我在我们的打印例程中调用一个函数来进行特殊字符剥离:

/:PERFORM get_unformatted_value IN PROGRAM zbc_rle_ean128_label
/:USING &myfield&
/:CHANGING &myfield&
/:ENDPERFORM

然后我可以像这样进行最终输出:

/ &myfield(K6RF0)&

哪个:

  • 忽略任何转换 (K)
  • 将输出长度设置为 6 并右对齐 (6R)
  • 和左垫零(F0)

这似乎对我有用。希望这可以帮助某人!

于 2016-01-22T16:31:23.030 回答