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.                                                                                                                                                      
                                                                                                  
    "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.