Skip to content

Commit bc18234

Browse files
authored
Add files via upload
1 parent 05f91aa commit bc18234

16 files changed

+2944
-200
lines changed

src/zcl_tbox_csv_common.clas.abap

Lines changed: 449 additions & 0 deletions
Large diffs are not rendered by default.
Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,70 @@
1+
CLASS lcl_utils DEFINITION.
2+
PUBLIC SECTION.
3+
4+
CLASS-METHODS:
5+
get_components IMPORTING i_data TYPE data RETURNING VALUE(r) TYPE abap_component_view_tab,
6+
is_flat_table IMPORTING i_table TYPE ANY TABLE RETURNING VALUE(r) TYPE abap_bool.
7+
8+
9+
ENDCLASS.
10+
11+
CLASS lcl_utils IMPLEMENTATION.
12+
13+
METHOD get_components.
14+
15+
DATA(data_desc) = cl_abap_typedescr=>describe_by_data( i_data ).
16+
17+
CASE data_desc->kind.
18+
19+
WHEN cl_abap_typedescr=>kind_table.
20+
21+
DATA(tab_desc) = CAST cl_abap_tabledescr( data_desc ).
22+
DATA(tab_line) = tab_desc->get_table_line_type( ).
23+
24+
CASE tab_line->kind.
25+
26+
WHEN cl_abap_typedescr=>kind_struct.
27+
DATA(line_desc) = CAST cl_abap_structdescr( tab_line ).
28+
r = line_desc->get_included_view( ).
29+
30+
WHEN OTHERS.
31+
r = VALUE #(
32+
( name = |TABLE_LINE|
33+
type = tab_line ) ).
34+
35+
ENDCASE.
36+
37+
WHEN cl_abap_typedescr=>kind_struct.
38+
39+
DATA(struct_desc) = CAST cl_abap_structdescr( data_desc ).
40+
r = struct_desc->get_included_view( ).
41+
42+
ENDCASE.
43+
44+
ENDMETHOD.
45+
46+
METHOD is_flat_table.
47+
48+
DATA(data_desc) = cl_abap_typedescr=>describe_by_data( i_table ).
49+
CHECK data_desc->kind = cl_abap_typedescr=>kind_table.
50+
51+
DATA(tab_desc) = CAST cl_abap_tabledescr( data_desc ).
52+
DATA(tab_line) = tab_desc->get_table_line_type( ).
53+
CHECK tab_line->kind = cl_abap_typedescr=>kind_struct.
54+
55+
DATA(struct_line) = CAST cl_abap_structdescr( tab_line ).
56+
DATA(components) = struct_line->get_included_view( ).
57+
58+
LOOP AT components INTO DATA(component).
59+
60+
IF component-type->kind <> cl_abap_typedescr=>kind_elem.
61+
RETURN.
62+
ENDIF.
63+
64+
ENDLOOP.
65+
66+
r = abap_true.
67+
68+
ENDMETHOD.
69+
70+
ENDCLASS.

src/zcl_tbox_csv_common.clas.xml

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<abapGit version="v1.0.0" serializer="LCL_OBJECT_CLAS" serializer_version="v1.0.0">
3+
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
4+
<asx:values>
5+
<VSEOCLASS>
6+
<CLSNAME>ZCL_TBOX_CSV_COMMON</CLSNAME>
7+
<LANGU>E</LANGU>
8+
<DESCRIPT>CSV Manager | Common Methods</DESCRIPT>
9+
<STATE>1</STATE>
10+
<CLSCCINCL>X</CLSCCINCL>
11+
<FIXPT>X</FIXPT>
12+
<UNICODE>X</UNICODE>
13+
</VSEOCLASS>
14+
<TPOOL>
15+
<item>
16+
<ID>I</ID>
17+
<KEY>E01</KEY>
18+
<ENTRY>Invalid table: table line must contain only simple elements</ENTRY>
19+
<LENGTH>100</LENGTH>
20+
</item>
21+
</TPOOL>
22+
<DESCRIPTIONS_SUB>
23+
<SEOSUBCOTX>
24+
<CMPNAME>FIELD</CMPNAME>
25+
<SCONAME>R_RES</SCONAME>
26+
<LANGU>E</LANGU>
27+
<DESCRIPT>CSV Manager | CSV Field</DESCRIPT>
28+
</SEOSUBCOTX>
29+
<SEOSUBCOTX>
30+
<CMPNAME>_SET_CATALOG</CMPNAME>
31+
<SCONAME>ZCX_TBOX_CSVMAN</SCONAME>
32+
<LANGU>E</LANGU>
33+
<DESCRIPT>CSV Manager Exceptions</DESCRIPT>
34+
</SEOSUBCOTX>
35+
</DESCRIPTIONS_SUB>
36+
</asx:values>
37+
</asx:abap>
38+
</abapGit>

0 commit comments

Comments
 (0)