JDBC to RFC synch RFC call not executing.

Hi,
I am working on the synchronous JDBC to RFC without BPM. After completing design and config when I test the complete scenario the data from databse is not getting updated in R/3. And I do not see any errors in MONI. But when compared the moni logs I observed the following between the working scenario and not working scenario.
<u>Working scenario log in MONI:</u>
<SAP:Receiver>
  <SAP:Party agency="" scheme="" />
  <SAP:Service>ECS300</SAP:Service>
  <SAP:Interface namespace="<b>http://sap.com/xi/XI/System</b>">InterfaceCollection</SAP:Interface>
- <SAP:Mapping notRequired="S">
  <SAP:ObjectId>YYgNVKC9PTCW4JlMapfxZQ==</SAP:ObjectId>
  <SAP:SWCV>IrmTYNPLEdqKItGjlusuXw==</SAP:SWCV>
<u>Not working log from the MONI:</u>
++++++++++++++++++++++++
<SAP:Receiver>
  <SAP:Party agency="" scheme="" />
  <SAP:Service>ECS300</SAP:Service>
  <SAP:Interface namespace="<b>http://my_Own_namespace</b>">JDBC_Rfc_Synch_MI</SAP:Interface>
- <SAP:Mapping notRequired="M">
  <SAP:ObjectId>28ZZbGggOw6UcnigDXMD7A==</SAP:ObjectId>
  <SAP:SWCV>IrmTYNPLEdqKItGjlusuXw==</SAP:SWCV>
  <SAP:SP>-1</SAP:SP>
  </SAP:Mapping>
Could some body point me where I am doing wrong ?
Thaks
Steve.

Hi Steve,
I think the error is because your database table is expecting some kind of input and the input you are passing has some error in it.Just cross check the table using DESCRIBE <tablename> with the data you are trying to enter.
Also Just look at Query SQL Statement part ubnder this link,
http://help.sap.com/saphelp_nw04/helpdata/en/7e/5df96381ec72468a00815dd80f8b63/content.htm
Regards,
abhy

