cancel
Showing results for 
Search instead for 
Did you mean: 

Convert Breakdown duration eg: 2.8800000000000000E+04 to 71.99 in AMDP procedure

jananipriya
Explorer
0 Kudos

Hi Experts

In my bw transformation's end routine is written in AMDP code. Now I need to convert Breakdown duration eg:2.8800000000000000E+04 to 71.99. Since AMDP code is written I can't add a function module. So if anyone knows the AMDP code for this converstion please share it with me. Or suggest any ways to resolve this.

Thanks in advance

View Entire Topic
Abhishek_Hazra
Active Contributor

Hi,

You can simply divide the breakdown duration (if the unit is seconds) by 3600 & derive the hours.

If you are worried about the format, you can use the to_varchar function. So, your syntax for the field would be like below :

to_varchar(1.5587520000000002E+07/3600,'0.0000000000000000E00')

You can increaes or decrease the number of 0's in between the '.' & 'E' in the format based on how many digits you want to show before the exponential symbol (I kept 16 zeroes just to sync with your example data).

You can also execute it as sql to see the output :

Hope this helps 🙂

Best Regards,
Abhi

jananipriya
Explorer
0 Kudos

Hi Abhi,

Functional people told that this value's (2.8800000000000000E+04) unit is hours but its showing in some internal format and should be converted as 71.99(corresponding to 2.8800000000000000E+04) & in ABAP it can be done through FM: FLTP_CHAR_CONVERSION_FROM_SI. So can u please suggest me what can I do to change r implement this logic in AMDP procedure?

Abhishek_Hazra
Active Contributor
0 Kudos

Hi jananipriya ,

How do you get the value 71.99 converting 2.8800000000000000E+04 using the FM : FLTP_CHAR_CONVERSION_FROM_SI?

If you need to adjust the decimal values, it is possible but you are expecting a complete different value I can see? can you explain the parameters passing through the FM?

Best Regards,
Abhi