Skip to Content
0
Jun 04, 2009 at 11:25 AM

Shared Objects "cx_shm_external_reference" exception

384 Views

Hi all,

i need to store an external reference in a shared object. I have a method of the class A which has a reference as import parameter. Is it possible to store this reference in a stored object so that i have access to this reference from another class B?

With the following code i get the "cx_shm_external_reference" exception, when calling detach_commit() method.

DATA: lo_handle TYPE REF TO zcl_server_shared_obj,
        lo_root TYPE REF TO zcl_server_shared_obj_root.

  TRY.
      lo_handle = zcl_server_shared_obj=>attach_for_write( ).
      CREATE OBJECT lo_root AREA HANDLE lo_handle.
      lo_handle->set_root( lo_root ).

      lo_root->go_server = io_server.

      CALL METHOD lo_handle->detach_commit.

    CATCH cx_shm_exclusive_lock_active
      cx_shm_version_limit_exceeded
      cx_shm_change_lock_active
      cx_shm_parameter_error
      cx_shm_pending_lock_removed

      cx_shm_wrong_handle
      cx_shm_already_detached
      cx_shm_secondary_commit
      cx_shm_event_execution_failed
      cx_shm_external_reference
      cx_shm_completion_error
      .

  ENDTRY.

Thanks, Florian

Edited by: Florian Halder on Jun 4, 2009 1:26 PM