Read Inbound payload at mapping execution of the outbound interface

Hi,
The sap system is sending us a field, that is not avaible on the web service we are consuming.
The problem is that the sap system requires this field at the responce.
How can I read the inbound payload, when I'm mapping the outbound responce?
Thanks in advance,
A

Hi!
Thanks for your responce.
Well, I will ignore solutions 1 and 3. The project has an a "must" not tu use BPM and is not possible to modify the web service due it's a closed system (legal issues).
And regarding the second point, are you proposing to create an RFC on the sap system?, The problem is that is not possible to reconstruct the relationship between the responce and the sended message. That is why I need to read the outbound payload.
Is there any walkaround to "export" this field at the outbound mapping (Context objects?) and then import it at the inbound mapping? Where are the messages stored?... I was thinking that maybe i'll be able to read the sended message using ABAP mapping,  using the msgid to read an ABAP table (dont know which one). Can this be done?
Thanks again,
A

Similar Messages

  • In PI 7.1, condition editor does not show the outbound interface structure

    Hello,
    I am using PI 7.1, I need to use condition whild determing receivers. So I opened the condition editor, then open the expression editor, select XPath instead of Context object. I would expect that the outbound interface structure appears in the box underneath the XPath, so that I can navigate the structure to choose the field I want to use. However nothing appears here. Do you knwo why is that? Or do I need to do anything to bring up the outbound interface structure in the expression editor?
    Thanks
    Jayson

    Hi Jayson,
    I had the same problem
    the use of context objects and the value help for xpath is available for XI3.0 interfaces in PI 7.10 only. The functionality for "new" interfaces has been implemented in 7.11 only.
    you have to use xpath w/o value help.
    I have created a context object in one of our 7.10 test systems, and indeed I was unable to use it in a receiver determination unless the service interface pattern is "Stateles (XI 3.0 compatible)". If you were to change the service interface to that pattern, you have to change the operation name unless it is already identical to the interface name. So that may not be an option for you.
    It was possible to use the context object in a receiver rule but then I could not activate the receiver determination because the software component version was supposedly unknown. I will check with my PI contacts - please let me know if the change to "XI 3.0" interface would be a possible workaround for you.
    Try the steps which I am giving below, although it's a workaround and don't know the exact reason why it is failing.
    1. Open your Outbound Message Interface (which you are using in your Receiver Determination) in IR, edit it and change the Interface pattern (which is there just below the category "Outbound") to "Stateless (XI30 - Compatible)" , save it activate it.
    2. Follow the same step for your Inbound Message Interface. Change the Interface Pattern from "Sateless" to "Stateless (XI30 - Compatible)" .
    3. Go to ID. Remove your Outbound and Inbound Message Interface from their respective Business Service/Comp and add it again.
    4. Create your your receiver determination again using the Outbound and Inbound MI you have changed.
    5. Open condition editor of your receiver determination.You should be able to see your Message Interface and can choose the XPath.
    Thanks,
    Raj
    Edited by: raj reddy on Jan 21, 2009 5:41 PM

  • Sending inbound payload toanother receiver based on the first receiver resp

    Hi all
    Sending inbound payload to another receiver based on the first receiver response.
    My Scenario is like
    File to WebService. Once it receive the response from the web service i want to send webservice inbound payload to another file system.
    can anyone plz provide me the steps to achieve this one
    Thanks in advance
    Regards
    Rams

    File to WebService. Once it receive the response from the web service i want to send webservice inbound payload to another file system
    once again,
    File systems A -> FileA -> WS.request message -> WS
    WS responds back with WS response message
    1. now do you want to send the WS response message to File System A?
    then follow the blog mentioned in above responses
    2. do you want to send the WS response message to File System B?
    follow the blog. only difference in the receiver determination from BPM to file sys use the File system B as the receiver and configure file receiver adapter with that file systems detail
    3. do you want to send the WS request message to File System A?
    same blog only difference is after sync send step you will have to have another transformation that will map the WS request message to the req. target
    4. do you want to send the WS request message to File System A?
    same as 3. only receiver sys and CC details will change

  • Concurrent execution of the same interface

    Hi,
    we use ODI in an application that waits for incoming data files in a directory and uploads their content into a target database.
    The principal question I have is this:
    Can ODI handle concurrent executions of a single interface? In our use case, this happens when two (or more) users submit their files within short period of time, but I think this question is important in general. Is ODI a good fit for concurrent data flows targeting a single datastore?
    I personally doubt that. An ODI interface consists of loading and integration steps. That is, loading data into one or more temporary work tables, joining into a flow table (if having more than one source datastore), and finally integrating (merging) data into the target datastore. Most of the loading and integration knowledge modules follow this pattern:
    1. drop work table
    2. create work table
    3. populate work table
    4. use work table (e.g. for joining into a flow table)
    5. drop work table
    This seems to be a problem - indeed testing with two concurrent executions failed due to the faster instance dropping the work table being used by the other instance.
    I know you can configure the KMs not to drop the work table and/or design custom LKMs/IKMs as you see fit, yet the idea of two concurrent processes using the same work table doesn't look right to me.
    So back to my original question - what is the best practice for concurrent ODI executions on the same target? Is serializing of executions on single target a must? Does ODI provide means to achieve the serialization? Are there other options?
    Thanks in advance for your feedback.

    Sure, I like the idea.
    It's a pity that such KMs do not come out of the box with ODI. Even though I agree with you that it's an easy customization, it's still effort that someone has to pay, on top of the ODI license cost. After all, ODI is supposed to reduce the amount of development work. Hopefully Oracle realizes this and ships more reusable KMs in the future (the product is still pretty new in the Oracle portfolio).
    Thanks for your feedback, it's definitely more elegant than serializing execution (which remains an option for less demanding scenarios).
    Further elaborating your idea...How about creating an ad-hoc work schema dynamically? Is that feasible? Say by cloning a template physical schema and setting the work schema? That way the existing KMs could be reused.
    Another fancy idea would be using the substitution API in the work table prefix definition, e.g. "C$<%=odiRef.getSession("SESS_NO")%>". That would be a nice feature for Oracle to implement.

  • Regarding spaces in the last in of TXT file in the outbound interface

    Hi ,
        I am doing one outbound file, which will have 100 characters length, But last 25 characted i have to fill spaces. When i m trying to fill those 25 chatacters with spaces its not working, i tryed by creating a variabnle of 25 chracted space, still it is not working. Here below i gave the example program....
    data: wa_detailed(100) type c.
      wa_detailed+0(1) = 'suresh'.
      wa_detailed+70(5) = 'welcom'.
      wa_detailed+75(25) = '                        ',.
      append wa_detailed into ist_download.
      This is my program, i m unable to fill those spaces.
    can any one respond asap.
    Thanks,
    Suresh

    It may not be possible to append spaces in any of the variable. E.g. if you look at write statement, it does not allow us to write spaces. Instead, you can have an end of file character like '$' which is placed at 101st position. Look at the below code:
    wa_detailed+0(1) = 'suresh'.
    wa_detailed+70(5) = 'welcom'.
    wa_detailed+100(1) = '$'.
    This way you can transfer first 100 characters to the outbound file.
    Let me know if you have any further queries.
    Don't forget to mark helpful answers!
    Gaurav Parmar.

  • One PI set up for all the outbound interfaces

    Hello Friends,
    We have set of interfaces from SAP to 3rd party using PI system. We will not do any mapping for any interface in PI
    We will receive the IDocs ( Orders , deliveries , shipping and alll ) from SAP  and send it to 3rd party.
    is there any way to send these IDoc's with only set up in PI ... only one repository and directory for all the messages )
    Thanks

    Hi
    One way could be that on save of each transaction or event, an xml file is created which can be passed to the receiver.
    Regards
    Monika

  • Multiple mapping steps in the message monitor

    All,
    I have an interface that has several different mapping steps for the one interface (first one is a java mapping, and then the second an XSLT) and XI only shows one mapping step in the message monitor (which encompasses all of the mapping steps).  The payload before is the payload before any of the mapping steps, and the payload after is the payload after all the mapping steps. 
    I would like to be able to see the payload at each separate mapping stage.  This would make it a lot easier when debugging problems in the later stages of the mappings.  Does anyone know if this is possible?
    Regards,
    Jason

    Hi Jason,
    Even I have tried to see the results of multiple mappings in SXMB_MONI. But I couldnt find a way till now.
    I believe there is no way to see the results of multiple mappings. The only possible way is to test your mapping locally in IR.
    Regards,
    Divija.

  • Outbound interface for transfering the payroll results

    Hi everyone,
                      Can any one provide me with the Outbound interface program for transfering payroll data, to the third party submission.

    Hi  kiran.
    Try PU12.
    Manoj Shakya.
    Technical-Fuctional Consultant
    SAP-HR
    ******(Useful answers should be rewarded)

  • Get File name of the inbound file during mapping

    Scenario: to read the file name of the inbound file (which has date required for the mapping) during runtime.
    The requirement is to read the date of the inbound file (passed to the XI pipline by the file adapter) and populate the same in the outbound mapping structure.
    Any idea about how to do this?
    (I went through few options of using java.util.map. not successful yet)

    Hi Anand,
    I posted the same question a time ago, without any help....
    Can I find out the full filename of input file in message mapping?
    Posted: Nov 23, 2004 1:00 PM
    I have in XI 2.0 the following scenario :
    In the inbound fileadapter I read my input file. The filename of the input file is part fixed, part variable (Like INDATA01.txt, INDATA03.txt, etc).
    So in my Adapterconfiguration, I specify the filename with a wildcard (INDATA*.txt).
    What I now want to do, is in my Message Mapping use the full filename , so I can do something different for every filenumber. Is there a way where I can get the full filename available in my message mapping (I did not find the filename in the XML in the message trace).

  • Exception: non-read-only mapping defined for the primary key field

    Hello.
    I'm new to Oracle and I created Java EE Web Project.
    And I created entities from tableA, tableB, tableC from my database.
    tableA has foreign key to tableB and has unidirectional Many-to-One relationship. tableC has two primary keys and one of these is foreign key to primary key in tableA. tableC also has unidirection Many-to-One relationship to tableA.
    Then I created session bean and data control from it, in design window, created read-only table from tableA.
    And I selected columns in tableA and also in tableB.
    I ran the application and saw the following exception in log window.
    Local Exception Stack:
    Exception [EclipseLink-46] (Eclipse Persistence Services - 2.1.3.v20110304-r9073): org.eclipse.persistence.exceptions.DescriptorException
    Exception Description: There should be one non-read-only mapping defined for the primary key field [tableC.tableA_ID].
    Descriptor: RelationalDescriptor(mypack.tableC --> [DatabaseTable(tableC)])
    tableA_ID is a primary key in tableA.
    How can I solve this error?
    Please help me.
    Edited by: 900471 on 2011. 12. 3 오전 5:32
    Edited by: 900471 on 2011. 12. 3 오전 5:33
    Edited by: 900471 on 2011. 12. 3 오전 5:33
    Edited by: 900471 on 2011. 12. 3 오전 5:34

    There are not enough details to be sure since you have not provided the mappings. From just the error, it looks like you are using the tableC.tableA_ID field as the foreign key in the ManyToOne relationship to A, but have marked it as insertable=false, writeable=false, meaning that it cannot be updated or used for inserts.
    Either make it writable (set the settings to true), or add another basic mapping/attribute in the entity for TableC that maps to the field which you can use to set when you insert a new tableC entity. A simple example is available at
    http://wiki.eclipse.org/EclipseLink/Examples/JPA/2.0/DerivedIdentifiers
    Best Regards,
    Chris

  • OWB11gR2: Mapping execution in a process flow not visible in OWB Browser

    When a mapping is executed inside a process flow, execution details are not visible in OWB Repository Browser (Control Center reports) - rows processed, errors etc. Mapping row is missing in a log, like it never happened (but it did).
    This auditing information is very important for monitoring reasons (to our customers also) and I just don't get it how this functionality is lost with this version. Another serious bug?

    Hi David,
    I was rather tired and frustrated last evening, so today I noticed some things I didn't yesterday. Your reply gave me a new motivation.
    The conclusion is - a mapping execution in a process flow is logged, but the way activities are displayed in OWB Browser are now different than in previous versions. If I click on 'Execution Job Report' on a process flow, I see all the activities listed except mappings (transformations, assign, file exists, subprocess etc.). If I want to see mapping execution row, I must click on a plus (expand) sign.
    This kind of behavior will make processes with a complex hierarchy (usually we have more than 5 levels of subprocesses) rather vast to monitor. In 10gR2, a drilling down was accomplished by opening a new browser tab (Execution Job Report link) for each subprocess/mapping activity. Now it shall remain on one huge screen (list) that keeps expanding.
    But, if that is the new feature, we shall live with that. If our customers won't like it, they will have to get used to it.
    Thank you for your reply!

  • Skipping mapping execution in process flow

    I have a process flow that calls multiple mappings. Based on some condition I want a mapping not to execute, E.g. when rerunning the process flow in case of failure. Currently I keep track of mapping execution and store the status in a control table. When a mapping has completed, it updates the status as completed. When I need to rerun, in the SQL of the tables join in the mapping, I have a where clause that returns 0 rows (mapping_completed = N) . So mapping is excuted but no rows added/updated.
    The flip side of the approach is when using a complex join specially using views, the SQL takes a long time to run only to return 0 rows. So logic is okay but I want to save time by avoiding the execution of the mapping it self.
    I would like to know how others are implementing this scenario.
    Regards
    Sandeep

    Can you not have two different mappings one for running it first time and one which you can run on failure...
    In your process flow you can have a param i.e 'F for failure and 'I' for intial and based on this condition you can decide which mapping to invoke and hte path to be followed.

  • Unexpected error during mapping execution

    Hello,
    we are implementing business intelligence for Siebel 8.1. Having one strange issue and hoping anybody could help us out.
    We are using OWB 10.2.0.1. Certain error appears during mapping execution LOAD_SR which basically loads service requests from Siebel DB to data warehouse.
    The mapping is using two tables as input (S_SRV_REQ and S_SRV_REQ_X) which are joined by S_SRV_REQ.ROW_ID = S_SRV_REQ_X.PAR_ROW_ID (+) using Joiner operator, because I always need extension table (S_SRV_REQ_X) rows either filled either containing only nulls (when there is no corresponding extension row). Sadly, this does not work, during execution it generates:
    Error:
    ORA-00997: illegal use of LONG datatype
    ORA-06512: at "DWH_ADM.LOAD_SR", line 32
    ORA-06512: at "DWH_ADM.LOAD_SR", line 3507
    ORA-06512: at "DWH_ADM.LOAD_SR", line 4553
    ORA-06512: at "DWH_ADM.LOAD_SR", line 9984
    ORA-06512: at line 1
    Warning:
    ORA-00997: illegal use of LONG datatype
    In summary, these join conditions generate same error as above:
    S_SRV_REQ.ROW_ID = S_SRV_REQ_X.PAR_ROW_ID (+)
    S_SRV_REQ.ROW_ID (+) = S_SRV_REQ_X.PAR_ROW_ID (+)
    S_SRV_REQ.ROW_ID = S_SRV_REQ_X.PAR_ROW_ID
    Strangely, when I use join condition S_SRV_REQ.ROW_ID (+) = S_SRV_REQ_X.PAR_ROW_ID, it works. But then right join is used and some records get rejected by joiner operation (those who do not have corresponding rows in extension table).
    Could someone help me with this issue?
    Any feedback would be greatly appreciated. Thank you for your time reading this!
    Edited by: user8872556 on Sep 28, 2011 2:21 AM
    Edited by: user8872556 on Sep 28, 2011 2:23 AM
    Edited by: user8872556 on Sep 28, 2011 2:23 AM

    We still were not able to solve this issue, would greatly appreciate any effort to help us out.

  • NO Interface Mapping found in the Integration Directory (Configuration)

    Hi,
    I've got following problem with PI 7.0::
    I have a Mapping Scenario designed in the IR. It works - using test function - there. If I go to the COnfiguration Tool during creating of the Interface Determination it doesn't find the Interface Mapping. The Sender resp. Receiver Interfaces are correct assigned to the Business Systems.
    - Sender Business System is a FTP Server, which contains the needed Sender Interface.
    - Receiver Business System is a SAP R3 System containing the RFC Receiver Interface.
    I had to change the Related Integration Server of the SAP Business System in the SLD. How can I be shure, that my PI System is syncronous with the SLD? How can i get the newest changes - BS, TS or SC - from the SLD updated to my PI?
    Thx in advance
    Michael

    Hi,
    You must make sure that you have correctly identified the interfaces in your interface mapping.
    1. Message Interfaces are correctly configured
    2. Outbound/Inbound Interfaces are correctly declared in Interface Mapping
    Otherwise, your interface mapping would not be found in the interface determination in Integration Directory.

  • Ng An exception occurred during the execution of the current web request.

    An exception occurred during the execution of the current web request. Please contact the administrator to review the stack trace in the event log for more information about the error.
    this error occured while making changes to the mapings, there was "&" in the source account and some test also loaded in the text,
    the versio n of FDM is 11.1.2.0
    I understand that because of loading & in the source account it is causing this issue,
    How to delete this invalid char from database, which table and column will contain this information, Please advise me how to proceed on this.
    thanks,
    msr

    This TSQL will do the trick. It's not the cleanest as I just wrote it, but it will dynamically remove the & from the data mapping tables and replace any invalid entries with the phrase INVALID.
    --Remove && from Data Maps
    --Charles Beyer ([email protected])
    --NOTES : 'Hackish' version for demonstration purposes
    -- Declare working variables
    DECLARE @strTableName varchar(255)
    DECLARE @strSql Nvarchar(500)
    -- Create cursor to iterate through each Data Map table.  Look in special table sysobjects to get a list of the tables.
    DECLARE crsDataMapTables Cursor For
       select name
          from sysobjects
          where name like 'tdatamap%'
             and xtype = 'U'
    Open crsDataMapTables
    Fetch Next from crsDataMapTables Into @strTableName  --Get the name of the first Data Map table and place it into working variable
    While @@FETCH_STATUS = 0 Begin  --While records (table names) exist, execute loop logic
    print 'Cleaning table : ' + @strTableName
      --Multi-pass updates to check the SrcKey, TargKey, and WhereClauseValue fields for the invalid character
      --Dynamic SQL is used below so that we can use the Table Name from the cursor..
      Set @strSQL = 'UPDATE ' + @strTableName + ' set SrcKey = ''Invalid'' where SrcKey like (''%&%'')'
      exec (@strSQL)
      Set @strSQL = 'UPDATE ' + @strTableName + ' set TargKey = ''Invalid'' where TargKey like (''%&%'')'
      exec (@strSQL)
      Set @strSQL = 'UPDATE ' + @strTableName + ' set WhereClauseValue = ''Invalid'' where WhereClauseValue like (''%&%'')'
      exec (@strSQL)
      Fetch Next from crsDataMapTables Into @strTableName
    End
    --Dispose of Cursor as we are done.
    Close crsDataMapTables
    Deallocate crsDataMapTables
     

Maybe you are looking for

  • Connect to router but not internet

    I recently got a WRT54G Wireless router and easily configured it to run on my Mac but when I try to set it up for my PC it will ping the router but nothing on the internet. Can anyone help me figure out how to setup the corrrect connection on a Xindo

  • Querying data across different cache-clusters

    Hi, Say there are multiple clusters each containing DIFFERENT sets of cached data. I would like to know if someone knows how an application from within one cluster can read/query the data from the DIFFERENT clusters "DIRECTLY". Would we need to code

  • Anyone noticed noisy fans when iMac is idle on new iMac retina?

    My fans seem very noisy on iMac retina compared with my macbook pro.  Anyone else noticed this?

  • How to call static files?

    I have uploaded two documents, one MSWord and the other excel, to Shared Components / Static Files. Can someone tell me how to call these from a linked list? Thanks

  • OBIEE 10g

    Hello, I have created the ibot reports with filter and this will send to the user through the mail daily. But my problem is, the user cannot view the filter that i have set. The user can only view the report. Can any one help me out on how to visible