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

sum EKBE

Former Member
0 Likes
1,132

hi all,

how to find sum on (EKBE and - sum EKPO )

I created som code but can I optimize it?

 
  DATA: iznekp TYPE ekpo-menge,
        iznekb TYPE ekbe-menge.


  SELECT ebeln FROM eket INTO ls_eket-ebeln WHERE eindt between budat and sy-datum.
    SELECT ebeln ebelp menge FROM ekpo INTO CORRESPONDING FIELDS OF ls_ekpo
    WHERE matnr = p_matnr AND
    ebeln = ls_eket-ebeln and
    werks = p_werks AND elikz = ' ' AND bstyp = 'F' AND loekz = ' ' AND retpo = ' '.
      iznekp = iznekp + ls_ekpo-menge.

      SELECT menge FROM ekbe INTO ls_ekbe-menge WHERE
      ebeln = ls_eket-ebeln
      AND ebelp =  ls_ekpo-ebelp
      AND vgabe = '1'
      AND bewtp = 'E'
      AND bwart IN ('101','102','105','106','122','123').
        CASE ls_ekbe-shkzg.
          WHEN 'S'.
            iznekb = iznekb + ls_ekbe-menge.
          WHEN 'H'.
            iznekb = iznekb - ls_ekbe-menge.
        ENDCASE.
        p_iznos = iznekb - iznekp.
      ENDSELECT.
    ENDSELECT.
  ENDSELECT.

hi all,

how to find sum on (EKBE and - sum EKPO )

I created som code but can I optimize it?

 
  DATA: iznekp TYPE ekpo-menge,
        iznekb TYPE ekbe-menge.


  SELECT ebeln FROM eket INTO ls_eket-ebeln WHERE eindt between budat and sy-datum.
    SELECT ebeln ebelp menge FROM ekpo INTO CORRESPONDING FIELDS OF ls_ekpo
    WHERE matnr = p_matnr AND
    ebeln = ls_eket-ebeln and
    werks = p_werks AND elikz = ' ' AND bstyp = 'F' AND loekz = ' ' AND retpo = ' '.
      iznekp = iznekp + ls_ekpo-menge.

      SELECT menge FROM ekbe INTO ls_ekbe-menge WHERE
      ebeln = ls_eket-ebeln
      AND ebelp =  ls_ekpo-ebelp
      AND vgabe = '1'
      AND bewtp = 'E'
      AND bwart IN ('101','102','105','106','122','123').
        CASE ls_ekbe-shkzg.
          WHEN 'S'.
            iznekb = iznekb + ls_ekbe-menge.
          WHEN 'H'.
            iznekb = iznekb - ls_ekbe-menge.
        ENDCASE.
        p_iznos = iznekb - iznekp.
      ENDSELECT.
    ENDSELECT.
  ENDSELECT.

2 REPLIES 2
Read only

Former Member
0 Likes
729

Hi try this way...

 
   DATA: iznekp TYPE ekpo-menge,
         iznekb TYPE ekbe-menge.
 data : s_shkzg type ekbe-menge,
           H_shkzg type ekbe-menge.
 
   SELECT ebeln FROM eket INTO ls_eket-ebeln WHERE eindt between budat and sy-datum.
     SELECT ebeln ebelp menge FROM ekpo INTO CORRESPONDING FIELDS OF ls_ekpo
     WHERE matnr = p_matnr AND
     ebeln = ls_eket-ebeln and
     werks = p_werks AND elikz = ' ' AND bstyp = 'F' AND loekz = ' ' AND retpo = ' '.
       iznekp = iznekp + ls_ekpo-menge.
        
       SELECT sun (menge) FROM ekbe INTO s_shkzg WHERE
       ebeln = ls_eket-ebeln
       AND ebelp =  ls_ekpo-ebelp
       AND vgabe = '1'
       AND bewtp = 'E'
       AND bwart IN ('101','102','105','106','122','123')
       and shkzg = 'S'.
   SELECT sun (menge) FROM ekbe INTO h_shkzg WHERE
       ebeln = ls_eket-ebeln
       AND ebelp =  ls_ekpo-ebelp
       AND vgabe = '1'
       AND bewtp = 'E'
       AND bwart IN ('101','102','105','106','122','123')
       and shkzg = 'H'. 

       iznekb  = (s_shkzg + ls_ekbe-menge)-( h_shkzg - ls_ekbe-menge).

                  p_iznos = iznekb - iznekp.
      
     ENDSELECT.
   ENDSELECT.
 
 

Prabhudas

Read only

kesavadas_thekkillath
Active Contributor
0 Likes
729

I hope you can get all these compiled values directly from view MDUB.

It will have the received quantity , open quantity and total po quantity.