JDBC to IDOC Scenario - select data in jdbc based on multiple conditions

Hello
     I have a JDBC to IDOC Scenario. I have to select the records in JDBC based on different conditions each time. For example I have to select based on company code '1000' and Employee claasification 'E1' and date range. After I post these records in SAP again I want to select other records for some other company code '2000' and different business area and different dates. Basically I want to extract data multiple times based on different conditions.
Hiow do I achieve this?
Another question is in the JDBC to IDOC scenario since the sender adapter is JDBC and the sender adapter polls depending on the duration of time ( say 60 secs ) in the adapter once after I extract the data based on a condition how do I control in such a way that the same data is not extracted again.
Thanks
Naga

Hi Naga,
I have to select the records in JDBC based on different conditions each time. For example I have to select based on company code '1000' and Employee claasification 'E1' and date range. After I post these records in SAP again I want to select other records for some other company code '2000' and different business area and different dates. Basically I want to extract data multiple times based on different conditions.
-->
Such requirements cant be handle through select query of the sender...but you can handle this in the message mapping area.....you can fire a select query in the database to pick up records in a batch of 10K (do not keep any condition on this except for sorting). After the records come into PI you can send the message to your target based on the unique combination of "Company code+ Employee clasification + date range" handling this in the message mapping.
Another question is in the JDBC to IDOC scenario since the sender adapter is JDBC and the sender adapter polls depending on the duration of time ( say 60 secs ) in the adapter once after I extract the data based on a condition how do I control in such a way that the same data is not extracted again.
You can use the N--> C logic
The data records that you pick have a corresponding control table i assume. There should be a field STATUS where the initial status of record should be N.
After you pick the records this status should be made C so that only those records present in the database with status = N are picked up.
Mention the condition Status = N in the select query.
Thanks
Dhwani

