*&--------------------------------------------------------------------* *& FORM COLLAPSE * *&--------------------------------------------------------------------* * collapse * *&--------------------------------------------------------------------* FORM collapse USING value(c_begin_ix) TYPE i value(c_end_ix) TYPE i. LOCAL: extract. DATA: first(1) TYPE c VALUE 'X', hf_ind TYPE i, hf_ind2 TYPE i, act_ix TYPE i. LOOP AT total. act_ix = sy-tabix. PERFORM select USING <status>-selected. CHECK sy-subrc EQ 0. CHECK <vim_tot_mkey_beforeX> EQ <vim_mkey_beforeX> AND ( vim_mkey_after_exists EQ space OR <vim_tot_mkey_afterx> EQ <vim_mkey_afterx> ). * CHECK <vim_tot_mkey_before> EQ <vim_mkey_before> AND * ( vim_mkey_after_exists EQ space OR * <vim_tot_mkey_after> EQ <vim_mkey_after> ). IF first NE space. * Changed from XB. 12.06.02 BCEK060520/BCEK060521 <vim_collapsed_keyx> = <vim_xtotal_key>. * vim_collapsed_mainkeys-mainkey = <vim_total_key>. if <vim_collapsed_mkey_bfx> ne <vim_tot_mkey_beforex>. <vim_collapsed_mkey_bfx> = <vim_tot_mkey_beforex>. * vim_collapsed_mainkeys-mkey_bf = <vim_tot_mkey_before>. endif. hf_ind = act_ix. CLEAR first. ENDIF. * Changed from XB. 12.06.02 End. IF x_header-delmdtflag EQ 'E'. CHECK <vim_begdate> LE sy-datum AND <vim_enddate> GE sy-datum. ELSE. CHECK <vim_begdate> GE sy-datum AND <vim_enddate> LE sy-datum. ENDIF. <vim_collapsed_keyx> = <vim_xtotal_key>. * changed from Xue. End. if <vim_collapsed_mkey_bfx> ne <vim_tot_mkey_beforex>. <vim_collapsed_mkey_bfx> = <vim_tot_mkey_beforex>. endif. * vim_collapsed_mainkeys-mainkey = <vim_total_key>. * <vim_collapsed_mkey_bfx> = <vim_tot_mkey_beforex>. * vim_collapsed_mainkeys-mkey_bf = <vim_tot_mkey_before>. * Change from Xue. End. hf_ind = act_ix. EXIT. ENDLOOP. READ TABLE vim_collapsed_mainkeys with key <vim_collapsed_keyx> * WITH KEY vim_collapsed_mainkeys-mainkey BINARY SEARCH TRANSPORTING NO FIELDS. INSERT vim_collapsed_mainkeys INDEX sy-tabix. vim_delim_entries-index1 = hf_ind. vim_delim_entries-index2 = c_begin_ix. vim_delim_entries-index3 = c_begin_ix. vim_delim_entries-index_corr = 'X'. APPEND vim_delim_entries. hf_ind2 = c_begin_ix + 1. CLEAR vim_delim_entries. LOOP AT extract FROM hf_ind2 TO c_end_ix. vim_delim_entries-index3 = sy-tabix. APPEND vim_delim_entries. ENDLOOP. CLEAR vim_old_viewkey. TRANSLATE vim_no_mainkey_exists USING vim_no_mkey_not_procsd_patt. ENDFORM. "collapse