2010 Aug 31 2:48 PM
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.
2010 Aug 31 2:55 PM
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
2010 Aug 31 10:28 PM
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.
| User | Count |
|---|---|
| 3 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 |