星期五, 十二月 03, 2010
星期一, 十月 18, 2010
Missing include in cross transport
Note : 616393
Symptom
The Include structure of the class pools of global classes was changed
in Release 46D. You can, therefore, no longer use the classes that were
created for releases after Release 46D in Releases 46B and 46C.
Therefore, cross-transports of these classes (transport object R3TR CLAS
) cause problems in Releases 46B and 46C.
Other terms
Reason and Prerequisites
Solution
You can convert the classes so that the class pool has the Include
structure of Releases 46C and 46B. Proceed as follows:
o In transaction SE24, switch to the change mode of the class that
you want to convert.
o Enter the command _CC_RESET in the OK code field. The class is
converted and can be transported to systems with Releases 46B and
46C.
o After the transport, you can restore the new Include structure
with the Utilities->Convert class-local types.
Bear in mind, however, that you may still not be able to use the
converted class in Releases 46C and 46B because there were language
extensions in later Releases.
Symptom
The Include structure of the class pools of global classes was changed
in Release 46D. You can, therefore, no longer use the classes that were
created for releases after Release 46D in Releases 46B and 46C.
Therefore, cross-transports of these classes (transport object R3TR CLAS
) cause problems in Releases 46B and 46C.
Other terms
Reason and Prerequisites
Solution
You can convert the classes so that the class pool has the Include
structure of Releases 46C and 46B. Proceed as follows:
o In transaction SE24, switch to the change mode of the class that
you want to convert.
o Enter the command _CC_RESET in the OK code field. The class is
converted and can be transported to systems with Releases 46B and
46C.
o After the transport, you can restore the new Include structure
with the Utilities->Convert class-local types.
Bear in mind, however, that you may still not be able to use the
converted class in Releases 46C and 46B because there were language
extensions in later Releases.
星期三, 八月 25, 2010
How To Do Large Scale Refactoring
很有意思的文章,提到了三个不同的处理大型重构的方法
- Big Bang : 乱搞法?
- Divide and conquer : 分治法
- Strangling : 寄生法
- master plan of refactoring for large scale refactoring
- Mikado Method
星期一, 八月 23, 2010
星期一, 八月 09, 2010
星期一, 八月 02, 2010
星期二, 四月 27, 2010
星期四, 四月 22, 2010
星期二, 四月 13, 2010
星期五, 四月 02, 2010
ABAP Seriazation
NW7.02中多了自动生成UML图,看了一下Package之后,发现用XML序列化对原来自己手工实现方便很多。
哈哈,看来可以把一些代码去掉了,这样转换可靠性更高了,只是不知道性能怎么样。
Test Class:
Test Program:
哈哈,看来可以把一些代码去掉了,这样转换可靠性更高了,只是不知道性能怎么样。
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:/.