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

Calculate ARR

Former Member
0 Likes
736

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

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

2 REPLIES 2
Read only

Former Member
0 Likes
594

Hi Amit,

can you specify what error are you getting..

regards

Read only

0 Likes
594

Hi,

When i select range of date and range of hotel the data is not calculate correct.

Thanks & Regards,

Amit