Files
abap/exercises/practice/etl/.meta/zcl_etl.clas.abap
2022-10-27 14:11:19 +02:00

45 lines
1.5 KiB
ABAP

CLASS zcl_etl DEFINITION
PUBLIC
FINAL
CREATE PUBLIC.
PUBLIC SECTION.
TYPES:
BEGIN OF ty_legacy_data,
number TYPE i,
string TYPE string,
END OF ty_legacy_data,
BEGIN OF ty_new_data,
letter TYPE c LENGTH 1,
number TYPE i,
END OF ty_new_data,
tty_legacy_data TYPE SORTED TABLE OF ty_legacy_data WITH UNIQUE KEY number,
tty_new_data TYPE SORTED TABLE OF ty_new_data WITH UNIQUE KEY letter.
METHODS transform IMPORTING legacy_data TYPE tty_legacy_data
RETURNING VALUE(new_data) TYPE tty_new_data.
PROTECTED SECTION.
PRIVATE SECTION.
ENDCLASS.
CLASS zcl_etl IMPLEMENTATION.
METHOD transform.
new_data = VALUE tty_new_data(
FOR legacy IN legacy_data
FOR i = 0 UNTIL i = strlen( replace( val = legacy-string
sub = ','
with = ``
occ = 0 ) )
LET str = replace( val = legacy-string
sub = ','
with = ``
occ = 0 )
IN ( letter = to_lower( substring( val = str
off = i
len = 1 ) )
number = legacy-number ) ).
ENDMETHOD.
ENDCLASS.