<?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 arithmetic operations in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/arithmetic-operations/m-p/3771569#M907519</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; I have a big problem, i have added the next code into a user exit.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES: BEGIN OF ty_vbap.&lt;/P&gt;&lt;P&gt;          INCLUDE STRUCTURE vbap.&lt;/P&gt;&lt;P&gt;  TYPES: difer  TYPE vbap-netwr,&lt;/P&gt;&lt;P&gt;  END OF ty_vbap.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: x_vbap TYPE STANDARD TABLE OF vbap WITH HEADER LINE, "cabecera&lt;/P&gt;&lt;P&gt;        y_vbap TYPE STANDARD TABLE OF vbap WITH HEADER LINE, "posiciones&lt;/P&gt;&lt;P&gt;        z_vbap  TYPE STANDARD TABLE OF ty_vbap WITH HEADER LINE, "diferencia&lt;/P&gt;&lt;P&gt;        w_vbap  TYPE vbap.&lt;/P&gt;&lt;P&gt;  DATA:  lv_netwr    LIKE vbap-netwr,&lt;/P&gt;&lt;P&gt;         lv_resul(8) TYPE p DECIMALS 8,&lt;/P&gt;&lt;P&gt;         lv_netwr_p  LIKE vbap-netwr,&lt;/P&gt;&lt;P&gt;         lv_netwr_c  LIKE vbap-netwr,&lt;/P&gt;&lt;P&gt;         lv_difer    LIKE vbap-netwr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Agrupa tabla de header y posiciones&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  REFRESH : z_vbap, y_vbap, z_vbap.&lt;/P&gt;&lt;P&gt;  CLEAR:    z_vbap, y_vbap, z_vbap.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT xvbap.&lt;/P&gt;&lt;P&gt;    IF xvbap-uepos = 0  AND xvbap-pstyv = 'ZC4W'.&lt;/P&gt;&lt;P&gt;      MOVE-CORRESPONDING xvbap TO w_vbap.&lt;/P&gt;&lt;P&gt;      APPEND w_vbap TO x_vbap.&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;      y_vbap-vbeln = xvbap-vbeln.&lt;/P&gt;&lt;P&gt;      y_vbap-pstyv = xvbap-pstyv.&lt;/P&gt;&lt;P&gt;      y_vbap-uepos = xvbap-uepos.&lt;/P&gt;&lt;P&gt;      y_vbap-netwr = xvbap-netwr.&lt;/P&gt;&lt;P&gt;      COLLECT y_vbap.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Calcula si existe diferencia entre las posiciones  y cabecera&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  SORT x_vbap.&lt;/P&gt;&lt;P&gt;  SORT y_vbap.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT x_vbap.&lt;/P&gt;&lt;P&gt;    READ TABLE y_vbap&lt;/P&gt;&lt;P&gt;       WITH KEY vbeln = x_vbap-vbeln&lt;/P&gt;&lt;P&gt;                uepos = x_vbap-posnr&lt;/P&gt;&lt;P&gt;                BINARY SEARCH.&lt;/P&gt;&lt;P&gt;    IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;      IF y_vbap-netwr &amp;lt;&amp;gt; x_vbap-netwr.&lt;/P&gt;&lt;P&gt;        MOVE-CORRESPONDING x_vbap TO z_vbap.&lt;/P&gt;&lt;P&gt;        z_vbap-difer = x_vbap-netwr - y_vbap-netwr.&lt;/P&gt;&lt;P&gt;        APPEND z_vbap.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; Calcula prorrateo entre posiciones pedido&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  SORT z_vbap.&lt;/P&gt;&lt;P&gt;  DESCRIBE TABLE z_vbap LINES sy-tfill.&lt;/P&gt;&lt;P&gt;  IF sy-tfill  &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;    CLEAR: lv_netwr,&lt;/P&gt;&lt;P&gt;           lv_netwr_p,&lt;/P&gt;&lt;P&gt;           lv_netwr_c,&lt;/P&gt;&lt;P&gt;           lv_difer,&lt;/P&gt;&lt;P&gt;           lv_resul.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    LOOP AT xvbap WHERE uepos NE '0'&lt;/P&gt;&lt;P&gt;                     AND pstyv EQ 'ZP4W'.&lt;/P&gt;&lt;P&gt;      READ TABLE z_vbap WITH KEY vbeln = xvbap-vbeln&lt;/P&gt;&lt;P&gt;                                 posnr = xvbap-uepos&lt;/P&gt;&lt;P&gt;                                 BINARY SEARCH.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     MOVE  xvbap-netwr  TO lv_netwr_p. "importe posiciones&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     MOVE  z_vbap-netwr  TO lv_netwr_c. "importe cabecera&lt;/P&gt;&lt;/LI&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;     MOVE z_vbap-difer  TO lv_difer. "diferencia.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF  z_vbap-difer &amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      Mueve a komp-kzwi3  si es positivo&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        lv_resul =  ( xvbap-netwr / z_vbap-netwr ) * z_vbap-difer.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       MOVE lv_resul TO komp-kzwi3.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      Mueve a komp-kzwi4  si es negativo&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        lv_resul =  ( xvbap-netwr / z_vbap-netwr ) * z_vbap-difer.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       MOVE lv_resul TO komp-kzwi4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The problem is  in the arithmetic operation ,  variable lv_resul doesn't catch the value of the arithmetic operation , is empty. And I don´t know why  if  xvbap-netwr ,  z_vbap-netwr and  z_vbap-difer have values.  somebody could help me please??? &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;regards&lt;/P&gt;&lt;P&gt;marisol.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 24 Apr 2008 21:42:23 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2008-04-24T21:42:23Z</dc:date>
    <item>
      <title>arithmetic operations</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/arithmetic-operations/m-p/3771569#M907519</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; I have a big problem, i have added the next code into a user exit.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES: BEGIN OF ty_vbap.&lt;/P&gt;&lt;P&gt;          INCLUDE STRUCTURE vbap.&lt;/P&gt;&lt;P&gt;  TYPES: difer  TYPE vbap-netwr,&lt;/P&gt;&lt;P&gt;  END OF ty_vbap.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: x_vbap TYPE STANDARD TABLE OF vbap WITH HEADER LINE, "cabecera&lt;/P&gt;&lt;P&gt;        y_vbap TYPE STANDARD TABLE OF vbap WITH HEADER LINE, "posiciones&lt;/P&gt;&lt;P&gt;        z_vbap  TYPE STANDARD TABLE OF ty_vbap WITH HEADER LINE, "diferencia&lt;/P&gt;&lt;P&gt;        w_vbap  TYPE vbap.&lt;/P&gt;&lt;P&gt;  DATA:  lv_netwr    LIKE vbap-netwr,&lt;/P&gt;&lt;P&gt;         lv_resul(8) TYPE p DECIMALS 8,&lt;/P&gt;&lt;P&gt;         lv_netwr_p  LIKE vbap-netwr,&lt;/P&gt;&lt;P&gt;         lv_netwr_c  LIKE vbap-netwr,&lt;/P&gt;&lt;P&gt;         lv_difer    LIKE vbap-netwr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Agrupa tabla de header y posiciones&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  REFRESH : z_vbap, y_vbap, z_vbap.&lt;/P&gt;&lt;P&gt;  CLEAR:    z_vbap, y_vbap, z_vbap.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT xvbap.&lt;/P&gt;&lt;P&gt;    IF xvbap-uepos = 0  AND xvbap-pstyv = 'ZC4W'.&lt;/P&gt;&lt;P&gt;      MOVE-CORRESPONDING xvbap TO w_vbap.&lt;/P&gt;&lt;P&gt;      APPEND w_vbap TO x_vbap.&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;      y_vbap-vbeln = xvbap-vbeln.&lt;/P&gt;&lt;P&gt;      y_vbap-pstyv = xvbap-pstyv.&lt;/P&gt;&lt;P&gt;      y_vbap-uepos = xvbap-uepos.&lt;/P&gt;&lt;P&gt;      y_vbap-netwr = xvbap-netwr.&lt;/P&gt;&lt;P&gt;      COLLECT y_vbap.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Calcula si existe diferencia entre las posiciones  y cabecera&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  SORT x_vbap.&lt;/P&gt;&lt;P&gt;  SORT y_vbap.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT x_vbap.&lt;/P&gt;&lt;P&gt;    READ TABLE y_vbap&lt;/P&gt;&lt;P&gt;       WITH KEY vbeln = x_vbap-vbeln&lt;/P&gt;&lt;P&gt;                uepos = x_vbap-posnr&lt;/P&gt;&lt;P&gt;                BINARY SEARCH.&lt;/P&gt;&lt;P&gt;    IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;      IF y_vbap-netwr &amp;lt;&amp;gt; x_vbap-netwr.&lt;/P&gt;&lt;P&gt;        MOVE-CORRESPONDING x_vbap TO z_vbap.&lt;/P&gt;&lt;P&gt;        z_vbap-difer = x_vbap-netwr - y_vbap-netwr.&lt;/P&gt;&lt;P&gt;        APPEND z_vbap.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; Calcula prorrateo entre posiciones pedido&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  SORT z_vbap.&lt;/P&gt;&lt;P&gt;  DESCRIBE TABLE z_vbap LINES sy-tfill.&lt;/P&gt;&lt;P&gt;  IF sy-tfill  &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;    CLEAR: lv_netwr,&lt;/P&gt;&lt;P&gt;           lv_netwr_p,&lt;/P&gt;&lt;P&gt;           lv_netwr_c,&lt;/P&gt;&lt;P&gt;           lv_difer,&lt;/P&gt;&lt;P&gt;           lv_resul.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    LOOP AT xvbap WHERE uepos NE '0'&lt;/P&gt;&lt;P&gt;                     AND pstyv EQ 'ZP4W'.&lt;/P&gt;&lt;P&gt;      READ TABLE z_vbap WITH KEY vbeln = xvbap-vbeln&lt;/P&gt;&lt;P&gt;                                 posnr = xvbap-uepos&lt;/P&gt;&lt;P&gt;                                 BINARY SEARCH.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     MOVE  xvbap-netwr  TO lv_netwr_p. "importe posiciones&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     MOVE  z_vbap-netwr  TO lv_netwr_c. "importe cabecera&lt;/P&gt;&lt;/LI&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;     MOVE z_vbap-difer  TO lv_difer. "diferencia.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF  z_vbap-difer &amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      Mueve a komp-kzwi3  si es positivo&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        lv_resul =  ( xvbap-netwr / z_vbap-netwr ) * z_vbap-difer.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       MOVE lv_resul TO komp-kzwi3.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      Mueve a komp-kzwi4  si es negativo&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        lv_resul =  ( xvbap-netwr / z_vbap-netwr ) * z_vbap-difer.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       MOVE lv_resul TO komp-kzwi4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The problem is  in the arithmetic operation ,  variable lv_resul doesn't catch the value of the arithmetic operation , is empty. And I don´t know why  if  xvbap-netwr ,  z_vbap-netwr and  z_vbap-difer have values.  somebody could help me please??? &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;regards&lt;/P&gt;&lt;P&gt;marisol.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 24 Apr 2008 21:42:23 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/arithmetic-operations/m-p/3771569#M907519</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-04-24T21:42:23Z</dc:date>
    </item>
    <item>
      <title>Re: arithmetic operations</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/arithmetic-operations/m-p/3771570#M907520</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Try to move the fields to independent variables and try again&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 24 Apr 2008 21:46:51 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/arithmetic-operations/m-p/3771570#M907520</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-04-24T21:46:51Z</dc:date>
    </item>
  </channel>
</rss>

