09-17-2008 6:00 AM
TABLES : ekko.
TYPES : BEGIN OF ty_po,
ebeln TYPE ekko-ebeln,
ebelp TYPE ekpo-ebelp,
matnr TYPE ekpo-matnr,
menge TYPE ekpo-menge,
menge1 TYPE ekbe-menge,
bwart TYPE ekbe-bwart,
open TYPE ekpo-menge,
status TYPE c,
END OF ty_po.
DATA : gt_po TYPE STANDARD TABLE OF ty_po,
wa_po TYPE ty_po.
DATA : p_101 LIKE ekbe-bwart,
p_102 LIKE ekbe-bwart.
SELECT-OPTIONS : s_ebeln FOR ekko-ebeln.
START-OF-SELECTION.
SELECT a~ebeln
b~ebelp
b~matnr
b~menge
INTO TABLE gt_po
FROM ekko AS a
INNER JOIN ekpo
AS b ON aebeln = bebeln
WHERE a~ebeln IN s_ebeln.
LOOP AT gt_po INTO wa_po.
CLEAR p_101.
SELECT SUM( menge ) FROM ekbe INTO p_101
WHERE ebeln = wa_po-ebeln
AND ebelp = wa_po-ebelp
AND bwart = '101'.
CLEAR p_102.
SELECT SUM( menge ) FROM ekbe INTO p_102
WHERE ebeln = wa_po-ebeln
AND ebelp = wa_po-ebelp
AND bwart = '102'.
wa_po-open = wa_po-menge - ( p_101 + p_102 ).
IF wa_po-open EQ 0.
WRITE 😕 wa_po-status , 'CLOSED'.
ELSE.
WRITE 😕 wa_po-status , 'OPEN'.
ENDIF.
write : wa_po-ebeln,
wa_po-ebelp,
wa_po-matnr,
wa_po-menge,
wa_po-menge1,
wa_po-open,
wa_po-status.
but it going to run time error.
please tell me where i did mistake.
09-17-2008 6:05 AM
>
> DATA : p_101 LIKE ekbe-bwart,
> p_102 LIKE ekbe-bwart.
> SELECT SUM( menge ) FROM ekbe INTO p_101
> WHERE ebeln = wa_po-ebeln
> AND ebelp = wa_po-ebelp
> AND bwart = '101'.
> CLEAR p_102.
>
> SELECT SUM( menge ) FROM ekbe INTO p_102
> WHERE ebeln = wa_po-ebeln
> AND ebelp = wa_po-ebelp
> AND bwart = '102'.
>
>
> but it going to run time error.
> please tell me where i did mistake.
BWART is Movement type and you are summing the quantity and collecting in Type BWART you decleare like p_101 LIKE ekbe-bwart,
p_102 LIKE ekbe-bwart??
Pls take care for its type.it should be type N .
09-17-2008 6:10 AM
Hi
I think you have wrongly declared the varaiables
DATA : p_101 LIKE ekbe-bwart,
p_102 LIKE ekbe-bwart.
It should be
DATA : p_101 LIKE ekbe-menge,
p_102 LIKE ekbe-menge.
And also.
Calling Select with SUM inside loop may cause performance issue.
Instead you can calculate the SUM outside the loop
Regards
MD
Edited by: Madhan Doraikannan on Sep 17, 2008 7:11 AM
09-17-2008 9:15 AM
I got open po but that po are some is not done goods receipt and some po have without goods receipt but invoiced happend . this type po ai also call it as open po.