Proxy -jdbc

Have a sync proxy to jdbc scenario. Wanted to understand , if in database a table is created ,can pi pull a table via a stored procedure in one shot and pass to a proxy as a table ?
basically a request will go as a proxy request for some records which stored procedure computes. but these  records can be of thousands of line items,so was wondering how to pull this data in one shot via pi and send to proxy as response.i thought passing table would be easier although am not sure.
If someone could post some suggestions ,would be appreciated.
thanks
Edited by: xi project on Jul 14, 2010 5:01 AM

Hi,
In the sender JDBC comm. channel under the processing tab you have to specify the Query SQL statement to retrieve the data from the database based on some condition depending upon your requirement
Example
Select * from tableName  where ..some condition.
along with other mandatory details in the processing tab.
and As your scenario is Synchronous JDBC to Proxy ,you have to use BPM.
refer my reply in this thread XML file to Proxy Scenario with BPM - ID Steps
where I have specified the steps that I have followed for JDBC to Proxy sync scenario.

Similar Messages

  • Proxy- JDBC Scenario

    On running Proxy-> JDBC Scenario
    i found out that no data is being passed through the Communication channel for this scenario ( but for another scenario also i am using the same communication channel, there it is passing the data ) but i can see the data in SXMB_MONI of XI.
    Don't know where is the issue..?
    Regards,

    Hi Guys,
    Finally i resolved ..
    Since for the sender data type(and hence msg type,and also i was using that for proxy generation) i was not using the namespace but was using the namespace for receiver side..
    At the time of message mapping message types were also mapped..but since no namespace was coming from Sender Message ..so it was throwing the error in RWB..
    Hope it will help others also..
    Regards,

  • Directory Proxy JDBC object class

    Hi all,
    I'm connecting my proxy to an oracle database. When we create the jdbc object class using "dpconf" do we have to use an objectclass that already exists in the ldap directory?
    for instance:
    dpconf create-jdbc-object-class &ndash;v -e -h <hostname> -p 1389 -D "cn=proxy manager" -w /pw_file <my jdbc view> *<??objectclass?? >* <jdbc table> <dn>
    I'm not understanding what they mean by mapping to an objectclass in ldap.
    Any help or examples appreciated!!
    Thanks
    V.

    A JDBC object class maps an LDAP object class to one or more relational database tables. A JDBC object class works in a similar way to a join data view (see Join Data Views). Just as a join data view has primary and secondary source data views, a JDBC object class can obtain its information from more than one table. One table must be defined as the primary table, and additional tables, if they exist, are defined as secondary tables. The primary table controls the list of entries and additional information on these entries is extracted from the secondary tables.
    When you define a JDBC object class, e.g person, you must specify the following operands:
    The name of the JDBC data view to which this object class is attached.
    The name of the JDBC object class, e.g person
    The primary JDBC table from which the object class will obtain its list of entries, e,g USER_TABLE
    A DN pattern that controls how DNs are constructed in the data view, e.g. cn
    Optionally, one or more secondary JDBC tables.
    More info are available in the docs at [http://docs.sun.com/app/docs/doc/820-2765/jdbc_dataview?a=view|http://docs.sun.com/app/docs/doc/820-2765/jdbc_dataview?a=view]

  • Issue while inserting a BDC program in Inbound Proxy.JDBC-- PI-- SAP.

    The scenerio is jdbcsender-sappi-inboundproxy(ECC6.0).
    The issue is related to SAP Plant Maintenance Module where  We have a requirement for creating Maintenance item
    programmatically from (SQLDatabase)Legacy Data for one of the interface.
    since there are no standard BAPIS/Idocs or function modules available from SAP side for creating the maintenance item. So I
    have written BDC program and with the help of submit statement in inbound proxy program, I am calling BDC program for
    creation of the maintenance item.
    When I tested the program independently on proxy side  the Maintenance Item is getting created successfully but when I
    executed from end-to-end ie.  SQLDATABASE->SAP PI-->SAP. The message is getting strucked into the queue and queue  got stopped on SAP.
    ECC side and the status of the message is scheduled state  on SXMB_MONI  transaction of SAP ECC.
    As the message  is in scheduled state multiple number of Maintenance Items are getting created with the same values.
    Has any one of our SAP friends, encountered this type of issue while inserting a BDC program in inbound proxy, please help 
    in fixing this issue. FYI... I am using sap pi7.0 with service pack 24 and ecc6.0
    Waiting for your kind expert guidance...
    cheers,
    Ram

    Raj,
    Thanks for the reply. I have tried registering the queues but still the same problem. the message got stuck in the queue of ECC and showing below message in queue.
    function module                                    StatusText
    SXMS_ASYNC_EXEC                  connection closed (no data)
    I have checked in the forums especially  for this issue but no one has provided the answer for this.
    Thanks and Regards
    Ram

  • Proxy- JDBC error

    Hi friends,
    The receiver CC is showing error..
    the error
    Message processing failed. Cause: com.sap.aii.af.ra.ms.api.RecoverableException: JDBC Adapter configuration not initialized: null
    please help it is showing in CC monitoring..
    in sxmb_moni it is showing sucess...
    Thanks and Regards
    Vijay

    hi
    how to check that adapter is working properly and to restart it in NWA..
    Please say the steps..
    as port is opened...
    2008-07-04 18:03:47 Success Message successfully received by messaging system. Profile: XI URL: http://host:50000/MessagingSystem/receive/AFW/XI Credential (User): PIISUSER
    2008-07-04 18:03:47 Success Using connection JDBC_http://sap.com/xi/XI/System. Trying to put the message into the receive queue.
    2008-07-04 18:03:47 Success Message successfully put into the queue.
    2008-07-04 18:03:47 Success The message was successfully retrieved from the receive queue.
    2008-07-04 18:03:47 Success The message status set to DLNG.
    2008-07-04 18:03:47 Success Delivering to channel: CC_AMS_Update
    2008-07-04 18:03:47 Success MP: Entering module processor
    2008-07-04 18:03:47 Success MP: Processing local module localejbs/CallSapAdapter
    2008-07-04 18:03:47 Success Receiver JDBC adapter: processing started; QoS required: ExactlyOnce
    2008-07-04 18:03:47 Error JDBC adapter receiver channel CC_AMS_Update not initialized. Unable to proceed due to null
    this is showing in CC monitoring..
    Regards
    Vijay

  • ABAP Proxy - JDBC scenario - checking condition insert_count

    Hello,
    I'm still fresh to XI topics and I'm supposed to do the scenario that sends data using JDBC
    My scenario mapping is as follows:
    1) Delete tables A and B
    2) Insert table A and B
    3) if step 2 is sucessfull Insert table C
    I know what to do till step 2) according to help: http://help.sap.com/saphelp_nwpi711/helpdata/en/44/7b7171fde93673e10000000a114a6b/frameset.htm
    I have message mapping that triggers DELETE(1) and INSERT(2) but I do not know implement step 3
    I know only that it is saved in <insert_count>count</insert_count> but have no idea how to use it?
    Should I
    1) do new mapping and integrate it in BPM Process
    2) is it possible to solve all 3 points in one mapping?
    Any ideas, any detailled steps?
    Thank you very much in advance

    you can use a bpm in which you can check the response message of step two for the insert_count value and then proceed with another step to do the further processing.

  • Proxy to JDBC Sync, with Idoc Receiver

    Hello all,
    I have to set up following synchronous scenario.
    PROXY -> PI -> JDBC   |   JDBC -> PI -> PROXY
                                           JDBC -> PI -> IDOC
    In other words, I need that the response from the JDBC Receiver adapter is sent back to R3 to an IDOC and the originating PROXY.
    How can I achive this? I mean how can I send the synchronuos response back to the originating PROXY, and in the other hand send an asynchronous message to the IDOC.
    This is a message with a large quantity of info, so I'm not sure what to use or how to use it.
    Thanks for your help.
    Felipe

    Hi Felipe
    PROXY -> PI -> JDBC | JDBC -> PI -> PROXY
    JDBC -> PI -> IDOC
    The message to the IDOC need to be sent from response ?
    Is your proxy SYNC?
    Use a BPM for this
    1. receive the message from Proxy.(SYNC)
    2. Send it to JDBC (SYNC)
    3. Map the proxy request to JDBC request and JDBC response to Proxy response.
    4. Send the JDBC response to IDOC
    Thanks
    Gaurav

  • Proxy-XI-JDBC

    Hi All,
    I want to Do Proxy-JDBC Asysnchronous Scenario.
    I have One BAPI With Request & Response Messages in R/3.
    <u><b>ABAP Work</b></u>
    ABAPer created One Report to Execute this BAPI in R/3,,,by Providing Request & Based on that request he will get the Response Data then he will pass that response Data to XI, to send it to JDBC Receiver.
    <u><b>XI Work</b></u>
    1) While Creating Data type for Proxy Interface, Should we Create the Data type for Request & Response  OR is it enough to Create the Data type for Response alone.
    2) How to Cal this Report ( which is Created in R/3 To Execute the BAPI) in Proxy Code.
    I Reffered this BLOG
    /people/ravikumar.allampallam/blog/2005/03/14/abap-proxies-in-xiclient-proxy
    Please provide me Clear Steps to do this Requirement.
    Regards
    Bopanna

    -->Ok, in R/3 ABAPer will Schedule the Report to Execute the BAPI Daily Once.
    When Ever the BAPI executed the Response data Should send to XI.
    For this Do we need to give the ABAP Report Name in the Entire PROXY Code???
    <b>--> why do you need ABAP Report .., basically abap report is required to initiate the process and pass the data to proxy interface..nothing else..</b>
    The ABAP Code given in BLOG to invoke the Proxy is Enough OR Do we need Any thing????
    <b>As per the req it can change...the blog only shows how to use ABAP Client Proxy..
    </b>
    Bopanna,
    <b>you can simply go this way..either break the process in two steps like i mentioned above..
    or create a report program which will trigger the RFC and get the response data in the internal table and then pass this data to the proxy interface to initaiate the process</b>
    Regards,

  • MAPPING.NO_MAPPINGPROGRAM_FOUND in JDBC Scenario

    I have the problem:.
    The scenario I have is Abap Proxy -> JDBC asynchronous, configure everything you need and the system threw me no errors. But when running the interface the system tells me the following error:
    System failure
    <s:SystemError <detail> xmlns:s="http://sap.com/xi/WebService/xi2.0"> <context> </ context> <code> MAPPING.NO_MAPPINGPROGRAM_FOUND </ code> <text> Mapping program is not available in runtime cache: Software Component Object ID B860572FD3AB3E9DA790882F58DE9DB2 30EF63B07D6811DF9B05E70FC0A90D2F </ text> </ s: SystemError> </ detail>
    I followed all the instructions and notes OSS forums and I could not solve the problem:
    Refresh all the objects
    Java cache refresh yourself
    CPA Refresh cache
    Refresh cache for that specific object
    Server Restart
    The most strange thing is that while SAP PI the message is marked as an error in the database data is updated correctly.
    Regards,
    Johnny

    Hi,
    I've completed all the checks you have recommended me. Delete everything and
    create new objects and still get the same error.
    Check SMX_MONI trx and saw two things that caught my attention:
    The Request Message Mapping ProcessingMode says he is syncronous,
    but the two  services interfaces are asyncronous.
    <?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
    - <!--  Request Message Mapping
      -->
    - <SOAP:Envelope xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" xmlns:SAP="http://sap.com/xi/XI/Message/30">
    - <SOAP:Header>
    - <SAP:Main xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" xmlns:wsu="http://www.docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" versionMajor="003" versionMinor="000" SOAP:mustUnderstand="1" wsu:Id="wsuid-main-92ABE13F5C59AB7FE10000000A1551F7">
      <SAP:MessageClass>SystemError</SAP:MessageClass>
      <SAP:ProcessingMode>synchronous</SAP:ProcessingMode>
      <SAP:MessageId>00505683-6B63-1DDF-A08C-F62E9AE3367A</SAP:MessageId>
      <SAP:RefToMessageId>00505683-6B63-1DDF-A08C-F62E9AE1F67A</SAP:RefToMessageId>
      <SAP:TimeSent>2010-06-25T14:41:13Z</SAP:TimeSent>
    The trace section at the end of XML, mentions that "Interface
    mapping has no response mapping, but not in the services interfaces
    I have as a response set because, as mentioned above all
    scenario is asyncronous.
    <Trace level="1" type="B" name="PLSRV_MAPPING_RESPONSE" />
    - <!--  ************************************
      -->
    - <Trace level="1" type="B" name="CL_XMS_MAIN-CALL_PLSRV">
      <Trace level="1" type="B" name="CL_XMS_MAIN-CALL_PLSRV_LOCAL" />
    - <!--  ************************************
      -->
      <Trace level="1" type="B" name="CL_MAPPING_XMS_PLSRV3-ENTER_PLSRV" />
    - <!--  ************************************
      -->
      <Trace level="1" type="T">Interface mapping has no response mapping</Trace>
      </Trace>
      <Trace level="1" type="B" name="CL_XMS_MAIN-WRITE_MESSAGE_TO_PERSIST" />
      </Trace>
      <Trace level="1" type="T">An Exception has occured</Trace>
      <Trace level="1" type="T">Error Text: Mapping program is not available in runtime cache: Object ID 7CDFBA22E91535FDAFBD39466BC4C3D4 Software Component E4E4CB0073F711DFA67BD407C0A90D2F</Trace>
      <Trace level="1" type="T">SystemError message generated. Guid: 005056836B631DDFA08CF62E9AE3367A</Trace>
      <Trace level="1" type="T">Error during execution of message : C780BD7A27F24B60024EB6BD2BF1AEF9</Trace>
      <Trace level="1" type="T">ApplicationMessage was (=RefToMsgId): 005056836B631DDFA08CF62E9AE1F67A</Trace>
      <Trace level="1" type="B" name="CL_XMS_MAIN-WRITE_MESSAGE_TO_PERSIST" />
    - <!--  ************************************
      -->
      </SAP:Trace>
    Regards,
    Johnny

  • Error in Reciever JDBC Channel

    Hello Friends ,
    Am getting the following error in Message Monitoring  while sending data from PROXY --> JDBC scenario .
    message is passing in ABAP stack and it is failing in  java stack.
    MP: exception caught with cause java.lang.NullPointerException: while trying to invoke the method com.sap.aii.adapter.jdbc.AdminAdapter.getAdapterReceiver(java.lang.String) of a null object loaded from static field com.sap.aii.adapter.jdbc.SapAdapterServiceFrameImpl.adminAdapter
    Exception caught by adapter framework: while trying to invoke the method com.sap.aii.adapter.jdbc.AdminAdapter.getAdapterReceiver(java.lang.String) of a null object loaded from static field com.sap.aii.adapter.jdbc.SapAdapterServiceFrameImpl.adminAdapter
    Delivery of the message to the application using connection JDBC_http://sap.com/xi/XI/System failed, due to: com.sap.engine.interfaces.messaging.api.exception.MessagingException: java.lang.NullPointerException: while trying to invoke the method com.sap.aii.adapter.jdbc.AdminAdapter.getAdapterReceiver(java.lang.String) of a null object loaded from static field com.sap.aii.adapter.jdbc.SapAdapterServiceFrameImpl.adminAdapter
    requesting you to throw some Input on this ...
    thanks in advance
    raja

    Hi Raja -
    try restarting the service  XPI adapter : JDBC in NWA and see if that helps..
    Path :
    http://host:port/nwa/start-stop - Java services - XPI Adapter: JDBC
    Also the note -
    1283145 - JDBC message fails after Messaging System restarts.

  • Jdbc scenario .. where to find the error msg

    Hi,
    I am working on a scenario,
    abap proxy->jdbc adapter->MsSql server.
    Whle testing,
    i sent the payload xml from the sproxy test sceen.
    After that, i checked the "Monitor for processed xml messages" screen (SXI_MONITOR).
    There it shows the status "Processed successfully" for the message that i sent.
    But when i checked the sqlserver database, the record is not inserted.
    Where can i find, if anything gone wrong at Jdbc adapter, or there after.
    Thanks in advance,
    Ganesh

    Hi
    apart from this communication channel you can see the message in adapter engine
    to do this take the id of the message fromSXI_MONITOR
    then go to transaction sxmb_ifr
    inside this go to message  Monitoring
    under drop down select adapter engine and inside the window give the iD of your message which you have taken from MONI
    if you are not getting the filter for message ID then click on additional filter and give the iD
    after this you can see your message
    select the radio butten inside your message and click on details
    here you will get the log of each and every step which have been followed in processing the message and you can find the error exactly
    regards
    sandeep
    If helpful reward points

  • Passing errors back to Source system in proxy in Sync communtion

    Hello Experts,
    I am developing a Sync Proxy-JDBC scenario. It works perfectly fine. In case if there is any error while delivering the data to JDBC receiver, we see error in SXMB_MONI in PI but can we pass same error to Source?
    i tried to use fault data but I understand it is to handle application error, not sure if we can use it for transport error as well.
    Please see below screenshots
    Error in PI
    <?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
    - <!--  Inbound Message
      -->
    - <SAP:Error xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" SOAP:mustUnderstand="1">
      <SAP:Category>XIAdapterFramework</SAP:Category>
      <SAP:Code area="MESSAGE">GENERAL</SAP:Code>
      <SAP:P1 />
      <SAP:P2 />
      <SAP:P3 />
      <SAP:P4 />
      <SAP:AdditionalText>com.sap.aii.af.ra.ms.api.DeliveryException: Channel stopped by administrative task.</SAP:AdditionalText>
      <SAP:ApplicationFaultMessage namespace="" />
      <SAP:Stack />
    but corresponding error in Soruce
    <?xml version="1.0" encoding="utf-8" ?>
    - <asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
    - <asx:values>
      <SYSTEMFAULT href="#o256" />
      </asx:values>
    - <asx:heap xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:abap="http://www.sap.com/abapxml/types/built-in" xmlns:cls="http://www.sap.com/abapxml/classes/global" xmlns:dic="http://www.sap.com/abapxml/types/dictionary">
    - <cls:CX_AI_SYSTEM_FAULT id="o256">
    - <CX_ROOT>
      <TEXTID>F63AFF63DBE4BB4786A7F52CC4167145</TEXTID>
      <PREVIOUS />
      <KERNEL_ERRID />
    - <INTERNAL_SOURCE_POS>
      <PROGID>96</PROGID>
      <CONTID>3413</CONTID>
      </INTERNAL_SOURCE_POS>
      </CX_ROOT>
      <CX_STATIC_CHECK />
    - <CX_AI_SYSTEM_FAULT>
      <CODECONTEXT />
      <CODE>MESSAGE.GENERAL</CODE>
      <ERRORTEXT />
      <LANGUAGE />
      </CX_AI_SYSTEM_FAULT>
      </cls:CX_AI_SYSTEM_FAULT>
      </asx:heap>
      </asx:abap>
    Is there a way possible by which I can pass this error to Source as well? Please note there is already a response mapping which would be sending the resul of JDBC operation to source.
    Regards
    Sushil

    Juss try to remove all the conflict objects in dev., But I doubt if the cache is upto date for the objects which you moved to next system.
    Check all the systems - systeminfo if the systems are in sink with the patch levels.
    Regards
    Pothana
    Edited by: Pothana Yadav on Jun 8, 2011 2:36 PM

  • JDBC receiever adapter error

    Hello,
    I'm trying out a proxy-JDBC scenario. I'm getting a error in my receiver JDBC adapter. i got the foll. error in RWB.
    java.sql.SQLException: Io exception: Connection refused(DESCRIPTION=(TMP=)(VSNNUM=135294976)(ERR=12505)(ERROR_STACK=(ERROR=(CODE=12505)(EMFI=4))))
    Addtional information: JDBC driver 'oracle.jdbc.driver.OracleDriver' loaded successfully, additional driver information:
    Available JDBC drivers:
    oracle.jdbc.driver.OracleDriver, 1.0 JDBC compliant
    sun.jdbc.odbc.JdbcOdbcDriver, 2.1 JDBC compliant
    I'm trying to connect to an Oracle 8i database.
    My connection string is: jdbc:oracle:thin:@IPadress:port:databasename.
    I have installed ojdbc14.zip driver on my XI server.
    Regrads,
    Sekar

    Sadasivan,
    The oracle document should give more info on the error, see if the info below helps troubleshooting your issue.
    databasename - must be the SID of the database; most often ORCL !!
    from oracle:
    TNS-12505 TNS:listener could not resolve SID given in connect descriptor
    Cause: The SID in CONNECT_DATA was not found in the listener's tables.
    Action: Check to make sure that the SID specified is correct. The SIDs that are currently registered with the listener can be obtained by typing "LSNRCTL SERVICES listener_name". These SIDs correspond to SID_NAMEs in TNSNAMES.ORA, or DB_NAMES in the INIT.ORA file.
    Regards
    Saravana

  • JDBC receiver error - ORA-00913: too many values

    Hi all,
    Facing a strange issue with proxy-jdbc issue.
    Message fails with error - ORA-00913: too many values
    Handling the missing fields from the source with - Empty String in the comm. Channel
    Empty string handling works fine - whenever there is no value coming form souce, null is inserted into the field value on the DB.
    Trying to insert the same data manually, it works fine. But gives this error END2END.
    When testing END2END, if the field values are made couple of chars less in length, that works fine....fails with the actual data.....seems to be the issue with the field lenghts on the DB.
    Increased all the lengths by 10 chars..still does not work.
    Except the key fields of the DB table, all others are nullable.
    Is there anything else, I am missing...
    Note: Generally, ORA-00913: too many values comes when the number of fields and the number of values donot match in an INSERT/UPDATE statement.
    reg

    Hi
    When testing END2END, if the field values are made couple of chars less in length, that works fine....fails with the actual data.....seems to be the issue with the field lenghts on the DB.
    Increased all the lengths by 10 chars..still does not work
    Well the error you mention generally occurs when the insert statement has more fields mention than in the table .ie you are mentioning extra field .aur this error is due to the field lenght of any of the filed you had to check in the oracle itself  by using the command DESCRIBE there you ll be able to see the field lenght of each and every field .
    hope your problem got resolved :
    Regard's
    Chetan Ahuja

  • RFC - JDBC fault message

    Hello All,
    Probably this has been discussed before, but i am unable to find a direct solution till now.
    I have a synchronous RFC to JDBC scenario, where data is inserted from R/3 to JDBC and JDBC returns with the count of records it inserted in oracle. everything is working fine.
    But in case when there is an error in insert, short dump occurs in R/3. i can see the response message has the error that some fields are null and so the insertion failed.
    My question is, how to capture this fault and get a exception equivalent in my RFC, so for further processing it can simply be check against SY-SUBRC.
    I would appreciate any pointers or help on this.
    Regards,
    Kinshuk

    Hi Kinshuk,
    one month ago I implemented also synch JDBC scenario but with call from client proxy (ABAP Proxy <->JDBC). First you ca try is to implement exception in your RFC and then update the metadata in IR. Assign also Fault Message to Inbound JDBC Message Interface and create mapping between RFC exception message and Fault Message.
    If it will not help you, try to change your implementation to ABAP Proxy if possible. With Proxy you can use ABAP statement  "TRY/CATCH" and catch system error as I do in my implementation.
    As far as I know, JDBC adapter does not support Fault Messages. But I never had system with latest SP. For examply in this 1492453 note you can see, that the detail text message of exception in Adapter was not transfered to IS (sxi_monitor) in SP bellow 12. With proxy you should have access to that exception and it might be possible get the "detail text" from exception object.
    On my current project I'm still waiting for SP so in my implementation I can catch Proxy exception but I'm not able to tell user what exactly happend. He has to check Comm.Channel monitoring for more info.
    If you have SP12 or higher you should be able not only catch system exception but also to get the detail error text from JDBC Adapter back to your proxy implementation.
    Martin

Maybe you are looking for