Application Development Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 

Dump in MRM_INVOICE_PARK when creating an invoice

former_member203305
Active Contributor
0 Kudos
163

Hi guys,

I'm trying to use this FM MRM_INVOICE_PARK to create a MM invoice.

Debugging the MIR7, i was able to get the parameters to fill the FM, but when i execute the FM, i got a dump.


Errores tiempo ejec.   PERFORM_CONFLICT_TYPE        
Excepción              CX_SY_DYN_CALL_ILLEGAL_TYPE  
Fecha y hora           26.04.2011 16:25:51        
  
An exception occurred that is explained in detail below.                      
The exception, which is assigned to class 'CX_SY_DYN_CALL_ILLEGAL_TYPE', was  
 not caught in                                                                
procedure "MRM_INVOICE_PARK" "(FUNCTION)", nor was it propagated by a RAISING 
 clause.                                                                      
Since the caller of the procedure could not have anticipated that the         
exception would occur, the current program is terminated.                     
The reason for the exception is:                                              
Call to FORM "TEMP_BELNR" is incorrect:                                       
The actual parameter no. 3 has a different data type in the                   
PERFORM than requested for the FORM "TEMP_BELNR" in program "SAPLMRMP".       

 263   IF NOT f_new_number IS INITIAL.                          
 264     PERFORM temp_belnr TABLES tab_accit                    
 265                               tab_accbset                  
 266                        USING  'X'                          
 267                               s_rbkpv                      
 268                               f_external_number.           
 269   ELSE.                                                    
 270     PERFORM temp_belnr TABLES tab_accit                    
 271                               tab_accbset                  
 272                      USING  i_simulation                   
 273                             s_rbkpv                        
 274                             f_external_number.             
 275   ENDIF.                                                   
 276                                                            
 277 * Prepayment: Method I (Prepare)                           
>>>>   CALL METHOD cl_wrf_prepayment=>invoice_park_prepare      
 279     EXPORTING                                              

Actually the program gets dump on the 270 line, it doesnt go inside of that perform.

This one works fine with the same parameters when i use MIR7, but when i execute the FM using se37, i got this dump.

I searched some SAP notes, but nothing...no idea.

This is my code.


CALL FUNCTION 'MRM_INVOICE_PARK'
    EXPORTING
      i_rbkpv               = wa_rbkpv
      i_xupda               ='I'    * I = insert
      i_rbstat_new      = 'A'
    IMPORTING
      e_belnr           = f_belnr
      e_gjahr           = f_gjahr
      e_only_parked     = f_only_parked.

All others parameters are in blank (NO DATA).

Any idea?? let me know if you need that i post the values of wa_rbkpv.

Thanks

1 ACCEPTED SOLUTION

former_member195402
Active Contributor
0 Kudos
57

Hi,

the called FORM has the following interface:

FORM temp_belnr TABLES   t_accit           STRUCTURE  accit
                         t_accbset         STRUCTURE  accbset
                USING    i_simulation      LIKE       boole-boole
                         i_rbkpv           TYPE       mrm_rbkpv
                CHANGING e_external_number TYPE       nrind.

Other than in the call of the FORM e_external_number is a CHANGING parameter, not a USING parameter. The type of NRIND is XFELD, which can hold the values X and SPACE. Which value did you pass to it? i_simulation has another type, but can hold also X or SPACE. I think, one of those parameters is number 3, which causes the problem.

Maybe it's caused by the SE37 test environment of the fm, if all values you have passed are correct! In this case you can avoid the dump by creating a small ABAP test report for calling the fm instead of using the SE37 test environment.

Regards,

Klaus

Edited by: Klaus Babl on Apr 27, 2011 7:16 AM

3 REPLIES 3

Former Member
0 Kudos
57

If you do a where used list for this FM, You'll see that before it is called, a number of other calls to FMs in the same function group are called. My guess is that these other calls are needed to set the table for your FM.

Rob

former_member195402
Active Contributor
0 Kudos
58

Hi,

the called FORM has the following interface:

FORM temp_belnr TABLES   t_accit           STRUCTURE  accit
                         t_accbset         STRUCTURE  accbset
                USING    i_simulation      LIKE       boole-boole
                         i_rbkpv           TYPE       mrm_rbkpv
                CHANGING e_external_number TYPE       nrind.

Other than in the call of the FORM e_external_number is a CHANGING parameter, not a USING parameter. The type of NRIND is XFELD, which can hold the values X and SPACE. Which value did you pass to it? i_simulation has another type, but can hold also X or SPACE. I think, one of those parameters is number 3, which causes the problem.

Maybe it's caused by the SE37 test environment of the fm, if all values you have passed are correct! In this case you can avoid the dump by creating a small ABAP test report for calling the fm instead of using the SE37 test environment.

Regards,

Klaus

Edited by: Klaus Babl on Apr 27, 2011 7:16 AM

0 Kudos
57

Hi guys.

The problem was that i was testing the data on SE37, as Klaus said, the problem was caused by SE37 transaction.

I created a small program that triggers the FM 'MRM_INVOICE_PARK and it works.

Thanks a lot.