Symptom
Category ABAP programming error
Runtime Errors OBJECTS_OBJREF_NOT_ASSIGNED_NO
Except. CX_SY_REF_IS_INITIAL
ABAP Program CL_SWF_RUN_WFM================CP
Application Component BC-BMT-WFM
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Short Text: Access using a 'ZERO' object reference is not possible.
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
What happened?
Error in the ABAP application program.
The current ABAP program "CL_SWF_RUN_WFM================CP" had to be
terminated because it found a statement that could not be executed.
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Error analysis
An exception has occurred in class "CX_SY_REF_IS_INITIAL". This exception was not caught
in procedure "READ_WORKFLOW_DEFINITION" "(METHOD)" or propagated by a RAISING clause.
Since the caller of the procedure could not have anticipated this exception, the current program was terminated.
The reason for the exception occurring was:
The reason for the exception is:
You are trying to access a component with a 'ZERO' object reference (points to 'nothing').
An object reference must point to an object (an instance of a class) before it can be used to access a component. The reference has either
never been set, or it was set to 'ZERO' with a CLEAR statement.
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
How to correct the error
If the exception cannot be prevented, "CX_SY_REF_IS_INITIAL" must be caught
within procedure "READ_WORKFLOW_DEFINITION" "(METHOD)" or declared in the procedure's
RAISING clause.
"OBJECTS_OBJREF_NOT_ASSIGNED_NO" CX_SY_REF_IS_INITIAL
"CL_SWF_RUN_WFM================CP" bzw. CL_SWF_RUN_WFM================CM00F
"READ_WORKFLOW_DEFINITION"
If you cannot solve the problem yourself, please send the following information to SAP:
----------------------------------------------------------------------------------------------------
Chain of Exception Objects
----------------------------------------------------------------------------------------------------
Level Class
Attrib. Name Value
----------------------------------------------------------------------------------------------------
1 CX_SY_REF_IS_INITIAL
(Program) CL_SWF_RUN_WFM================CP
(Include) CL_SWF_RUN_WFM================CM00F
(Row) 44
(Short Text) Dereferencing of the NULL reference
(Long Text) An attempt was made to execute a dynamic method callon an
initial(NULL-) object reference. The reference must refer to an obj|
ect.
IS_RESUMABLE
KERNEL_ERRID
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Information on where terminated
The termination occurred in ABAP program or include "CL_SWF_RUN_WFM================CP", in "READ_WORKFLOW_DEFINITION". The
main program was "SAPMSSY1".
In the source code, the termination point is in line 44 of include
"CL_SWF_RUN_WFM================CM00F".
include "CL_SWF_RUN_WFM================CM00F".
The termination is due to exception "CX_SY_REF_IS_INITIAL" occurring in
procedure "READ_WORKFLOW_DEFINITION" "(METHOD)", but not being handled locally there or being declared in the RAISING
clause.
The procedure is in program "CL_SWF_RUN_WFM================CP". Its source code begins in line 1 of
include "CL_SWF_RUN_WFM================CM00F".
----------------------------------------------------------------------------------------------------
Source Code Extract
----------------------------------------------------------------------------------------------------
Line |Code
----------------------------------------------------------------------------------------------------
14| l_exetyp = CONV string( swfco_exetyp_active ).
15| ELSE.
16| l_exetyp = CONV string( me->ms_definition-task_handle->exetyp ).
17| ENDIF.
18|
19| ms_definition-workflow = get_run_definition( ).
20| IF me->m_swp_header->*-flex_id IS NOT INITIAL.
21| DATA(lo_factory) = cl_swf_run_definition_factory=>get_instance_for_runtime( abap_t
22| DATA(lo_flex_factory) = lo_factory->get_flex_factory( io_defintion = me->ms_defini
23| ms_definition-flex_workflow = lo_flex_factory->get_workflow(
24| im_flex_id = CONV #( me->m_swp_header->*-flex_id )
25| im_flex_type = CONV #( me->m_swp_header->*-flex_typ
26| im_process_mode = if_swf_flex_workflow=>c_mode_exec
27| ms_definition-flex_workflow->set_workflow_id( m_wf_id ).
28| ENDIF.
29| DATA(ls_definition) = me->ms_definition-workflow->get_definition_entities( ms_defini
30|
31| me->mt_nodes = ls_definition-nodes.
32| set_def_header( ).
33| CALL METHOD me->determine_process_category.
34| me->mt_lines = ls_definition-lines.
35| me->mt_steps = ls_definition-steps.
36|
37| CHECK me->m_wfm_mode NE c_wfm_mode_cancel.
38| CHECK me->m_wfm_mode NE c_wfm_mode_complete.
39|
40| me->mt_methods = ls_definition-methods.
41| me->mt_def_conditions = ls_definition-conditions_wfm.
42| me->mt_all_binding_defs = ls_definition-bindings.
43| IF me->ms_definition-task_handle->task EQ 'WS00800303'.
>>>>>| DATA(lv_highest_version) = lo_factory->get_highest_active_version( CONV #( me->ms_
45| IF lv_highest_version NE ms_definition-task_handle->properties-version.
46| DATA(lo_workflow) = lo_factory->get_definition( im_task = CONV #( me->ms_def
47| im_version = lv_highest_version
48| im_exetyp = l_exetyp ).
49| DATA(ls_definition_highest) = lo_workflow->get_definition_entities( ).
50| me->mt_def_events = ls_definition_highest-events.
51| ELSE.
52| me->mt_def_events = ls_definition-events.
53| ENDIF.
54| ELSE.
55| me->mt_def_events = ls_definition-events.
56| IF me->m_swp_header->*-flex_id IS NOT INITIAL.
57| lv_highest_version = lo_factory->get_highest_active_version( CONV #( me->ms_defi
58| IF lv_highest_version NE ms_definition-task_handle->properties-version.
59| lo_workflow = lo_factory->get_definition( im_task = CONV #( me->ms_definit
60| im_version = lv_highest_version
61| im_exetyp = l_exetyp ).
62| ls_definition_highest = lo_workflow->get_definition_entities( ).
63| LOOP AT ls_definition_highest-events INTO DATA(ls_event_highest) WHERE rtype_
----------------------------------------------------------------------------------------------------
Read more...
Environment
- SAP Business Workflow
- SAP NetWeaver
- SAP Web Application Server for SAP S/4 HANA
- ABAP PLATFORM - Application Server ABAP
Product
Keywords
About this page
This is a preview of a SAP Knowledge Base Article. Click more to access the full version on SAP for Me (Login required).Search for additional results
Visit SAP Support Portal's SAP Notes and KBA Search.
SAP Knowledge Base Article - Preview