*&--------------------------------------------------------------------* *& Form BUILD_MAINKEY_TAB_1 * *&--------------------------------------------------------------------* * build mainkey tab for display modification - part one * * merge identical entries for same mainkey into one entry * assumptions: TOTAL is sorted ascending by * Now, with unicode: sorted by *&--------------------------------------------------------------------* FORM build_mainkey_tab_1. DATA: date_safe TYPE d, date_safe_1 TYPE d, date_safe_2 TYPE d, date_safe_3 TYPE d. date_safe = . "TOTAL date_safe_1 = . "TOTAL date_safe_2 = . " date_safe_3 = . " = = = = '99999999'. IF NE . MOVE: date_safe TO , date_safe_1 TO , date_safe_2 TO , date_safe_3 TO . IF vim_no_mainkey_exists EQ vim_no_mkey_not_procsd OR NE . * NE OR * ( vim_mkey_after_exists NE space AND * NE ). IF vim_coll_mkeys_first EQ space. APPEND vim_collapsed_mainkeys. CLEAR vim_collapsed_mainkeys-log_key. ELSE. CLEAR vim_coll_mkeys_first. ENDIF. = . = . * vim_collapsed_mainkeys-mainkey = . * vim_collapsed_mainkeys-mkey_bf = . * If the position <= 0, the shouldn't be * assigned. XB am 27.03.2002 CSN int1332679 2002 ELSEIF vim_mkey_after_exists NE space AND NE . IF vim_coll_mkeys_first EQ space. APPEND vim_collapsed_mainkeys. CLEAR vim_collapsed_mainkeys-log_key. ELSE. CLEAR vim_coll_mkeys_first. ENDIF. = . * = . * vim_collapsed_mainkeys-mainkey = . * vim_collapsed_mainkeys-mkey_bf = . ELSE. IF x_header-delmdtflag EQ 'E' AND LE sy-datum AND GE sy-datum OR x_header-delmdtflag EQ 'B' AND GE sy-datum AND LE sy-datum. = . * change xb 12.06.02 begin-------------------------------------------- if NE . = . endif. * change xb 12.06.02 *********************************************** * vim_collapsed_mainkeys-mainkey = . * vim_collapsed_mainkeys-mkey_bf = . ENDIF. ENDIF. * end correction XB am 27.03.2002 CSN int1332679 2002 = . TRANSLATE vim_no_mainkey_exists USING vim_no_mkey_procsd_patt. ELSE. MOVE: date_safe TO , date_safe_1 TO , date_safe_2 TO , date_safe_3 TO . IF x_header-delmdtflag EQ 'E' AND LE sy-datum AND GE sy-datum OR x_header-delmdtflag EQ 'B' AND GE sy-datum AND LE sy-datum. = . * change xb 12.06.02 begin-------------------------------------------- if NE . = . endif. * change xb 12.06.02 *********************************************** * vim_collapsed_mainkeys-mainkey = . * vim_collapsed_mainkeys-mkey_bf = . ENDIF. ENDIF. ENDFORM. "build_mainkey_tab_1