Skip to Content
0
Former Member
Apr 19, 2007 at 12:52 PM

Probleb with records management

45 Views

Hi.

I meet problem with call cases in own screen.

RM's event handlers does not work in my program. But in SCASE all work perfectly.

PERFORM get_aotype CHANGING aotype.

CLEAR: case_type.

SELECT SINGLE casetype

INTO case_type

FROM ZCASEPRAVO

WHERE archobjtype = aotype.

IF sy-subrc = 0 AND case_type IS NOT INITIAL.

CLEAR: l_case.

CALL METHOD cl_scmg_case_api=>if_scmg_case_api~create

EXPORTING

im_case_type = case_type

im_update_task = if_srm=>true

RECEIVING

re_case = l_case

EXCEPTIONS

failed = 1

no_authority = 2

path_creation_failed = 3

OTHERS = 99.

IF sy-subrc <> 0.

EXIT.

ENDIF.

l_case->save( ).

COMMIT WORK AND WAIT.

rebd_arch_object_ci-zzcase_guid = l_case->g_case_guid.

l_case->close_case( ).

CLEAR: l_case.

PERFORM display_case.

ENDIF.

****PERFORM display_case:

lcl_srm ?= REF_SRM_BASE_CONTROL->srm.

client_factory ?= lcl_srm->get_srm_object_factory( ).

request = client_factory->create_request( ).

CLEAR: l_case.

CALL METHOD cl_scmg_case_api=>if_scmg_case_api~open_case

EXPORTING

im_case_guid = rebd_arch_object_ci-zzcase_guid

RECEIVING

re_case = l_case

EXCEPTIONS

enqueue_failed = 1

invalid_guid = 2

OTHERS = 3.

IF sy-subrc <> 0.

IF sy-subrc = 2.

rebd_arch_object_ci-zzcase_guid = ''.

ENDIF.

EXIT.

ENDIF.

request->set_dest_poid( l_case->g_case_poid ).

l_case->close_case( ).

CLEAR: l_case.

IF status = '*'.

request->set_activity( if_srm_activity_list=>display ).

ELSEIF status = '.' OR status = '+'.

request->set_activity( if_srm_activity_list=>modify ).

ENDIF.

request = REF_SRM_BASE_CONTROL->IF_SRM_BASE_CONTROL~DISPATCH_REQUEST( im_request = request )

Double-click does not work on items of linked objects tree.

In SCASE this event changing screen on screen of creation sub-element.

Whats wrong with this?