BODS中XXX-XXX-XXX-XXXX格式的数字

2020-09-16 15:40发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


大家好,

我需要以XXX-XXX-XXX-XXXX格式编码税收管辖区代码。

一些注意事项:

1。 如果XXX仅填充了2个字符(例如美国),则第三个字符应使用空格

填充

2。 如果仅填充数据的第一部分(例如US -CO),则其余部分应附加0s

(例如,美国-CO -000-0000)

数据在X格式下应始终保持一致。

在BODS中编写代码的最佳方法是什么?

谢谢。


         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


大家好,

我需要以XXX-XXX-XXX-XXXX格式编码税收管辖区代码。

一些注意事项:

1。 如果XXX仅填充了2个字符(例如美国),则第三个字符应使用空格

填充

2。 如果仅填充数据的第一部分(例如US -CO),则其余部分应附加0s

(例如,美国-CO -000-0000)

数据在X格式下应始终保持一致。

在BODS中编写代码的最佳方法是什么?

谢谢。


付费偷看设置
发送
3条回答
SAP小菜
1楼-- · 2020-09-16 16:14

你好Avinash,

如果可行,请尝试以下解决方案。

创建一个包含2列INPUT_RECORD和OUTPUT_RECORD的表,并填写以下值

不需要Example_Source_Record字段,只是为了使您理解。

在INPUT_RECORD字段中,我们插入了预期的源记录的模式。例如,如果您从源中接收到" CA -ON",则必须为" CA-"取3个下划线(_)(一个下划线 C表示,A表示第二,A之后表示空格。

因此,如果您看到" CA -ON"的第一条记录,则INPUT_RECORD为" ___-__"。

在输出记录中的

取您需要添加到源记录中的值。 例如,如果您的源记录是CA -ON,则输出应为CA -ON -000-0000。

因此,这里OUTPUT_RECORD字段将用于连接您的源记录。

明智地在上表的INPUT_RECORD中插入所有可能的模式,并将所需的输出连接到OUTPUT_RECORD字段中的源记录,现在您可以使用Like运算符将源表与上表进行内部联接。

我在下面测试过的示例

我的测试源表记录如下所示

我的测试联接表如下所示

现在,使用like(连接输出列)在sql join下面编写

选择A.NAME,B.NAME,A.name || B.OUTPUT作为从TEST1 A的输出
内部联接TEST2 B
在A.NAME上像B.NAME;

现在输出数据如下所示,并且OUTPUT字段记录是您期望的记录。

请根据您的要求修改此逻辑。 让我知道您是否不适合您。

谢谢

Kiran

大道至简
2楼-- · 2020-09-16 16:30

例如

1。 CA -ON

在这种情况下,格式应符合(XXX-XXX-XXX-XXXX)

因此,我们需要在CA后面添加一个空格,在ON后面添加一个空格,并其余0以完成格式

理想情况下,其外观应为:CA -ON -000-0000

2。 美国-OH -SUM

理想情况下应类似于US -OH -SUM-0000

BODS中的代码是什么?

悠然的二货
3楼-- · 2020-09-16 16:15

嗨。

是否可能给出虚拟源记录和所需输出的示例?

从外观上看,结合使用解码,长度,rpad和regexp可以解决问题。

关于。 S

一周热门 更多>