W3xx condense filesize param #374

This commit is contained in:
sbcgua 2016-11-27 13:24:15 +02:00
parent 6defda4b52
commit c70bedd6ad
3 changed files with 14 additions and 15 deletions

View File

@ -34,8 +34,9 @@ CLASS lcl_object_w3super DEFINITION INHERITING FROM lcl_objects_super ABSTRACT.
RAISING lcx_exception.
METHODS patch_size
IMPORTING iv_size TYPE i
CHANGING ct_params TYPE ty_wwwparams_tt
IMPORTING iv_size TYPE i OPTIONAL " Overwrite if given
EXPORTING ev_size TYPE i " Return size as integer
CHANGING ct_params TYPE ty_wwwparams_tt " Param table to patch
RAISING lcx_exception.
METHODS patch_filename
@ -101,7 +102,6 @@ CLASS lcl_object_w3super IMPLEMENTATION.
DATA lt_w3html TYPE STANDARD TABLE OF w3html.
DATA lt_w3params TYPE STANDARD TABLE OF wwwparams.
DATA lv_xstring TYPE xstring.
DATA ls_wwwparam LIKE LINE OF lt_w3params.
DATA lv_size TYPE int4.
SELECT SINGLE * INTO CORRESPONDING FIELDS OF ms_key
@ -141,12 +141,9 @@ CLASS lcl_object_w3super IMPLEMENTATION.
lcx_exception=>raise( 'Cannot read W3xx data' ).
ENDIF.
READ TABLE lt_w3params INTO ls_wwwparam WITH KEY name = 'filesize' ##NO_TEXT.
IF sy-subrc IS NOT INITIAL.
lcx_exception=>raise( 'Cannot read W3xx filesize' ).
ENDIF.
lv_size = ls_wwwparam-value.
" Condense size string + get size to local integer
patch_size( IMPORTING ev_size = lv_size
CHANGING ct_params = lt_w3params ).
" Remove file path (for security concerns)
patch_filename( CHANGING ct_params = lt_w3params ).
@ -221,10 +218,8 @@ CLASS lcl_object_w3super IMPLEMENTATION.
iv_ext = get_ext( lt_w3params ) ).
WHEN OTHERS.
lcx_exception=>raise( 'W3xx: Unknown serializer version' ).
ENDCASE.
CASE ms_key-relid.
WHEN 'MI'.
CALL FUNCTION 'SCMS_XSTRING_TO_BINARY'
@ -389,8 +384,12 @@ CLASS lcl_object_w3super IMPLEMENTATION.
lcx_exception=>raise( |W3xx: Cannot find file size for { ms_key-objid }| ).
ENDIF.
IF iv_size IS NOT INITIAL.
<param>-value = iv_size.
SHIFT <param>-value LEFT DELETING LEADING space.
ENDIF.
CONDENSE <param>-value.
ev_size = <param>-value.
ENDMETHOD. " patch_size.