CONCATENATE:带有后面" C"的材料

2020-08-16 23:41发布

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

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


ABAP专家,

我需要CONCATENATE'0MATERIAL'转换。

我有材料代码的起始编号和字符,在这里我有起始编号,我需要在代码前面添加" C"。

例如:材料代码我的长度为8,为12345678。我需要类似C12345678的结果。

我死掉了下面的代码,给出的结果是这样的 C00000000012345678

对于企业来说,很难进入选择屏幕。

如何获得这样的结果" C12345678 "

如果SOURCE_FIELDS-MATERIAL CO为'0123456789'。
将'C'SOURCE_FIELDS-MATERIAL + 1(17)连接到结果中。
ELSE。
结果= SOURCE_FIELDS-MATERIAL。
ENDIF。

此致

Jameel

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

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


ABAP专家,

我需要CONCATENATE'0MATERIAL'转换。

我有材料代码的起始编号和字符,在这里我有起始编号,我需要在代码前面添加" C"。

例如:材料代码我的长度为8,为12345678。我需要类似C12345678的结果。

我死掉了下面的代码,给出的结果是这样的 C00000000012345678

对于企业来说,很难进入选择屏幕。

如何获得这样的结果" C12345678 "

如果SOURCE_FIELDS-MATERIAL CO为'0123456789'。
将'C'SOURCE_FIELDS-MATERIAL + 1(17)连接到结果中。
ELSE。
结果= SOURCE_FIELDS-MATERIAL。
ENDIF。

此致

Jameel

付费偷看设置
发送
7条回答
南山jay
1楼 · 2020-08-16 23:53.采纳回答

你好 Jameel Ahmed Shaik

写在答案编辑器中,因此可能会有一些错别字。

 DATA(lv_matnr)= source_fields-material。
 通话功能'CONVERSION_EXIT_ALPHA_OUTPUT'
   出口
     输入= lv_matnr
   输入
     输出= lv_matnr。

 如果lv_matnr CO为'0123456789'。  "(如果仅数字)
   lv_matnr = | C {lv_matnr} |。
 万一。

 ",或者,如果您只想在第一个字符是数字时添加C
 IF lv_matnr + 0(1)CO'0123456789'。
   lv_matnr = | C {lv_matnr} |。
 万一。

 通话功能" CONVERSION_EXIT_ALPHA_INPUT"
   出口
     输入= lv_matnr
   输入
     
亲切的问候,
Mateusz
hongfeng1314
2楼-- · 2020-08-16 23:54

似乎下面没有人读过alpha转换。

Bunny_CDM
3楼-- · 2020-08-17 00:11

嗨,Mateusz ,

感谢您的回复。 我已经在系统中实现了代码。

以下是最终代码,按预期方式工作。

数据:I_MAT类型/BIC/OIYMAT_TEST。
BREAK-要点。

I_MAT = SOURCE_FIELDS-MATNR。


调用函数'CONVERSION_EXIT_MATN1_OUTPUT'
导出< br> INPUT = I_MAT
导入
OUTPUT = I_MAT
。如果I_MAT + 0(1)CO'0123456789'。
I_MAT = | C {I_MAT} |。 "这是使用C

CALL功能'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING 输入= I_MAT 输入
OUTPUT = I_MAT

结果= I_MAT。< br>
ELSE。
结果= SOURCE_FIELDS-MATNR。
ENDIF。

闻人可可
4楼-- · 2020-08-16 23:55

当然是Mateusz。

渐行渐远_HoldOn
5楼-- · 2020-08-17 00:17

感谢Ahmed。 会尝试的。

由于材料字段的长度以BW为单位为18个字符,因此结果将如何保存在表中。

我也希望这样的前导零。

000000000C12345678

00000000C123456789

00000C123456789012

此致

Jameel

xfwsx85
6楼-- · 2020-08-16 23:57

嗨Mateusz,

感谢您的回复。 我已经在系统中实现了代码。

以下是最终代码,按预期方式工作。

数据:I_MAT类型/BIC/OIYMAT_TEST。
BREAK-点。

I_MAT = SOURCE_FIELDS-MATNR。


调用函数'CONVERSION_EXIT_MATN1_OUTPUT'
导出< br> INPUT = I_MAT
导入
OUTPUT = I_MAT
。如果I_MAT + 0(1)CO'0123456789'。
I_MAT = | C {I_MAT} |。 "这是带有C

CALL函数'CONVERSION_EXIT_ALPHA_INPUT'的合并代码。
EXPORTING
INPUT = I_MAT
IMPORTING
OUTPUT = I_MAT

RESULT = I_MAT。< br>
ELSE。
结果= SOURCE_FIELDS-MATNR。
ENDIF。

SC_Yao
7楼-- · 2020-08-17 00:14

感谢Venkat,

我会尽力让您知道。

此致

Jameel

一周热门 更多>