Mapping Lookup for Update/Insert

Hi XI guru,
We're using the Mapping-Lookup-feature for select-statements - it works very fine.
If we use an insert- or update-statement instead, we get an exception.
String Query1 = " ";
Channel channel = null;
DataBaseAccessor accessor = null;
DataBaseResult resultSet1 = null;
// Build the Query String
Query1 ="Update ZID Set MESSAGE_ID = MESSAGE_ID + 1 where ID = '" + a[0] + "'";
try{
//Determine a channel, as created in the Configuration
channel = LookupService.getChannel("Oracle_DB","JDBC_Insert");
//Get a system accessor for the channel. As the call is being made to an DB, an DatabaseAccessor is obtained.
accessor = LookupService.getDataBaseAccessor(channel);
//Execute Query and get the values in resultset
resultSet1 = accessor.execute(Query1);
for(Iterator rows = resultSet2.getRows();rows.hasNext();){
Map rowMap = (Map)rows.next();
result.addValue((String)rowMap.get("MESSAGE_ID"));
catch(Exception ex){
result.addValue(ex.getMessage());
finally{
try{
if (accessor!=null) accessor.close();
catch(Exception e){
result.addValue(e.getMessage());
Exception during processing the payload.Problem when calling an adapter by using communication channel JDBC_Insert (Party: , Service: Oracle_DB, Object ID: 6e9e567c233733929c2d8f31c1bbbba9) XI AF API call failed. Module exception: (No information available). Cause Exception: 'Error processing request in sax parser: Error when executing statement for table/stored proc. 'table' (structure 'statement'): java.sql.SQLException: ORA-00900: invalid SQL statement
'.
com.sap.aii.mapping.lookup.LookupException: Problem when calling an adapter by using communication channel JDBC_Insert (Party: , Service: Oracle_DB, Object ID: 6e9e567c233733929c2d8f31c1bbbba9) XI AF API call failed. Module exception: (No information available). Cause Exception: 'Error processing request in sax parser: Error when executing statement for table/stored proc. 'table' (structure 'statement'): java.sql.SQLException: ORA-00900: invalid SQL statement
'.
     at com.sap.aii.ibrun.server.lookup.AdapterProxyLocal.execute(AdapterProxyLocal.java:131)
     at com.sap.aii.ibrun.server.lookup.SystemAccessorInternal.execute(SystemAccessorInternal.java:68)
     at com.sap.aii.ibrun.server.lookup.SystemAccessorHmiServer.process(SystemAccessorHmiServer.java:149)
     at com.sap.aii.ibrun.server.lookup.SystemAccessorHmiServer.process(SystemAccessorHmiServer.java:77)
     at com.sap.aii.utilxi.hmis.server.HmisServiceImpl.invokeMethod(HmisServiceImpl.java:169)
     at com.sap.aii.utilxi.hmis.server.HmisServer.process(HmisServer.java:178)
     at com.sap.aii.utilxi.hmis.web.HmisServletImpl.processRequestByHmiServer(HmisServletImpl.java:296)
     at com.sap.aii.utilxi.hmis.web.HmisServletImpl.processRequestByHmiServer(HmisServletImpl.java:211)
     at com.sap.aii.utilxi.hmis.web.workers.HmisInternalClient.doWork(HmisInternalClient.java:70)
     at com.sap.aii.utilxi.hmis.web.HmisServletImpl.doWork(HmisServletImpl.java:496)
     at com.sap.aii.utilxi.hmis.web.HmisServletImpl.doPost(HmisServletImpl.java:634)
     at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
     at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
     at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet(HttpHandlerImpl.java:401)
     at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:266)
     at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:387)
     at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:365)
     at com.sap.engine.services.httpserver.server.RequestAnalizer.invokeWebContainer(RequestAnalizer.java:944)
     at com.sap.engine.services.httpserver.server.RequestAnalizer.handle(RequestAnalizer.java:266)
     at com.sap.engine.services.httpserver.server.Client.handle(Client.java:95)
     at com.sap.engine.services.httpserver.server.Processor.request(Processor.java:160)
     at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:33)
     at com.sap.engine.core.cluster.impl6.session.MessageRunner.run(MessageRunner.java:41)
     at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)
     at java.security.AccessController.doPrivileged(Native Method)
     at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:100)
     at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:170)
