|
댓글 4
-
qwert
2010.09.29 03:19
-
YM Jeong
2010.09.29 18:28
답변 감사드립니다~ 그런데........;;;;;
"WRITE: / m1->a11, m1->a12." 으로 수정후 활성화를 하니,
"Field "M1" is unknown. It is neither in one of the specified tables nor defined by a "DATA" statement....라고
구문오류가 발생합니다 ㅠ-ㅠ;
-
맑은하늘
2010.09.29 22:15
대략 오류없이 약간 변형을 해보면 아래와 같이 되지 않을까 생각되네요.
*----------------------------------------------------------------------*
* CLASS c1 DEFINITION
*----------------------------------------------------------------------*
CLASS C1 DEFINITION.
PUBLIC SECTION.
METHODS M1 IMPORTING A TYPE I.
PROTECTED SECTION.
DATA A11 TYPE I.
PRIVATE SECTION.
DATA A12 TYPE I.
ENDCLASS. "c1 DEFINITION
*----------------------------------------------------------------------*
* CLASS c1 IMPLEMENTATION
*----------------------------------------------------------------------*
CLASS C1 IMPLEMENTATION.
METHOD M1.
* DATA LREF1 TYPE REF TO C1.
*
* LREF1->A11 = 0. " 덤프발생지점 -> lref에 대한 instance 가 없음.
* LREF1->A12 = 0.
ADD A TO ME->A11.
SUBTRACT A FROM ME->A12.
WRITE: / ME->A11, ME->A12. "-> m1 은 class object 가 아닌 c1 의 method 임.
" 따라서 현재 class 를 표시하는 me 로 변경하여야 함
ENDMETHOD. "m1
ENDCLASS. "c1 IMPLEMENTATION
START-OF-SELECTION.
DATA: LREF2 TYPE REF TO C1.
CREATE OBJECT LREF2.
CALL METHOD LREF2->M1
EXPORTING
A = 3.
-
YM Jeong
2010.09.30 00:17
답변 감사드려요~^-^*
구문을 봐서는 lref1뿐 아니라 lref2도 Runtime error가 날것 같은데요? 변수를 받으시려는게 맞는 것이라면 me->a11, me->a12 로 고치셔야 할것 같습니다.