Similar Messages

  • Result handler of a remote call not executed till the other remote calls get result

    I have 3 remote calls in sequence.
    Say RemoteCall1, RemoteCall2 and RemoteCall3. RemoteCall1 takes the least time say  5 seconds to get results. RemoteCall2 also 5 seconds and RemoteCall3 takes 30 seconds. But the resulthandler for RemoteCall1 does not execute till the RemoteCall3 gets results from server. Any fixes to call resulthander for RemoteCall1 as soon as it gets result without waiting for RemoteCall3 results.
    by the way I am usindg Robotlegs framework and AsyncToken.

    Don’t make remoteCall3 until you get the results from remoteCall2, etc.  That’s the only way I know to guarantee order.
    Fllash queues up all remote calls until the end of the frame and sends them all at once, although a network monitor should show that the go out in the order you made the calls.
    Similarly, Flash processes all available results at the end of a frame.  Results are asynchronous, but if all three results arrive in the same frame, they will all get deserialized.  And, the server may not be guaranteed to return results in the order requested, especially if different servers are handling the individual calls.
    I’m not sure if your time to get results is gated by server response or Flash processing the results.  I suspect it is the latter.  You also have the option of changing the resultFormat to get something that doesn’t need processing like XML and process it later.

  • Synch RFC--BPM --Sync JDBC

    Hi All,
    I am doing a schenario where in im using BPM.
    Synch RFC from XI box will trigger the interface, then i will make a synch call to sql server & synch call(RFC) to R/3.
    Can anyone please letme know the steps required in BPM.
    Do i need synch-async bridge?
    And also lemme know if i can map a ASyncronous Message Interface to a Syncronous Message Interface.
    Can i Map source as Synch RFC & target as synch sql & synch rfc R/3.If not how do i map
    Thanks
    Sumit
    Message was edited by: Sumit Khetawat

    Sumit,
    I just looked upo into one of my SYNCH AYNCH Scenarios and i have created my interfaces exactly like i mentioned in these steps,
    <i>1. RECEIVE step ==> Opens SYNCH ASYNCH bridge and receives RFC request message.
    ( This will have a synchronous message interface associated with it. A synch abs interface and will be used for the PROPERTY ~~Synchrnous Message in the BPM) We would also need an ABS ASYNCH Message Interface created for the Request Message and this should be used in the MESSAGE ( after creating CONTAINER element) for the same. )
    2. Transfrom step ==> Map RFC request message to JDBC request message. Mappinng between 2 abs Aynch Interfaces
    ( You will have container elements created for REq RFC as stated in the step 1 and another for JDBC request )
    3. SEND synchronous ==> to send JDBC request and get the JDBC response.
    ( You will use a SYNCH ABS against MESSGAE INTERFACE , and also, a separate ABS ASYCNH for request and response )
    4. TRANSFORM step==> Map JDBC response to RFC response . Mapping between ABS Interfaces
    ( same as step 2)
    5. SEND ==> Closes SYNCH ASYNCH bridge and Send's response back to the RFC.</i>
    Use the Container element created for the mapping in step 4.
    In case of Split mapping, again you will need ABS ASYNCH Message interfaces.
    Drop me a mail if you need screen shots.
    Regards,
    bhavesh
    All you mapping in the BPM is between Asynch Abs Interfaces.

  • Scenario File to RFC (BAPI): BAPI not executed successful

    Hi Dear Friends!
    At execution of asynchronous Scenario File to RFC (BAPI BAPI_ACC_DOCUMENT_POST)
    I have the following error in RWB Communication Channel (RFC receiver):
    - Error: 2007-07-25 11:08:25 EEST: Message processed for interface BAPI_ACC_DOCUMENT_POST:
    com.sap.aii.af.rfc.afcommunication.RfcAFWException: error while processing message
    to remote system:com.sap.aii.af.rfc.core.client.RfcClientBapiException:
    BAPI not executed successful
    Simultaniously <b>Test Configuration</b> was executed successfully. And mapping is good.
    But I don't any message in <b>target system</b> in <b>sxmb_moni</b> (formed by BAPI).
    In <b>XI system</b> I see in <b>sxmb_moni</b>:
    <Trace level="1" type="T">--start sender interface action determination</Trace>
      <Trace level="1" type="T">select interface mi_sender*</Trace>
      <Trace level="1" type="T">select interface namespace urn:file:to:bapi</Trace>
      <Trace level="1" type="T">no interface found</Trace>
      <Trace level="1" type="T">--start receiver interface action determination</Trace>
      <Trace level="1" type="T">Loop 0000000001</Trace>
      <Trace level="1" type="T">select interface *</Trace>
      <Trace level="1" type="T">select interface namespace</Trace>
      <Trace level="1" type="T">no interface found</Trace>
      <Trace level="1" type="T">--no sender or receiver interface definition found</Trace>
    Please help me understand my error.
    With the best regards,
    Natalia Maslova

    Hi, Dear Friends! Thanks for support!
    My settings of
    Connection between systems:
    DX7 01 (client 001) - XI Integration Server and DE2 13 (client 200) - target system.
    Phisically both systems are in one server: 10.20.30.24 (srv24)
    Business system DE2_200 has Communication Channel: cc_bapi_r, its settings (in Integration Builder Configuration):
    Adapter Type: RFC
    Receiver
    Transport Protocol: RFC
    Message Protocol: RFC (RFC XML)
    Adapter Engine: Integration Server
    RFC Client Parameter:
    RFC Server Type: SAP System
    Application Server: 10.20.30.24
    System Number: 13
    Authentication Mode: Use Logon Data for SAP System
    Logon User: n_maslova
    Logon Password: *******=*******
    Logon Language: EN
    Logon Client: 200
    Maximum Connections: 1
    x Advanced Mode
    x Send 'Confirm Transaction'
    x Commit Handling for Single BAPI Calls
    x BAPI Advances Mode
    Successful RETURN-TYPE Values: 0
    As I understand these settings are the settings of RFC-destination for target system DE2 13 (200) from XI (DX7 01 001).
    In SLD, Business system DE2_200 is defined as:
    Integration:
    Role: Application System
    Related Integration Server: DX7_001
    Technical System: DE2 on srv24
    Client: 200 of DE2
    Logical System Name: DE1CLNT200
    In target system DE2 13 (200) with the help of transaction sm59 I created
    RFC-destination DX7_001 of type H:
    Technical setting parameters:
    Target Host: 10.20.30.24
    Prefix Path: /sap/xi/engine/?type=entry
    Service Number: 8001
    Registration and Safe:
    SSL: Non active.
    SSL: client certificate: DFAULT SSL-client
    Enter to system:
    Language: EN
    Client: 001
    User: PIAPPLUSER
    Status PW: saved
    Password: ********
    After that in this system DE2 13 (200) with the help of transaction sxmb_adm I set in Integration Engine -> Configuration -> Configurate Integration Engine
    (Change Global Configuration Data):
    Role of Business System: Application System
    Related Integr. Server: dest://DX7_001
    Best regards,
    Natalia

  • RFC model values are not shown in table

    Hi there,
    I can't gather the values from the RFC FM in my table, while this has been done exactly the same way as other tables which do get values... Any reason for this?
    I have 2 DC's:
    -data DC which acts as a container for the RFC-imported datamodels
    -bupa DC in which the implementation is done
    Custom Controller CuCoMain (from bupa DC):
    Context:
    OutputRelContacts (model node bound to model BuPaRelationsModel.__Crm_Bb_Bupa_Rels_Output)
    cardinality: 0...n; selection: 0...1
    > Rel_Contacts_Result (node of OutputRelContacts)
    => bound to BuPaRelationsModel.__Crm_Bb_Bp_Rel_Res_Ds
    cardinality: 0..n; selection: 0...1
    There is no context input necessary since 'related contacts' is dependent of the bpnr which I pass as parameter (see below).
    Implementation in CuCoMain
    public void TriggerAccConSearch( java.lang.String Mode, java.lang.String BuPaNr )
        //@@begin TriggerAccConSearch()
         //also see comments in TriggerBuPaSearch
         accContactsInput = new __Cernum__Crm_Bb_Bupa_Rels_Input();
         accContactsInput.setRel_Mode(Mode);
         accContactsInput.setBp_Number(BuPaNr);
         try{
              accContactsInput.execute();
              wdContext.nodeOutputRelContacts().invalidate();
              accContactsOutput = accContactsInput.getOutput();
              this.wdThis.wdGetContext().nodeOutputRelContacts().bind(accContactsOutput);
         catch(Exception e){
              msgMngr.reportException(e.getMessage(),true);
        //@@end
    Context in view
    Context node OutputAccContacts (bound to CuCoMain.OutputRelContacts.Rel_Contacts_Result)
    cardinality: 0...n; selection: 0...1
    Implementation to trigger TriggerAccConSearch:
    String SelectedBuPaNr = this.wdThis.wdGetContext().nodeVOutputDetails().currentVOutputDetailsElement().getBpnumber();
         String RelMode = "C";
         this.wdThis.wdGetCuCoMainController().TriggerAccConSearch(RelMode, SelectedBuPaNr);
    RelMode & SelectedBuPaNr are filled with values.
    So what did I do wrong...? I'm out of inspiration; I've reimported the model, rebuilt the entire application, redone the context, redone the implementation but up until now nothing worked.
    Any help is greatly appreciated
    KR
    A

    Hi there,
    Yes, as stated earlier, my RFC is being called by the application and the parameters are correct (input & output). Somehow, these values just don't get transferred to the node.
    Also, you can try the following piece of code before the RFC call at the Dynpro end :
    IWDMessageManager manager = wdComponentAPI.getMessageManager();
    try{
    wdContext.current<RFC_Name>_InputElement().modelObject().execute();
    wdContext.node<Output_Node_Name>().invalidate();
    } catch(WDDynamicRFCExecuteException ce) {
    manager.reportException(ce.getMessage(), false);
    I don't think that will help in my situation. In my situation there are 3 tables which have to be filled by the nodes.
    These 3 tables are all based on the same RFC (with different input parameters). The weird thing is that one of these tables works perfectly and the others just don't work. Even weirder is that all the RFC-uses are implemented the same. (See below)
    The working RFC call (table is populated):
    public void TriggerAccRelSearch( java.lang.String BuPaNr, java.lang.String Mode )
        //@@begin TriggerAccRelSearch()
         //also see comments in TriggerBuPaSearch
         accRelsInput = new __Crm_Bb_Bupa_Rels_Input();
         accRelsInput.setRel_Mode(Mode);
         accRelsInput.setBp_Number(BuPaNr);
         try{
              wdContext.nodeOutputRelationships().invalidate();
              accRelsInput.execute();
              accRelsOutput = accRelsInput.getOutput();
              //wdComponentAPI.getMessageManager().reportWarning("TriggerAccRelSearch Result of RFC START" + accRelsOutput.getRel_Result().listIterator()..toString() + "TriggerAccRelSearch Result of RFC START");
              //wdComponentAPI.getMessageManager().reportWarning("First line: " + accRelsOutput.getRel_Result().get(0).toString());
              //currentRel_ResultElement().getRelationship().toString());
              this.wdThis.wdGetContext().nodeOutputRelationships().bind(accRelsOutput);
              wdComponentAPI.getMessageManager().reportSuccess("test accrelsearch: " + wdContext.nodeOutputRelationships().nodeRel_Result().currentRel_ResultElement().getAttributeAsText("Relationship").toString());
         catch(Exception e){
               msgMngr.reportException(e.getMessage(),true);
         finally{
              DynamicRFCModel modelinst;
              modelinst = (DynamicRFCModel) WDModelFactory.getModelInstance(BuPaRelationsModel.class);
              modelinst.disconnectIfAlive();     
        //@@end
    The non-working RFC-calls (tables are NOT populated):
    public void TriggerAccReltdEmpSearch( java.lang.String Mode, java.lang.String BuPaNr )
        //@@begin TriggerAccReltdEmpSearch()
         accReltdEmplInput = new __Crm_Bb_Bupa_Rels_Input();
         //accReltdEmplOutput = new __Crm_Bb_Bupa_Rels_Output();
         accReltdEmplInput.setRel_Mode(Mode);
         accReltdEmplInput.setBp_Number(BuPaNr);
         try{
              wdContext.nodeOutputReltdEmp().invalidate();
              accReltdEmplInput.execute();
              accReltdEmplOutput = accReltdEmplInput.getOutput();
              this.wdThis.wdGetContext().nodeOutputReltdEmp().bind(accReltdEmplOutput);
              //wdComponentAPI.getMessageManager().reportSuccess("test accReltEmp: " + wdContext.nodeOutputReltdEmp().nodeReltd_Emp_Result().currentReltd_Emp_ResultElement().getAttributeAsText("Relationship").toString());          
         catch(Exception e){
              msgMngr.reportException(e.getMessage(), true);
              msgMngr.reportSuccess("error: " + e.getCause());
         finally{
              DynamicRFCModel modelinst;
              modelinst = (DynamicRFCModel) WDModelFactory.getModelInstance(BuPaRelationsModel.class);
              modelinst.disconnectIfAlive();          
        //@@end
    and:
    public void TriggerAccConSearch( java.lang.String Mode, java.lang.String BuPaNr )
        //@@begin TriggerAccConSearch()
         //also see comments in TriggerBuPaSearch
         accContactsInput = new __Crm_Bb_Bupa_Rels_Input();
         accContactsInput.setRel_Mode(Mode);
         accContactsInput.setBp_Number(BuPaNr);
         try{
              wdContext.nodeOutputRelContacts().invalidate();
              accContactsInput.execute();
              accContactsOutput = accContactsInput.getOutput();
              wdComponentAPI.getMessageManager().reportWarning("TriggerAccConSearch Result of RFC START" + accContactsOutput.getRel_Result().toString() + "TriggerAccConSearch Result of RFC START");
              this.wdThis.wdGetContext().nodeOutputRelContacts().bind(accContactsOutput);
         catch(Exception e){
              msgMngr.reportException(e.getMessage(),true);
         finally{
              DynamicRFCModel modelinst;
              modelinst = (DynamicRFCModel) WDModelFactory.getModelInstance(BuPaRelationsModel.class);
              modelinst.disconnectIfAlive();     
        //@@end
    Parameter definition:
    __Crm_Bb_Bupa_Rels_Input accRelsInput;
    __Crm_Bb_Bupa_Rels_Output accRelsOutput;
    __Crm_Bb_Bupa_Rels_Input accReltdEmplInput;
    __Crm_Bb_Bupa_Rels_Output accReltdEmplOutput;
    __Crm_Bb_Bupa_Rels_Input accContactsInput;
    __Crm_Bb_Bupa_Rels_Output accContactsOutput;
    The table dataSources have all been bound to the context properly, as well as the table columns. Also, in the backend the correct values have been passed and retrieved.

  • RFC Function module is not working in program while Background

    Hi All,
    we have a one program in BI  system which is calling RFC function module. it is executing the program in foreground very well. Same program we have executed in background , it is not working at all. Thiis RFC function module exists in R/3 4.6c system.

    Hello Raju,
    Transactional call of a remote-capable function module specified in func using the RFC interface. You can use the addition DESTINATION to specify an individual destination in dest. If the destination has not been specified, the destination NONE is used implicitly. Character-type data objects are expected for func and dest.
    When the transactional call is made, the name of the called function, together with the destination and the actual parameters given in parameter list, are registered for the current SAP LUW in the database tables ARFCSSTATE and ARFCSDATA of the current SAP system under a unique transaction ID (abbreviated as TID, stored in a structure of type ARFCTID from the ABAP Dictionary, view using transaction SM58). Following this registration, the program making the call is continued by way of the statement CALL FUNCTION.
    When executing the COMMIT WORK statement, the function modules registered for the current SAP LUW are started in the sequence in which they were registered. The statement ROLLBACK WORKdeletes all previous registrations of the current SAP LUW.
    If the specified destination is not available for COMMIT WORK, an executable called RSARFCSE is started in the background. This attempts to start the functional modules registered for an SAP LUW in their destination, every 15 minutes up to a total of 30 times. You can make changes to these parameters using transaction SM59. If the destination does not become available within the given time, this is noted in the database table ARFCSDATA as a CPICERR entry. By default, this entry in database table ARFCSSTATE is deleted after 8 days.
    Thanks and Regards,
    SAP Shori

  • Removing ABAP dump when JDBC is down in RFC- JDBC- RFC scenario

    Hi All,
    I need help to build one scenario.
    I am working on RFC->XI->JDBC->XI->RFC scenario. It is working fine.
    But problem is that whenever JDBC server is down RFC is giving ABAP dump in SAP. How can i Remove ABAP dump in SAP and give information to RFC that "JDBC is out of order"
    Is it possible to implement without BPM, then How?
    If not possible then what could be the steps of BPM?
    Thanks & Regards

    Rohan,
    1.Recive Step should open the Synch - Asynch Bridge
    2. Block Step --> Send Synchronous inside this step with an Exception Hanler.
    3. Now in the exception ahndler step, do the necessary error handling requirement.
    4. Send Step --> closes Synch Asynch bridge.
    My question is what data do you want to send back to the RFC if the DB is down? This data should be populated inside the exception handling block and then this data should be mapped to the corresponding RFC response and used in the step 4.
    Regards,
    Bhavesh

  • ABAP Dump due to RFC Function module call in another thread

    Hi,
    I am facing some problem since yesterday. In one of my executable program I am calling a RFC fm as below mentioned    
    REPORT ZREPORT.
    CALL FUNCTION 'Z_XXXXXXXXX'
          STARTING NEW TASK L_NAME
          DESTINATION IN GROUP 'TASK'
          PERFORMING RETURN_INFO ON END OF TASK
          EXPORTING
            P_exp1       = l_emp
          TABLES
            R_VBELN      = r_it_vbeln
          EXCEPTIONS
            NO_DATA_TO_PROCESS = 1
            OTHERS             = 2.
    wait until v_task = 1.
    update ztable.
    Due to some data inconsistence one of the SAP function
    module which I am calling in my function module Z_XXXXXXXXX
    is generating dump with message type X. Since there is data inconsistence it is generating dump that's OK.
    But the problem i am getting is, report ZREPORT is generating dump at WAIT statement saying illegal statement even though I am calling that function module
    Z_XXXXXXXXX as a separate new task.
    Can somebody help me.
    Thanks,
    Amara.

    hi, Amara
    I agree with Rich said, and do a simulate test in my server, here is the analysis.
    Assume we have a RFC, like this:
    FUNCTION ZGZL_DUMPTEST.
    *"*"Local interface:
    *"  EXPORTING
    *"     VALUE(OUT) TYPE  I
    *"  EXCEPTIONS
    *"      CONVERT_FAIL
      data:a  type  i.
      a = 'A'.
    ENDFUNCTION.
    And call this RFC like you way:
    REPORT ZGZL_DUMPTEST .
    DATA:
      SEMAPHORE(1) VALUE SPACE,
      LC_OUT       TYPE  I.
    CALL FUNCTION 'ZGZL_DUMPTEST'
    STARTING NEW TASK 'DUMP'
    PERFORMING RETURN_INFO ON END OF TASK.
    WAIT UNTIL SEMAPHORE = 'X'.
    WRITE: 'OVER'.
    FORM RETURN_INFO USING TASKNAME.
      RECEIVE RESULTS FROM FUNCTION 'ZGZL_DUMPTEST'
              IMPORTING  OUT = LC_OUT.
      SEMAPHORE = 'X'.
    ENDFORM.                    " RETURN_INFO
    if we run the RFC in se37 directly, obviously it will occur a rumtime error CONVT_NO_NUMBER, and dump.
    But if we run the above application to call the RFC, we will get a different runtime error CALL_FUNCTION_REMOTE_ERROR.
    Error Analysis in ST22 like this:
    An error occurred when executing a REMOTE FUNCTION CALL.
    It was logged under the name "CONVT_NO_NUMBER"
    on the called page.
    I think that means the application receive the runtime error from RFC when call  <b>RECEIVE RESULTS</b>.
    In normal CALL FUNCTION, the external application will accept the rumetime error throw from FM, that's correct, because it let the caller can handle these runtime errors.
    In you case, you said RFC run in a new task, yes, that's true, so you can call the RFC like this:
    CALL FUNCTION 'ZGZL_DUMPTEST'
    STARTING NEW TASK 'DUMP'
    PERFORMING RETURN_INFO ON END OF TASK.
    WAIT UNTIL SEMAPHORE = 'X'.
    WRITE: 'OVER'.
    FORM RETURN_INFO USING TASKNAME.
      SEMAPHORE = 'X'.
    ENDFORM.                    " RETURN_INFO
    It will goes well, no dump. Why? because we don't use RECEIVE RESULT. RECEIVE RESULT will bring the result from FM, also bring the runtime error from FM.
    So if you want to call the FM and receive the result, handle the runtime error in FM inside at first.
    like this:
      CATCH SYSTEM-EXCEPTIONS CONVT_NO_NUMBER = 1.
        a = 'A'.
      ENDCATCH.
      IF SY-SUBRC = 1.
        RAISE CONVERT_FAIL.
      ENDIF.
    And then you call FM like this:
    CALL FUNCTION 'ZGZL_DUMPTEST'
    STARTING NEW TASK 'DUMP'
    PERFORMING RETURN_INFO ON END OF TASK.
    WAIT UNTIL SEMAPHORE = 'X'.
    WRITE: 'OVER'.
    FORM RETURN_INFO USING TASKNAME.
      RECEIVE RESULTS FROM FUNCTION 'ZGZL_DUMPTEST'
              IMPORTING  OUT = LC_OUT
              EXCEPTIONS CONVERT_FAIL = 1.
      SEMAPHORE = 'X'.
    ENDFORM.                    " RETURN_INFO
    That's will be ok for your scenario.
    Hope my reply is useful.
    thanks

  • Prob. exec. print job from RFC which im calling Web Dynpro java in Portal

    Hi,
    Ive got a problem executing a print job from an RFC which im calling in Java web Dynpro Application in Portal. Im using an Acess Method G: for Front End Printing but Order gets stuck with the Status "Waiting" "Front end unavailable".
    Any help would be greatly appreciated.
    Thanks in advance!!!

    HI,
    I dont think you would be able to do this. Instead, you need to get the content from RFC into WD java and print from the browser.
    Regards
    Srini
    Edited by: Sinivasan Rajamani on Jun 14, 2010 4:25 AM

  • Error when opening an RFC connection (CPIC-CALL: 'ThSAPOCMINIT' : cmRc=2 thRc=679

    Hi,
    We update the BW landscape for version 7.4 suppport package 4 (whitout HANA).
    We use a external system connection to extract data from a SQLServer database (Microsoft Connector 1.1 for SAP/BW)
    In the previous version (BW 7.0.1 SP 10) run correctly, but now is in error.
    Below the  BW error log:
    Error: COMMUNICATION_FAILURE with function RSB_API_OHS_3RDPARTY_NOTIFY and target system SQLIS.
    Error when opening an RFC connection (CPIC-CALL: 'ThSAPOCMINIT' : cmRc=2 thRc=679 Transaction program not regist).
    Error log of Integrations Services
    [SAP BI Destination 1 [476]] Error: Microsoft.SqlServer.Dts.SapBw.Connectivity.ERPException: An error occurred during the dispatch of the incoming function. The last return code was "RFC_FAILURE".
    em Microsoft.SqlServer.Dts.SapBw.Components.SapBwSourceBWLoader.ProcessInput(Int32 inputID, PipelineBuffer buffer)
    em Microsoft.SqlServer.Dts.Pipeline.ManagedComponentHost.HostProcessInput(IDTSManagedComponentWrapper100 wrapper, Int32 inputID, IDTSBuffer100 pDTSBuffer, IntPtr bufferWirePacket)
    [SSIS.Pipeline] Error: SSIS Error Code DTS_E_PROCESSINPUTFAILED.  The ProcessInput method on component "SAP BI Destination 1" (476) failed with error code 0x80131500 while processing input "SAP BI Destination Input" (491). The identified component returned an error from the ProcessInput method. The error is specific to the component, but the error is fatal and will cause the Data Flow task to stop running.  There may be error messages posted before this with more information about the failure.
    I checked the topic and notes below, but without success
    CPIC Return Code 679 - Transaction Program not Registered - ABAP Connectivity - SCN Wiki
    Note 1480644 - gw/acl_mode versus gw/reg_no_conn_info.
    Note 353597 - Registering RFC server programs
    Regards,
    Bruno

    Hi Bruno,
    We were able to resolve the issue. SAP RDS is assisting us with our upgrade and one of their consultants gave us this fix/workaround.
    Edit and add an entry into P:\usr\sap\<SID>\DVEBMGS00\data\reginfo.dat on your BW host server.
    Below is the entry I added.
    P TP=<NAME OF PROGRAM ID> HOST=<remote hostname where you creating the RFC to> CANCEL=<remote hostname> ACCESS=*
    P TP=CTSAPNPSCI_PORTAL_FPS HOST=ctsapnpsci CANCEL=ctsapnpsci ACCESS=*
    Then in BW system goto smgw > goto > Expert Funtions > External Security > ReRead ACL (N) & Globally
    I hope that this works for you.
    Regards
    James 

  • JDBC(Sender)-XI-RFC (Request) RFC (Response)-XI-JDBC(Receiver)

    Hi All,
    JDBC(Sender)-XI-RFC (Request)
    RFC (Response)-XI-JDBC(Receiver).
    Need some solution for sending email for successfully completion of scenario after updating SQL DB Table.
    Let me explain the scenario:
    We are pooling the SQL DB table to pull the records and map the records to RFC request parameters, after successful Posting the entries in R3 HR, RFC response contain the same with E (Error) S (Success) records status, we are updating the same in SQL DB table, I implemented the complete scenario without BPM with the help of module processor in Sending JDBC Adapter, scenario is working fine but now we have to send the successful mail to our support team with status contain Number of success, Error and total records as email.
    I need the solution how to implement the same requirement in current scenario.
    Is their way to do something with the RFC receiver adapter module addition to send the successful mail or generating Alert with all the description?
    I am at PI 7.0 SP12 with HP unix box.
    Thanks in Advance for creative idea
    With Regards
    Sunil

    Hi Bhavesh,
    Thanks for your help and your blog is really helpful. I implemented the UDF for generating Email Alert but this alert is generating before Updating the SQL Database, is their any way to generate alert after updating the SQL.
    Actually in my scenario we are sending the data from SQL to R3 by RFC and again updating the SQL status whatever the RFC return, after successfully updating SQL we need to send success email to support people but if we are sending the email before updating the DB then their will be problem.
    JDBC receiver after updating the SQL DB returns the response with No. of row updated but how to capture this response, if we can capture this response then we can send email through email adapter even their is one more problem, In my scenario I am counting the number of rows with status “S” and “E” and sending the same in alert email but if are sending email after updating the SQL DB where can hold the row count value and use it while sending the email.
    Implemented the scenario without using BPM..i am using sender JDBC module processor for Syn-Asyn bridge.
    Even I do not find the link to reward point. Please let me know how to do it.
    With Regards
    Sunil

  • Exception: Call of execute(String) is not allowed for PreparedStatement

    Hi all,
    This query was run fine on SapDB 7.4 from Jave code using prepareStatement()  method:
    declare id11216053819634 cursor for select sc.name, measuredobjectid id from serviceconditions sc, measuredobjects mo where sc.collectionid = mo.collectionid and sc.name like 'DWindowsSLA/%,%,%,%' for reuse
    declare id21216053819634 cursor for select min(sampletime), max(sampletime), name, id11216053819634.id from id11216053819634, d_slastore ss where id11216053819634.id = ss.measuredobjectid and ss.sampletime between '2008-07-14 00:00:00' and '2008-07-14 12:43:35'  group by name, id11216053819634.id for reuse
    select ss.status, ss.statuschange, ss.sampletime, id21216053819634.name from d_slastore ss, id21216053819634 where ss.measuredobjectid = id21216053819634.id and ss.sampletime between '2008-07-14 00:00:00' and '2008-07-14 12:43:35'  and (statuschange != 0 or ss.sampletime = id21216053819634.expression1 or ss.sampletime = id21216053819634.expression2) order by name, sampletime
    We recently upgrade our old SapDb to the latest MaxDB. An now this query produces the error:
    com.sap.dbtech.jdbc.exceptions.JDBCDriverException: SAP DBTech JDBC: Call of execute(String) is not allowed for PreparedStatement.
    Does anyone know how to fix this?
    Thank you very much,
    Irina

    Hi Irina,
    First, welcome to SDN!
    Well, PreparedStatement represents a precompiled SQL statement, so you should be using the no-arg execute() method rather than execute(String).
    HTH!
    \-- Vladimir

  • RFC receiver channel, message not reflecting in Receiver ECC system

    Hi All,
    We are using Receiver RFC adapter to call a custom RFC (ASynchronous call). It was working fine, But now after we made a few changes in the mapping. The message is successful in PI, but it is not visible in ECC. When I check in RWB, I think the payload is not going correctly to ECC.  I have re-imported the RFC and tried as well. It still does not work.
    Kindlhy let me know what to do.
    Rgds,
    Mithun

    Hi Rajhan,
    My abaper is doing that,  By that time, i just saw the payload in the message display tool(MDT) in RWB...
    it looks like some junk data
    "QT00010101000120120119201201202012012020121231USD38130511T-F399000110000010001585030512T-F299000110000010001210SP0000001002"
    where as in sxmb_moni of PI system the payload after mapping is
    "<?xml version="1.0" encoding="UTF-8" ?>
    - <ns1:BAPI_QUOTATION_CREATEFROMDATA2 xmlns:ns1="urn:sap-com:document:sap:rfc:functions">
    - <QUOTATION_HEADER_IN>
      <DOC_TYPE>QT</DOC_TYPE>
      <SALES_ORG>0001</SALES_ORG>
      <DISTR_CHAN>01</DISTR_CHAN>
      <DIVISION>01</DIVISION>
      <PMNTTRMS>0001</PMNTTRMS>
      <QT_VALID_F>20120119</QT_VALID_F>
      <QT_VALID_T>20120120</QT_VALID_T>
      <CT_VALID_F>20120120</CT_VALID_F>
      <CT_VALID_T>20121231</CT_VALID_T>
      <CURRENCY>USD</CURRENCY>
      </QUOTATION_HEADER_IN>
      <SALESDOCUMENTIN>381</SALESDOCUMENTIN>
    - <QUOTATION_ITEMS_IN>
    - <item>
      <ITM_NUMBER>30511</ITM_NUMBER>
      <MATERIAL>T-F399</MATERIAL>
      <PLANT>0001</PLANT>
      <TARGET_QTY>100</TARGET_QTY>
      <SHORT_TEXT />
      <MATL_GROUP />
      <CUST_GROUP />
      <PMNTTRMS>0001</PMNTTRMS>
      <PRICE_DATE />
      <SHIP_POINT>0001</SHIP_POINT>
      <TARGET_VAL>5850</TARGET_VAL>
      </item>
    - <item>
      <ITM_NUMBER>30512</ITM_NUMBER>
      <MATERIAL>T-F299</MATERIAL>
      <PLANT>0001</PLANT>
      <TARGET_QTY>100</TARGET_QTY>
      <SHORT_TEXT />
      <MATL_GROUP />
      <CUST_GROUP />
      <PMNTTRMS>0001</PMNTTRMS>
      <PRICE_DATE />
      <SHIP_POINT>0001</SHIP_POINT>
      <TARGET_VAL>210</TARGET_VAL>
      </item>
      </QUOTATION_ITEMS_IN>
    - <QUOTATION_PARTNERS>
    - <item>
      <PARTN_ROLE>SP</PARTN_ROLE>
      <PARTN_NUMB>0000001002</PARTN_NUMB>
      <NAME />
      <REGION />
      </item>
      </QUOTATION_PARTNERS>
      </ns1:BAPI_QUOTATION_CREATEFROMDATA2>"
    ANY SUGGESTIONS... This is PI 7.1 so its auto commit for the RFC receiver adapter rite. should i tick some option or what else can we do
    Rgds,
    Mithun

  • XI to RFC processed successfully but not working

    Hello,
    I finally configured my RFC - XI - RFC async scenario.
    If I go to SXMB_MONI the message is processes OK, the mapping is OK too because I can see the output payload data in the technical routing tab.
    But, the destination RFC must change a DataBase table in the his R3 server and it didn't happened so something is wrong.
    How can I know where is the problem? It looks like XI runs fine, then I think the problem is in R3 destination. How can I check if the RFC has been called?

    HI Marshal,
    Which RFC you are calling? Check if you need commit work after calling RFC.
    Also you can check if messages are not stuck in XI trfc queue using transaction code :SM58.
    Hope this will help.
    Nilesh
    And how I know if I have to commit work? And how I commit work from XI?
    The RFC it's a custom RFC and it has only one line code:
    ---> MODIFY ZTABLE FROM IT_TABLE.
    IT_TABLE is the parameter from XI and ZTABLE is a custom transparent table. I've tested and it works fine.
    I also checked SM58 in XI and nothing is there.
    The RFC destination parameters are filled OK too, I've checked in SXMB_MONI from XI.
    I don't know what else can I check

  • Error-The RFC destination EDSCLNT900 is not available in ICWC

    Hi All,
    I'm working on CRM Utilities 2007. In the ICWC, I'm getting the error 'The RFC destination EDSCLNT900 is not available'. Kindly help me in resolving this error.
    Regards,
    Archana.
    Edited by: archu_sap on Jul 15, 2009 10:30 AM
    Edited by: archu_sap on Jul 15, 2009 10:33 AM

    Hi,
    You have to maintaine RFC Destination EDSCLNT900 in the CRM system.
    generally we have to maintain RFC (t-code SM59) in the sytem where Function Module is present.
    Suppose you are having FM in ECC system  and you want to call in CRMsystem,  then you have to maintain RFC destination (EDSCLNT900) in ECC system.
    Thanks & Regards.
    ShreeMohan

Maybe you are looking for