Skip to Content
0
Aug 09, 2016 at 08:44 AM

Problems with CALL function .... parameter-table....

1025 Views

Hello @all,

I've got a problem by calling the function "RH_STRUC_GET_MULTIPLE_ROOTS" with parameter-table. I always get an CX_SY_DYN_CALL_PARAM_MISSING - exception. The reason of the exception: 'NULL' datareference.

Here is my sample, in which I only fill the required Parameters:

*"----------------------------------------------------------------------
*"*"Lokale Schnittstelle:
*"  IMPORTING
*"     VALUE(ACT_WEGID) LIKE  GDSTR-WEGID
*"  TABLES
*"      ROOT_OBJECTS STRUCTURE  HRROOTOB
*"  EXCEPTIONS
*"      NO_PLVAR_FOUND
*"      NO_ENTRY_FOUND
*"      PATH_NOT_FOUND
*"      ROOT_NOT_FOUND
*"      UNKNOWN_ERROR
*"----------------------------------------------------------------------

DATA: L_TAB_PTAB TYPE ABAP_FUNC_PARMBIND_TAB,        
 L_TAB_ETAB TYPE ABAP_FUNC_EXCPBIND_TAB,         
L_STR_PTAB TYPE ABAP_FUNC_PARMBIND.  
 
"***************************  
 " Importparameter  

L_STR_PTAB-KIND = ABAP_FUNC_IMPORTING.   
L_STR_PTAB-NAME = 'ACT_WEGID'.   
L_STR_PTAB-VALUE = REF #( ACT_WEGID ).  
INSERT L_STR_PTAB INTO TABLE L_TAB_PTAB.   
CLEAR L_STR_PTAB.   

L_STR_PTAB-KIND = ABAP_FUNC_TABLES.  
L_STR_PTAB-NAME = 'ROOT_OBJECTS'.   
GET REFERENCE OF ROOT_OBJECTS INTO L_STR_PTAB-TABLES_WA.   
INSERT L_STR_PTAB INTO TABLE L_TAB_PTAB. 
CLEAR L_STR_PTAB.

"****************************************  
" ExceptionTable  

L_TAB_ETAB = VALUE #( ( NAME = 'NO_PLVAR_FOUND' VALUE = 1 ) 
                                           ( NAME = 'NO_ENTRY_FOUND' VALUE = 2 )           
                                         ( NAME = 'PATH_NOT_FOUND' VALUE = 3 )                        
                                         ( NAME = 'ROOT_NOT_FOUND' VALUE = 4 )                         
                                         ( NAME = 'OTHERS' VALUE = 5 ) ).   

CALL FUNCTION 'RH_STRUC_GET_MULTIPLE_ROOTS'     
PARAMETER-TABLE L_TAB_PTAB     
EXCEPTION-TABLE L_TAB_ETAB.