Message Protocol for JDBC receiver adpater used in mapping lookup

hi mates,
I'm trying out the scenario explained in this blog <a href="/people/siva.maranani/blog/2005/08/23/lookup146s-in-xi-made-simpler">Lookup’s in XI made simpler</a>. Since we are building a query string in the UDF and executing it, shouldn't the message protocol in adapter be 'Native SQL String' against that is given in blog 'XML SQL Format' (which is used if MT is created as per the 'Statement' structure)?
I'm yet to execute my scenario..figuring out JDBC params...will try with both protocols once I get the info..meanwhile was wondering how 'XML SQL' would work in this.
I appreciate your inputs.
praveen

I got the answer...the message protocol doesnt matter in case of lookups..coz all we are doing is getting an accessor to the channel but not passing any payload...
the message protocol is for payload...
XML SQL if it contains 'Statement'
Native SQL if it contains native SQL string..

Similar Messages

  • Message structure for JDBC receiver adaptor

    Hi experts,
    IN JDBC reciever adaptor i want to insert 3 fields in table.....!
    the structure i have created is as follows:
    TestReceiver
    StatementName
    Test
        Action (attribute)
       TABLE
       access(1-unbound)
           FirstName
           MiddName
           LastName
    and source is
    testSender
      Row(1-unbound)
        FirstName
        MiddleName
        LastName
    I am getting error ="MAPPING">EXCEPTION_DURING_EXECUTE
    can somebody plz tell me what is wrong?
    Thanks
    Rohan

    <?xml version="1.0" encoding="utf-8"?>
    <ns:TestSender xmlns:ns="http://test.com/EmpData">
    <Recordset>
         <Row>
              <FirstName>Aaa</FirstName>
              <MiddleName>Bbbbb</MiddleName>
              <LastName>Ccccc</LastName>
         </Row>
    </Recordset>
    </ns:TestSender>

  • Handling Fault Messages for JDBC Receiver (Syn Inbound)

    Dear Freinds,
    Can we handle fault messages for JDBC Receiver which is synchronous.
    OB Proxy Syn  <>  IB JDBC Syn
    1. How to handle the same ? Please give some examples.
    2. Should we use Stored Procedures at Oracle side to handle the fault messages and send back as response to the Proxy Response. Will it work.
    Thanks & Regards
    K.Ramesh

    Dear Friend,
    I have 2 interfaces where Proxy is OB & JDBC is IB. In the first interface both sender and Receiver are synchronous and in the second one it is Async.
    In the first interface i have to send one field from R/3 table along with Native SQL query string to XI and the response of the SELECT query is sent back to the sender.
    Assume if no fields are selected based on the field sent then proper error message has to be sent instead of the response message.
    In the second interface i will be using UPDATE query at Asyn JDBC receiver.
    How to do this if you are having JDBC Receiver.
    I saw in many blogs where they had mentioned that we cannot handle fault messages in the Receiver JDBC.
    KIindly explain.
    Thanks
    K.Ramesh

  • How to modify oracle stored procedure for JDBC Receiver Adapter?

    Hi all.
    This is Urgent.
    Scenario is
      SELECT a TABLE with procedure and update column with it,
      then send data to SAP System with RFC Adapter.
    When I executed a sync bpm, scenario was finished internal error.
    Pls, let me know how to correct procedure using JDBC Receiver Adapter?
    Regrds all.
    Procedure Code -
    SET SERVEROUTPUT ON
    CREATE OR REPLACE PROCEDURE zwtn2
    IS
       v_seller_company      wtnivhd.seller_company%TYPE;
       v_invoice_no      wtnivhd.invoice_no%TYPE;
       v_report_date     wtnivhd.report_date%TYPE;
       v_customs_date     wtnivhd.customs_date%TYPE;
       v_ap_post_date     wtnivhd.ap_post_date%TYPE;
       v_gr_date          wtnivhd.gr_date%TYPE;
    CURSOR l_cursor IS
       SELECT seller_company,
              invoice_no,
              report_date,
              customs_date,
              ap_post_date,
              gr_date
         FROM wtnivhd
        WHERE wtn_send_flag = 'N'
          AND rownum < 31
    FOR UPDATE;
    BEGIN
       OPEN l_cursor;
       LOOP
         FETCH l_cursor
          INTO v_seller_company,
               v_invoice_no,
               v_report_date,
               v_customs_date,
               v_ap_post_date,
               v_gr_date;
         EXIT WHEN l_cursor%NOTFOUND;
         UPDATE wtnivhd
            SET wtn_send_flag = 'Y' 
           WHERE CURRENT OF l_cursor;
       END LOOP;
    CLOSE l_cursor;
    END zwtn2;

    Hi Alex,
    plz have a look to Runtime Workbench / Adapter Monitoring to find an error message.
    Regards,
    Udo

  • Multi Mapping for JDBC Receiver JDBC Adapter

    Hi All,
        I'm trying an IDoc to JDBC (canonical XML) scenario using multi mapping (single IDoc as source and two different JDBC messages in receiver end). But, this is failing in RWB with some parser error. So, am not sure whether multi mapping is allowed for JDBC Canonical XML format. Please clarify.
    Thanks,
    Hussain.

    Hi ,
    JDBC Adapter supports multi mapping,so you can implement the same,but what do you mean by Canonical XML format??
    Regards,
    Raj

  • Alerts for JDBC Receiver Adapter

    Hi ,
    I am using JDBC receiver adapter. I have configured the alert category and Alert rules. Alerts are getting for Mapping etc.
    When ever error occured in the SQL server whether its firewall issue or some other issue. The alerts are not created. Instead I can see the error message in RWB Message monitoring and communicaton channel monitoring.
    Please let me know How can raise alerts if the error occured at the JDBC receiver side.
    Thanks in advance,
    Kevin

    Hi Kevin,
    Probabaly the alert rule did not capture the error in the adapter engine.
    The filter for sender and receiver interface details in the alert rule can cause this issue depending on when and how the error occured. Can you create an alert rule with * for all entries, for adapter engine and check?
    Also do NOT check the option "suppress multiple alerts from this rule" because it will prevent subsequent alerts from this rule, if there is already one and not yet confirmed.
    Further please check the alerts in SALRT table in se16 if its created properly or via transaction ALRTDISP.
    Please use the report SXMSALERT_LOGREADER for troubleshooting and checking the alert logs.
    Hope this helps.
    Regards,
    Francis

  • Wrong Encoding for JDBC-Receiver

    Dear all,
    we've to convert from UTF-8 to ISO-8859-1 before we write payload data into database. We've tried with "AF_Modules/XMLAnonymizerBean"  but it does not work!
    Is there any issue regarding JDBC? Should we use "AF_Modules/TextCodepageConversionBean" instead?
    Kind regards, Stefan

    Hi Stefan,
    Sorry for the delay in response:
    Please use the following parameters:
    Module Name                                                                  Type         Module Key
    localejbs/AF_Modules/MessageTransformBean              Local         Plain2XML
    Module Key                                 Parameter Name                               Parameter Value
    Plain2XML                        Transform.ContentType                 text/xml;charset=utf-8
    Also,if this doesn't work ,please try charset=iso-8859-1 as well.
    Let us know if it helps.
    Thanks.
    Regards,
    Shweta

  • Select statement for JDBC receiver synch scenario for capturing random value from ECC portal

    Dear Experts,
    I am working on ECC <----> SAP-PO 7.31 <----> JDBC synchronous scenario. I am clear about the config part except the Select statement. I will be
    capturing 2 random values from the portal i.e. VendId and VendName in ECC to get the vendor details like Vendor Country, Vendor Status, Vendor Contact , Vendor Address etc from JDBC vendor table/view VENDETAIL.
    What would be the select statement to capture the random values for ECC portal? My select statement would look some thing like this..
    Select f1,f2,f3,f4 from table VENDETAIL where key1 = "VendId" and "VendName"
    Please suggest if the above select statement works for the above scenario...
    Regards
    Rebecca

    Hi Rebecca,
    Your statement should work fine.
    Please see the statement we use below.
    SELECT eT_cashier, eT_proc_yn, eT_proc_date FROM eTest WHERE eb_proc_yn = 'N'
    Just remember to update the change indicator so that you dont duplicate your records.
    UPDATE eTest SET eb_proc_yn = 'Y' WHERE eb_proc_yn = 'N'.
    Regards,
    Jannus Botha

  • I am not able to connect to internet using Firefox. I have Un-installed and reinstalled Firefox again, but still get the "Cannot find server" message. For now I'm using Internet Explorer but I would like to go back to using Firefox. Thanks.

    I lost connectivity to internet thru Firefox a while ago. Contacted my ISP and we tried many things before discovering it was a Firefox issue, not a modem or router or browser issue. Even after uninstalling/einstalling Firefox fresh, I still cannot connect to internet and get the "Unable to connect- Firefox can't establish a connection to the server at www.yahoo.com" message.

    A possible cause is security software (firewall) that blocks or restricts Firefox or the plugin-container process without informing you, possibly after detecting changes (update) to the Firefox program.
    Remove all rules for Firefox from the permissions list in the firewall and let your firewall ask again for permission to get full unrestricted access to internet for Firefox and the plugin-container process and the updater process.
    See:
    *https://support.mozilla.com/kb/Server+not+found
    *https://support.mozilla.com/kb/Firewalls

  • XML Document Format for JDBC Receiver(Between operation)

    Hello everybody,
    is there a way to use a BETWEEN operation for the key in a SELECT XML document format????????, I need to filter in the Where for different Statements in teh strcuture as BETWEEN, thanks in advance.
    Regards,
    Julio

    http://help.sap.com/saphelp_nw70/helpdata/en/2e/96fd3f2d14e869e10000000a155106/content.htm
    Not sure but Check the option of
    <key1>
         <col2 compareOperation=u201DLTu201D>val2old</col2>
         <col2 compareOperation=u201DGTu201D>val2old</col2>
    </key1>
    Thanks,
    Beena.

  • Where do I go to review text message detail for review of numbers used for texting?

    How do I review the detail of the the text message numbers that have been used or called?

    I need all numbers recieved and sent also all text messages sent and recieved on my smart phone number << Number removed to comply with Verizon Wireless Terms of Service >>
    thanks Debbie
    Message was edited by: Verizon Moderator

  • How to create two headers line in CSV  file  for File Receiver Adpater ?

    Hi friends ,
                     My scenario is RFC to File. I am downloading file in CSV format . May I know how do i add two line of staic headers Like follows
    <b>  CLOCTYP     CFLOCTYP
      Exe Loc. Type     Cus Loc. Type</b>
    Best Regards.,
    V.Rangarajan

    My Input xml will be like
    <?xml version="1.0" encoding="UTF-8"?>
    <ns0:FileRec_MT xmlns:ns0="urn:tabFile">
        <ContactFile>
                  <Contact>
                      <Name>Raghavendra</Name>
                      <LName>GURU</LName>
                     <Company>xxx</Company>
                  </Contact>
        </ContactFile>
    </ns0:FileRec_MT>
    <b>Output in csv as</b>
    Raghavendra, Guru ,xxx
    My requirement is [ 2 header Lines ]
    <b>CLOCTYP           CFLOCTYP        CFPLACE
    Exe Loc.Type        Cus Loc. Type     Place</b>
    Raghavendra        Guru                   xxx
                   If multiple rows comes it has to come like
    <b>   CLOCTYP              CFLOCTYP          CFPLACE
       Exe Loc. Type       Cus Loc. Type       Place</b>
       Raghavendra         Guru                      xxx
        test              test           yyyyy

  • Multi Mapping using condition & Dynamic Receiver determination – Used XSLT Mapping

    Dear Experts,
         I am struggling to identify an error on the Technical Routing. Firstly according to my scenario, I receive an XML file with multiple PO's and I have to split the file to 2 different target messages. and also according to the source payload I have to send the file to 2 different receivers. first receiver is ABAP Proxy to the back end system and the 2nd one is to a file location. I have used XSLT to split the message into 2 target message type and I have used a XSLT mapping for receiver determination. Does any one have any idea of what I am doing wrong.
    Note: some time I will only be able to fill in on target message.
    I have attached my XSLT message split mapping with this post, please let me know if you have further question.
    Your help is more appreciated.
    Advance Thanks,
    Pradeep
    <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:sap="http://www.sap.com/sapxsl" version="1.0">
      <xsl:variable name="vFlag"/>
      <xsl:variable name="vPONUM" select="POTRACKING/Lines[1]/PONumber"/>
      <xsl:template match="/">
        <ns0:Messages xmlns:ns0="http://sap.com/xi/XI/SplitAndMerge">
          <ns0:Message1>
            <ns1:MT_Tracking xmlns:ns1="http://www.findel-education.co.uk/axapta">
              <xsl:for-each select="POTRACKING/Lines">
                <sap:call-external class="ZCL_VNAP_OBJECTS" method="CHECK_PO_EXIST">
                  <sap:callvalue param="IP_EBELN" select="string(PONumber)"/>
                  <sap:callvariable name="vFlag" param="EP_BOLEAN" type="string"/>
                </sap:call-external>
                <xsl:if test="$vFlag = 0">
                  <Lines>
                    <DDate>
                      <xsl:value-of select="DespatchDate"/>
                    </DDate>
                    <PONumber>
                      <xsl:value-of select="PONumber"/>
                    </PONumber>
                    <POLine>
                      <xsl:value-of select="POLine"/>
                    </POLine>
                    <QTY>
                      <xsl:value-of select="Quantity"/>
                    </QTY>
                    <VendorMaterial>
                      <xsl:value-of select="VendorMaterialNumber"/>
                    </VendorMaterial>
                    <AccountRef>
                      <xsl:value-of select="AccountReference"/>
                    </AccountRef>
                    <ConsignNumber>
                      <xsl:value-of select="ConsignmentNumber"/>
                    </ConsignNumber>
                    <CarrierURL>
                      <xsl:value-of select="CarrierURL"/>
                    </CarrierURL>
                    <ConsignURL>
                      <xsl:value-of select="ConsignmentURL"/>
                    </ConsignURL>
                  </Lines>
                </xsl:if>
              </xsl:for-each>
            </ns1:MT_Tracking>
          </ns0:Message1>
          <ns0:Message2>
            <ns2:MT_Tracking xmlns:ns2="http://www.findel-education.co.uk/ecc/ax/po/ftp">
              <xsl:for-each select="POTRACKING/Lines">
                <sap:call-external class="ZCL_VNAP_OBJECTS" method="CHECK_PO_EXIST">
                  <sap:callvalue param="IP_EBELN" select="string(PONumber)"/>
                  <sap:callvariable name="vFlag" param="EP_BOLEAN" type="string"/>
                </sap:call-external>
                <xsl:if test="$vFlag = 1">
                  <Lines>
                    <DDate>
                      <xsl:value-of select="DespatchDate"/>
                    </DDate>
                    <PONumber>
                      <xsl:value-of select="PONumber"/>
                    </PONumber>
                    <POLine>
                      <xsl:value-of select="POLine"/>
                    </POLine>
                    <QTY>
                      <xsl:value-of select="Quantity"/>
                    </QTY>
                    <VendorMaterial>
                      <xsl:value-of select="VendorMaterialNumber"/>
                    </VendorMaterial>
                    <AccountRef>
                      <xsl:value-of select="AccountReference"/>
                    </AccountRef>
                    <ConsignNumber>
                      <xsl:value-of select="ConsignmentNumber"/>
                    </ConsignNumber>
                    <CarrierURL>
                      <xsl:value-of select="CarrierURL"/>
                    </CarrierURL>
                    <ConsignURL>
                      <xsl:value-of select="ConsignmentURL"/>
                    </ConsignURL>
                  </Lines>
                </xsl:if>
              </xsl:for-each>
            </ns2:MT_Tracking>
          </ns0:Message2>
        </ns0:Messages>
      </xsl:template>
    </xsl:stylesheet>

    Hi Hareesh,
    Please find my determination in the XSLT below, I am using enhanced receiver determination.
    <xsl:transform xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:sap="http://www.sap.com/sapxsl" xmlns:p1="http://sap.com/xi/XI/System" xmlns:ns="urn:sap-com:document:sap:idoc:messages" version="1.0">
      <xsl:variable name="vFlag"/>
      <xsl:variable name="vAX" select="0"/>
      <xsl:variable name="vSAP" select="0"/>
      <xsl:variable name="vBoth" select="0"/>
      <!--  <xsl:variable name="vPONUM" select="POTRACKING/Lines[1]/PONumber"/>-->
      <xsl:template match="/">
        <xsl:for-each select="POTRACKING/Lines">
          <sap:call-external class="ZCL_VNAP_OBJECTS" method="CHECK_PO_EXIST">
            <sap:callvalue param="IP_EBELN" select="string(PONumber)"/>
            <sap:callvariable name="vFlag" param="EP_BOLEAN" type="string"/>
          </sap:call-external>
          <xsl:choose>
            <xsl:when test="$vFlag = 0">
              <!--          <p1:Receivers>
                <Receiver>
                  <Service>
                    <xsl:text>BS_AXAPTA_TST</xsl:text>
                  </Service>
                </Receiver>
              </p1:Receivers>-->
              <xsl:variable name="vAX" select="$vAX + 1"/>
            </xsl:when>
            <xsl:when test="$vFlag = 1">
              <!--          <p1:Receivers>
                <Receiver>
                  <Service>
                    <xsl:text>BS_ECQCLNT300</xsl:text>
                  </Service>
                </Receiver>
              </p1:Receivers>-->
              <xsl:variable name="vSAP" select="$vSAP + 1"/>
            </xsl:when>
          </xsl:choose>
        </xsl:for-each>
        <xsl:if test="$vSAP &gt; 0">
          <xsl:if test="$vAX &gt; 0">
            <xsl:variable name="vBoth" select="$vBoth + 1"/>
            <xsl:variable name="vSAP" select="0"/>
            <xsl:variable name="vAX" select="0"/>
          </xsl:if>
        </xsl:if>
        <xsl:if test="$vBoth &gt; 0">
          <p1:Receivers>
            <Receiver>
              <Service>
                <xsl:text>BS_AXAPTA_TST</xsl:text>
              </Service>
            </Receiver>
            <Receiver>
              <Service>
                <xsl:text>BS_ECQCLNT300</xsl:text>
              </Service>
            </Receiver>
          </p1:Receivers>
        </xsl:if>
        <xsl:if test="$vAX &gt; 0">
          <p1:Receivers>
            <Receiver>
              <Service>
                <xsl:text>BS_AXAPTA_TST</xsl:text>
              </Service>
            </Receiver>
          </p1:Receivers>
        </xsl:if>
        <xsl:if test="$vSAP &gt; 0">
          <p1:Receivers>
            <Receiver>
              <Service>
                <xsl:text>BS_ECQCLNT300</xsl:text>
              </Service>
            </Receiver>
          </p1:Receivers>
        </xsl:if>
      </xsl:template>
    </xsl:transform>

  • Receiver determintation using Abap Mapping

    Hi,
    I configured a scenario in which I'm using extended receiver determination to determine the receiver of an incoming message. (The reason for this is that there is only one XI system and two ECC systems - DEV and QAS. By means of the setting in a customizing table it can be determined whether the message is sent to DEV or QAS. The message can't be sent to both systems because it is a synchronous interface). The receiver determination calls an Interface Mapping which has target interface Receiver Determination. I made an Abap Mapping program in which the customize table is read and the output message is formed as follows (according to the structure of the Receivers message):
          lrf_output_document = lrf_ixml_factory->create_document( ).
          lrf_receivers = lrf_output_document->create_simple_element( name = 'Receivers'
                                                                      parent = lrf_output_document ).
          lrf_receiver  = lrf_output_document->create_simple_element( name = 'Receiver'
                                                                      parent = lrf_receivers ).
          lrf_element   = lrf_output_document->create_simple_element( name = 'Party'
                                                                      value = ' '
                                                                      parent = lrf_receiver ).
          lrf_element->set_attribute( name = 'agency'
                                                 value = ' ' ).
          lrf_element->set_attribute( name = 'scheme'
                                                value = ' ' ).
          lrf_element   = lrf_output_document->create_simple_element( name = 'Service'
                                                        value  = 'DEV'
                                                        parent = lrf_receiver ).
    To fill the RESULT field a stream factory is instantiated and a XSTRING is created. When I send a message to the system, the receiver determination dumps: Error when parsing receiver listLength of XML document 129 Error when parsing receiver listLength of XML Document 129 System expected the element 'Receivers'
    Looks like the XSTRING has not got the right structure and can not be parsed into the Receivers message. However, when I create a CSTRING, the message looks OK. I also changed the encoding (Codepage 4103).
    When I replace the Abap mapping with a message mapping, the receiver determination works OK. However, in that case it is not possible to read the customizing table. I really need the Abap mapping.
    Has anyone ever filled the Receivers massage by means of Abap mapping. Any feedback will be appreciated!

    Hi,
    there is a easier way - totally based on my blogs
    create an abap mapping that will feed the dynamicconfiguration in ABAP (with z "Z" namespace) - similar thing shown in my blog
    /people/michal.krawczyk2/blog/2007/04/26/xipi-throwing-generic-exceptions-from-any-type-of-mapping
    and you don't need to create the XML in ABAP mapping just parse it, fill DC and send the same source to the target
    (so you don't change the XML)
    then add a message mapping to your interface mapping in which you will only use dynamicconfig value
    to populate the receiver segment
    nice and clean way
    Regards,
    Michal Krawczyk

  • Dynamic File Name on Receiver Side using XSLT mapping

    Hi,
      My scenario is a Proxy to File scenario.The File on the receiving side is a TEXT file generated due to XSLT mapping. The file name has to be dynamic like- TEST<DDMMYYHHMMSS>File.DAT.
    If somebody knows how to do the same please help.
    Regards
    Ritu

    Hi Ritu,
    I agree to Krishna.With your XSLT mapping create a XML output which can be converted to a text file with content conversion.
    And for the dynamic file name, i guess its the date that matters which needs to be in DDMMYYHHMMSS format. the same can be accomplished by a Java function and calling it in your XSLT .
    Do refer this weblog it will help you accomplish the same.
    >>> /people/pooja.pandey/blog/2005/06/27/xslt-mapping-with-java-enhancement-for-beginners
    Regards,
    Shabarish

Maybe you are looking for

  • How to open a dvd file(dvd movie) in creative play

    where can i get the DVD codec for my creative player.Right now i am using creative player version 3.02.52.

  • Six Spare Monitors...MacPro Video Card Advice?

    Greetings, I have six spare monitors (Dell 19" 4ea and Dell 24" 2ea) leftover from a PC and I would like to get some advice on MacPro video cards to conncect all six monitors to a single machine.  When I had my PC, I purchased a single eVGA 9500 (two

  • Thin white line between line art and live paint fill?

    I am using live paint to paint cartoon character illustrations.  The artwork is brought into Illustrator CS3 and live traced.  Then I convert it to a live paint group and use the paint bucket to fill.  Everything looks fine no matter how much I zoom

  • Mail not responding after restored from TM

    I restored full data from a MacBook to a brand new MBP today using Time Machine.  Everything looks fine except for Mail. It simply doesn't respond.  I already deleted all accounts from System Preferences but when I close and open that screen, all acc

  • Would anyone please give me a test result of Oracle 9iFS

    We want to build a content management system. We've already built a MIS and the data stored in a Oracle database . The data in the content management will be used by the MIS . would anyone please give us a test result of Oracle 9iFS. We want know the