BAPI Sync Call using JDBC Staging Table..

Hello..  (a bit of a newbie so I apologize in advance)
I'm having a problem with an integration.  It looks like the xml is coming into XI fine from the JDBC source, but not getting to the correct mapping program.   In Runtime Workbench, I get two messages in the Adapter engine.  One says successful and has the payload of the JDBC pull data.  The other is at a Waiting status and has the same data structure.  The error messages says unable to find channel ID.  Here are the details.
Synchronous Integration:
- JDBC table Source (polled every 5 mins)
- Mapped to BAPI_PO_CREATE1 (request)
- BAPI call to BAPI_PO_CREATE1
- BAPI resonse BAPI_PO_CREATE1.Response (for PO number)
- Mapped to custom message for JDBC insert command.
- JDBC table updated with PO number from BAPI_PO_CREATE1.Response
I have created two separate Interface Mappings for this, one is a Synch interface outbound with the JDBC source message type output and the JDBC target (with PO number) message type input.   The second Interface Mapping is also outbound and has the BAPI CREATE1 as output and the BAPI Response as input.

I have gotten this to work and submit to the adapter.  As it turns out, I had a problem in my source data structure.  The JDBC call (sql) was pulling in the format below.  I was missing the subelement "row"
Now I am onto more mapping questions.  Thank you for your help though!
<?xml version="1.0" encoding="utf-8" ?>
- <PO_Combined_in>
- <row>
  <MANDT />
  <EBELN>D02</EBELN>
  <EBELP>00010</EBELP>
  <ACTION_KEY>A</ACTION_KEY>
  <CR_DATE>2005-12-12 00:00:00.0</CR_DATE>
  <CR_TIME>12000000</CR_TIME>
  <BSART />
  <SEQUENCE>1</SEQUENCE