Similar Messages

  • Select data from Table1 based on Table2

    Hi Guys,
    Can you guide me up on how to select data from Table1 based on Table2?
    I want to fetch data which is not there in table2 in my table1 select query.
    Is that I have to do it with the loops after I select data from both tables or can it be handled directly in my select query?
    Please suggest.
    Regards,
    Kumar.

    hi
    Try This
    In Where condition filedname (Not Equal) < > itab2-fieldname.
    select * from itab1
    into table lt_tab.
    seect * from itab2
    into table lt_tab
    for all entries in lt_tab
    where name < >(Not Equal to)itab2-fieldname.

  • Deleting data from another table with multiple conditions

    Hi frnds
    I need to delete some data from a table based on multiple condition I tried following sql but its deleteing some rows which is not meeting the criteria which is really dangerours. When i trying = operator it returns ORa- 01427 single -row subquery returns more than one row
    delete from GL_TXNS
    where TRN_DT in (Select trn_Dt from GL_MAT)
    and BR in (select ac_branch from GL_MAT)
    and CODE in (select CODE T from GL_MAT)
    and (lcy_amt in (select lcy_amt from GL_MAT) or
    fcy_amt in(select fcy_amt from GL_MAT)
    rgds
    ramya

    My answer is the same as Avinash's but I will explain a little bit more.
    ORa- 01427 single -row subquery returns more than one rowmeans that you have a subquery that Oracle is expecting one value from that is returning multiple values. In your case you need one value for the equijoin ("=") and you are getting more than one value back. The error happens even if all the values are the same - multiple values being returned will cause the error.
    The solution is to either allow multiple values to be returned (say, use the IN condition istead of "=") or only return one value if possible (say, forcing one value by using DISTINCT, GROUP BY, or a WHERE clause condition of ROWNUM=1) - but these workarounds must be checked carefully to make sure they work correctkly

  • Selecting data from single table with different condition in single query

    Hi everybody...
    I have one table with col1, col2, col3, col4, col5... as columns.
    I want to select col1, col2, col3 with condition (x=y and a=b and c=d)
    I want to select col4, col5 with condition (x=y and a=b and m=n )
    in single query...
    Thanx for ur help

    Given this data set...
    SQL> select * from oddity
      2  /
          COL1       COL2       COL3       COL4       COL5 A X C M
             1          2          3          4          5 B Y   M
             1          2          3          4          5 A Y C N
             1          2          3          4          5 A Y D M
             1          2          3          4          5 A Y D N
             1          2          3          4          5 B Y D N
             1          2          3          4          5 B Y D U
    6 rows selected.
    SQL>The following query meets the requirements. Of course, the requirements as stated are incomplete. I ahave assumed that we select all five columns if C=D andM=N.
    SQL> SELECT decode(c, 'D', col1, '0') AS col1
      2         , decode(c, 'D', col2, '0') AS col2
      3         , decode(c, 'D', col3, '0') AS col3
      4          , decode(m, 'N', col4, '-8') AS col4
      5           , decode(m, 'N', col5, '-8') AS col5
      6  FROM oddity
      7  WHERE a = 'B'
      8  AND  x = 'Y'
      9  /
          COL1       COL2       COL3       COL4       COL5
             0          0          0         -8         -8
             1          2          3          4          5
             1          2          3         -8         -8
    SQL> Cheers, APC

  • Select one record per person from multiple conditions

    Perhaps been staring at this too long and making changes to try and gather the correct population, but can't seem to figure it out at the moment. Trying to determine logic to select one record per person. If person has more than one record would like to choose the record that matches the sequence priority which is:
    AND CASE WHEN ac.primary_program_ind = 'N'                                       --Existing Students who have a new program (Continuing Law and added Business)
                                   AND ac.academic_period_admitted = ac.academic_period
                                   AND ac.student_population <> 'V'
                                   AND ac.program is not null THEN 'Y'
                                WHEN ac.primary_program_ind = 'Y'                                        --Visitors (Each term considered new)
                                   AND ac.student_population = 'V'
                                   AND ac.academic_period_admitted is not null THEN 'Y'
                                WHEN ac.primary_program_ind = 'Y'                                        --Normal Cases
                                   AND ac.academic_period_admitted is not null THEN 'Y' --= ac.academic_period THEN 'Y'
                       END = 'Y' Meaning that if the person has records that meet more than one of the above cases, it should choose the record matching the First Case of the case statement. If the records do not meet the first case at all then look to see if it meets the second case and if it does choose that record, etc.
    Sample Data:
    SELECT 363 AS PERSON_UID, '1875' AS ID, '201140' AS ACADEMIC_PERIOD, '201040' AS ACADEMIC_PERIOD_ADMITTED, 'UG' AS STUDENT_LEVEL, '' AS EXIST_NEWPROG, 'Y' AS VISITORS, 'Y' AS NORMAL, 'V' AS STUDENT_POPULATION, 'Y' AS PRIMARY_PROGRAM_IND, 'LA' AS PROGRAM FROM DUAL
    UNION SELECT 852, '1962', '201130', '201040', 'GR', '', '', 'Y', 'C', 'Y', 'MS'  FROM DUAL
    UNION SELECT 852, '1962', '201140', '201140', 'GR', 'Y', '', '', 'G', 'N', 'MBA' FROM DUAL
    UNION SELECT 852, '1962', '201140', '201040', 'GR', '', '', 'Y', 'G', 'Y', 'MS' FROM DUAL
    UNION SELECT 659, '1093', '201140', '200840', 'UG', '', '', 'Y', 'T', 'Y', 'BB' FROM DUALSo for the above data on ID '1962', I would like to select the record that has EXIST_NEWPROG = 'Y' and ignore the other rows for that ID. Note:EXIST_NEWPROG, VISITORS, NORMAL I added to sample data, these cols don't actually exist. Put in for easier display purpose to show what case statements are doing. The actual sql statement has many joins and where statements, but hopefully this simplification of the sql will be sufficient to derive a solution.
    WITH MULTIROWS AS
    SELECT 363 AS PERSON_UID, '1875' AS ID, '201140' AS ACADEMIC_PERIOD, '201040' AS ACADEMIC_PERIOD_ADMITTED, 'UG' AS STUDENT_LEVEL, '' AS EXIST_NEWPROG, 'Y' AS VISITORS, 'Y' AS NORMAL, 'V' AS STUDENT_POPULATION, 'Y' AS PRIMARY_PROGRAM_IND, 'LA' AS PROGRAM FROM DUAL
    UNION SELECT 852, '1962', '201130', '201040', 'GR', '', '', 'Y', 'C', 'Y', 'MS'  FROM DUAL
    UNION SELECT 852, '1962', '201140', '201140', 'GR', 'Y', '', '', 'G', 'N', 'MBA' FROM DUAL
    UNION SELECT 852, '1962', '201140', '201040', 'GR', '', '', 'Y', 'G', 'Y', 'MS' FROM DUAL
    UNION SELECT 659, '1093', '201140', '200840', 'UG', '', '', 'Y', 'T', 'Y', 'BB' FROM DUAL
    select *
    from multirows ac
    where  CASE WHEN ac.primary_program_ind = 'N'                                       --Existing Students who have a new program (Continuing Law and added Business)
                                   AND ac.academic_period_admitted = ac.academic_period
                                   AND ac.student_population <> 'V'
                                   AND ac.program is not null THEN 'Y'
                                WHEN ac.primary_program_ind = 'Y'                                        --Visitors (Each term considered new)
                                   AND ac.student_population = 'V'
                                   AND ac.academic_period_admitted is not null THEN 'Y'
                                WHEN ac.primary_program_ind = 'Y'                                        --Normal Cases
                                   AND ac.academic_period_admitted is not null THEN 'Y' --= ac.academic_period THEN 'Y'
                       END = 'Y'

    Hi,
    user1069723 wrote:
    Thanks Frank. I've been incorporating your solution and going over the data, (which is why it has taken so long to respond) and am getting closer, however the approach you provided excludes people who have a "RNum" of 2 or 3, but do not have a 1 at all. So people that only have a 2 and 3 OR only have a 2 or only have a 3 would not be captured, but if there is only one record, they would be missed.
    Here is another set of records of one person.
    SELECT 921 AS PERSON_UID, '8284' AS ID, '201130' AS ACADEMIC_PERIOD, '201030' AS ACADEMIC_PERIOD_ADMITTED, 'UG' AS STUDENT_LEVEL, '' AS EXIST_NEWPROG, 'Y' AS VISITORS, 'Y' AS NORMAL, 'V' AS STUDENT_POPULATION, 'Y' AS PRIMARY_PROGRAM_IND, 'LA' AS PROGRAM FROM DUAL
    UNION SELECT 921, '8284', '201140', '201040', 'UG', '', '', 'Y', 'F', 'Y', 'BB'  FROM DUAL
    Sorry, I can't reproduce the problem.
    If I add the two new rows of sample data that you posted today to the data you posted yesterday, then the query I posted yesterday produces:
    PERSON_UID ID   ACADEM ACADEM ST E V N S P PRO      R_NUM
           659 1093 201140 200840 UG     Y T Y BB           1
           363 1875 201140 201040 UG   Y Y V Y LA           1
           852 1962 201140 201140 GR Y     G N MBA          1
           921 8284 201130 201030 UG   Y Y V Y LA           1Io you get the correct output for the original ids?
    If I DELETE all the rows where id != 8284 I still get the same results for id=8284.
    'm using Oracle 11.1.0.6.0. What version are you running?
    Post your exact code, even iof you think you copied it from thsi site without any changes. Perhaps there was some subtle eidting mistake.
    I would like to select the record for Academic_Period = 201140 for this person. Is the problem that you're getting the wrong row for id=8284, or that you're not getting any output for id=8284?
    Why would you want to get the row with academic_period=201140? (Let's call this row A.) Why don't you want the other row for that person, the one with academic_period=201130? (Let's call this row B.) On both of those rows, primary_program_ind='Y' and academic_period_admitted is not NULL. The only significant difference between those two rows is that student_population='F' on row A, and it's 'V' on row B. Doesn't that mean that row B causes the CASE expression to return 3 ("Normal Case"), while row B makes it return 2 ("Visitor")? Doesn't that mean row B should be preferred to row A?
    Then again, perhaps this is just what you mean by saying that "term" is the main factor in deciding which row to select, and that the CASE expreesion ("New Program" before "Visitors", followed by "Normal Cases") is just a tie-breaker.
    Based on my understanding of the code you provided, this person is being excluded altogether because they do not have a record that evaluates to rnum = 1.ROW_NUMBER never returns a value of 2 or 3 unless it has already returned a value of 1. (At least that's how it's supposed to work, and I've never heard of any bugs concerning it.)
    This record is also complicated because it has two terms, Does "term" mean "academic_period" here?
    in all cases, we would want to select the highest term and then if there is still more than one qualifying record, base the "tie breaker" on the cases. Does this make sense or is my explanation still unclear?It's unclear.
    Maybe you need to add one more line at the beginning of the analytic ORDER BY clause (the 6th line below):
    WITH     got_r_num     AS
         SELECT     m.*
         ,     ROW_NUMBER () OVER ( PARTITION BY  id
                             ORDER BY       
                                             academic_period     DESC,          -- Added
                                             CASE
                                       WHEN  primary_program_ind      = 'N'     --Existing Students who have a new program (Continuing Law and added Business)
                                                       AND   academic_period_admitted      = academic_period
                                                       AND   student_population       != 'V'
                                                       AND   program                is not null
                                            THEN 1
                                                    WHEN  primary_program_ind      = 'Y'     --Visitors (Each term considered new)
                                                       AND   student_population      = 'V'
                                                       AND   academic_period_admitted is not null
                                            THEN 2
                                                    WHEN  primary_program_ind      = 'Y'     --Normal Cases
                                                   AND   academic_period_admitted is not null
                                            THEN 3
                                             END
                           )     AS r_num
         FROM     multirows     m
    --     WHERE     ...     -- If you need any filtering, this is where it goes
    SELECT     *     -- or list all columns except r_num
    FROM     got_r_num
    WHERE     r_num     = 1
    ;

  • What makes a field eligible for selecting data in a subreport?

    Hello,
    I have posted the following question to [StackOverflow|http://stackoverflow.com/questions/4366702/what-makes-a-field-eligible-for-selecting-data-in-a-subreport], but it has so far generated no replies. I decided to cross-post it here to see if I could get a better result.
    The TL;DR of it is that I have a field which I should be able to link in my Subreport, but it does not appear, and I was wondering what I need to do to make it appear.
    I have a Crystal Report I'm trying to recreate from scratch after an update from VS2008 to VS2010 caused it to implode horribly.
    I've gotten most of the way through, but I'm at a stage where I'm linking a field in the Main Report to a corresponding field in the Subreport.
    I have set up a bunch of Database fields in the Subreport, I've added the table I want, TableA, I've linked it up as everything was linked in the original report, with TableA at the head of the linking chain, so that all the rows I want can be derived from the result of that first query ( Actually, all of the links from the original Report were red in the Database Fields linking dialog, whereas mine are a bit rainbow-y. All the links in TableA are red, though... _ )
    In the "Subreport Links" dialog, I have an integer which I know is being pulled from the database correctly. I've added it in the "Fields to link to" listbox, and selected the newly-created parameter in the "Subreport parameter to use" combobox. I've ticked the "Select data in subreport based on field" checkbox.
    The database field I want to link to then does not appear in the second combobox.
    Another integer field in TableA shows up fine in the "Select data..." combobox (and is linked to another field being passed in), so I don't know why these two integer fields, which are equally important, and exist on the same level, on the same table, are being treated differently by the report designed.
    Any ideas what I'm doing wrong?

    Here is what I'd do:
    1) Download CR 2008 eval designer from here:
    http://www.sap.com/solutions/sapbusinessobjects/sme/freetrials/index.epx
    2) Try the linking in CR 2008 designer
    3) If it does not work there, ask why not in the [CR design|SAP Crystal Reports, version for Visual Studio; forum.
    4) If you get the linking working in the CR 200 designer, try to run the report in your VS2010 app (after ensuring the report woks as expected in CR 2008).
    5) If (4) above works out for you, please let me know as this may be an issue with CRVS2010.
    Ludek
    Follow us on Twitter http://twitter.com/SAPCRNetSup
    Got Enhancement ideas? Try the [SAP Idea Place|https://ideas.sap.com/community/products_and_solutions/crystalreports]

  • Deleting data from a table(JDBC to IDOC scenario).

    Hi,
    For JDBC to IDOC scenario, the requirement is as explained below:
    1: There are 2 tables-> GDDB and CHANGES
    2: Poll the CHANGES table every 30 mins everyday.
    3: a)Publish the records for which the 'published' flag status is 'N'
       b)Update the status as 'Y' after publishing.
    4: On the first day of every month, delete the records from the CHANGES table if the record is 3 months old and 'published' status is 'Y'
    I would like to know how  update and delete can be done using one JDBC adapter?
    Regards,
    Vishal.P.Kulkarni

    Hi,
    update:
    there is a field in the sender jdbc adapter - SQL statement for update - put it there
    delete - On the first day of every mont
    create a job on the database which will trigger the delete statement
    it does not/ should not have to be done with XI
    Regards,
    Michal Krawczyk

  • IDoc to JDBC  and JDBC to IDoc Scenario

    Dear All,
    I am working on IDoc to JDBC and JDBC to IDoc Scenario.
    I have to send Idoc from SAP to Non SAP system(.NET application) i almost configured in XI but still i don't know when my INTEGRATION will INVOKE how my data will proceed from IDOC to Oracle database(Through JDBC) and in case of revese how and when Data flow will start.
    Does anyone have completed STEP by STEP scenario document for this?
    How my Idoc will sent to XI?
    How XI will pick up data from IDoc?
    How XI will Convert data to JDBC and UPDATE in Oracle Database?
    And i reverse case(JDBC to IDoc) when my INTEGRATION will INVOKE?
    Where and When i can watch my process and data?
    How can i test the whole integration?
    I AM GETTING ERROR WHILE TESTING CONFIGURATION IN Integration Directory "Error while refreshing the XI runtime cache" and when i check this in SXI_CACHE  it gives me error
    "Unable to refresh cache "NO_BUSINESS_SYSTEM"
    "Error during last refresh to cache"LCR_GET_OWN_BUSINESS_SYSTEM - NO_BUSINESS_SYSTEM"
    Please solve all the above problems i will reward u points
    thanks,
    RP

    Hi,
    While we working on IDOC to JDBC interface..
    We have to deploy JDBC Drivers?
    Go through this links,
    /people/varadharajan.krishnasamy/blog/2007/02/27/configuring-jdbc-connector-service-to-perform-database-lookups
    http://searchsap.techtarget.com/tip/0,289483,sid21_gci1246926,00.html
    To install JDBC driver follow the how to guide.
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/library/xi/xi-how-to-guides/how%20to%20install%20and%20configure%20external%20drivers%20for%20jdbc%20and%20jms%20adapters.pdf
    Configuration of JDBC Adapter for SQL Server
    JDBC Driver = com.microsoft.jdbc.sqlserver.SQLServerDriver
    Connection = jdbc:microsoft:sqlserver://hostname:<port>;DatabaseName=<DBName>
    UserID and Password.
    If the connection is not working find the correct port number.
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/40b92770-db81-2a10-8e91-f747188d8033
    JDBC- X I -  R/3 Scenario
    /people/bhavesh.kantilal/blog/2006/07/03/jdbc-receiver-adapter--synchronous-select-150-step-by-step
    /people/sap.user72/blog/2005/06/01/file-to-jdbc-adapter-using-sap-xi-30
    Please check the driver path as mentioned below.
    JDBC Driver : sun.jdbc.odbc.JdbcOdbcDriver
    Connection:jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ=//location of DB table.mdb;
    No JDBC driver required.
    Receiver JDBC scenario MS access - /people/sameer.shadab/blog/2005/10/24/connecting-to-ms-access-using-receiver-jdbc-adapter-without-dsn
    follow this thread
    Re: Problem when connecting to MS Access through JDBC Adapter.
    SAP Note 850116 has details
    /people/michal.krawczyk2/blog/2005/12/04/xi-idoc-bundling--the-trick-with-the-occurance-change
    Configuring the Sender JDBC Adapter
    http://help.sap.com/saphelp_nw04/helpdata/en/1d/756b3c0d592c7fe10000000a11405a/content.htm
    Configuring the Receiver JDBC Adapter
    http://help.sap.com/saphelp_nw2004s/helpdata/en/b0/676b3c255b1475e10000000a114084/content.htm
    Idoc Reveiver adapter..
    http://help.sap.com/saphelp_erp2004/helpdata/en/b9/c5b13bbeb0cb37e10000000a11402f/content.htm
    Thanks,
    Satya Kumar
    /people/michal.krawczyk2/blog/2005/12/04/xi-idoc-bundling--the-trick-with-the-occurance-change
    Edited by: SATYA KUMAR AKKARABOYANA on May 8, 2008 5:51 PM

  • JDBC to Multiple IDOC scenario

    Dear Experts,
    My Scenario is JDBC to Multiple IDOC scenario.
    I am reading 100 records and generating 100 IDOC's at the target ECC system, the problem which I am facing is if I have any issue with 1 record the total message gets failed in SXMB_MONI due to mapping failure.
    So again I need to reset all 100 records in my source database and I should reprocess the same.
    Is there any way to process the 99 and fail only one record which causes error.
    Is Stored procedure will fix this issue or do I need to use BPM for this to achieve.
    Please advice.
    Thanks,
    --Sai

    Hi Sai,
    As you are selecting 100 records in one go, all the records will come as a single message in PI.
    Please find below my suggestion for this issue.
    1. Selecting one record per message will not be efficient. So please do not use it.
    2. Create a secondary sctucture. Generate it only if there is an error in the record. You may set up an alert for that message. So if any error occurs, other 99 idocs can go normally, while you will get an aleart for the failed record.
    3. Another option is to create an idoc for error record also. You can do this by providing some default values in place of error fields. You can then monitor such idocs in ECC.
    Personally, i feel 2nd option is the best. Let me know if you need more information on this.
    Regards,
    Gavaksh

  • Mapping Error with Sender JDBC- Idoc scenario

    Hi Guru's,
    I've got a simple asyncronous sender JDBC to Idoc scenario, and I encounter a strange problem with the mapping.
    When I test the mapping it works fine, but when I run the scenario, only the first element (a constant) of the Idoc gets mapped, and mapping stops with no errors.
    Does someone know where to find the error?
    Thanks,
    Karst

    Hi Karst,
    There might be several reasons that you do not see the IDOC structures are not created/mapped:
    1. Most of the IDOC structures are optional (minOccrs = 0), so you have to make sure the structure itself (not just the fields within that structure) is mapped to something that does exist in the source data.
    2. Make sure your JDBC generated source data does have the right namespace as you used in your mapping. I once had a similar problem, but finally found the source data generated in run time is slightly different from the one used in mapping in terms of namespace.
    3. Test your mapping with the source data generated in runtime (you can copy it from SXMB_MONI). Then you may be able to find the problem.
    Hope this helps.
    Hart

  • Error while executing a JDBC to Idoc scenario : No standard agreement found

    Hello SAP PI Gurus, 
    I am having a JDBC to idoc Scenario .And the interface is running at 10 min of duration. 
    <SAP:AdditionalText>No standard agreement found for ,
    BS_EXT_CTBSREPDB, , BS_ERPQAS_QE1_320, http://XYZ.com/FI/FI_FI_01/Charges, FIDCC2</SAP:AdditionalText>.
    While i test the configuration...i get an error in reciever agreement as mentioned above.
    Can you pls help me in resolving this issue.
    Regards,
    Ravi

    Hi,
        I think the problem is with namespace....for IDOC the namespace will be "urn:sap-com:document:sap:idoc:messages"...but in your case it is different.....i.e http:....etc.....please check whether you 've used the same IDOC withe above mentioned namespace in all the configuration objects like interface determination, receiveragreement etc.....
    Thanks
    Priyanka

  • JDBC to IDOC Scenario

    Hi Experts,
              I have tried JDBC to IDOC Scenario but it is giving No Segments Found Exception. I don't know where I am doing the mistake.
           can any body please send me a pdf document for JDBC TO IDOC Scenario with step by step procedure from scratch (including creation of LS,LI etc)
    Thanks in Advance,
    Murthy

    Hi Murthy
    The steps are pretty much the same as any other scenario with some exceptions
    1: You import the IDOC structure from the R/3 System. This acts as the DT, MT and MI.
    You also need to do some configurations on the ABAP Stacks of sender and XI system.
    Sender:
    WE20 Partner Profiles
    SM59 RFC Destination
    XI:
    SM59 RFC Destination
    IDX1 Ports
    IDX2 This is the metadata repository so you wont necessarily need this.
    Also because you IDOCs can be sent directly to the ABAP stack/Integration Server you do not need a sender comm channel or sender agreement.
    The rest is pretty much as any other scenario.
    Please see the below links
    /people/prateek.shah/blog/2005/06/08/introduction-to-idoc-xi-file-scenario-and-complete-walk-through-for-starters
    IDOc testing - /people/suraj.sr/blog/2005/12/29/generate-test-case-for-an-idoc-scenario
    idoc settings /people/ravikumar.allampallam/blog/2005/02/23/configuration-steps-required-for-posting-idocsxi
    idoc mapping - /people/james.guanzon/blog/2006/03/23/how-to-support-industry-standards-in-xi-part-ii-of-iii--mapping
    Cheers..
    Vasu
    <u>** Reward Points if found useful **</u>

  • JDBC to Idoc scenario - change of logical system name

    Hi,
    I have a JDBC to idoc scenario that worked. Now i had to change the logical system name from my sender system from ABC_123 into ABC123 in the SLD (Business System - Integration - Logical System name). I did so and also refreshed my Cache.
    Afterwards I started the process, but it failed in the Receiver system. The idoc is correct expect of the partner name. My receiver system expect ABC123 - as I changed in the SLD - but PI send ABC_123.
    If io look in SXI_CACHE - Services my Business System still got the "old" name (ABC_123).
    Did i miss something resp. how can i load the current configuration from SLD?
    Thanks in advance
    Michael

    Hi Michael,
    Again Import the changed logical system in the Integration directory of you PI system.
    And check the scenario (Sender Agreement, Receiver agreement ) what system they are reflecting.
    If they are showing old system then you have to replace the business system in all the scenario.
    Edited by: Rajhans Abhay on Jan 7, 2010 3:14 PM

  • Mapping issue in jdbc to idoc scenario

    Hi
    we have a  jdbc to idoc scenario , we need to repeat the segment given below which has only two fields FLDGRP  and FLDVAL,
    both filed_Group and fieldgroup1 is coming simultaneously . when field group =BATCH, batch=FLDVAL and fieldgroup1=CUST cust_code=FLDVAL
    mapping is as follows :
    E1WXX01 (segment name) occurance 0:9999999999                                     
    fieldgroup----
    > FLDGRP
    batch----
    >FLDVAL
    fieldgroup1----
    >FLDGRP(same filed as above )
    cust_code----
    >FLDVAL(same filed as above)
    pl sugggest how to map using graphical mapping
    rgds
    arun

    I see the problem here... hmmm.. It is simple
    You need to just duplicate the E1WXX01 segment by right clicking and pressing Duplicate Subtree.
    Once you do duplication of segment then you will have two segments of E1WXX01.
    In first segment map
    > fieldgroup----
    > FLDGRP
    > batch----
    >FLDVAL
    and in second segment of E1WXX0, map
    > fieldgroup1----
    >FLDGRP
    > cust_code----
    >FLDVAL
    Regards,
    sarvesh

  • For Michal Krawczyk - JDBC to IDoc Scenario

    Hi Michal,
    I am trying to run JDBC to IDoc scenario and somehow my mapping is not getting executed and because of that at receiver side IDoc is not getting LIFNR value which should come from  Database table and as a result i am getting error 51 on posting the IDoc...
    Mr Reddy suggested me to go through your blog i.e
    /people/michal.krawczyk2/blog/2005/09/16/xi-how-to-test-your-mapping-in-real-life-scenarios
    After going through this blog i figured out that when i am trying to check the mapping as per way mentioned in the blog i am receiving the error "java.lang.NullPointerException"..But i am getting this error even for those scenarios also which are working fine on checking the mapping suggested by you.
    Can you suggest something...
    It would be better for you to understand my scenario if you will go through this thread also :
    https://www.sdn.sap.com/irj/sdn/forums

    hi Santosh,
    1. this is not a private forum - post to <b>everyone</b> so everyone will be have a look -<b> this way you will get more answers</b>
    2. if you want my direct help contact me by e-mail and I will contact you with my team leader and I will repair your XI problem then
    thanks for understanding
    Regards,
    michal
    <a href="/people/michal.krawczyk2/blog/2005/06/28/xipi-faq-frequently-asked-questions"><b>XI / PI FAQ - Frequently Asked Questions</b></a>

Maybe you are looking for