Skip to Content
0
Former Member
Feb 25, 2009 at 06:12 AM

Calculate ARR

140 Views

Hi Abaper,

I have requirement to calculate ARR for specifying date of range and hotel. I have a code but it not working properly.

Below is my code:

LOOP AT it_estadi ASSIGNING <wa_estadi>.

  • READ TABLE it_linfol_dummy INTO wa_linfol_dummy WITH KEY xhotel_id = <wa_estadi>-xhotel_id xfecha_prest = <wa_estadi>-xfecha_id.

<wa_estadi>-arr1 = ( <wa_estadi>-xocupacion + <wa_estadi>-xuso_diurno ) - <wa_estadi>-xno_shows.

ENDLOOP.

TYPES:BEGIN OF ty_estadi_dummy_00,

xhotel_id TYPE /ccsht/xhotel_id,

xfecha_id TYPE /ccsht/xfecha_est,

arr1 TYPE i,

tot type i,

END OF ty_estadi_dummy_00.

DATA: it_estadi_dummy_00 TYPE TABLE OF ty_estadi_dummy_00,

wa_estadi_dummy_00 LIKE LINE OF it_estadi_dummy_00.

LOOP AT it_estadi ASSIGNING <wa_estadi>.

DATA:lv_arr1 TYPE i.

lv_arr1 = lv_arr1 + <wa_estadi>-arr1.

AT END OF xfecha_id.

wa_estadi_dummy_00-arr1 = lv_arr1.

wa_estadi_dummy_00-xhotel_id = <wa_estadi>-xhotel_id.

wa_estadi_dummy_00-xfecha_id = <wa_estadi>-xfecha_id.

APPEND wa_estadi_dummy_00 TO it_estadi_dummy_00.

CLEAR wa_estadi_dummy_00.

ENDAT.

ENDLOOP.

  • BREAK-POINT.

LOOP AT it_linfol_dummy into wa_linfol_dummy .

READ TABLE it_estadi_dummy_00 INTO wa_estadi_dummy_00 WITH KEY xhotel_id = wa_linfol_dummy-xhotel_id xfecha_id = wa_linfol_dummy-xfecha_prest.

IF sy-subrc EQ 0.

wa_estadi_dummy_00-tot = ( wa_linfol_dummy-xbase_imp / wa_estadi_dummy_00-arr1 ) .

modify it_estadi_dummy_00 from wa_estadi_dummy_00 index sy-tabix.

clear wa_estadi_dummy_00.

ENDIF.

ENDLOOP.

LOOP AT it_estadi_dummy_00 INTO wa_estadi_dummy_00.

READ TABLE it_date INTO wa_date WITH KEY dat = wa_estadi_dummy_00-xfecha_id.

IF sy-subrc EQ 0.

wa_final-xhotel_id = wa_estadi_dummy_00-xhotel_id.

CASE sy-tabix.

WHEN '1'.

wa_final-v1 = wa_estadi_dummy_00-tot.

ON CHANGE OF wa_estadi_dummy_00-xhotel_id.

sum1 = sum1 + wa_estadi_dummy_00-tot.

ENDON.

WHEN '2'.

wa_final-v2 = wa_estadi_dummy_00-tot.

ON CHANGE OF wa_estadi_dummy_00-xhotel_id.

sum2 = sum2 + wa_estadi_dummy_00-tot.

ENDON.

WHEN '3'.

wa_final-v3 = wa_estadi_dummy_00-tot.

ON CHANGE OF wa_estadi_dummy_00-xhotel_id.

sum3 = sum3 + wa_estadi_dummy_00-tot.

ENDON.

WHEN '4'.

wa_final-v4 = wa_estadi_dummy_00-tot.

ON CHANGE OF wa_estadi_dummy_00-xhotel_id.

sum4 = sum4 + wa_estadi_dummy_00-tot.

ENDON.

WHEN '5'.

wa_final-v5 = wa_estadi_dummy_00-tot.

ON CHANGE OF wa_estadi_dummy_00-xhotel_id.

sum5 = sum5 + wa_estadi_dummy_00-tot.

ENDON.

WHEN '6'.

wa_final-v6 = wa_estadi_dummy_00-tot.

ON CHANGE OF wa_estadi_dummy_00-xhotel_id.

sum6 = sum6 + wa_estadi_dummy_00-tot.

ENDON.

WHEN '7'.

wa_final-v7 = wa_estadi_dummy_00-tot.

ON CHANGE OF wa_estadi_dummy_00-xhotel_id.

sum7 = sum7 + wa_estadi_dummy_00-tot.

ENDON.

ENDCASE.

APPEND wa_final TO it_final.

CLEAR: wa_final.

ENDIF.

ENDLOOP.

Can any one help me about this work.

Thanks & Regards,

Amit