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

2020-09-16 15:40发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)大家好, 我需要以XXX-...

         点击此处--->   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小菜
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

一周热门 更多>