<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Trancate Type P value in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/trancate-type-p-value/m-p/6050343#M1352262</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;All you need is to subtract value 0.005 so round will work fine in all cases either over 5 (which rounds to next full value or below 5 which rounds to floor full value)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I.e. value 44449.99&lt;SPAN __default_attr="red" __jive_macro_name="color"&gt;9&lt;/SPAN&gt;88 - 0.005 = 4449.99&lt;SPAN __default_attr="red" __jive_macro_name="color"&gt;4&lt;/SPAN&gt;88 -&amp;gt; will round down to 44449.99000 -&amp;gt; after decimals will be truncated the value is 4449.99&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;the same applies if third place is below 5 &lt;/P&gt;&lt;P&gt;i.e. value 1.23&lt;SPAN __default_attr="red" __jive_macro_name="color"&gt;2&lt;/SPAN&gt;78 - 0.005 = 1.22&lt;SPAN __default_attr="red" __jive_macro_name="color"&gt;8&lt;/SPAN&gt;78 -&amp;gt; will round up to 1.2300 -&amp;gt; decimals will be truncated so you have 1.23&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;
v1 = '44449.99988'.
v2 = v1 - '0.005' .  
WRITE: / v1, v2.

v1 = '0.99988'.
v2 = v1 - '0.005' .
WRITE: / v1, v2.

v1 = '9.9998888'.
v2 = v1 - '0.005' .
WRITE: / v1, v2.

v1 = '1.23678'.
v2 = v1 - '0.005' .
WRITE: / v1, v2.

v1 = '0.99887'.
v2 = v1 - '0.005' .
WRITE: / v1, v2.
&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;Btw. Length 30 for &lt;STRONG&gt;P&lt;/STRONG&gt; is not allowed. 16 is the max.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;Marcin&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Tested, works fine.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Edited by: Marcin Pciak on Aug 13, 2009 1:49 PM&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 13 Aug 2009 11:49:14 GMT</pubDate>
    <dc:creator>MarcinPciak</dc:creator>
    <dc:date>2009-08-13T11:49:14Z</dc:date>
    <item>
      <title>Trancate Type P value</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/trancate-type-p-value/m-p/6050340#M1352259</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi all,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;i am facing problem with Trancation of Type P value&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I have P type  variable  V1 with Lenght 30 decimal 14.&lt;/P&gt;&lt;P&gt;So i am geting value like 444.99999988&lt;/P&gt;&lt;P&gt;i Have another P type variable V2  with lenght 13 decial 2.&lt;/P&gt;&lt;P&gt;I need to populate variable V2 with value of V1 like 444.99...Means i need to trancate value after decimal with 2 places.&lt;/P&gt;&lt;P&gt;Let me know how to achive this .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks in advance,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;regards,&lt;/P&gt;&lt;P&gt;JBR&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 13 Aug 2009 11:14:10 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/trancate-type-p-value/m-p/6050340#M1352259</guid>
      <dc:creator>former_member189596</dc:creator>
      <dc:date>2009-08-13T11:14:10Z</dc:date>
    </item>
    <item>
      <title>Re: Trancate Type P value</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/trancate-type-p-value/m-p/6050341#M1352260</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi&lt;/P&gt;&lt;P&gt;    You can use ROUND off addtion if you want to round off the value of V1.&lt;/P&gt;&lt;P&gt;Or else it check this example taken from sap help.&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;DATA pack TYPE p LENGTH 8 DECIMALS 4 VALUE '1234.5678'. 
WRITE pack NO-GROUPING DECIMALS 2
o/p 1234,57
&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;Thanks&lt;/P&gt;&lt;P&gt;Viquar Iqbal&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 13 Aug 2009 11:18:00 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/trancate-type-p-value/m-p/6050341#M1352260</guid>
      <dc:creator>viquar_iqbal</dc:creator>
      <dc:date>2009-08-13T11:18:00Z</dc:date>
    </item>
    <item>
      <title>Re: Trancate Type P value</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/trancate-type-p-value/m-p/6050342#M1352261</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi, &lt;/P&gt;&lt;P&gt;Thanks for quick replay,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data :  V1 type P lenght  30 decimal 14,&lt;/P&gt;&lt;P&gt;          V2  type p lenght 13 deciamls 2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The values of V1 comes like &lt;/P&gt;&lt;P&gt;V1 = 44449.99988    and 0.99988 and 9.9998888  and  1.23678  0.99887.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The result value we are expecting from v1 like &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;V2 = 44449.99     and  0.99       and 9.99   and 1.23   , 0.99.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Let me know how can i achive exact V2 values from V1 values .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;thanks &amp;amp;Reagrds,&lt;/P&gt;&lt;P&gt;JBR&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 13 Aug 2009 11:36:25 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/trancate-type-p-value/m-p/6050342#M1352261</guid>
      <dc:creator>former_member189596</dc:creator>
      <dc:date>2009-08-13T11:36:25Z</dc:date>
    </item>
    <item>
      <title>Re: Trancate Type P value</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/trancate-type-p-value/m-p/6050343#M1352262</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;All you need is to subtract value 0.005 so round will work fine in all cases either over 5 (which rounds to next full value or below 5 which rounds to floor full value)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I.e. value 44449.99&lt;SPAN __default_attr="red" __jive_macro_name="color"&gt;9&lt;/SPAN&gt;88 - 0.005 = 4449.99&lt;SPAN __default_attr="red" __jive_macro_name="color"&gt;4&lt;/SPAN&gt;88 -&amp;gt; will round down to 44449.99000 -&amp;gt; after decimals will be truncated the value is 4449.99&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;the same applies if third place is below 5 &lt;/P&gt;&lt;P&gt;i.e. value 1.23&lt;SPAN __default_attr="red" __jive_macro_name="color"&gt;2&lt;/SPAN&gt;78 - 0.005 = 1.22&lt;SPAN __default_attr="red" __jive_macro_name="color"&gt;8&lt;/SPAN&gt;78 -&amp;gt; will round up to 1.2300 -&amp;gt; decimals will be truncated so you have 1.23&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;
