mirror of
https://github.com/abapGit/abapGit.git
synced 2025-04-30 20:03:20 +08:00
ajson, Automatic Update (#6844)
Co-authored-by: larshp <larshp@users.noreply.github.com> Co-authored-by: Lars Hvam <larshp@hotmail.com>
This commit is contained in:
parent
f7d2384e16
commit
6183f2d30d
|
@ -992,12 +992,19 @@ CLASS lcl_json_to_abap IMPLEMENTATION.
|
||||||
|
|
||||||
WHEN zif_abapgit_ajson_types=>node_type-string.
|
WHEN zif_abapgit_ajson_types=>node_type-string.
|
||||||
" TODO: check type ?
|
" TODO: check type ?
|
||||||
IF is_node_type-type_kind = lif_kind=>date AND is_node-value IS NOT INITIAL.
|
IF is_node-value IS NOT INITIAL.
|
||||||
<container> = to_date( is_node-value ).
|
IF is_node_type-type_kind = lif_kind=>date.
|
||||||
ELSEIF is_node_type-type_kind = lif_kind=>time AND is_node-value IS NOT INITIAL.
|
<container> = to_date( is_node-value ).
|
||||||
<container> = to_time( is_node-value ).
|
ELSEIF is_node_type-type_kind = lif_kind=>time.
|
||||||
ELSEIF is_node_type-type_kind = lif_kind=>packed AND is_node-value IS NOT INITIAL.
|
<container> = to_time( is_node-value ).
|
||||||
<container> = to_timestamp( is_node-value ).
|
ELSEIF is_node_type-dd->absolute_name = '\TYPE=TIMESTAMP'
|
||||||
|
OR is_node_type-dd->absolute_name = '\TYPE=TIMESTAMPL'.
|
||||||
|
<container> = to_timestamp( is_node-value ).
|
||||||
|
ELSEIF is_node_type-type_kind = lif_kind=>packed. " Number as a string, but not a timestamp
|
||||||
|
<container> = is_node-value.
|
||||||
|
ELSE.
|
||||||
|
<container> = is_node-value.
|
||||||
|
ENDIF.
|
||||||
ELSE.
|
ELSE.
|
||||||
<container> = is_node-value.
|
<container> = is_node-value.
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
|
|
@ -1409,6 +1409,7 @@ CLASS ltcl_json_to_abap DEFINITION
|
||||||
timestamp1 TYPE timestamp,
|
timestamp1 TYPE timestamp,
|
||||||
timestamp2 TYPE timestamp,
|
timestamp2 TYPE timestamp,
|
||||||
timestamp3 TYPE timestamp,
|
timestamp3 TYPE timestamp,
|
||||||
|
timestamp4 TYPE timestampl,
|
||||||
END OF ty_complex.
|
END OF ty_complex.
|
||||||
|
|
||||||
METHODS to_abap_struc
|
METHODS to_abap_struc
|
||||||
|
@ -1462,6 +1463,9 @@ CLASS ltcl_json_to_abap DEFINITION
|
||||||
METHODS to_abap_time
|
METHODS to_abap_time
|
||||||
FOR TESTING
|
FOR TESTING
|
||||||
RAISING cx_static_check.
|
RAISING cx_static_check.
|
||||||
|
METHODS to_abap_str_to_packed
|
||||||
|
FOR TESTING
|
||||||
|
RAISING cx_static_check.
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
||||||
CLASS zcl_abapgit_ajson DEFINITION LOCAL FRIENDS ltcl_json_to_abap.
|
CLASS zcl_abapgit_ajson DEFINITION LOCAL FRIENDS ltcl_json_to_abap.
|
||||||
|
@ -1491,6 +1495,7 @@ CLASS ltcl_json_to_abap IMPLEMENTATION.
|
||||||
lo_nodes->add( '/ |timestamp1 |str |2020-07-28T00:00:00 | ' ).
|
lo_nodes->add( '/ |timestamp1 |str |2020-07-28T00:00:00 | ' ).
|
||||||
lo_nodes->add( '/ |timestamp2 |str |2020-07-28T00:00:00Z | ' ).
|
lo_nodes->add( '/ |timestamp2 |str |2020-07-28T00:00:00Z | ' ).
|
||||||
lo_nodes->add( '/ |timestamp3 |str |2020-07-28T01:00:00+01:00 | ' ).
|
lo_nodes->add( '/ |timestamp3 |str |2020-07-28T01:00:00+01:00 | ' ).
|
||||||
|
lo_nodes->add( '/ |timestamp4 |str |2020-07-28T01:00:00+01:00 | ' ).
|
||||||
|
|
||||||
CREATE OBJECT lo_cut.
|
CREATE OBJECT lo_cut.
|
||||||
lo_cut->to_abap(
|
lo_cut->to_abap(
|
||||||
|
@ -1509,6 +1514,7 @@ CLASS ltcl_json_to_abap IMPLEMENTATION.
|
||||||
ls_exp-timestamp1 = lv_exp_timestamp.
|
ls_exp-timestamp1 = lv_exp_timestamp.
|
||||||
ls_exp-timestamp2 = lv_exp_timestamp.
|
ls_exp-timestamp2 = lv_exp_timestamp.
|
||||||
ls_exp-timestamp3 = lv_exp_timestamp.
|
ls_exp-timestamp3 = lv_exp_timestamp.
|
||||||
|
ls_exp-timestamp4 = lv_exp_timestamp.
|
||||||
|
|
||||||
cl_abap_unit_assert=>assert_equals(
|
cl_abap_unit_assert=>assert_equals(
|
||||||
act = ls_mock
|
act = ls_mock
|
||||||
|
@ -1576,6 +1582,28 @@ CLASS ltcl_json_to_abap IMPLEMENTATION.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
METHOD to_abap_str_to_packed.
|
||||||
|
|
||||||
|
DATA lo_cut TYPE REF TO lcl_json_to_abap.
|
||||||
|
DATA lv_act TYPE p LENGTH 10 DECIMALS 3.
|
||||||
|
DATA lo_nodes TYPE REF TO lcl_nodes_helper.
|
||||||
|
|
||||||
|
CREATE OBJECT lo_nodes.
|
||||||
|
lo_nodes->add( ' | |str |1.3333 | ' ).
|
||||||
|
|
||||||
|
CREATE OBJECT lo_cut.
|
||||||
|
lo_cut->to_abap(
|
||||||
|
EXPORTING
|
||||||
|
it_nodes = lo_nodes->sorted( )
|
||||||
|
CHANGING
|
||||||
|
c_container = lv_act ).
|
||||||
|
|
||||||
|
cl_abap_unit_assert=>assert_equals(
|
||||||
|
act = lv_act
|
||||||
|
exp = '1.333' ).
|
||||||
|
|
||||||
|
ENDMETHOD.
|
||||||
|
|
||||||
METHOD to_abap_value.
|
METHOD to_abap_value.
|
||||||
|
|
||||||
DATA lo_cut TYPE REF TO lcl_json_to_abap.
|
DATA lo_cut TYPE REF TO lcl_json_to_abap.
|
||||||
|
|
Loading…
Reference in New Issue
Block a user