PDA

Ver la Versión Completa : Error en hola mundo con objetos


pflerman
24/07/08, 20:39:27
Me dá el error

STATEMENT IS NOT ACCESSIBLE

en la linea de CREATE OBJECT

Alguien me puede decir porque ???

MUchas gracias

CLASS pablo DEFINITION.
PUBLIC SECTION.
METHODS: get_cont EXPORTING value(val) TYPE i,
inc_cont,
set_cont IMPORTING value(val) TYPE i.
PRIVATE SECTION.
DATA: cont TYPE i.
ENDCLASS. "pablo

*----------------------------------------------------------------------*
* CLASS cont IMPLEMENTATION
*----------------------------------------------------------------------*
*
*----------------------------------------------------------------------*
CLASS pablo IMPLEMENTATION.
METHOD get_cont.
val = cont.
ENDMETHOD. "get_cont
METHOD inc_cont.
ADD 1 TO cont.
ENDMETHOD. "inc_cont
METHOD set_cont.
cont = val.
ENDMETHOD. "set_cont
ENDCLASS. "pablo IMPLEMENTATION

break abap.

DATA: obj TYPE REF TO pablo.
DATA: i TYPE i VALUE 0.


CREATE OBJECT obj.

CALL METHOD obj->set_cont
EXPORTING
val = i.

DO 5 TIMES.
CALL METHOD obj->inc_cont.
ENDDO.

CALL METHOD obj->get_cont
IMPORTING
i = val.

WRITE /i.

mystic_soul
25/07/08, 13:40:17
No entiendo mucho del tema pero para mi, la parte de:

DATA: obj TYPE REF TO pablo.
DATA: i TYPE i VALUE 0.


CREATE OBJECT obj.

CALL METHOD obj->set_cont
EXPORTING
val = i.

DO 5 TIMES.
CALL METHOD obj->inc_cont.
ENDDO.

CALL METHOD obj->get_cont
IMPORTING
i = val.

WRITE /i.

deberia ir en un start-of-selection o algo por el estilo. Intenta ponerlo asi..

class nombre definition.
...
..
endclass.

class nombre implementation.
...
..
endclass.

start-of-selection.
data: cl_nombre type ref to nombre.
...
create object o_nombre type cl_nombre.

Espero que te haya ayudado!

Mauricio Hidalgo
25/07/08, 18:21:51
Es correcta la respuesta. Antes del Create object, pone el evento START-OF-SELECTION.

pflerman
25/07/08, 20:43:56
Muchas gracias,,, el problema era el
START-OF-SELECTION.
saludos