Root Cause:
com.sap.aii.af.service.api.AFException: XI AF API call failed. Module exception: (No information available). Cause Exception: 'Error processing request in sax parser: Error when executing statement for table/stored proc. 'table' (structure 'statement'): java.sql.SQLException: ORA-00900: invalid SQL statement
'.
     at com.sap.aii.af.service.api.AdapterAccess.sendMsg(AdapterAccess.java:214)
     at com.sap.aii.af.service.api.AdapterAccess.execute(AdapterAccess.java:283)
     at com.sap.aii.ibrun.server.lookup.AdapterProxyLocal.execute(AdapterProxyLocal.java:123)
     at com.sap.aii.ibrun.server.lookup.SystemAccessorInternal.execute(SystemAccessorInternal.java:68)
     at com.sap.aii.ibrun.server.lookup.SystemAccessorHmiServer.process(SystemAccessorHmiServer.java:149)
     at com.sap.aii.ibrun.server.lookup.SystemAccessorHmiServer.process(SystemAccessorHmiServer.java:77)
     at com.sap.aii.utilxi.hmis.server.HmisServiceImpl.invokeMethod(HmisServiceImpl.java:169)
     at com.sap.aii.utilxi.hmis.server.HmisServer.process(HmisServer.java:178)
     at com.sap.aii.utilxi.hmis.web.HmisServletImpl.processRequestByHmiServer(HmisServletImpl.java:296)
     at com.sap.aii.utilxi.hmis.web.HmisServletImpl.processRequestByHmiServer(HmisServletImpl.java:211)
     at com.sap.aii.utilxi.hmis.web.workers.HmisInternalClient.doWork(HmisInternalClient.java:70)
     at com.sap.aii.utilxi.hmis.web.HmisServletImpl.doWork(HmisServletImpl.java:496)
     at com.sap.aii.utilxi.hmis.web.HmisServletImpl.doPost(HmisServletImpl.java:634)
     at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
     at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
     at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet(HttpHandlerImpl.java:401)
     at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:266)
     at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:387)
     at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:365)
     at com.sap.engine.services.httpserver.server.RequestAnalizer.invokeWebContainer(RequestAnalizer.java:944)
     at com.sap.engine.services.httpserver.server.RequestAnalizer.handle(RequestAnalizer.java:266)
     at com.sap.engine.services.httpserver.server.Client.handle(Client.java:95)
     at com.sap.engine.services.httpserver.server.Processor.request(Processor.java:160)
     at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:33)
     at com.sap.engine.core.cluster.impl6.session.MessageRunner.run(MessageRunner.java:41)
     at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)
     at java.security.AccessController.doPrivileged(Native Method)
     at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:100)
     at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:170)
Could you please help to let me know what should I do to fix it?Thank you

the purpose to do this update is, we want to get a interface depended sequense number, every message should have a unique message id, then use JDBC receiver adapter to insert this message to several DB tables, Legacy application program will use these message id to join these tables to get data.
for example: SAP send sales order data to Legacy system, every Sales Order Create and Modification will trigger a message to Leagcy system, Legacy system use Staging table to receive these messages, one table for SO Header,one for Item,one for schedule line for each item. So when Legacy program cannot use SO number as key to join these table, because every change will create a message. That's why we want to maintain a unique message id for every message.
Do you have any other solution to realize this requirement? thank you very much for your help.

