SAP Knowledge Base Article - Preview

3615893 - OBJECTS_OBJREF_NOT_ASSIGNED_NO dump in CL_SWF_RUN_WFM=>READ_WORKFLOW_DEFINITION

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.                                                                              |
|    To prevent the exception, note the following:                                                 |
|                                                                                                  |
|    If the error occurs in one of your own ABAP programs or an SAP program                        |
|    that you have modified, try to correct the error yourself.                                    |
|    If the error occurs in a non-modfied SAP program, you might be able to                        |
|    find a solution in the SAP Notes system. If you have access to the SAP                        |
|    Notes system, check there first using the following keywords:                                 |
|                                                                                                  |
|    "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

ABAP platform all versions ; SAP NetWeaver all versions ; SAP S/4HANA all versions ; SAP Web Application Server for SAP S/4HANA all versions

Keywords

WF_GDPR, SWF_WORKFLOW, cl_swf_run_wfm, abap programming error, objects_objref_not_assigned_no, cx_sy_ref_is_initial, workflow, ws00800303, Sap Note 3081638, flexworkflow, event linkages, older version, CL_SWF_RUN_RESTART_ITEMS======CP, CL_SWF_RUN_RESTART_ITEMS, SWW_WI_EXECUTE_ACTION                                                    
, KBA , BC-BMT-WFM , Business Workflow , Problem

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.