Code listing for: Z_SET_MERGE_VERT

Description: Merge cells

**************************************************************************
*   Method attributes.                                                   *
**************************************************************************
Instantiation: Public
**************************************************************************

method Z_SET_MERGE_VERT.

* ROW - Zeile deren Spalten zusammengeführt werden sollen
* tab_col_merge - Spalten, die zusammengeführt werden sollen
   FIELD-SYMBOLS <fs_cols> TYPE lvc_s_co01.
   FIELD-SYMBOLS <fs_data> TYPE lvc_s_data.
   DATA outputlen TYPE i.

   SORT tab_col_merge.
* Die Spalten, die zusammengeführt werden sollen
   LOOP AT tab_col_merge ASSIGNING <fs_cols>.
* ein paar Prüfungen
     if <fs_cols>-col_id    le 0.                continue. endif.
     if <fs_cols>-outputlen le <fs_cols>-col_id. continue. endif.
     outputlen = <fs_cols>-outputlen - <fs_cols>-col_id.
     LOOP AT mt_data ASSIGNING <fs_data>
          WHERE row_pos = row  AND
                ( col_pos between <fs_cols>-col_id AND
                                  <fs_cols>-outputlen ).
* Setze wie weit soll gemerged werden Von Spalte in Länge
* und zwar wird bei der 1 Spalte angefangen
       IF <fs_data>-col_pos = <fs_cols>-col_id.
         <fs_data>-mergevert = outputlen.
* bei allen anderen, die zusammangehören
* muss der Wert raus, da er aus der 1. Spalte kommt
* und das mergekennzeichen muss auch weg !
       ELSE.
         CLEAR <fs_data>-mergevert.
         CLEAR <fs_data>-value.
       ENDIF.
     ENDLOOP.

   ENDLOOP.

endmethod.