Similar Messages

  • Best practice for update/insert on existing/non existing rows

    Hello,
    In an application I want to check if a row exists and if yes I want to update the row and if not I want to insert the row.
    Currently I have something like this:
    begin
    select *
    into v_ps_abcana
    from ps_abcana
    where typ = p_typ
    and bsw_nr = p_bsw_nr
    and datum = v_akt_date
    for update;
    exception
    when no_data_found then
    v_update := false;
    when others then
    raise e_error_return;
    end;
    if v_update = false
    then
    /* insert new row */
    else
    /* update locked row */
    end if;
    The problem is that the FOR UPDATE lock has no effect for inserts. So if another session executes this part exactly the same time then there will be two rows inserted.
    What is the best way to avoid this?

    for me the 1st solution is the most efficient one.
    in your 2nd solution it seems to me that you're gonna create a dummy table that will serve as a traffic cop. well that possible but not the proper and clean approach for your requirement. you're absolutely complicating your life where in fact Oracle can do it all for you.
    First thing that you have to consider is your database design. This should somehow corresponds to the business rule and don't just let the program to do it on that level leaving the database vulnerable to data integrity issue such as direct data access. In your particular example, there's no way you can assure that there'll be no duplicate records in the table.
    this is just an advice when designing solution: Don't use a "Mickey Mouse" approach on your design!

  • SELECT FOR UPDATE + INSERT = be careful

    Hi,
    It took me over a day to figure out what was going on with some code I wrote recently. I thought I'd share what I learned with the rest of you in case you encounter the same effect.
    The example below shows the results of two separate SQL*Plus sessions attempting to lock the same resource. In one scenario, a row is updated to itself in Session 1. In the other scenario, the same row is updated to a different value in Session 1. As you'll see, the two updates have different effects on the SELECT statement in Session 2.
    Session 1                                  | Session 2
                                               |
    SQL> select version from v$instance;       |
                                               |
    VERSION                                    |
    -----------------                          |
    10.2.0.1.0                                 |
                                               |
    SQL> create table t1 ( c1 varchar2(10) );  |
                                               |
    Table created.                             |
                                               |
    SQL> create table t2 ( c2 varchar2(10) );  |
                                               |
    Table created.                             |
                                               |
    SQL> insert into t1 values ( 'abc' );      |
                                               |
    1 row created.                             |
                                               |
    SQL> commit;                               |
                                               |
    Commit complete.                           |
    -- Scenario 1
    SQL> select c1,                            |
      2    (select count(*) from t2) t2_count  |
      3  from t1 for update;                   |
                                               |
    C1           T2_COUNT                      |
    ---------- ----------                      |
    abc                 0                      |
                                               |
                                               | SQL> select c1,
                                               |   2    (select count(*) from t2) t2_count
                                               |   3  from t1 for update;
                                               |
    SQL> update t1 set c1 = 'abc';             |
                                               |
    1 row updated.                             |
                                               |
    SQL> insert into t2 values ('x');          |
                                               |
    1 row created.                             |
                                               |
    SQL> commit;                               |
                                               |
    Commit complete.                           |
                                               | C1           T2_COUNT
                                               | ---------- ----------
                                               | abc                 0
                                               |
    -- Reset tables to their original condition
                                               | SQL> rollback;
                                               |
                                               | Rollback complete.
                                               |
    SQL> delete from t2;                       |
                                               |
    1 row deleted.                             |
                                               |
    SQL> commit;                               |
                                               |
    Commit complete.                           |
                                               |
    -- Scenario 2
    SQL> select c1,                            |
      2    (select count(*) from t2) t2_count  |
      3  from t1 for update;                   |
                                               |
    C1           T2_COUNT                      |
    ---------- ----------                      |
    abc                 0                      |
                                               |
                                               | SQL> select c1,
                                               |   2    (select count(*) from t2) t2_count
                                               |   3  from t1 for update;
                                               |
    SQL> update t1 set c1 = 'def';             |
                                               |
    1 row updated.                             |
                                               |
    SQL> insert into t2 values ('x');          |
                                               |
    1 row created.                             |
                                               |
    SQL> commit;                               |
                                               |
    Commit complete.                           |
                                               |
                                               | C1           T2_COUNT
                                               | ---------- ----------
                                               | def                 1
                                               |Does anyone have any suggestions on how to make the queries in Session 2 return a T2_COUNT of "1" in both scenarios. Note that, in reality, Session 2 will need to do its own inserts and updates. I left these steps out for clarity. Note also that I won't have access to do things like add triggers, create new tables/views, or do flashback queries. The simpler the solution, the better.
    Thanks in advance for your help.

    You can use the SERIALIZABLE isolation level to test to see if the data has been updated. If your code is aware of the ORA-08177 exception, then you can trap this error and retry the query:
    SQL> set transaction isolation level serializable; |
                                                       |
    Transaction set.                                   |
                                                       |
    SQL> select c1,                                    |
      2    (select count(*) from t2) t2_count          |
      3* from t1 for update;                           |
                                                       |
    C1           T2_COUNT                              |
    ---------- ----------                              |
    abc                 0                              |
                                                       | SQL> set transaction isolation level serializable;
                                                       |
                                                       | Transaction set.
                                                       |
                                                       | SQL> select c1,
                                                       |   2    (select count(*) from t2) t2_count
                                                       |   3* from t1 for update;
                                                       |
    SQL> update t1 set c1='abc';                       |
                                                       |
    1 row updated.                                     |
                                                       |
    SQL> insert into t2 values('x');                   |
                                                       |
    1 row created.                                     |
                                                       |
    SQL> commit;                                       |
                                                       |
    Commit complete.                                   |
                                                       |
                                                       | select c1,
                                                       | *
                                                       | ERROR at line 1:
                                                       | ORA-08177: can't serialize access for this transaction

  • Settings for update/insert new records

    Hi everybody,
    I'm at the beggining of learning the OWB in order to create a Data Warehouse environment.
    I have successfully created a table in the target schema , which is a match of columns found in 4 tables in the source schema.
    Which settings(steps) are necessary in order to update some records according to the update done in 4 tables in source schema , which have already been inserted in the table in target schema- using the execute pop-up menu command?
    Additionally , how can I insert only the new records to the target schema by using the execute command in pop-up menu ...
    Thanks , a lot
    Simon

    Hi Simon,
    If you have constraints set on your target table, and the operator properties are set to "Match by Constraints = All Constraints", then the process recognizes automatically when to update which fields and when to insert new records.
    If you have no constraints on your target then the operator properties are set to"Match by Constraints = No Constraints", and in this case you should set the Loading properties for each attribute (Field) in the target table.
    Greetings,
    Ilona Tielke

  • Mapping lookup for file adapter

    Hi Experts,
    I am doing JDBC to File Scenario, sender side i got the company name field receiver side i got company code field.
    There is a file in the XI server it contains list of all company name and copany codes.
    i need to take the company code from the file based on company name from sender side during the mapping.
    Can anybody suggest me how can i achieve this?
    Kind Regards,
    Kiran.

    Kiran,
    Sprry for late reply, had gone 4 lunch
    Pl add this in ur UDF..The input to UDF would be company name..
    Change the location of your file accordingly in the code
    The imports are
    java.io.BufferedReader;
    java.io.FileReader;
    java.io.InputStreamReader;
    java.util.HashMap;
              String companyCode = "";
              HashMap fileMap = new HashMap();
                   BufferedReader reader = new BufferedReader(new FileReader("C:
    ROOT
    MyFolder\file.txt"));
                   String line = "";
                   while((line = reader.readLine())!=null)
                        String<i>[]</i> lineArray = line.split(",");
                        fileMap.put(lineArray<i>[1]</i>, lineArray<i>[0]</i>);
              companyCode = (String) fileMap.get(companyName);
              return companyCode;

  • Mapping lookups need to be done for sender or for reciever?

    Hi All,
    i have a small doubt do we need to perform mapping lookups for sender or reciever? if Reciever then why?
    Regards
    Sami

    Hi,
    1)what is lookups
    Lookups are used to identify / request the data from mapping , i mean interupting the process and looking for data which was stored in some where and get that data and comback to process and continue with that data.
    2.why we can use for lookups.
    We will use these type of lookups in Message mapping for refering DB Lookup for data base which is not SAP, RFC lookups for SAP data
    How we have to create the lookups?
    Check this weblogs with some screenshots on how to achieve this:
    /people/siva.maranani/blog/2005/08/23/lookup146s-in-xi-made-simpler
    /people/sravya.talanki2/blog/2005/12/21/use-this-crazy-piece-for-any-rfc-mapping-lookups
    /people/alessandro.guarneri/blog/2006/03/27/sap-xi-lookup-api-the-killer
    /people/sap.user72/blog/2005/12/06/optimizing-lookups-in-xi
    /people/morten.wittrock/blog/2006/03/30/wrapping-your-mapping-lookup-api-code-in-easy-to-use-java-classes
    Satya

  • Searching update insert and delete statements

    Hi.
    Suppose, there is change request containing 10 or more programs.
    One of the program has statements, working with database tables,
    like update, insert or delete.
    Is there any transaction where we can select request number and find
    programs working with tables directly.

    Hello
    1. Goto table E071 with TRKORR = change request and OBJECT = {reps, repo, rept}
    2. In field OBJ_NAME will be all reports names in this request
    3. In abap-programm upload this reports into internal table
    4. Search for 'update' 'insert' and 'delete'
    P.s. it is only for reports

  • Message-Mapping: Use same RFC lookup for different target fields

    Hello,
    I need to apply an RFC Lookup which delivers a boolean flag back (true or false). This RFC lookup should be used for different target fields.
    Is there a way to execute the RFC lookup just once and then store the result in an internediate variable that I can use for all futher checks for different target fields?
    If this is not possible and I have to apply the RFC lookup for all necessary target fields is it then executed for each target field ? This is exactly what I want to avoid in order not to slow down performance.
    The input parameter (=source field value) would be the same.
    Thank you for your advice!

    Exactly.
    Here is a UDF example I have that you could adapt to your needs.
    Set
    public String setCounter(String a,String b,Container container){
    /* Store values in global datacontainer
    a: mapping value and return valueparameter
    b: name for stored value parameter
    GlobalContainer myGlobalContainer;
    myGlobalContainer = container.getGlobalContainer();
    myGlobalContainer.setParameter(b.toUpperCase(), a);
    return a;
    Get
    public String getCounter(String a,Container container){
       //write your code here
    GlobalContainer gc = container.getGlobalContainer();
    if (gc.getParameter(a) != null) {
      return String.valueOf(gc.getParameter(a));
    } else {
    return "1";

  • Message Mapping UDF for lookuping of a value inside field's list of values

    Hey everyone,
    For a FI mapping I'm working on, I was wondering if somebody has some Java UDF which lookups for a value inside the whole list of values which the mapping gathered for a specific field?
    Thanks,
    Ben

    source code --
    //write your code here
    JCO.Repository myRepository;
    // Change the logon information to your own system/user
    JCO.Client myConnection = JCO.createClient(
    // all the client information namely client ,user id pwd etc
    myConnection.connect();
    // create repository
    myRepository = new JCO.Repository( "SAPLookup", myConnection );
    // Create function
    JCO.Function function = null;
    IFunctionTemplate ft = mRepository.getFunctionTemplate("xxxxx"); //Name of RFC
    function = ft.getFunction();
    // Obtain parameter list for function
    JCO.ParameterList input = function.getImportParameterList();
    // Pass function parameters
    input.setValue( a , "xxxxx" ); //import parameter of RFC, a is input argument.
    myConnection.execute( function );
    String ret = function.getExportParameterList().getString( "XXXX" ); //export param
    myConnection.disconnect();
    return ret;
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/a03e7b02-eea4-2910-089f-8214c6d1b439
    File Lookup in UDF
    https://www.sdn.sap.com/irj/sdn/wiki?path=/display/xi/file%2blookup%2bin%2budf
    Lookupu2019s in XI made simpler
    /people/siva.maranani/blog/2005/08/23/lookup146s-in-xi-made-simpler
    SAP XI Lookup API: the Killer
    /people/alessandro.guarneri/blog/2006/03/27/sap-xi-lookup-api-the-killer
    Webservice Calls From a User Defined Function.
    /people/bhavesh.kantilal/blog/2006/11/20/webservice-calls-from-a-user-defined-function

  • Lookup for value while mapping

    Hi ,
    I have a situation in hand and i am looking for a performance effective solution .May be anyone can help me.
    I have a PO where i have to map it to a xml . at the item level i have to fetch a field from the SAP Backend and then populate the XML with that value.
    I can write a lookup for that field using the JCO lookup.
    but this code will execute for each line item . right !!!.
    Can i do this in one call and get the field data for all the line items and then split it according to each occurance of line item
    Regards
    Nikhil

    Nikhil,
    This can be done but with some changes in the RFC.
    1. Make changes in the RFC such that it can handle multiple records and send the response in multipkle records . ( The RFC code should contain TABLE to handle this ).
    2. Write an Advanced user Defined Function that will take all the input fields as the input, call the RFC and get the response values. Stored them in an array declared in the Java Section ( from Sp 14 onwards, there is a java section that allows you to declare Global Variables and use them anywehere in your mapping ).
    3. This user defined function should be called at the mapping of the root nodes.
    4. Now , write another UDF , that will read the values out of the global variable array using a global counter , map it to the target and increment the same.
    Regards
    Bhavesh

  • How to use the mirrored and log shipped secondary database for update or insert operations

    Hi,
    I am doing a DR Test where I need to test the mirrored and log shipped secondary database but without stopping the mirroring or log shipping procedures. Is there a way to get the data out of mirrored and log shipped database to another database for update
    or insert operations?
    Database snapshot can be used only for mirrored database but updates cannot be done. Also the secondary database of log shipping cannot used for database snapshot. Any ideas of how this can be implemented?
    Thanks,
    Preetha

    Hmm in this case I think you need Merge Replication otherwise it breaks down the purpose of DR...again in that case.. 
    Best Regards,Uri Dimant SQL Server MVP,
    http://sqlblog.com/blogs/uri_dimant/
    MS SQL optimization: MS SQL Development and Optimization
    MS SQL Consulting:
    Large scale of database and data cleansing
    Remote DBA Services:
    Improves MS SQL Database Performance
    SQL Server Integration Services:
    Business Intelligence

  • Error for package com.sap.aii.mapping.lookup

    Hi All
    I am writing a code for the DB lookup. When I import the package in the Message
    Mapping (Advance Function) I am getting an Error.
    C:/usr/sap/SXI/DVEBMGS00/j2ee/cluster/server0/./temp/classpath_resolver/Map6af6f7d1335111dc9b51000c2967ead8/source/com/sap/xi/tf/_MM_File2JMS_.java:3: package com.sap.aii.mapping.lookup does not exist
    import com.sap.aii.mappingtool.tf3.;import com.sap.aii.mappingtool.tf3.rt.;import java.util.;import java.io.; import java.lang.reflect.;import com.sap.aii.mapping.lookup.; ^
    C:/usr/sap/SXI/DVEBMGS00/j2ee/cluster/server0/./temp/classpath_resolver/Map6af6f7d1335111dc9b51000c2967ead8/source/com/sap/xi/tf/_MM_File2JMS_.java:57: cannot resolve symbol symbol : class Channel location: class com.sap.xi.tf._MM_File2JMS_ Channel channel = null;
    C:/usr/sap/SXI/DVEBMGS00/j2ee/cluster/server0/./temp/classpath_resolver/Map6af6f7d1335111dc9b51000c2967ead8/source/com/sap/xi/tf/_MM_File2JMS_.java:58: cannot resolve symbol symbol : class DataBaseAccessor location: class com.sap.xi.tf._MM_File2JMS_ DataBaseAccessor accessor = null; ^
    Thanks
    Farooq.

    Hey satish I am getting same Error:
    C:/usr/sap/SXI/DVEBMGS00/j2ee/cluster/server0/./temp/classpath_resolver/Map7801d381335311dc8660000c2967ead8/source/com/sap/xi/tf/_MM_File2JMS_.java:3: package com.sap.aii.mapping.lookup does not exist import com.sap.aii.mappingtool.tf3.;import com.sap.aii.mappingtool.tf3.rt.;import java.util.;import java.io.; import java.lang.reflect.;import com.sap.aii.mapping.lookup.;import java.io.*; ^ C:/usr/sap/SXI/DVEBMGS00/j2ee/cluster/server0/./temp/classpath_resolver/Map7801d381335311dc8660000c2967ead8/source/com/sap/xi/tf/_MM_File2JMS_.java:57: cannot resolve symbol symbol : class Channel location: class com.sap.xi.tf._MM_File2JMS_ Channel channel = null; ^ C:/usr/sap/SXI/DVEBMGS00/j2ee/cluster/server0/./temp/classpath_resolver/Map7801d381335311dc8660000c2967ead8/source/com/sap/xi/tf/_MM_File2JMS_.java:58: cannot resolve symbol symbol : class DataBaseAccessor location: class com.sap.xi.tf._MM_File2JMS_ DataBaseAccessor accessor = null; ^ 3 errors

  • Graphical message mapping examples for JDBC and RFC lookup

    hi, can any body provide me graphical message mapping examples for the "JDBC Lookup" function and "RFC Lookup" function?
    I'm now studying the graphical message mapping and want to try those 2 functions. thank you.
    I expect the examples to be simple enoung, not need to set up much.

    >
    Madhu_1980 wrote:
    > can u check this link:
    >
    > PI 7.0 & 7.1 Mapping - Blogs,Articles,Wiki,Code Samples and Videos Collections https://wiki.sdn.sap.com/wiki/pages/viewpage.action?pageId=79955426  
    >
    > it contains a link : SAP PI 7.1 Mapping Enhancements Series: Graphical Support for JDBC and RFC Lookups /people/jin.shin/blog/2008/02/15/sap-pi-71-mapping-enhancements-series-graphical-support-for-jdbc-and-rfc-lookups
    May be I'm too foolish to follow those links, I got issues of each links.
    What I really want is an example from step0
    Swarup:
    Refer the Lookup document - Easy Lookup in Process Integration 7.1
    https://www.sdn.sap.com/irj/scn/index?rid=/library/uuid/20befc9a-aa72-2b10-ae9b-b0988791d457
    The first step is "Create an RFC Enabled Function Module for look up", but where can I create the function module? Should I use ESB, IB? or use transaction 'SE11' ?
    Kulkarni:
    Very good links for RFC lookup with 7.0/3.0
    https://www.sdn.sap.com/irj/scn/index?rid=/library/uuid/70d90a91-3cf4-2a10-d189-bfd37d9c3231&overridelayout=true
    At page6 "PI Development/Configuration", it saies "You are on the design maintenance screen in the Integration Builder.Expand the subnodes for the software component version for which you want to import interfaces".
    What is "design maintenance screen" ? My IB version is: Service Pack:08 Release:NW07_08_REL.
    When I open IB, it display a screen titled with "Configuration: Intergation Builder", I did not find "software component version" node on the left tree.
    Madhu_1980 :
    it contains a link : SAP PI 7.1 Mapping Enhancements Series: Graphical Support for JDBC and RFC Lookups /people/jin.shin/blog/2008/02/15/sap-pi-71-mapping-enhancements-series-graphical-support-for-jdbc-and-rfc-lookups
    The Prerequisites state:
    The JDBC channel to be used for the lookup must be configured and activated in the Integration Directory.
    The definition of the table used for the lookup must already be imported into the ES Repository as an external definition
    But I don't know how to create a JDBC channel and define the table.

  • DeserializationException: mapping lookup failure for xml type

    I generated a web-services.xml with the wsdl2Service task without a type mapping. The service is a document/literal based web service. I implemented the Java method, which accepts a single parameter with type javax.xml.soap.SOAPElement and returns javax.xml.soap.SOAPElement. Everytime I invoke the method from a client I get the following error from the server (WebLogic 8.1 SP4):
    weblogic.xml.schema.binding.DeserializationException: mapping lookup failure for xml type ['urn:mytest1']:test and java interface javax.xml.soap.SOAPElement
    at weblogic.xml.schema.binding.RuntimeUtils.invoke_deserializer(RuntimeUtils.java:325)
    What could be wrong with my configuration?

    Hi,
    I am also facing the same problem on weblogic8.1SP1.
    If you had rectified this problem, please advice me as well.

  • Can Multi-Table Insert KM be modified for updates ?

    Hi All,
    I am doing a POC on MTI KM.
    I would like to know if it is possible to modify/customize the MTI KM for updating the rows as well.
    Thanks & Regards,
    Prerna

    Yes you can . Refer my post on this
    http://bhabaniranjan.com/ikm-oracle-multitable-insert-with-filters/
    http://bhabaniranjan.com/router-transformation-in-odi/
    Thanks.

Maybe you are looking for

  • How can I create a Slieder with two thumb?

    Hello forum, who can help me to create a slider with lower bound and upper bound thumbs? Thanks in advanced

  • HT5128 What happened to Adobe Photoshop on PowerPC (Macbook)?

    I have Macbook and Adobe Photoshop was installed when I bought it.  But recently, I am not able to open this application and it says; "You can not open the application "Adobe Photoshop CS.app" because PowerPC applications are no longer supported." Ho

  • Make Eyebeam 1.5 work threw WRT160N with firmware 1.02.2

    Greetings: I have an eyebeam 1.5 that I have tried and tried to get to work with my WRT160N with firmware 1.02.2 with zero sucess.  The Eyebeam will work perfectly when hardwired to the cable modem but will not work via the WRT160N wireless router. 

  • Q: How can I install extensions for Bridge CS6?

    Because Bridge CS6 is not supported by Extension Manager anymore, you have to install them manually. For MXP extension, you can convert it to ZXP extensions with Extension Manager CS6. Then try steps below. For ZXP extension, use utility software suc

  • Nokia N95 - im on 02 Network - need help from ALL ...

    Hi guys and gals as you all know from my many many previous posts, i am now on my 3rd Nokia N95 i have had this one since the 4th of April this year and still this phone is doing my head in! it keeps restarting all the time, the clicky wobbly slider