Wednesday, February 18, 2015

Process Chains screen hanging

Recently I came across an interesting issue related to process chain. While simply going to maintenance screen of the process chains either by tcode RSA1->Modelling->Process Chains or just running of tcode RSPC the screen is not displayed it just hangs. The transaction seems to run and doing something however it is just stuck.

Symptoms of this strange behavior can be observed in work processes (e.g. in t-code SM66). Corresponding work processes is still running and its field Time value gets red after some time. I debugged the work processes and realized that it hangs in infinitive loop in following code of class CL_RSAWBN_TREE_MODEL_FOLDER and method ADD_T_TREE:

* add the actual node as successor of the last node of the actual parent
      
WHILE l_nodeid IS NOT INITIAL.
        
READ TABLE o_th_tree WITH TABLE KEY nodeid l_nodeid
                   
ASSIGNING .
        
IF -nextid IS INITIAL.
          
-nextid l_s_tree-nodeid.
          
CLEAR l_nodeid.
        
ELSE.
          l_nodeid 
-nextid.
        
ENDIF.
      
ENDWHILE.


Processing if this WHILE statement never gets inside of inner IF statement because -nextid  is never initial. Values of table o_th_tree need to be observed. Especially value of variable l_nodeid.



The value of next ID needs to be cleared out in the debugger and transactions related to Process Chains will be available again.
Root cause of this issue lies within inconsistencies with an Application Component. This means data inconstancies in table RSCOMPTLOGO and or RSCOMPTLOGOT. If trick within the debugger doesn’t help than entries in in above mentioned tables need to be removed.

Related SAP Notes:
1664459 - Runtime Error when opening RSA1/RSPC

1691183 - BW workspace: Termination when you call transaction RSWSPW

No comments: