SAPLink-artifacts added

This commit is contained in:
mrsimpson 2016-02-12 17:52:35 +00:00
parent 35d80083cd
commit 0809b07eeb
2 changed files with 147 additions and 0 deletions

View File

@ -0,0 +1,104 @@
**********************************************************************
* provide an adapter adapting to the saplink-method-signatures
* requires ZSAPLINK to be modified: Provide an additional public method delete!
CLASS lcl_saplink_adapter DEFINITION INHERITING FROM lcl_objects_super ABSTRACT.
PUBLIC SECTION.
INTERFACES lif_object.
METHODS constructor
IMPORTING
iv_saplink_classname TYPE classname
is_item TYPE ty_item.
PRIVATE SECTION.
DATA mo_saplink TYPE REF TO zsaplink.
DATA mv_saplink_classname TYPE classname.
ENDCLASS.
CLASS lcl_saplink_adapter IMPLEMENTATION.
METHOD constructor.
super->constructor( is_item = is_item ).
mv_saplink_classname = iv_saplink_classname.
TRY.
CREATE OBJECT mo_saplink TYPE (iv_saplink_classname)
EXPORTING
name = CONV string( ms_item-obj_name ).
CATCH cx_sy_create_object_error INTO DATA(lx_saplink_not_created).
"leave mo_saplink_wrapper initial => check this in future calls.
ENDTRY.
ENDMETHOD.
DEFINE check_valid_saplink.
if mo_saplink is INITIAL.
raise EXCEPTION type lcx_exception
EXPORTING
iv_text = |No valid saplink-implementation found - class { mv_saplink_classname } cannot be instantiated|.
endif.
END-OF-DEFINITION.
METHOD lif_object~serialize.
check_valid_saplink.
TRY.
DATA(ixmldoc) = mo_saplink->createixmldocfromobject( ).
CATCH zcx_saplink INTO DATA(lx_saplink).
RAISE EXCEPTION TYPE lcx_exception EXPORTING iv_text = lx_saplink->get_text( ).
ENDTRY.
mo_files->add_xml( NEW lcl_xml( iv_xml = zsaplink=>convertixmldoctostring( ixmldoc ) ) ).
ENDMETHOD.
METHOD lif_object~delete.
check_valid_saplink.
TRY.
mo_saplink->delete( ).
CATCH zcx_saplink INTO DATA(lx_saplink).
RAISE EXCEPTION TYPE lcx_exception EXPORTING iv_text = lx_saplink->get_text( ).
ENDTRY.
ENDMETHOD.
METHOD lif_object~deserialize.
check_valid_saplink.
DATA(ixmldoc) = zsaplink=>convertstringtoixmldoc( mo_files->read_xml( )->xml_render( ) ).
TRY.
mo_saplink->createobjectfromixmldoc(
EXPORTING
ixmldocument = ixmldoc " IF_IXML_DOCUMENT
devclass = iv_package
overwrite = abap_true "Always overwrite seems to be paradigm in ABAPGit
).
CATCH zcx_saplink INTO DATA(lx_saplink).
RAISE EXCEPTION TYPE lcx_exception EXPORTING iv_text = lx_saplink->get_text( ).
ENDTRY.
ENDMETHOD.
METHOD lif_object~exists.
check_valid_saplink.
rv_bool = mo_saplink->checkexists( ).
ENDMETHOD.
METHOD lif_object~jump ##needed.
ENDMETHOD.
ENDCLASS.
* End of SAPLink-Adapter
**********************************************************************

View File

@ -0,0 +1,43 @@
<?xml version="1.0" encoding="utf-8"?>
<abapGit version="v0.2-alpha">
<PROGDIR>
<NAME>ZABAPGIT_SAPLINK_BRIDGE</NAME>
<STATE>A</STATE>
<SQLX></SQLX>
<EDTX></EDTX>
<VARCL>X</VARCL>
<DBAPL>S</DBAPL>
<DBNA>D$</DBNA>
<CLAS></CLAS>
<TYPE></TYPE>
<OCCURS></OCCURS>
<SUBC>I</SUBC>
<APPL></APPL>
<SECU></SECU>
<CNAM></CNAM>
<CDAT>00000000</CDAT>
<UNAM></UNAM>
<UDAT>00000000</UDAT>
<VERN></VERN>
<LEVL></LEVL>
<RSTAT></RSTAT>
<RMAND></RMAND>
<RLOAD></RLOAD>
<FIXPT>X</FIXPT>
<SSET></SSET>
<SDATE>00000000</SDATE>
<STIME></STIME>
<IDATE>00000000</IDATE>
<ITIME></ITIME>
<LDBNAME>D$S</LDBNAME>
<UCCHECK>X</UCCHECK>
</PROGDIR>
<TEXTPOOL_TABLE>
<TEXTPOOL>
<ID>R</ID>
<KEY></KEY>
<ENTRY>Re-use SAPLINK-Plugins</ENTRY>
<LENGTH>22 </LENGTH>
</TEXTPOOL>
</TEXTPOOL_TABLE>
</abapGit>