Skip to content

Commit c76d678

Browse files
authored
Merge pull request #28 from SchwarzIT/22-itab-container-usicl_bal_dc_itab-nested-structures-are-not-recognized
Issue #22 - ITAB-Container /USI/CL_BAL_DC_ITAB
2 parents ac2e47a + 6f83844 commit c76d678

File tree

2 files changed

+15
-26
lines changed

2 files changed

+15
-26
lines changed

src/#usi#bal_data_containers/#usi#cl_bal_dc_itab.clas.locals_imp.abap

Lines changed: 7 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -300,48 +300,34 @@ CLASS lcl_table_descriptor IMPLEMENTATION.
300300
r_result = SWITCH #( i_internal_type
301301
WHEN cl_abap_typedescr=>typekind_char THEN
302302
cl_abap_elemdescr=>get_c( field_length )
303-
304303
WHEN cl_abap_typedescr=>typekind_date THEN
305304
cl_abap_elemdescr=>get_d( )
306-
307305
WHEN cl_abap_typedescr=>typekind_decfloat16 THEN
308306
cl_abap_elemdescr=>get_decfloat16( )
309-
310307
WHEN cl_abap_typedescr=>typekind_decfloat34
311308
OR cl_abap_typedescr=>typekind_decfloat THEN
312309
cl_abap_elemdescr=>get_decfloat34( )
313-
314310
WHEN cl_abap_typedescr=>typekind_float THEN
315311
cl_abap_elemdescr=>get_f( )
316-
317312
WHEN cl_abap_typedescr=>typekind_hex THEN
318313
cl_abap_elemdescr=>get_x( field_length )
319-
320314
WHEN cl_abap_typedescr=>typekind_int THEN
321315
cl_abap_elemdescr=>get_i( )
322-
323316
WHEN cl_abap_typedescr=>typekind_int1 THEN
324317
get_type_by_name( c_special_type_names-int1 )
325-
326318
WHEN cl_abap_typedescr=>typekind_int2 THEN
327319
get_type_by_name( c_special_type_names-int2 )
328-
329320
WHEN c_special_type_kinds-int8 THEN
330321
get_type_by_name( c_special_type_names-int8 )
331-
332322
WHEN cl_abap_typedescr=>typekind_num THEN
333323
cl_abap_elemdescr=>get_n( field_length )
334-
335324
WHEN cl_abap_typedescr=>typekind_packed THEN
336325
cl_abap_elemdescr=>get_p( p_length = field_length
337326
p_decimals = decimals )
338-
339327
WHEN cl_abap_typedescr=>typekind_string THEN
340328
cl_abap_elemdescr=>get_string( )
341-
342329
WHEN cl_abap_typedescr=>typekind_time THEN
343330
cl_abap_elemdescr=>get_t( )
344-
345331
WHEN cl_abap_typedescr=>typekind_xstring THEN
346332
cl_abap_elemdescr=>get_xstring( ) ).
347333

@@ -1074,8 +1060,9 @@ CLASS lcl_serializer IMPLEMENTATION.
10741060
ENDMETHOD.
10751061

10761062
METHOD serialize_persistency_flavor.
1077-
r_result = VALUE #( ( name = lif_persistency_constants~c_parameter_names-persistency_flavor
1078-
value = NEW lcl_persistency_flavor_enum=>ty_persistency_flavor( persistency_flavor->value ) ) ).
1063+
r_result =
1064+
VALUE #( ( name = lif_persistency_constants~c_parameter_names-persistency_flavor
1065+
value = NEW lcl_persistency_flavor_enum=>ty_persistency_flavor( persistency_flavor->value ) ) ).
10791066
ENDMETHOD.
10801067

10811068
METHOD serialize_table_descriptor.
@@ -1561,8 +1548,10 @@ CLASS lcl_grid_control IMPLEMENTATION.
15611548
input-fieldcatalog_collection = i_fieldcatalog_collection.
15621549
input-internal_table_ref = i_internal_table_ref.
15631550

1564-
grid-fieldcatalog_name = COND #( WHEN input-fieldcatalog_collection->has_fieldcatalog( lcl_fieldcatalog_name_enum=>external ) = abap_true
1565-
THEN lcl_fieldcatalog_name_enum=>external
1551+
grid-fieldcatalog_name = COND #( LET default_fcat = lcl_fieldcatalog_name_enum=>external
1552+
IN
1553+
WHEN input-fieldcatalog_collection->has_fieldcatalog( default_fcat ) = abap_true
1554+
THEN default_fcat
15661555
ELSE lcl_fieldcatalog_name_enum=>internal ).
15671556

15681557
grid-excluded_functions = get_excluded_functions( ).

src/#usi#bal_data_containers/#usi#cl_bal_dc_itab.clas.testclasses.abap

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -291,13 +291,13 @@ CLASS lcl_unit_tests_serialization IMPLEMENTATION.
291291
METHOD test_table_of_ref_to_structure.
292292
TYPES: BEGIN OF ty_nested_structure_1,
293293
field_01 TYPE c LENGTH 10,
294-
END OF ty_nested_structure_1,
294+
END OF ty_nested_structure_1.
295295

296-
BEGIN OF ty_nested_structure_2,
296+
TYPES: BEGIN OF ty_nested_structure_2,
297297
field_01 TYPE c LENGTH 10,
298-
END OF ty_nested_structure_2,
298+
END OF ty_nested_structure_2.
299299

300-
BEGIN OF ty_line_type,
300+
TYPES: BEGIN OF ty_line_type,
301301
field_01 TYPE c LENGTH 10,
302302
field_02 TYPE c LENGTH 10,
303303
struc_01 TYPE ty_nested_structure_1,
@@ -340,9 +340,9 @@ CLASS lcl_unit_tests_serialization IMPLEMENTATION.
340340
METHOD test_nested_structures.
341341
TYPES: BEGIN OF ty_nested_structure,
342342
very_long_fieldname_for_test_9 TYPE c LENGTH 10,
343-
END OF ty_nested_structure,
343+
END OF ty_nested_structure.
344344

345-
BEGIN OF ty_line_type,
345+
TYPES: BEGIN OF ty_line_type,
346346
field_01 TYPE c LENGTH 10,
347347
field_02 TYPE c LENGTH 10,
348348
struc_01 TYPE ty_nested_structure,
@@ -430,9 +430,9 @@ CLASS lcl_unit_tests_serialization IMPLEMENTATION.
430430
METHOD test_first_fieldname_collision.
431431
TYPES: BEGIN OF ty_nested_structure,
432432
field TYPE char10,
433-
END OF ty_nested_structure,
433+
END OF ty_nested_structure.
434434

435-
BEGIN OF ty_line_type,
435+
TYPES: BEGIN OF ty_line_type,
436436
struc_01 TYPE ty_nested_structure,
437437
struc_02 TYPE ty_nested_structure,
438438
END OF ty_line_type,

0 commit comments

Comments
 (0)