Hallo zusammen,
Übernahme von Zahlen mit 2 Kommastellen, da habe ich Probleme. Wie kann ich sie übernehmen?
DATA: ls_invoiceheader TYPE zsmm_invoiceheader,
lt_invoiceheader TYPE ztymm_invoiceheader,
lv_spaltenname TYPE string,
lv_addinvoice_table TYPE i,
lv_table TYPE boolean.
DATA: lv_exceptiontext TYPE string.
FIELD-SYMBOLS:
<ls_xml_data> LIKE LINE OF lt_xml_data,
<lv_value> TYPE any,
<lv_addvalue> TYPE any,
<ls_invoiceheader> TYPE zsmm_invoiceheader.
LOOP AT lt_xml_data ASSIGNING <ls_xml_data>.
* check fieldname
ASSIGN COMPONENT lv_spaltenname OF STRUCTURE ls_invoiceheader TO <lv_addvalue> .
IF sy-subrc = 0.
TRY.
<lv_addvalue> = <ls_xml_data>-cvalue.
CATCH cx_sy_conversion_no_number INTO lo_exception.
lv_exceptiontext = lo_exception->get_text( ).
ENDTRY.
ENDIF.
lv_spaltenname = <ls_xml_data>-cvalue.
* add fieldvalue in Structur
ASSIGN COMPONENT <ls_xml_data>-cvalue OF STRUCTURE ls_invoiceheader TO <lv_value>.
IF sy-subrc = 0.
TRANSLATE <ls_xml_data>-cvalue TO UPPER CASE.
ENDIF.
Genau hier müssen die zahlen übernommen werden, aber eine Exception wird ausgelöst:
TRY.
<lv_addvalue> = <ls_xml_data>-cvalue.
CATCH cx_sy_conversion_no_number INTO lo_exception.
lv_exceptiontext = lo_exception->get_text( ).
ENDTRY.