星期五, 四月 02, 2010

ABAP Seriazation

NW7.02中多了自动生成UML图,看了一下Package之后,发现用XML序列化对原来自己手工实现方便很多。
哈哈,看来可以把一些代码去掉了,这样转换可靠性更高了,只是不知道性能怎么样。

Test Class:
CLASS ycl_test_serialization DEFINITION
PUBLIC
FINAL
CREATE PUBLIC .

PUBLIC SECTION.
*"* public components of class YCL_TEST_SERIALIZATION
*"* do not include other source files here!!!

INTERFACES if_serializable_object .

METHODS constructor .
PROTECTED SECTION.
*"* protected components of class YCL_TEST_SERIALIZATION
*"* do not include other source files here!!!
PRIVATE SECTION.
*"* private components of class YCL_TEST_SERIALIZATION
*"* do not include other source files here!!!

DATA id TYPE i .
DATA name TYPE string .
ENDCLASS.



CLASS YCL_TEST_SERIALIZATION IMPLEMENTATION.


* ---------------------------------------------------------------------------------------+
* | Instance Public Method YCL_TEST_SERIALIZATION->CONSTRUCTOR
* +-------------------------------------------------------------------------------------------------+
* +--------------------------------------------------------------------------------------

METHOD constructor.
me->id = 1.
me->name = 'Amy'.
ENDMETHOD.
ENDCLASS.


Test Program:
REPORT ytest_serialization.
DATA lo_object TYPE REF TO ycl_test_serialization.
CREATE OBJECT lo_object.

" serialization to xml string
DATA xmlstream TYPE string.
CALL TRANSFORMATION id SOURCE model = lo_object RESULT XML xmlstream.

" de-serialization to object
DATA lo_object1 TYPE REF TO ycl_test_serialization.
CALL TRANSFORMATION id SOURCE XML xmlstream RESULT model = lo_object1.

WRITE:/.

没有评论: