Hi all,
My program is doing sum kind of summation suring at last statement.
I want to sum for every row where stufe = 1 but the at last only sum for row 4 ( row 4 + row 5 values).
Why at last is not summing for row 1 ? (row 1 + row 2 + row 3 )
Row 1 value not summed. Its 0.
LOOP AT gt_print ASSIGNING <fs_print>
WHERE psphi <> ''.
REFRESH:lt_child_wbs,
lt_parent_wbs.
CLEAR:lwa_child_wbs,
lwa_parent_wbs,
lv_sub_element,
lwa_sum.
*To retrieve all the child WBS elements
IF <fs_print>-stufe NE '001'.
lwa_parent_wbs = <fs_print>-posid.
APPEND lwa_parent_wbs TO lt_parent_wbs.
CLEAR lwa_parent_wbs.
CALL FUNCTION 'BAPI_PROJECT_GETINFO'
EXPORTING
with_subtree = 'X'
TABLES
i_wbs_element_table = lt_parent_wbs
e_wbs_element_table = lt_child_wbs.
ENDIF.
* if <fs_print>-stufe = '001' or <fs_print>-stufe = '002'.
LOOP AT gt_print INTO gwa_print
WHERE psphi = <fs_print>-psphi
AND stufe > <fs_print>-stufe.
*_ Raise flag of sub element found
lv_sub_element = gc_x.
* if lt_child_wbs[] is INITIAL.
IF <fs_print>-stufe = '001'.
lwa_sum-pfy_total = lwa_sum-pfy_total + gwa_print-pfy_total.
* begin ins
lwa_sum-last_subm_total = lwa_sum-last_subm_total + gwa_print-last_subm_total.
lwa_sum-curr_subm_total = lwa_sum-curr_subm_total + gwa_print-curr_subm_total.
* end ins
lwa_sum-fy_total = lwa_sum-fy_total + gwa_print-fy_total.
lwa_sum-wlp01 = lwa_sum-wlp01 + gwa_print-wlp01.
lwa_sum-wlp02 = lwa_sum-wlp02 + gwa_print-wlp02.
lwa_sum-wlp03 = lwa_sum-wlp03 + gwa_print-wlp03.
lwa_sum-wlp04 = lwa_sum-wlp04 + gwa_print-wlp04.
lwa_sum-wlp05 = lwa_sum-wlp05 + gwa_print-wlp05.
lwa_sum-wlp06 = lwa_sum-wlp06 + gwa_print-wlp06.
lwa_sum-wlp07 = lwa_sum-wlp07 + gwa_print-wlp07.
lwa_sum-wlp08 = lwa_sum-wlp08 + gwa_print-wlp08.
lwa_sum-wlp09 = lwa_sum-wlp09 + gwa_print-wlp09.
lwa_sum-wlp10 = lwa_sum-wlp10 + gwa_print-wlp10.
lwa_sum-wlp11 = lwa_sum-wlp11 + gwa_print-wlp11.
lwa_sum-wlp12 = lwa_sum-wlp12 + gwa_print-wlp12.
lwa_sum-total_itd = lwa_sum-total_itd + gwa_print-total_itd.
CLEAR gwa_print.
ELSE.
CLEAR lv_posid.
CALL FUNCTION 'CONVERSION_EXIT_ABPSN_OUTPUT'
EXPORTING
input = gwa_print-posid
IMPORTING
output = lv_posid.
*To check if the WBS(<fs_print>-psphi) has any child WBS elements
READ TABLE lt_child_wbs INTO lwa_child_wbs
WITH KEY wbs_element = lv_posid.
IF sy-subrc EQ 0.
lwa_sum-pfy_total = lwa_sum-pfy_total + gwa_print-pfy_total.
* begin ins
lwa_sum-last_subm_total = lwa_sum-last_subm_total + gwa_print-last_subm_total.
lwa_sum-curr_subm_total = lwa_sum-curr_subm_total + gwa_print-curr_subm_total.
* end ins
lwa_sum-fy_total = lwa_sum-fy_total + gwa_print-fy_total.
lwa_sum-wlp01 = lwa_sum-wlp01 + gwa_print-wlp01.
lwa_sum-wlp02 = lwa_sum-wlp02 + gwa_print-wlp02.
lwa_sum-wlp03 = lwa_sum-wlp03 + gwa_print-wlp03.
lwa_sum-wlp04 = lwa_sum-wlp04 + gwa_print-wlp04.
lwa_sum-wlp05 = lwa_sum-wlp05 + gwa_print-wlp05.
lwa_sum-wlp06 = lwa_sum-wlp06 + gwa_print-wlp06.
lwa_sum-wlp07 = lwa_sum-wlp07 + gwa_print-wlp07.
lwa_sum-wlp08 = lwa_sum-wlp08 + gwa_print-wlp08.
lwa_sum-wlp09 = lwa_sum-wlp09 + gwa_print-wlp09.
lwa_sum-wlp10 = lwa_sum-wlp10 + gwa_print-wlp10.
lwa_sum-wlp11 = lwa_sum-wlp11 + gwa_print-wlp11.
lwa_sum-wlp12 = lwa_sum-wlp12 + gwa_print-wlp12.
lwa_sum-total_itd = lwa_sum-total_itd + gwa_print-total_itd.
CLEAR gwa_print.
ENDIF.
ENDIF.
AT LAST.
<fs_print>-pfy_total = lwa_sum-pfy_total.
* begin ins
<fs_print>-last_subm_total = lwa_sum-last_subm_total.
<fs_print>-curr_subm_total = lwa_sum-curr_subm_total.
* end ins
<fs_print>-fy_total = lwa_sum-fy_total.
<fs_print>-wlp01 = lwa_sum-wlp01.
<fs_print>-wlp02 = lwa_sum-wlp02.
<fs_print>-wlp03 = lwa_sum-wlp03.
<fs_print>-wlp04 = lwa_sum-wlp04.
<fs_print>-wlp05 = lwa_sum-wlp05.
<fs_print>-wlp06 = lwa_sum-wlp06.
<fs_print>-wlp07 = lwa_sum-wlp07.
<fs_print>-wlp08 = lwa_sum-wlp08.
<fs_print>-wlp09 = lwa_sum-wlp09.
<fs_print>-wlp10 = lwa_sum-wlp10.
<fs_print>-wlp11 = lwa_sum-wlp11.
<fs_print>-wlp12 = lwa_sum-wlp12.
<fs_print>-total_itd = lwa_sum-total_itd.
<fs_print>-budget_balance = <fs_print>-budget_awarded
- lwa_sum-total_itd.
IF <fs_print>-stufe EQ '001'.
*_ Sum subtotal of all projects to manually manipulate totals data
gs_proj_total-budget_awarded = gs_proj_total-budget_awarded
+ <fs_print>-budget_awarded.
gs_proj_total-pfy_total = gs_proj_total-pfy_total
+ lwa_sum-pfy_total.
gs_proj_total-fy_total = gs_proj_total-fy_total
+ lwa_sum-fy_total.
* begin ins
gs_proj_total-last_subm_total = gs_proj_total-last_subm_total
+ lwa_sum-last_subm_total.
gs_proj_total-curr_subm_total = gs_proj_total-curr_subm_total
+ lwa_sum-curr_subm_total.
* end ins
gs_proj_total-wlp01 = gs_proj_total-wlp01 + lwa_sum-wlp01.
gs_proj_total-wlp02 = gs_proj_total-wlp02 + lwa_sum-wlp02.
gs_proj_total-wlp03 = gs_proj_total-wlp03 + lwa_sum-wlp03.
gs_proj_total-wlp04 = gs_proj_total-wlp04 + lwa_sum-wlp04.
gs_proj_total-wlp05 = gs_proj_total-wlp05 + lwa_sum-wlp05.
gs_proj_total-wlp06 = gs_proj_total-wlp06 + lwa_sum-wlp06.
gs_proj_total-wlp07 = gs_proj_total-wlp07 + lwa_sum-wlp07.
gs_proj_total-wlp08 = gs_proj_total-wlp08 + lwa_sum-wlp08.
gs_proj_total-wlp09 = gs_proj_total-wlp09 + lwa_sum-wlp09.
gs_proj_total-wlp10 = gs_proj_total-wlp10 + lwa_sum-wlp10.
gs_proj_total-wlp11 = gs_proj_total-wlp11 + lwa_sum-wlp11.
gs_proj_total-wlp12 = gs_proj_total-wlp12 + lwa_sum-wlp12.
gs_proj_total-total_itd = gs_proj_total-total_itd
+ lwa_sum-total_itd.
gs_proj_total-budget_balance = gs_proj_total-budget_balance
+ <fs_print>-budget_balance.
ENDIF.
ENDAT.
ENDLOOP.