mirror of
https://github.com/abapGit/abapGit.git
synced 2025-05-01 12:20:51 +08:00
#199, unified init_key, param save as table
This commit is contained in:
parent
172c122989
commit
1355fc8777
|
@ -11486,6 +11486,9 @@ CLASS lcl_object_w3super DEFINITION INHERITING FROM lcl_objects_super ABSTRACT.
|
||||||
PUBLIC SECTION.
|
PUBLIC SECTION.
|
||||||
INTERFACES lif_object.
|
INTERFACES lif_object.
|
||||||
|
|
||||||
|
PRIVATE SECTION.
|
||||||
|
METHODS init_key RETURNING VALUE(rs_key) TYPE wwwdatatab.
|
||||||
|
|
||||||
ENDCLASS. "lcl_object_W3SUPER DEFINITION
|
ENDCLASS. "lcl_object_W3SUPER DEFINITION
|
||||||
|
|
||||||
*----------------------------------------------------------------------*
|
*----------------------------------------------------------------------*
|
||||||
|
@ -11495,6 +11498,11 @@ ENDCLASS. "lcl_object_W3SUPER DEFINITION
|
||||||
*----------------------------------------------------------------------*
|
*----------------------------------------------------------------------*
|
||||||
CLASS lcl_object_w3super IMPLEMENTATION.
|
CLASS lcl_object_w3super IMPLEMENTATION.
|
||||||
|
|
||||||
|
METHOD init_key.
|
||||||
|
rs_key-relid = ms_item-obj_type+2(2).
|
||||||
|
rs_key-objid = ms_item-obj_name.
|
||||||
|
ENDMETHOD. " init_key
|
||||||
|
|
||||||
METHOD lif_object~jump.
|
METHOD lif_object~jump.
|
||||||
" No idea how to just to SMW0
|
" No idea how to just to SMW0
|
||||||
_raise 'Please go to SMW0 for W3MI object'.
|
_raise 'Please go to SMW0 for W3MI object'.
|
||||||
|
@ -11508,15 +11516,17 @@ CLASS lcl_object_w3super IMPLEMENTATION.
|
||||||
" W3xx EXISTS
|
" W3xx EXISTS
|
||||||
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
||||||
METHOD lif_object~exists.
|
METHOD lif_object~exists.
|
||||||
DATA lv_objid TYPE wwwdata-objid.
|
DATA ls_key TYPE wwwdatatab.
|
||||||
|
|
||||||
SELECT SINGLE objid into lv_objid
|
ls_key = init_key( ).
|
||||||
|
|
||||||
|
SELECT SINGLE objid into ls_key-objid
|
||||||
FROM wwwdata
|
FROM wwwdata
|
||||||
WHERE relid = ms_item-obj_type+2(2)
|
WHERE relid = ls_key-relid
|
||||||
AND objid = ms_item-obj_name
|
AND objid = ls_key-objid
|
||||||
AND srtf2 = 0.
|
AND srtf2 = 0.
|
||||||
|
|
||||||
IF lv_objid IS INITIAL.
|
IF sy-subrc IS NOT INITIAL.
|
||||||
RETURN.
|
RETURN.
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
|
||||||
|
@ -11538,8 +11548,7 @@ CLASS lcl_object_w3super IMPLEMENTATION.
|
||||||
DATA l_base64str TYPE string.
|
DATA l_base64str TYPE string.
|
||||||
DATA lo_utility TYPE REF TO cl_http_utility.
|
DATA lo_utility TYPE REF TO cl_http_utility.
|
||||||
|
|
||||||
ls_key-relid = ms_item-obj_type+2(2).
|
ls_key = init_key( ).
|
||||||
ls_key-objid = ms_item-obj_name.
|
|
||||||
|
|
||||||
SELECT SINGLE * INTO CORRESPONDING FIELDS OF ls_key
|
SELECT SINGLE * INTO CORRESPONDING FIELDS OF ls_key
|
||||||
FROM wwwdata
|
FROM wwwdata
|
||||||
|
@ -11611,22 +11620,8 @@ CLASS lcl_object_w3super IMPLEMENTATION.
|
||||||
io_xml->add( iv_name = 'DATA'
|
io_xml->add( iv_name = 'DATA'
|
||||||
ig_data = l_base64str ).
|
ig_data = l_base64str ).
|
||||||
|
|
||||||
" TODO normal params serialization
|
io_xml->add( iv_name = 'PARAMS'
|
||||||
|
ig_data = lt_w3params ).
|
||||||
DEFINE w3mi_save_param.
|
|
||||||
READ TABLE lt_w3params INTO ls_wwwparam WITH KEY name = &1.
|
|
||||||
IF sy-subrc IS NOT INITIAL.
|
|
||||||
_raise 'Cannot read required W3xx param'.
|
|
||||||
ENDIF.
|
|
||||||
io_xml->add( iv_name = &1
|
|
||||||
ig_data = ls_wwwparam-value ).
|
|
||||||
END-OF-DEFINITION.
|
|
||||||
|
|
||||||
w3mi_save_param 'fileextension'.
|
|
||||||
w3mi_save_param 'filename'.
|
|
||||||
w3mi_save_param 'filesize'.
|
|
||||||
w3mi_save_param 'mimetype'.
|
|
||||||
w3mi_save_param 'version'.
|
|
||||||
|
|
||||||
ENDMETHOD. "serialize
|
ENDMETHOD. "serialize
|
||||||
|
|
||||||
|
@ -11646,8 +11641,7 @@ CLASS lcl_object_w3super IMPLEMENTATION.
|
||||||
DATA l_size TYPE int4.
|
DATA l_size TYPE int4.
|
||||||
DATA lv_tadir_obj TYPE tadir-object.
|
DATA lv_tadir_obj TYPE tadir-object.
|
||||||
|
|
||||||
ls_key-relid = ms_item-obj_type+2(2).
|
ls_key = init_key( ).
|
||||||
ls_key-objid = ms_item-obj_name.
|
|
||||||
|
|
||||||
io_xml->read( exporting iv_name = 'TEXT'
|
io_xml->read( exporting iv_name = 'TEXT'
|
||||||
changing cg_data = ls_key-text ).
|
changing cg_data = ls_key-text ).
|
||||||
|
@ -11655,21 +11649,8 @@ CLASS lcl_object_w3super IMPLEMENTATION.
|
||||||
io_xml->read( exporting iv_name = 'DATA'
|
io_xml->read( exporting iv_name = 'DATA'
|
||||||
changing cg_data = l_base64str ).
|
changing cg_data = l_base64str ).
|
||||||
|
|
||||||
DEFINE w3mi_read_param.
|
io_xml->read( EXPORTING iv_name = 'PARAMS'
|
||||||
io_xml->read( EXPORTING iv_name = &1
|
CHANGING cg_data = lt_w3params ).
|
||||||
CHANGING cg_data = l_tmp ).
|
|
||||||
ls_wwwparam-relid = ls_key-relid.
|
|
||||||
ls_wwwparam-objid = ls_key-objid.
|
|
||||||
ls_wwwparam-name = &1.
|
|
||||||
ls_wwwparam-value = l_tmp.
|
|
||||||
APPEND ls_wwwparam TO lt_w3params.
|
|
||||||
END-OF-DEFINITION.
|
|
||||||
|
|
||||||
w3mi_read_param 'fileextension'.
|
|
||||||
w3mi_read_param 'filename'.
|
|
||||||
w3mi_read_param 'filesize'.
|
|
||||||
w3mi_read_param 'mimetype'.
|
|
||||||
w3mi_read_param 'version'.
|
|
||||||
|
|
||||||
CREATE OBJECT lo_utility.
|
CREATE OBJECT lo_utility.
|
||||||
l_xstring = lo_utility->decode_x_base64( encoded = l_base64str ).
|
l_xstring = lo_utility->decode_x_base64( encoded = l_base64str ).
|
||||||
|
@ -11773,8 +11754,7 @@ CLASS lcl_object_w3super IMPLEMENTATION.
|
||||||
METHOD lif_object~delete.
|
METHOD lif_object~delete.
|
||||||
DATA ls_key TYPE wwwdatatab.
|
DATA ls_key TYPE wwwdatatab.
|
||||||
|
|
||||||
ls_key-relid = ms_item-obj_type+2(2).
|
ls_key = init_key( ).
|
||||||
ls_key-objid = ms_item-obj_name.
|
|
||||||
|
|
||||||
CALL FUNCTION 'WWWDATA_DELETE'
|
CALL FUNCTION 'WWWDATA_DELETE'
|
||||||
EXPORTING key = ls_key
|
EXPORTING key = ls_key
|
||||||
|
|
Loading…
Reference in New Issue
Block a user