Error in Functional module calling from XI!!!

Hi All,
I'm using XI to pick data from ORACLE write it in SAP and take the response from SAP and write it back in ORACLE database. I'm using a custom functional module in SAP and calling it from XI .
The custom functional module create the CUSTOMER and ORDER .
Customer is getting created in SAP but order is not created. We are using two different functional modules for customers and orders.
The above functional modules are executing in SAP but while calling from XI only the customer is getting created in SAP.
Please post your views and suggestions on this issue.
Thanks in advance.
LN

First put the commit work after successfuly executing the order creation in the custom function module.
If you already put and doesn't know why it is not creating the orders, debug the function module by putting the same data which you are passing from XI in test tab.
Suppose, the Orders are creating in the dubug mode. Then debug the custome function module dynamically using SM50.
Regards,
Krishnaraju.

Similar Messages

  • RFC remote function module call from XI

    hi
    I am trying to call a remote function module directly from XI which is not a bespoke module.
    And i am getting the following error:
    com.sap.aii.af.ra.ms.api.DeliveryException: error while processing message to remote system:com.sap.aii.af.rfc.core.client.RfcClientException: failed to parse BAPI response due to: com.sap.aii.af.rfc.util.bapi.BapiException: Parameter with name RETURN not found.
    Please help me in this.
    Thanks in advance.

    Hi Naina,
    Normally RFC are synchronous, they do have return parameter as export parameter.
    If return parameter is missing then , you can create Wrapper RFC.
    Wrapper RFC:
    It is nothing but you just  create BAPI in SE37 transaction with Return parameter as export parameter and make it remote enabled by clicking on Radio button.
    Under source code, CALL BAPI which XI has to call.
    Thats it!
    I hope this helps.
    Let me know if any help required.

  • Regarding the RFC Function Module call from PI

    Hi All,
    I am working on one File to RFC interface, in which File adapter picks the file, this file data has to goto  2 function modules in SAP system. For this i added 2 Inbound interfaces in INTERFACE DETERMINATION and I developed 2 RECEIVER AGREEMENTS. In 2 RECEIVER AGREEMENTS i added single receiver RFC Communication Channel.
    Now i want assurance that once 1 st function module will execute completely, then only my second function module should be called. Is there any setting that i can do to make this sync?????.
    what is the use of  Send 'Confirm Transaction' in receiver RFC Communication Channel under Adavanced Mode.
    Thanks,
    Balu

    Hi,
    As per you requirement I would suggest to change your scenario as File To Proxy. It will much more easier and 100% sure to process second BAPI only after first gets successful inside the proxy.
    Pass the data from file adapter to inbound proxy and then inside proxy code you first call the first BAPI and use commit wrok. Once commit work is successful then you call the second BAPI otherwise rollback the changes.
    Example:
    Call First_BAPI
    <pass the data to it's import export parameters>
    Commit work.
    if sy-subrc =0.
    Call Second_BAPI.
    <pass the data to it's import export parameters>
    Commit work.
    endif.
    Note: If you are not very much comfortable with ABAP the discuss this with your ABAP team mate.
    Regards,
    Sarvesh

  • Raise exception in function module call from SAP owned program

    I need to raise an exception in a function module to terminate a transaction, display a error message and return to to previous selection screen so the user can fix the error before moving forward.......  
    How do you do this when the program using the function module is SAP owned?
    Thank You!
    Jeff

    Hi,
    After calling the function module, you can do something like this.
    IF SY-SUBRC <> 0.
      RAISE EXCEPTION.
    ENDIF.
    Regards,
    Ferry Lianto

  • Remote Function Module call from ECC to CRM (how to pass parameters?)

    Hi there,
    I have a remote FM that I would like to call from ECC to CRM. The FM is remote-enabled, so I assume that I can call this from CRM. However, in CRM some of the table structures that is required are not available. Hence, my export/import parameters won't be match, unless I create those types in CRM, but this is going to major work!! 
    How do we pass/import the parameters since the data type in ECC is vastly different/not available in CRM?
    Cheers

    The structure will need to be defined in CRM.

  • Is it possible to call custom designed RFC function module, apart from BAPI

    Hi Friends,
    1.     Is it possible to call custom designed RFC function module, apart from BAPI.
    2.     Why we call it Adaptive RFC layer, Since every time the JCO layer updated with SAP, Why can’t be dynamic.
    Thanx for Ur time.
    Cheers,
    Sam

    Also check <a href="http://help.sap.com/saphelp_nw04/helpdata/en/41/38bc8f813719488ddc9d9b21251ec3/frameset.htm">here</a> for more information on aRFC. Here you can find why it is called adaptive.
    Regards,
    Christophe

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

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

  • Runtime error in functional module

    they given below program is a function module calling program.while am execute this program they could display the message like as
    What happened?
        Error in ABAP application program.
        The current ABAP program "YSUSFUN1" had to be terminated because one of the
        statements could not be executed.
        This is probably due to an error in the ABAP program.
        In program "SAPLYGROUP3 ", the following syntax error occurred
        in the Include "LYGROUP3U01 " in line 1:
        "The main program of the function "Y_INTERNAL1" does not begin with "FU"
        "NCTION-POOL"."
        Author and last person to change the Include are:
        Author "BASIS "
        Last changed by "BASIS "
    Error analysis
        In program "SAPLYGROUP3 ", the following syntax error occurred:
        "The main program of the function "Y_INTERNAL1" does not begin with "FU"
        "NCTION-POOL"."
    REPORT  YSUSFUN1.
    TABLES YSUSTAB1.
    DATA IT1 LIKE YSUSTAB1 OCCURS 2 .
    SELECT * FROM YSUSTAB1 INTO TABLE IT1.
    LOOP AT IT1 INTO YSUSTAB1.
    WRITE: / YSUSTAB1-NAME, YSUSTAB1-ROLLNO,YSUSTAB1-PHONENO.
    ENDLOOP.
    CALL FUNCTION 'Y_INTERNAL1'
      TABLES
        IT4           =  IT1  .
        LOOP AT IT1 INTO YSUSTAB1.
        WRITE: / YSUSTAB1-NAME, YSUSTAB1-ROLLNO, YSUSTAB1-PHONENO.
        ENDLOOP.
    2.)
    the given below program is function module definition. while at that time of execution they could display the message as
    *Syntax error in program*
    *Source code   LYGROUP3U01                                    Line     1*
      *The main program of the function "Y_INTERNAL1" does not begin with*
      *"FUNCTION-POOL".*
    FUNCTION Y_INTERNAL1.
    ""Local Interface:
    *"  TABLES
    *"      IT4 STRUCTURE  YSUSTAB1
    LOOP AT IT4.
    WRITE : IT4-name, it4-phoneno, it4-rollno.
    endloop.
    ENDFUNCTION.

    thanks
    before am gone to se80 to activate the function group , am  activate the function module only  not activate the function group .
    now am activate the function group they could not be depict the error .

  • 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 ...)

  • ALV ERROR in Function Module Fieldcatlog Merge .

    Hi
    I have added 2 more fileds in internral table . this is alv report there is no syntax error .
    i have user function module
    CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
    EXPORTING
    i_program_name = w_repid
    i_internal_tabname = 'T_BSIK'
    I_STRUCTURE_NAME =
    I_CLIENT_NEVER_DISPLAY = 'X'
    i_inclname = w_repid
    i_bypassing_buffer = 'X'
    I_BUFFER_ACTIVE =
    CHANGING
    ct_fieldcat = T_FIELDCAT
    EXCEPTIONS
    inconsistent_interface = 1
    program_error = 2
    OTHERS = 3
    IF sy-subrc 0.
    MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
    WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
    ENDIF.
    LOOP AT t_fieldcat INTO wa_fieldcat.
    CASE wa_fieldcat-fieldname.
    WHEN 'ZFBDT'.
    wa_fieldcat-key = ''.
    wa_fieldcat-reptext_ddic = 'Net Due Dt.'.
    wa_fieldcat-seltext_l = 'Net Due Dt.'.
    wa_fieldcat-seltext_m = 'Net Due Dt.'.
    wa_fieldcat-seltext_s = 'Net Due Dt.'.
    WHEN 'KUNNR'.
    IF p_kunnr IS INITIAL.
    wa_fieldcat-no_out = 'X'.
    ENDIF.
    WHEN 'LIFNR'.
    IF NOT p_kunnr IS INITIAL.
    wa_fieldcat-no_out = 'X'.
    ENDIF.
    WHEN 'SHKZG'.
    wa_fieldcat-no_out = 'X'.
    WHEN 'ZBD1T'.
    wa_fieldcat-no_out = 'X'.
    WHEN 'BELNR'.
    wa_fieldcat-key = 'X'.
    WHEN OTHERS.
    wa_fieldcat-key = ''.
    ENDCASE.
    MODIFY t_fieldcat FROM wa_fieldcat.
    ENDLOOP.
    I am getting error on that.
    ERROR is :
    The Internal table "\UNCTION= K_KKB_FIELDCAT_MERGE\DATA=L_ABAP_SOURCE[]" IS 72 CHARACTERS Wide
    .the program line is 79 characters wide.
    Thanks
    Chandra

    Hi Chandra,
    For ALV reports the length should not be greater than 72. (please change the same)
    You can also achive the same
    Goto SE38
    Open your program in edit
    Utilities --> Settings --> Set "Downwards-Comp Line Length" falg to X and save. (This wil auotmatically set ur code to 72 chars)
    Hope this helps,
    Nag

  • SYNTAX ERROR in function module CACS_BUPA_PAI_SPECIAL_CACSB1

    Hi experts,
       I am trying to create business partner in SAP treasury module with role - general business partner and validity period 01/01/0001 - 12/31/9999. I am gettting syntax error  in Function module CACS_BUPA_PAI_SPECIAL_CACSB1, it says
    The key of internal table 'LT_BUT0BK' contains components of type 'X' or 'XSTRING'.
    The "Read table LT_BUTOBK" statement is not permitted for such tables in a unicode context.
    Please let me know if you have any solution for this.
    Thanks in advance.
    Edited by: Thanvi maraka on Apr 17, 2009 3:27 AM

    Hello Thanvi
    It seems that you need to apply the OSS note 1041283:
    FUNCTION cacs_bupa_pai_special_cacsb1.
    *"*"Lokale Schnittstelle:
      DATA: lt_but0bk TYPE TABLE OF but0bk WITH HEADER LINE.
      CALL FUNCTION 'BUP_BUPA_BUT0BK_GET'
           TABLES
                t_but0bk = lt_but0bk.
    * einmal vorhanden -> nehmen; nicht vorhanden -> Feld muss leer sein
    * mehrmals vorhanden -> Mussfeld
      READ TABLE lt_but0bk INDEX 2.
      IF sy-subrc NE 0.
    *    READ TABLE lt_but0bk.          "NOTE 1041283   " <<<<<<<<<
         READ TABLE lt_but0bk FROM lt_but0bk.            " <<<<<<<<<
        IF sy-subrc = 0.
          cacs_s_bupaw-bank_id = lt_but0bk-bkvid.
        ENDIF.
      ELSE.
    Regards
      Uwe

  • 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

  • Error in function module WWW_DISPATCH_REQUEST

    Hi,
    I am upgrading standalone ITS to integrated ITS.
    In this process I refered to OSS notes number 979467. and i maintained all service files in WEBRFC service.
    and when i am testing my services i am getting an error in the browser
    saying:
    'Error in function module WWW_DISPATCH_REQUEST'
    Parameter Name Parameter value
    sap-client 100 
    ~USERAGENTTYPE M 
    ~USERAGENTVERSION 6 
    ~CALLED_FROM_ITS 6 
    ~URLWGATE %_WEBRFC_HTTP_SERVICE 
    ~SESSION SID:ANON:essap00_MIL_02:ByAZnf5VaI5DZcamNtjfwtDYdKZb5gkPV4oG3lBO-ATT 
    ~URLIMAGEPATH C:\tmp\sapicons\ 
    So i am not able to find an where i went wrong. Please suggest me or guide me to resolve the above error.
    Thanks in advance

    I am not sure this is an issue with getting the mime files for your webrfc service.  If it is, please try the following:
    From page 13 of the SAP document "Developing IACs with the SAP Integrated ITS"
    MIME URL
    MIME objects in the integrated ITS are accessed at runtime directly in the database. For this, a special ICF service mimes exists with the http request handler CL_HTTP_EXT_ITS_MIMES, which is stored in the ICF path defaulthost u2192 sap u2192 public u2192 bc u2192 its. It is used to fill parameter ~urlmime with the value /sap/public/bc/its/mimes. Also function mimeURL() returns this value as a result.
    The ICF service mimes must be active if you want to execute an ITS service that accesses MIME objects.
    Changes to the HTML templates are necessary only if the MIME URL in the ITS service does not contain the SAP default values.
    Developing
    Please also check out this OSS note 1076200 - WebReporting: Icon support for WebRFC Service
    It may applies to your case.
    The last parameter "~URLIMAGEPATH C:\tmp\sapicons\" may be the cause of the error.
    Hope it helps.
    Edited by: Danny Mak on Nov 23, 2009 8:03 PM

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

Maybe you are looking for