Idoc - Error Status 51: Incorrect function module called up

Hi,
In the receiver system for the custom message type, I got this error.
Incorrect function module called up
Can any one pls help me to solve this one.
Regards,
Bala Raja

Hi Bala,
     Check the inbound function module attached to process code in receiving system. Generally in every inbound function module first check is coded for checking message type or for checking funciton module like below.In the receiving system go to WE20 and then select the partner and select inbound message type. in that double click on assigned process code.then you have to double click on displayed FM. In that fm check first few lines. You will find this error message.
LOOP AT IDOC_CONTRL.
    IF IDOC_CONTRL-IDOCTP(6) <> 'DESADV'.
      MESSAGE ID 'E0' TYPE 'E' NUMBER '029'
      WITH IDOC_CONTRL-IDOCTP ' ' 'IDOC_INPUT_DESADV'
      RAISING WF_ERROR_PROCESS.
    ENDIF.
  ENDLOOP.
Thanks & Regards,
Kalyan.

Similar Messages

  • Status : 51- Incorrect function module IDOC_INPUT_MATMAS01 called up

    Hello,
    File - IDOC
    in MONI, checkered flag is shown up and when I go the R3 server, WE05, I get error message
    Status : 51
    Incorrect function module IDOC_INPUT_MATMAS01 called up
    I am using MATMAS04 without extension and updated the same in WE57. also checked in WE42 (MATM)
    now, how do I proceed furthur related the above error message?
    Regards,
    Nikhil.

    can very much
    check your partner profiles PROPERLY. If u have the same IDoc type in 2 different partner profiles, check the 2nd one for it's process code. Isn't it the one, which is called after your Idoc is received? Processing code in partner profile is not based only on Idoc Type, but also on Message Type, Message Code and Extension. If the 2nd profile contains the process code, which is called, then check your incoming idoc for header values. May be this is causing your problem.
    Peter

  • IDOC: Incorrect function module problem

    Hi,
    I am working on inbound IDOC processing. I created an extension for an IDOC. I created custom segment & included it in the extension that I created. The Message type was also custom. (I merely copied an existing standard Message Type for some other purpose). I also assigned Function Module to Message Type & IDOC type. I have other necessary settings configured as required. The problem that I am encountering is as follows:
    Incorrect function module IDOC_INPUT_SHPCPR called up
    Message no. B1044
    Diagnosis
    The function module IDOC_INPUT_SHPCPR, which was called for the application input, was not able to process the IDoc. A possible cause is that the IDoc has wrong message type or IDoc type.
    Procedure
    Please check the message type assignment for the application function module in the ALE customizing.
    Now to troubleshoot the above error, I made sure that I have an entry with FM. IDOC_INPUT_SHPCPR,  IDOC Basic Type ,custom  IDOC extension & custom Message Type. But even then I see the above error. This error appears as Status 51 for the test IDOC that I processed.
    Can anyone please tell me how to solve this? Thanks in advance.

    On line 49 of the function module :
    * Loop through the IDocs' control records
      LOOP AT idoc_contrl.
    *   Check the IDOCs message type
        current_mestyp = idoc_contrl-mestyp.
        PERFORM idoc_message_type_check
                     TABLES   idoc_status
                     USING    idoc_contrl
                              mestyp-shpcpr
                     CHANGING subrc.
    Perform looks like this ( in Include LV56IF0C...)
    FORM idoc_message_type_check
              TABLES   t_idoc_status  STRUCTURE bdidocstat
              USING    f_idoc_contrl  STRUCTURE edidc
                       default_mestyp LIKE edidc-mestyp
              CHANGING subrc          LIKE sy-subrc.
      IF current_mestyp <> default_mestyp.   " Here the variable default_mestyp has the value SHPCPR
        MESSAGE ID      msg-id             "Global variable
                TYPE    'E'
                NUMBER  msg-nr_wrong_function    "Global variable
                WITH    current_mestyp     "message type
                        'IDOC_INPUT_SHIPPL'"Your function module
                        f_idoc_contrl-sndprt     "Sender partner type
                        f_idoc_contrl-sndprn     "Sender number
                RAISING wrong_function_called.
    Again let me warn you that you will have to copy the entire function group V56I. Copying the function module alone will not help because there are many reusable subroutines in different includes of the function-pool.
    regards,
    Advait

  • Rfc function module call error

    Hi Abaper,
    I'm doing upgrade from 4.7 to ecc 6.0 currently and encounter problem in one of the rfc function module that we used. I've tested the connection to destination using sm59 and the connection is successful.
    As an information, in the rfc setting, the target system is not Unicode system.
    When I test using se37 and put the rfc destination in my function module call, I always encountered system_error exception. There's no issue with this rfc call before in 4.7 system.
    Please help me on this. Thank you.
    Edited by: Abraham Bukit on Sep 3, 2008 2:36 AM

    Hi,
    I had the same issue in the past and solved it in the following way.
    If the destination system is not Unicode please try to set the password for the communication user set in SM59 using only upper-case characters and taking into account that the password shouldn't be longer than 8 characters.
    Hope this will help.

  • Fill Idoc error status

    Hi Folks,
    I am trying to fill the IDoc error status when processing inbound ORDERS IDoc.
    Code looks OK.
    But i am not getting the IDoc in error status.
    Pl look @ the code and let me know.
    data: w_errtab like errtab occurs 0 with header line.
    if condition fails.
    move derrtab to w_errtab.
    w_ERRTAB-ARBGB = 'IDOC_ADAPTER'.
    w_ERRTAB-CLASS = 'E'.
    w_ERRTAB-MSGNR = '902'.
    w_ERRTAB-MSGV1 = xvbak-bstdk.
    w_ERRTAB-MSGV2 = s_kunnr.
    w_ERRTAB-MSGV3 = s_vbeln.
    append w_ERRTAB.
    DESCRIBE TABLE w_errtab LINES sy-tfill.
    derrtab = w_errtab.
    endif.
    The IDoc status is still 53.
    Thanks,
    Matt

    call customer-function '011'
             exporting
                  dxvbak  = xvbak
                  docnum  = idoc_contrl-docnum
             tables
                  derrtab = errtab
                  dxvbap  = xvbap
                  dxvbep  = xvbep
                  dxvbadr = xvbadr
                  dxvbpa  = xvbpa
                  dxvbuv  = xvbuv
                  dedidc  = idoc_contrl
                  dedidd  = idoc_data
                  dxkomv  = xkomv
                  dxvekp  = xvekp
                  dyvekp  = yvekp.
        describe table errtab lines anzahl.
        if anzahl gt 0 and input_method = 'X'.
          export errtab to memory id 'idoc_test_errtab'.
        endif.
        if anzahl gt  0  and
           xaprau eq 'D'.
          loop at errtab where arbgb eq 'VG' and
                               msgnr eq '219'.
            anzahl = anzahl - 1.
          endloop.
          if anzahl eq 0.
            refresh errtab.
          endif.
        endif.
        if anzahl ne 0
         and input_method is initial.
          perform determine_user.
          perform statusrecord tables errtab.   " This is place in which IDOC_STATUS table get filled from
                                                " ERRTAB. Please check whether your IDOC_STATUS have
                                                " the Error record 51 that you inserted
          call customer-function '010'
               exporting
                    docnum      = idoc_contrl-docnum
               tables
                    derrtab     = errtab
                    xbdidocstat = idoc_status.
        else.

  • IDOC ERROR Status 02

    Hi,
    I am getting IDOC Error status 02.
    "Error passing data to the port".
    I am using a file port and passing the data from IDOC to the file.
    Idoc is getting created successfully but the file is not created.
    Any idea?

    hi
    use tcode BD83 for reprocessing error idocs in outbound
    in program
    If you want to use a type T connection to start an external RFC server program, enter the name of this program here. Enter the complete path name if possible. You cannot use the command line to specify any parameters for the program.
    Type T destinations are connections to external programs that use the RFC API to receive 'Remote Function Calls'. You must specify the host name and the pathname of the program to be started. The communication method depends on how you select the program location:
    'Explicit' selection
    In this case, the program is started either by the standard gateway program for the system or by the explicitly specified gateway (gwrd) via 'remote shell'.
    Ensure that the computer with the gateway process can access the specified computer by entering '/etc/ping <host name>'.
    In order to be able to start a program on another computer using 'remote shell', the target system must fulfil certain conditions. The user ID of the gateway process must exist and a file called .rhosts must also be present in the user's home diretory. The file .rhosts must contain the name of the calling computer. To check this, logon to the computer containing the gateway process with the appropriate user ID and enter the command 'remsh <host name> <program name>'. The <host name> and <program name> must be the same as in SM59. (If you call an RFC server program without any parameters, the RfcAccept call always returns an error code (RFC_HANDLE_NULL) and the program terminates at once.)
    'Server'
    By entering the 'server', you start the program from the SAP application server.
    First, ensure that the program can be accessed from the SAP application server and that the SAP application server has the authorization to start the program.
    To check this, logon with the user ID of the SAP application server (e.g. c11adm). If possible, go into the 'work' directory of the SAP application server ('/usr/sap/.../D.../work') and try to start the RFC server program manually from there. (As in the above case, if you call an RFC server program without parameters, the RfcAccept call always returns an error code (RFC_HANDLE_NULL) and the program terminates at once.)
    'User'
    By entering the 'user', the program is started by 'SAPGUI', i.e. under the user's ID and environment.
    Ensure that you can access the program with 'SAPGUI'/'SAPTEMU'.
    Ensure that 'SAPGUI' has the authorization to start the program.
    To check this, simply call the RFC server program in your environment.
    The function call can also be asynchronous (CALL FUNCTION ... IN BACKGROUND TASK DESTINATION ...).
    <b><REMOVED BY MODERATOR></b>
    regards
    Nagesh.Paruchuri
    Message was edited by:
            Alvaro Tejada Galindo

  • Error while activating the function module

    hi,
    am getting error while activating the function module i.e. program or report statement is missing.
    thank you in advance
    karthik

    hii vinu,
    hi there....
    make sure that the Processing type in Attributes tab is 'Normal function module'. Also chk the general data, it must be having some name in the Program Name and include name column.try checking the program names in se38, if the program is of type include or not. you can also chk by writting  a program call the function module and test it
    I hope this will solve the query. in my case, SAPLZ123 is the program name and LZ123U28 is the include name.
    or
    Its common prob with Function module.
    Goto SE80->Give Function group name->Right click on it->Activate.
    regards,
    Shweta

  • Problem with function module calling

    Hi,
    I have two questions here
    i have a function moduel 'Z_GET_MATL_BALANCE'
    in my code it called in the below said way
    CALL FUNCTION 'Z_GET_MATL_BALANCE'
        DESTINATION 'NONE'
        STARTING NEW TASK 'A'
        PERFORMING f_back ON END OF TASK
        EXPORTING
          ref_dte    = s_datum-low
          str_dte    = s_datum-high
          end_dte    = s_datum-high
          i_werks    = p_werks
          i_past     = 'X'
          i_future   = 'X'
          verselem   = p_mrpver
          plscn      = p_scenar
          r_outrec   = r_outrec
          supstk     = p_supstk
          days_ahead = w_days_ahead
          shipnt     = p_shipnt
        TABLES
          mat_bals   = w_zmat_bals_a
          i_zdatum   = i_datum
          mat_movmts = w_mat_movmts_a
          mat_ship   = i_mat_ship_a.
      IF sy-subrc NE 0.
        MESSAGE e005(ZMIM) WITH
       text-009 text-166 text-054 sy-subrc.
      ENDIF.
    FORM f_back USING task.
      CASE task.
        WHEN 'A' .
          RECEIVE RESULTS FROM FUNCTION 'Z_GET_MATL_BALANCE'
         TABLES
              mat_bals                     = w_zmat_bals_a
              mat_movmts                   = w_mat_movmts_a
              mat_ship                     = i_mat_ship_a
           EXCEPTIONS
                call_material_lesen_fail     = 1
                call_t450n_fail              = 2
                call_t399d_fail              = 3
                call_aufbauen_mdpsx_fail     = 4
                call_mdezx_aufbauen_fail     = 5
                call_t001w_fail              = 6
                call_zmrpelem_failed         = 7
                call_aufbauen_mdpsx_sim_fail = 8
                OTHERS                       = 9.
          IF SY-SUBRC NE 0.
           RET_CODE1 = SY-SUBRC.
          ENDIF.
    now my first question is what is the difference between function modules calling normally and in the above said way
    and the second question is
    under tables parameter i have four internal tables defined where as while calling the same function module using recive results i have three internal tables. is this correct?
    i am asking this because i am getting an error message while using this funciton module
    please do not give generic answers, all the helpful answers will get a def reward

    Call function starting new task is used to make Asynchronus RFC Call. In this case your function module will be called in a NEW SESSION and it will exceute independently from the Main program which is calling the FM. Also, the main program will continue its own processing and it will not wait for the RFC FM to complete.
    Its not mandatory to have all the TABLES parameters in the RETURN Perform (..Receive results from ...)

  • Batch status updating using function module BAPI_BATCH_SAVE_REPLICA

    Hi,
    I want to change batch status after creating the outbound delivery through inbound idoc, i was able to create delivery , but after creation, i should update the batch status using function module BAPI_BATCH_SAVE_REPLICA, but i was unable to execute this function module correctly,
    Can any one provide details like what are minimum things that are required to update the batch status using this function module.
    In my system batches are defined at plant level.
    Please let me know the solution if any one knows this.
    With regards.
    P.Prasanth.

    Look at BAPI_INCOMINGINVOICE_POST
    Rob

  • Release status of a function module

    Hello,
    how can I find out (where) the release status of a function module (if a function module has a status "released for customer")?
    regards
    zeno

    - start SE37
    - click on the "attribute" tab
    - check on the right section in the bottom area
    Markus

  • Function module call with destination

    Hi,
    how can check if a function module call with destination works or not ?
    How can I debug.
    What can be the reason if it is not calles
    regards
    ertas

    * to chcek the rfc Destination By pass RFC destination name and Connection Type..
    RFC_CHECK_DESTINATION
    or
    RFC_CHECK_DESTINATION_ID
    or
    You can use this FM RFC_VERIFY_DESTINATION if your release is greater than 4.6C.
    Check this sample code from Craig Cmehil's weblog.
    CALL FUNCTION 'RFC_VERIFY_DESTINATION'
      EXPORTING
        DESTINATION = TMP
            TIMEOUT = 10
      EXCEPTIONS
        INTERNAL_FAILURE           = 1
        TIMEOUT                    = 2
        DEST_COMMUNICATION_FAILURE = 3
        DEST_SYSTEM_FAILURE        = 4
        UPDATE_FAILURE             = 5
        NO_UPDATE_AUTHORITY        = 6
        OTHERS                     = 7.
      IF SY-SUBRC EQ '0'.
        "* Do code here
      ENDIF.
    Prabhu

  • Need to track Function modules called when executing a transaction

    Hi All,
              Is there a way through which i can track function modules called, while executing a Transaction. Kindly provide pointers to it.
    Thanks in advance.
    Regards,
    Navin.

    Goto SE80 Transaction and use Program name for corresponding Transaction Use Find operation like Call Function .. then you will get list of FM ..
    There is no other option .
    reward Points if it is helpful
    Thanks
    Seshu

  • Can a function module call another function module

    Can a function module call another function module:-
      within the same function group
    (ii)  within different function  groups

    Hi,
    We can call function from another function. If there is a function which is like a calculator and all the operations are from different functions then we have to call the functions from the calculator function for different functions.
    If all the function are from same function group, Then the data is globally available to all the functions with in the group.
    Otherwise we have to declare the data definitions for each of the functions if they are in different function groups.  
    Yes it is possible to call a function module from another function module:-
    within the same function group
    (ii) within different function groups
    Reward.

  • Dynamic function module call

    Hi,
    I need to call few function modules dynamically.The exporting and importing parameters are also known only at run time.
    Can somebody help me out in this regard,
    Thanks and regards,
    Archna

    hi ,
    Create Function module according to your requirment  and call the same 
    such as
    Create functi0n module   where you are passing PLant  runtime   and get data related to Plant 
    write  code in function according to requirment  .
    FUNCTION zrfc_test.
    ""Local interface:
    *"  IMPORTING
    *"     VALUE(ZWERKS) TYPE  MARC-WERKS OPTIONAL
    *"  EXPORTING
    *"     VALUE(RETURN) LIKE  BAPIRET2 STRUCTURE  BAPIRET2
    *"  TABLES
    *"      ZIT_DATA STRUCTURE  MARC
      IF zwerks IS NOT INITIAL.
        SELECT *
          FROM marc
          INTO CORRESPONDING FIELDS OF TABLE zit_data
         WHERE werks = zwerks .
      ELSE.
        SELECT *
          FROM marc
          INTO CORRESPONDING FIELDS OF TABLE zit_data.
      ENDIF.
      IF sy-subrc = 0 .
        MESSAGE ' Selected ' TYPE 'I' .
      ENDIF.
    ENDFUNCTION.
      Suppose  at runtime you get Plant  7100
    types : begin  of w_marc .
             include structure  marc  .
    types : end of w_marc .
    data : it_data type standard table of w_marc with header line  .
    p_plant  = 7100 .
    Call to function module 
    CALL FUNCTION 'ZRFC_TEST'
    EXPORTING
       ZWERKS         = 'p_plant 
    IMPORTING
      RETURN         =
      TABLES
        zit_data       =  it_data  .
    You will get result in it_data .
    Note : if you don't know how to create  Function Module then  search on SDN you will get lots of Forum  .
    Regards
    Deepak.

  • After shutting down Firefox 3.68, an error message reading "Incorrect Function" pops up.

    I upgraded to Firefox 3.68 about four days ago. After shutting down Firefox 3.68, an error message reading "Incorrect Function" pops up. I click "OK." Nothing seems to happen, either good or bad.
    I installed Comodo Internet Security a few days before I upgraded to Firefox 3.68.
    == This happened ==
    Every time Firefox opened
    == After I upgraded to Firefox 3.68.

    I am the original poster. The problem seems to have nothing to do with my upgrade to Firefox 3.6.8 but with a configuration change I made to System Mechanic after I switched to Comodo Internet Security.

Maybe you are looking for

  • Read feedback for a podcast by users in another country?

    I've got a podcast which shows up in iTunes, and I'd like to read the comments people gave me there. The problem is that I can only see comments from people in my own country unless I change the iTunes Store country (which can be done at the bottom o

  • Error import/install application

    I am moving an application to a new workspace with a differently named schema. During the Install process, upon choosing the Parsing Schema, Build Status and Install as Application I get this error message: NOT COMPATIBLE (Your export may contain cal

  • Total costs field in trx PRAP has double value

    Dear experts, Everything in the Travel Expenses module works fine. All the entered trips can be approved without problems and posted to FI. However, when I want to execute an approval of several trips at one time with transaction PRAP I noticed that

  • HT204053 I am getting this error for iCloud

    Hi! I am getting this error the moment i log on to my system and keeps flashing "Photo Stream Photos for the iCloud account "[email protected]" cannot be accessed. Review your account information in System Preferences." Now my apple id is correct tha

  • Textedit Always opening at startup

    Hi everyone, Im vert new to these discussion, sorry if I have done something wrong. I just updated my iBook to Leopard and everytime I startup it opens textedit. Text edit is not in my dock and its not set to open at startup Every time it opens it sa