Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

space between two fields

Former Member
0 Likes
2,338

Hi

iam concatinating two fields as below and now i want space between date and time.

right now iam geting the output 2006-12-1309:19:16 and i need it in 2006-12-13 09:19:16

CONCATENATE SY-DATUM(4) '-' SY-DATUM4(2) '-' SY-DATUM6(2) ' '

sy-uzeit(2) ':' sy-uzeit2(2) ':' sy-uzeit4(2) INTO l_value.

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
1,434

hi,

pls. do like this....

CONCATENATE SY-DATUM(4) '-' SY-DATUM4(2) '-' SY-DATUM6(2) ' ' INTOvar1.

CONCATENATE sy-uzeit(2) ':' sy-uzeit2(2) ':' sy-uzeit4(2) INTO var2.

CONCATENATE var1 var2 into var3 <b>SEPARATED BY SPACE</b>.

now u will get the correct output in variable 3.

6 REPLIES 6
Read only

Former Member
0 Likes
1,434

Taking your code and then making a small change it will be

'space' is a sytem variable storing space in it.

CONCATENATE SY-DATUM(4) '-' SY-DATUM4(2) '-' SY-DATUM6(2) <b>space</b>

sy-uzeit(2) ':' sy-uzeit2(2) ':' sy-uzeit4(2) INTO l_value.

Read only

Former Member
0 Likes
1,435

hi,

pls. do like this....

CONCATENATE SY-DATUM(4) '-' SY-DATUM4(2) '-' SY-DATUM6(2) ' ' INTOvar1.

CONCATENATE sy-uzeit(2) ':' sy-uzeit2(2) ':' sy-uzeit4(2) INTO var2.

CONCATENATE var1 var2 into var3 <b>SEPARATED BY SPACE</b>.

now u will get the correct output in variable 3.

Read only

RichHeilman
Developer Advocate
Developer Advocate
0 Likes
1,434

Easy way is to use a placeholder, like '%' in your concatenate statement, then translate it afterwards to space.



report zrich_0001.

data: l_value type string.

CONCATENATE SY-DATUM(4) '-' SY-DATUM+4(2) '-' SY-DATUM+6(2) '%'
sy-uzeit(2) ':' sy-uzeit+2(2) ':' sy-uzeit+4(2) INTO l_value.

translate l_value using '% '.

write:/ l_value.

Regards,

Rich Heilman

Read only

Former Member
0 Likes
1,434

HI Satya

Please do as below:

data: out(20) type c,
        date(10) type c,
        time(8) type c.

concatenate: sy-datum(4) sy-datum+4(2) sy-datum+6(2) into date separated by '-',
             sy-uzeit(2) sy-uzeit+2(2) sy-uzeit+4(2) into time separated by ':'.
concatenate date time into out separated by ' '.

Kind Regards

Eswar

Read only

Former Member
0 Likes
1,434

CONCATENATE SY-DATUM(4) '-' SY-DATUM4(2) '-' SY-DATUM6(2) into V1.

CONCATENATE sy-uzeit(2) ':' sy-uzeit2(2) ':' sy-uzeit4(2) INTO V2.

CONCATENATE V1 V2 into l_value separated by space.

Read only

Former Member
0 Likes
1,434

Hi Satya,

Change your code to as follows. This will give your desire output.

DATA: l_value(30),

date(15),

time(10).

CONCATENATE sy-datum(4) '-' sy-datum4(2) '-' sy-datum6(2) into date.

CONCATENATE sy-uzeit(2) ':' sy-uzeit2(2) ':' sy-uzeit4(2) INTO time.

CONCATENATE date time into l_value SEPARATED BY SPACE.

WRITE:/8 l_value.

Thanks

Sanjeet