Fix dumps

Fields containing invalid values
Ignore if descriptions are not found
This commit is contained in:
larshp 2017-01-04 18:57:22 +00:00
parent 47e7f91299
commit b58e608a3f
5 changed files with 26 additions and 22 deletions

View File

@ -962,7 +962,7 @@ CLASS lcl_object_clas IMPLEMENTATION.
no_entry_found = 1
OTHERS = 2.
IF sy-subrc <> 0.
lcx_exception=>raise( 'error from SOTR_GET_CONCEPT' ).
CONTINUE.
ENDIF.
CLEAR: ls_header-paket,

View File

@ -159,6 +159,11 @@ CLASS lcl_object_dtel IMPLEMENTATION.
ls_dd04v-entitytab.
ENDIF.
IF ls_dd04v-routputlen = ''.
* numeric field, make sure it is initial or XML serilization will dump
CLEAR ls_dd04v-routputlen.
ENDIF.
io_xml->add( iv_name = 'DD04V'
ig_data = ls_dd04v ).
io_xml->add( iv_name = 'TPARA'
@ -233,7 +238,7 @@ CLASS lcl_object_dtel IMPLEMENTATION.
langu = <lang>
IMPORTING
dd04v_wa = ls_dd04v
* tpara_wa = ls_tpara
* tpara_wa = ls_tpara
EXCEPTIONS
illegal_input = 1
OTHERS = 2.

View File

@ -398,10 +398,7 @@ CLASS lcl_object_fugr IMPLEMENTATION.
SELECT SINGLE areat INTO lv_areat
FROM tlibt
WHERE spras = mv_language
AND area = ms_item-obj_name. "#EC CI_GENBUFF
IF sy-subrc <> 0.
lcx_exception=>raise( 'not found in TLIBT' ).
ENDIF.
AND area = ms_item-obj_name. "#EC CI_GENBUFF "#EC CI_SUBRC
lt_functab = functions( ).
lt_includes = includes( ).

View File

@ -60,10 +60,7 @@ CLASS lcl_object_para IMPLEMENTATION.
SELECT SINGLE * FROM tparat INTO ls_tparat
WHERE paramid = ms_item-obj_name
AND sprache = mv_language. "#EC CI_GENBUFF
IF sy-subrc <> 0.
lcx_exception=>raise( 'PARA no english description' ).
ENDIF.
AND sprache = mv_language. "#EC CI_GENBUFF "#EC CI_SUBRC
io_xml->add( iv_name = 'TPARA'
ig_data = ls_tpara ).

View File

@ -122,17 +122,18 @@ CLASS lcl_object_tabl IMPLEMENTATION.
METHOD lif_object~serialize.
DATA: lv_name TYPE ddobjname,
ls_dd02v TYPE dd02v,
ls_dd09l TYPE dd09l,
lt_dd03p TYPE TABLE OF dd03p,
lt_dd05m TYPE TABLE OF dd05m,
lt_dd08v TYPE TABLE OF dd08v,
lt_dd12v TYPE dd12vtab,
lt_dd17v TYPE dd17vtab,
lt_dd35v TYPE TABLE OF dd35v,
lv_index LIKE sy-index,
lt_dd36m TYPE dd36mttyp.
DATA: lv_name TYPE ddobjname,
ls_dd02v TYPE dd02v,
ls_dd09l TYPE dd09l,
lt_dd03p TYPE TABLE OF dd03p,
lt_dd05m TYPE TABLE OF dd05m,
lt_dd08v TYPE TABLE OF dd08v,
lt_dd12v TYPE dd12vtab,
lt_dd17v TYPE dd17vtab,
lt_dd35v TYPE TABLE OF dd35v,
lv_index LIKE sy-index,
lv_masklen TYPE c LENGTH 4,
lt_dd36m TYPE dd36mttyp.
FIELD-SYMBOLS: <ls_dd12v> LIKE LINE OF lt_dd12v,
<ls_dd05m> LIKE LINE OF lt_dd05m,
@ -181,6 +182,9 @@ CLASS lcl_object_tabl IMPLEMENTATION.
IF ls_dd02v-datmax = ''.
CLEAR ls_dd02v-datmax.
ENDIF.
IF ls_dd02v-datavg = ''.
CLEAR ls_dd02v-datavg.
ENDIF.
CLEAR: ls_dd09l-as4user,
ls_dd09l-as4date,
@ -207,7 +211,8 @@ CLASS lcl_object_tabl IMPLEMENTATION.
<ls_dd03p>-scrtext_m,
<ls_dd03p>-scrtext_l.
IF <ls_dd03p>-masklen = '' OR NOT <ls_dd03p>-masklen CO '0123456789'.
lv_masklen = <ls_dd03p>-masklen.
IF lv_masklen = '' OR NOT lv_masklen CO '0123456789'.
* make sure the field contains valid data, or the XML will dump
CLEAR <ls_dd03p>-masklen.
ENDIF.