*&---------------------------------------------------------------------*
*& Include ZSOFTCOPY_CSV_TOOLS *
*& *
*&---------------------------------------------------------------------*
*& *
*& This file is part of ZSOFTCOPY. *
*& *
*& ZSOFTCOPY is free software: you can redistribute it and/or modify *
*& it under the terms of the GNU General Public License as published *
*& by the Free Software Foundation, either version 3 of the License, *
*& or any later version. *
*& *
*& ZSOFTCOPY is distributed in the hope that it will be useful, *
*& but WITHOUT ANY WARRANTY; without even the implied warranty of *
*& MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
*& GNU General Public License for more details. *
*& *
*& You should have received a copy of the GNU General Public License *
*& along with ZDOWNLOAD. If not, see . *
*& *
*&---------------------------------------------------------------------*
*& *
*& Author: Ruediger von Creytz ruediger.creytz@globalbit.net *
*& Copyright: globalBIT, LLC http://www.globalbit.net *
*& *
*&---------------------------------------------------------------------*
*-----------------------------------------------------------------------
* csv_tools
*-----------------------------------------------------------------------
FORM csv_tools.
PERFORM csv_tools_text_elements.
PERFORM text_tools.
PERFORM csv_tools_table_structure.
PERFORM csv_tools_tabstrip.
PERFORM csv_tools_varid_broken.
ENDFORM. "csv_tools
*-----------------------------------------------------------------------
* csv_tools_table_structure
*-----------------------------------------------------------------------
FORM csv_tools_table_structure.
DATA:
lt_csv TYPE it_string,
lt_row TYPE it_string,
ls_row TYPE string,
ls_table TYPE st_table_structure.
FIELD-SYMBOLS:
TYPE string,
TYPE ANY.
REFRESH gt_table_structure.
PERFORM csv_table_structure CHANGING lt_csv.
LOOP AT lt_csv ASSIGNING .
SPLIT AT '|' INTO TABLE lt_row.
LOOP AT lt_row INTO ls_row.
IF NOT ls_row IS INITIAL.
CLEAR ls_table.
SPLIT ls_row AT ';' INTO
ls_table-id
ls_table-row_nr
ls_table-fieldname
ls_table-title_elem
ls_table-link_row
ls_table-row_def
ls_table-colored_row
ls_table-comparator
ls_table-comp_value.
IF NOT ls_table-title_elem IS INITIAL.
ASSIGN (ls_table-title_elem) TO .
ls_table-title = .
UNASSIGN .
ENDIF.
APPEND ls_table TO gt_table_structure.
ENDIF.
ENDLOOP.
ENDLOOP.
ENDFORM. "csv_tools_table_structure
*-----------------------------------------------------------------------
* csv_tools_tabstrip
*-----------------------------------------------------------------------
FORM csv_tools_tabstrip.
DATA:
lt_csv TYPE it_string,
lt_row TYPE it_string,
ls_row TYPE string,
ls_tabstrip TYPE st_tabstrip.
FIELD-SYMBOLS:
TYPE string,
TYPE ANY.
REFRESH gt_tabstrip.
PERFORM csv_tabstrip CHANGING lt_csv.
LOOP AT lt_csv ASSIGNING .
SPLIT AT '|' INTO TABLE lt_row.
LOOP AT lt_row INTO ls_row.
IF NOT ls_row IS INITIAL.
CLEAR ls_tabstrip.
SPLIT ls_row AT ';' INTO
ls_tabstrip-form
ls_tabstrip-id
ls_tabstrip-parent_id
ls_tabstrip-tab_nr
ls_tabstrip-firstrow
ls_tabstrip-active_order
ls_tabstrip-text_elem
ls_tabstrip-comparator
ls_tabstrip-comp_value.
IF NOT ls_tabstrip-text_elem IS INITIAL.
ASSIGN (ls_tabstrip-text_elem) TO .
ls_tabstrip-text = .
UNASSIGN .
ENDIF.
APPEND ls_tabstrip TO gt_tabstrip.
ENDIF.
ENDLOOP.
ENDLOOP.
ENDFORM. "csv_tools_tabstrip
*-----------------------------------------------------------------------
* csv_tools_text_elements
*-----------------------------------------------------------------------
FORM csv_tools_text_elements.
DATA:
lt_csv TYPE it_string,
lt_row TYPE it_string,
ls_row TYPE string,
ls_text_element TYPE st_text_element,
ls_text_element_t TYPE st_text_element_t.
FIELD-SYMBOLS:
TYPE string.
*txt
REFRESH gt_text_element.
PERFORM csv_text_elements_1 CHANGING lt_csv.
LOOP AT lt_csv ASSIGNING .
SPLIT AT '|' INTO TABLE lt_row.
LOOP AT lt_row INTO ls_row.
IF NOT ls_row IS INITIAL.
SPLIT ls_row AT ';' INTO
ls_text_element-fieldname
ls_text_element-txt_prefix
ls_text_element-dtel_rollname
ls_text_element-dtel_field
ls_text_element-domname
ls_text_element-domvalue
ls_text_element-icon_id
ls_text_element-icon_field
ls_text_element-conc_v1
ls_text_element-conc_copula
ls_text_element-conc_v2
ls_text_element-conc_sep_space
ls_text_element-msg_id
ls_text_element-msg_nr
ls_text_element-msg_v1
ls_text_element-msg_v2
ls_text_element-msg_v3
ls_text_element-msg_v4.
APPEND ls_text_element TO gt_text_element.
ENDIF.
ENDLOOP.
ENDLOOP.
*txtt
REFRESH gt_text_element_t.
PERFORM csv_text_elements_2 CHANGING lt_csv.
LOOP AT lt_csv ASSIGNING .
SPLIT AT '|' INTO TABLE lt_row.
LOOP AT lt_row INTO ls_row.
IF NOT ls_row IS INITIAL.
SPLIT ls_row AT ';' INTO
ls_text_element_t-fieldname
ls_text_element_t-spras
ls_text_element_t-text.
APPEND ls_text_element_t TO gt_text_element_t.
ENDIF.
ENDLOOP.
ENDLOOP.
ENDFORM. "csv_tools_text_elements
*-----------------------------------------------------------------------
* csv_tools_varid_broken
*-----------------------------------------------------------------------
FORM csv_tools_varid_broken.
DATA:
lt_csv TYPE it_string,
lt_row TYPE it_string,
ls_row TYPE string,
ls_varid TYPE st_varid.
FIELD-SYMBOLS:
TYPE string.
REFRESH gt_varid_broken.
PERFORM csv_varid_broken CHANGING lt_csv.
LOOP AT lt_csv ASSIGNING .
SPLIT AT '|' INTO TABLE lt_row.
LOOP AT lt_row INTO ls_row.
IF NOT ls_row IS INITIAL.
SPLIT ls_row AT ';' INTO ls_varid-report ls_varid-vari.
APPEND ls_varid TO gt_varid_broken.
ENDIF.
ENDLOOP.
ENDLOOP.
ENDFORM. "csv_tools_varid_broken