Similar Messages

  • Error while loading metadata in HPCM application using Import Staging table

    Hello All,
    I was loading metadata in HPCM using Import Staging table. I successfully uploaded Driver Definition metadata.
    However while loading "Driver Exception" metadata, I am not able to load it successfully. I have checked the HPCM logs but found nothing. I then checked the "Import Exception" table and found the following error message.
    ERROR_POPULATED_DIM_COLUMNS_DO_NOT_MATCH_STAGE_DEFINITIONCan anyone please help me with this.
    Regards,
    -SM

    It is a bug and there is a patch available.
    Oracle Support - "Bug 12905298 : INTERFACE FAILS TO INTEGRATE ON STEP "LOAD DATA INTO PLANNING"
    Patch = 12905298: INTERFACE FAILS TO INTEGRATE ON STEP "LOAD DATA INTO PLANNING"
    Cheers
    John
    http://john-goodwin.blogspot.com/

  • How to update two tables in a single call using JDBC Sender adapter

    Hello All,
    The scenario is, database entries have to be selected from two tables and at the same time those tables have to be udpated with the flag.
    We are using JDBC sender adapter and in Select Query, we are fetching the data by joinin the two tables.
    Update Statemtent: We can only update one table using this statement.
    Is it possible to update two tables using the Update Statement without using Stored Procedures.
    Let me know.
    Regards,
    Sreenivas.

    Hi Sreenivas,
    > Is it possible to update two tables using the Update Statement without using Stored Procedures.
    Yes its possible through join statement
    Check this links
    Update in JDBC Sender adapter for more than one table
    data from 2 tables for jdbc sender adapter
    Regards
    Ramesh

  • Problem in back to back interface calls using JDBC adpater

    Hi,
    I am facing a problem while using the JDBC adapter from XI to oracle for back to back iterface calls.
    as my scenario is as follows i am doing synchronus call with the first interface which is working fine, immediately after the synchronus call i am doing a asynchronus call which is showing as successfull in XI but it is not at all reaching to oracle side as it is supposed to update a table in oracle using a stored procedure.
    any idea what could be the problem?
    Shravan

    Hi Shravan,
    It would be helpful if you could tell us the error thrown
    by your JDBC adapter in the <b>RWB--> ADAPTER MONITORING</b>.
    Also, if possible can you give us the message being passed to your JDBC adapter.
    meanwhile, just check your JDBC adapter document format against the formats in this link.
    http://help.sap.com/saphelp_nw04/helpdata/en/2e/96fd3f2d14e869e10000000a155106/content.htm
    For execution of a stored procedure using JDBC adapter, make sure that the action attribute is
    <b>EXECUTE</b> and the table name provided is the name of the STORED PROCEDURE.
    Regards,
    Bhavesh

  • Reporting of Child Routed Calls Using Parent TCD table

                       The TCD records of Parent do not show RoutID, ServiceSkillTargetID filed for calls routed by Child ucce. The Calltype ID filed shows "-1" for all such records. The dbo Service Table in parent is correctly populated and contains all child calltypes as peripheral number and mapped to ServiceSkillTargetID.
    But still the TCD records on parent show routeid and serviceskilltargetid as blank for all calls that are routed by Child... any suggestions to fix this.
    My requirement is:- There are around 7 calltypes on child that terminate on a particular skillgroup. I want to report call meterics for any 5 of them and that too by using Parent system and not Child. I am not able to differentiate the calls as serviceskilltargetid field or routeid field is not populated.

    Hi Navjit,
    Is it a typical Parent-Child Call Flow ?
    Are you open to saving some information in call peripheral variable which can help in corelating call between parent & child ?

  • Reg:Error in JDBC Lookup Table

    Hi All,
    My actual requirement is,A project ID is being triggered to PI which will pull the data from the database(SQL Server 2000) ,from different tables and it has to post to file.Receiver side I will be using the File Adapter.
    For this I am using JDBC Lookup table through an User Defined function.
    // code
    String Query = " ";
    Channel channel = null;
    DataBaseAccessor accessor = null;
    DataBaseResult resultSet =  null;
    //Build the Query String
      Query =  "Select proj_id, proj_short_name from PROJECT where proj_id = '"proj_id[0]"'";
    try{
    channel = LookupService.getChannel("bs_test" ,"cc_test");
    //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 output
    resultSet = accessor.execute(Query);
    Iterator rows = null;
    rows = resultSet.getRows();
    while(rows.hasNext())
       Map rowMap = (Map)rows.next();
    //  String  proj_id = rowMap.get("proj_id");
    //  String project_name = rowMap.get("proj_short_name");
    result.addValue((String)rowMap.get("proj_id "));
    result.addValue((String)rowMap.get("project_short_name "));
    //result.addValue(proj_id);
    //result.addValue(project_short_name);
    catch(Exception ex)
    result.addValue(ex.getMessage());
    finally{
    try{
    if (accessor!=null) accessor.close();
    catch(Exception e)
    result.addValue(e.getMessage());
       //@@end
    While testing in test tab of Message Mapping,I am getting the value as 'NULL' for the project id  and am not able to see the other field.
    Please suggest me in this.
    Thanks in Advance,
    Lavanya.B

    Hi All,
    My actual requirement is,A project ID is being triggered to PI which will pull the data from the database(SQL Server 2000) ,from different tables and it has to post to file.Receiver side I will be using the File Adapter.
    For this I am using JDBC Lookup table through an User Defined function.
    // code
    String Query = " ";
    Channel channel = null;
    DataBaseAccessor accessor = null;
    DataBaseResult resultSet = null;
    //Build the Query String
    Query = "Select proj_id, proj_short_name from PROJECT where proj_id = '"proj_id[0]"'";
    try{
    channel = LookupService.getChannel("bs_test" ,"cc_test");
    //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 output
    resultSet = accessor.execute(Query);
    Iterator rows = null;
    rows = resultSet.getRows();
    while(rows.hasNext())
    Map rowMap = (Map)rows.next();
    result.addValue((String)rowMap.get("proj_id "));
    result.addValue((String)rowMap.get("project_short_name "));
    catch(Exception ex)
    result.addValue(ex.getMessage());
    finally{
    try{
    if (accessor!=null) accessor.close();
    catch(Exception e)
    result.addValue(e.getMessage());
    //@@end
    While testing in test tab of Message Mapping,I am getting the value as 'NULL' for the project id and am not able to see the other field value.
    Output:
    <?xml version="1.0" encoding="UTF-8" ?>
    <ns0:mt_test_recv xmlns:ns0="http://xxxx">
    <proj_id>null</proj_id>
    <proj_short_name />
    </ns0:mt_test_recv>
    Please suggest me in this.
    Thanks in Advance,
    Lavanya.B
    Edited by: Lavanya Balanandham on Dec 5, 2008 6:51 AM

  • Usage of more number of Staging tables

    Hi,
    We use more staging tables for our processes in DWH project. Hence, it increases the total number
    of tables in our schema. Will it put more stress on Oracle Catalog/Meta-data management, please
    suggest, what is the optimal number of tables to be maintained in a schema? Thank you.
    Regards,
    DR

    what is the optimal number of tables to be maintained in a schema?As few as possible, but no more than necessary.

  • Source table = Staging table = Cube in a single mapping?

    I want extract data from some source tables and load a staging table. Then, using the staging table as a source, I want to load a cube.
    I have tried doing all that in a single mapping, with the staging table operator in the middle of the mapping.
    Apparently, it does not work. Only the second part of the mapping is generated, that is, the merge statement that loads the cube using the staging table as the source.
    Of course, I can build two mappings, and execute one after the other.
    My question is: is the first approach feasible? Can I somehow load a staging table, and then use that as the source to load a cube, all in a single mapping?
    Best regards
    Juan Algaba

    Hi,
    doing all this in one mapping is bad very design - but possible. What says the runtime audit browser? How do you know that only the second part of the mapping is was executed?
    Regards,
    Detlef

  • Copy from staging table to multiple tables

    We are using an SSIS package to fast load our data source into a staging table for processing.
    The reason we are using a staging table is that we need to copy the data from staging to our actual DB tables (4 in total), and the insertion order matters as we have foreign key relationships.
    When copying the data from our staging table, should we enumerate through all the records and use an insert-select method for each row or is there a more efficient way to do this?

    Our raw data source is a mdb file and we are using SSIS to fast load into SQL Server, and we are looking to transform the data set into 3 tables (using a stored proc):
    Site (SiteID, Name)
    Gas (ID, Date, Time, GasFIeld1, GasField2....., SiteID)
    GenSet (ID, Date, Time, GenSetField1, GenSetField2.....,
    SiteID)
    Each record in our raw data source contains a Name field which identifies the Site. We only need to add a new site to the Site table if it does not already exist. This is already coded and working using insert-select and NOT EXISTS.
    We now need to iterate over all records and extract a subset of data for the Gas table and extract a subset of data for the GenSet table and link each row with the
    associated SiteID, using Name field.
    The insertion order should be Site table first then remaining tables.
    Are you saying it would be better to transform this data using SSIS and not to use a staging table and stored procedure?
    I would prefer using staging + sp appproach here as that would involve set based logic and would be faster performance wise
    Please Mark This As Answer if it helps to solve the issue Visakh ---------------------------- http://visakhm.blogspot.com/ https://www.facebook.com/VmBlogs

  • JDBC/select/async statement to JDBC/stored procedure/sync call

    Hi
    We have JDBC/select/async statement to JDBC/stored procedure/sync call i.e sender and receiver are JDBC.
    PI has to pick all the the records of single internal order number at a time from sender system and upload to receiver JDBc,
    gets the response and routes to sender/insert statement.
    This should run only once per day.
    We will have multiple Internal orders daily, each order consisting of 10 to 20 records but only one IO related records has
    to upload to Receiver/JDBC
    What are the options available ?
    We have thought of following options
    1. SQL query is already to pick, but we have to pick records at one time daily. example: morning,evening or midnight.
       At that time it can pick multiple times but it should not pick through out day
    2. Is there any option in BPM so that we can group IO's at a time and upload ? If so what are the steps need to use
       Any additonal receive step need to be used to pick the records from the table.
    Thanks

    hi
    as i can understando you, you will receive mani IO and you must execute one IO in the receiver SP? if so, you can solve this usssing a ccBPM where you will have to create a mapping(0.N) where the source and the target structure will be the same, the diferrence will be in the occurrance of the target structure which will have to be 0.N (Tab signature in Message Mapping). then back to the ccBPM define a block with the property ForEach. this will  loop any times accord with the number of IO that you receive from the sender. as a result you will execute one SP for each IO.
    so, you ccBPM will be
    RS>TS>BLOCK(Multiline container and single container of source structure)>TS->SS
    RS:Receive Step
    TS:Trans. Step
    SS:Send Step
    Also the container will be:
    source--> type Abs
    source_multiline --> type Abs
    target -->type Abs
    Thanks
    Rodrigo P.
    Edited by: Rodrigo Alejandro Pertierra on Jun 24, 2010 4:54 PM

  • Conditional Insert into staging table by using sqlloader

    Hi,
    In Oracle apps I'm submitting a concurrent program programmatically which will call sqlloader and insert into a staging a table.
    This table consists of 30 columns.Program has one input parameter.If parameter value = REQUIRED Then it should insert into first three columns of staging table.If it's APPROVED then it should insert into first 10 columns of the same table.
    Data file is pipe delimited file which may or may not have all possible values :For Required,I many not have all three column values

    >
    I think you understood the thinks wrongly. OP marked UTL_FILE as the correct answer, which is again a server side solution.
    >
    Perhaps you failed to notice that the answer now marked correct was posted AFTER mine. I'm not clairvoyant and OP did not state whether a server side or client side solution was appropriate.
    I stand by my comments. Using an external table is an alternative to sql loader but, as I said, simply using an external table instead of sql loader doesn't address OPs problem.
    >
    And IMO, external table will be faster than UTL_FILE
    >
    I'd be more concerned with why OP wants to write a procedure to parse flat files, deal with data conversion errors and perform table inserts when Oracle already provides that functionality using either external tables or sql loader.
    I would suggest loading the file into a new staging table that can hold all of the columns that might be contained in the flat file. Then the appropriate data can be moved to OPs staging table according to the required business rules.
    Sounds like we each think OP should reconsider the architecture.

  • Calling a stored procedure with VARRAY as out parameter using JDBC

    Hi,
    I want to use the data type VARRAY as an out parameter in an Oracle stored procedure. I want to call the stored procedure from
    my java program using JDBC.
    I'm using Oracle 8.1.5 for Windows NT.
    Please help me.
    Thanks
    Sumanta
    null

    Originally posted by JDBC Development Team:
    It's very similar to other datatype except that it uses OracleTypes.ARRAY typecode and the value is mapped to a oracle.sql.ARRAY instance. The code looks as follows --
    cstmt.registerOutParameter (idx, OracleTypes.ARRAY, "VARRAY_TYPE_NAME_HERE");
    cstmt.execute ();
    ARRAY array = (ARRAY) cstmt.getObject (idx);
    Thanks for your reply.
    I have to use:-
    OracleCallableStatement cs1 = (OracleCallableStatement )conn.prepareCall
    ( "{call proj_array(?)}" ) ;
    for retrieving a collection as an OUT parameter.
    This gives me the errors:-
    C:\jdbc\VarraySQL.java:0: The method oracle.jdbc2.Blob getBlob(int) declared in class oracle.jdbc.driver.OracleCallableStatement cannot override the method of the same signature declared in interface java.sql.CallableStatement. They must have the same return type.
    import java.sql.*;
    ^
    C:\jdbc\VarraySQL.java:0: The method oracle.jdbc2.Array getArray(int) declared in class oracle.jdbc.driver.OracleCallableStatement cannot override the method of the same signature declared in interface java.sql.CallableStatement. They must have the same return type.
    import java.sql.*;
    ^
    C:\jdbc\VarraySQL.java:0: The method oracle.jdbc2.Clob getClob(int) declared in class oracle.jdbc.driver.OracleCallableStatement cannot override the method of the same signature declared in interface java.sql.CallableStatement. They must have the same return type.
    import java.sql.*;
    ^
    C:\jdbc\VarraySQL.java:0: The method oracle.jdbc2.Ref getRef(int) declared in class oracle.jdbc.driver.OracleCallableStatement cannot override the method of the same signature declared in interface java.sql.CallableStatement. They must have the same return type.
    import java.sql.*;
    ^
    How do I get rid of these errors?
    null

  • Creation of sale order using bapi in webdynpro using table control

    only first row is getting updated when checked in va03, the line items are not getting replaced, only first row is committed..
    Here is the code for table control i used...
    http://www.scribd.com/doc/51879492/creation-of-sale-order-using-bapi-in-webdynpro-using-table-control
    pls help me out with this..

    Duplicate Posting.  Original is here: Sales order creation with bapi in webdynpro using table control

  • Creation of tables using JDBC or SQLJ in webdynpro application

    Hi,
    I am trying to create tables in javadictionary(MaxDB)using my WebDynpro application.I tried creating tables using SQLJ and JDBC.But I was not able to do it.I can select and insert data into already created tables.
    Whwn I tried creating a table using JDBC I encountered the following exception.
    com.sap.sql.log.OpenSQLException: The SQL statement "CREATE TABLE TMP_DEPID (DEPID varchar(10) NOT NULL,DEPNAME VARCHAR(25))" contains the syntax error[s]: Open SQL syntax error: CREATE ... TABLE is not supported
    SQL syntax error: "VARCHAR" is a reserved keyword and cannot be used as an unquoted identifier
    Does this mean that creating tables is not supported?
    Can anyone help me in this matter?
    Thanks in advance,
    regards
    ~Pradeep Shetty

    Hi Pradeep,
    Yes, OpenSQL does not support creation of tables. But why would you need to create tables at runtime?! The natural way is to create the model at design time of your application, i.e. with the Java DataDictionary.
    However, if for any reason you really need to create database tables at runtime, you can achieve this by using a non-OpenSQL datasource, e.g. you could create a VendorSQL one and use it to obtain JDBC connections in your app. See also http://help.sap.com/saphelp_nw04/helpdata/en/c0/3ad4d5cdc66447a188b582aad537d3/frameset.htm.
    Hope that helps!
    Vladimir

  • I have imported contacts from Outlook to Mail and they have synced via iCloud to my iPhone 3GS. I can't get my iPhone to make a call using these contacts but if I dial the number of any of the contacts on the keypad, the call DOES work! Help me please!?

    I have imported contacts from Outlook to Mail and they have synced via iCloud to my iPhone 3GS. I can't get my iPhone to make a call using these contacts (it tries but then says call ended) but if I dial the number of any of the contacts on the keypad, the call DOES work! Help me please - is there something I need to do to the contacts because tehy came from Outlook? Thanks

    Thank you for replying.    Yes I deleted the old email address..   

Maybe you are looking for

  • All Mac apps don't work after cloning on new hd.

    All Mac apps don't work after cloning on new hd. I used CCC to clone 10.6.8 then onto new drive. Everything works BUT all Mac apps. Error: You can't open the app(s) because it is not supported on this type of Mac. (On MacBook 2011) Thanks for your he

  • Unusual behaviour setting up outlook express 6

    Hi, I have just installed a new hard drive ( windows XP Pro svc pk 3, bt home hub,) and when I configured Outlook express 6, it downloaded all my emails ( 25000+) and every time outlook downloads my emails it wants to download all  25000+ emails agai

  • Netting Onhand from multiple Organizations (Global Netting)

    Hi ASCP Experts, We are on 11.5.10.2 with the latest rollups. We are running EDD constraint plan. Our requirement is to net onhand from all organizations before we create planned orders in the organization where the demand originates. We need this lo

  • How to generate .PRN file from a ReportDocument object in Crystal Reports 10.

    Hi, I have reports created in Crystal 10 version. From the VB .Net code I am able to load the report to ReportDocument object and able to print it to the local printer. Now I need to generate .PRN file of the report for faxing purpose. Can anyone hel

  • Possible to generate graphics dynamically using ABAP?

    Hello friends, It is possible to generate graphics dynamically using ABAP as programming language? In the same line like SVG (Scalable Vector Graphics) or ChartDirector? Output of this abap program should be a picture. Daniel