v1 = '44449.99988'.
v2 = v1 - '0.005' .  
WRITE: / v1, v2.

v1 = '0.99988'.
v2 = v1 - '0.005' .
WRITE: / v1, v2.

v1 = '9.9998888'.
v2 = v1 - '0.005' .
WRITE: / v1, v2.

v1 = '1.23678'.
v2 = v1 - '0.005' .
WRITE: / v1, v2.

v1 = '0.99887'.
v2 = v1 - '0.005' .
WRITE: / v1, v2.
&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;Btw. Length 30 for &lt;STRONG&gt;P&lt;/STRONG&gt; is not allowed. 16 is the max.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;Marcin&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Tested, works fine.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Edited by: Marcin Pciak on Aug 13, 2009 1:49 PM&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 13 Aug 2009 11:49:14 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/trancate-type-p-value/m-p/6050343#M1352262</guid>
      <dc:creator>MarcinPciak</dc:creator>
      <dc:date>2009-08-13T11:49:14Z</dc:date>
    </item>
    <item>
      <title>Re: Trancate Type P value</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/trancate-type-p-value/m-p/6050344#M1352263</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;One way is to move the value to type c variable and split and concatenate with offsets.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;

data :  V1(16)  type P decimals 14,
         V2(16) type c,
       V3(13) type c,
       a(10) type c,
       b(10) type c.
       
       
       
v1 = '44449.99988'.

v2 = v1.

split v2 at '.' into a b.

concatenate a '.' b+0(2) into v3.

write v3.

&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Also note that the maximum length that can be used for type p is 16 for the whole value&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Vik&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 13 Aug 2009 11:51:06 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/trancate-type-p-value/m-p/6050344#M1352263</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2009-08-13T11:51:06Z</dc:date>
    </item>
    <item>
      <title>Re: Trancate Type P value</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/trancate-type-p-value/m-p/6050345#M1352264</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks for replay&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;the V1 values are not same always.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;please see below code : &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I am using this BAPI for geting all the characteristics for DENSITY&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'BAPI_BUS1077_GETDETAIL'&lt;/P&gt;&lt;P&gt;  EXPORTING&lt;/P&gt;&lt;P&gt;    scenario      = '01'&lt;/P&gt;&lt;P&gt;    key_date      = sy-datum&lt;/P&gt;&lt;P&gt;    flg_prop_data = 'X'&lt;/P&gt;&lt;P&gt;  TABLES&lt;/P&gt;&lt;P&gt;    return        = l_it_return&lt;/P&gt;&lt;P&gt;    sub_header    = l_it_sub_header&lt;/P&gt;&lt;P&gt;    prop_header   = l_it_prop_header&lt;/P&gt;&lt;P&gt;    prop_data     = l_it_prop_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Now i Have data l_it_prop_data .&lt;/P&gt;&lt;P&gt;Here the density charactestics values are FLOAT type&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;READ TABLE l_it_prop_data INTO l_wa_prop_data&lt;/P&gt;&lt;P&gt;                              WITH KEY recno_root = l_wa_estmj-recnroot&lt;/P&gt;&lt;P&gt;                                       name_char  = 'SAP_EHS_1013_005_VALUE'.&lt;/P&gt;&lt;P&gt;    IF sy-subrc IS INITIAL.&lt;/P&gt;&lt;P&gt;       CALL FUNCTION 'MD_CONV_QUANTITY_FLOAT_TO_PACK'&lt;/P&gt;&lt;P&gt;         EXPORTING&lt;/P&gt;&lt;P&gt;           iv_menge       = l_wa_prop_data-num_val_fm&lt;/P&gt;&lt;P&gt;        IMPORTING&lt;/P&gt;&lt;P&gt;           EV_MENGE       = l_v_dummy.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;l_v_Dummy has type P value lenght 30decimals.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Now using this value,  i need to populate P type variable lenght 13 deciamls 2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Now can i achive this .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks &amp;amp;Regards,&lt;/P&gt;&lt;P&gt;JBR&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 13 Aug 2009 12:39:12 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/trancate-type-p-value/m-p/6050345#M1352264</guid>
      <dc:creator>former_member189596</dc:creator>
      <dc:date>2009-08-13T12:39:12Z</dc:date>
    </item>
    <item>
      <title>Re: Trancate Type P value</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/trancate-type-p-value/m-p/6050346#M1352265</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;PRE&gt;&lt;CODE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;the V1 values are not same always.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;No one has assumed here that V1 is constant.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Above code works fine to your requirement. Did you try it at all?&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;
data: f_input type f VALUE '54565464.656756756',        "you can enter any F value
      p_output type mdr1menge.     "your type p 30 length dec 14

CALL FUNCTION 'MD_CONV_QUANTITY_FLOAT_TO_PACK'
  EXPORTING
    iv_menge       = f_input
 IMPORTING
   EV_MENGE       = p_output.  


data: p_round TYPE p LENGTH 13 DECIMALS 2.

p_round = p_output - '0.005'.  "p_round holds what you need now

write: / p_output , p_round.  
&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;Marcin&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 13 Aug 2009 12:55:55 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/trancate-type-p-value/m-p/6050346#M1352265</guid>
      <dc:creator>MarcinPciak</dc:creator>
      <dc:date>2009-08-13T12:55:55Z</dc:date>
    </item>
  </channel>
</rss>

