Transform, assign, namespaces

Hi,
I'm having a lot of problems with assign and transform activities.
I have different bpel processes with different input and output schemas. All the schemas have a commun element named TSO. If I try to copy the values from one variable to the other using an assign activity, nothing gets copied because the namespaces are different. (the source code is:
<assign name="AssignPIO18ToOutputVariable">
<copy>
<from variable="ReceivePIO18_onResult_InputVariable"
part="payload" query="/ns2:TSOExtendido"/>
<to variable="outputVariable" part="payload"
query="/ns2:TSOExtendido"/>
</copy>
</assign>
Then I try using a transform activity. This copies the values from one to the other. The problem is that all the elements are copied, even the empty ones. The result is a new xml with empty tags, which is wrong in this case (the tags should be filled or not appearing at all)
Does anybody know if there is an option in the transform activity to copy only the "no-empty" attributes?
I really need help with this. I will really appreciate it.
Thanks in advance,
Zaloa

Thanks Eric.
I thought of checking the values of the attributes before assigning them in the transform, the problem is that the TSOExtendido has a lot of sub-elements and it is very tedious doing the validation.
When doing the assign, in the BPEL console, the vairables seem to get copied but but in reality they are not. This is. I have BPEL 1 that invokes BPEL 2. Before invoking BPEL 2 I put an assign activity to initialize BPEL2 input variable.
If I open the BPEL console and check the BPEL 1 flow, I see the BPEL 2 input variable is alright. Then, when I use input variable in BPEL 2 the error says "the xpath expression returns 0 nodes". It seems that the input variable is empty.
I hope I explained myself...
Regards,
Zaloa

Similar Messages

  • XSLT Transformer xmlns namespace problem

    Hi,
    I have the following xml document
    <PIPEDocument Version="2.0" DocumentReferenceNumber="2001" CreationDate="2002070401251212245"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xmlns="http://www.oeb.gov.on.ca/">
         <MarketParticipantDirectory>
    </MarketParticipantDirectory>
    </PIPEDocument>
    and the following xsl stylesheet
    <xsl:stylesheet xmlns:xsl = "http://www.w3.org/1999/XSL/Transform"
              xmlns ="http://www.oeb.gov.on.ca/"
              version = "1.0">
    <xsl:output method = "xml" indent = "yes" />
    <xsl:template match = "/" >
    <PIPEFunctionalAcknowledgement>
              <xsl:apply-templates select="//MarketParticipantDirectory"/>
    </PIPEFunctionalAcknowledgement>
    </xsl:template>
    <xsl:template match = "MarketParticipantDirectory" >
    </xsl:template>
    </xsl:stylesheet>           
    My problem is, using JAXP1.2.0-EA2 (from JWSDP1-0-ea2), javax.xml.transform.Transformer will not find a match on the element name within the template unless I put a prefix on the target namespace i.e.
    if my xml is changed to include a prefix (:xyz in example below)
    <PIPEDocument Version="2.0" DocumentReferenceNumber="2001" CreationDate="2002070401251212245"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xmlns:xyz="http://www.oeb.gov.on.ca/">
         <MarketParticipantDirectory>
    </MarketParticipantDirectory>
    </PIPEDocument>
    and my stylesheet is changed also to include the prefix
    <xsl:stylesheet xmlns:xsl = "http://www.w3.org/1999/XSL/Transform"
              xmlns:xyz ="http://www.oeb.gov.on.ca/"
              version = "1.0">
    </xsl:stylesheet>
    then the transfomer works correctly and find a match on the element name "MarketParticipantDirectory" within the template (even though the element doesn't have the prefix xyz:MarketParticipantDirectory).
    Could anyone tell me why this is the case?
    I would have expected XSLT to match the elements from the namespace xmlns ="http://www.oeb.gov.on.ca/" without the prefix.
    Any comments would be much appreciated.
    Thanks
    Sinead Casey

    Matching an element on a Default Namespace requires Explicit Prefix.
    http://www.w3.org/TR/xslt20req

  • Xquery transformation and namespaces

    I'm transforming one XML document based on schema A to another XML document based on schema B. Thransformation works ok, except for the problem with namespaces. My result document looks like this:
    <ns0:root xmlns:ns0="namespaceA">
         <ns0:request>
              <ns1:Element xmlns:ns1="namespaceB">value1</ns1:Element>
              <ns1:Attribute xmlns:ns1="namespaceB">value2</ns1:Attribute>
              <ns1:Attribute xmlns:ns1="namespaceB">value3</ns1:Attribute>
              <ns1:Attribute xmlns:ns1="namespaceB">value4</ns1:Attribute>
         </ns0:request>
    </ns0:root>
    The problem is that namespace attribute is repeated in each element. I want to declare namespaceB in root and than use only prefixes. So document should loook like this:
    <ns0:root xmlns:ns0="namespaceA" xmlns:ns1="namespaceB">
         <ns0:request>
              <ns1:Element>value1</ns1:Element>
              <ns1:Attribute>value2</ns1:Attribute>
              <ns1:Attribute>value3</ns1:Attribute>
              <ns1:Attribute>value4</ns1:Attribute>
         </ns0:request>
    </ns0:root>
    Is it possible to achieve that, and how?
    Thanks for help.

    Helo!
    I saw yesterday this soluction:
    It's best not to think of this as "removing the namespaces" but rather as
    "changing the element names". The name of an element consists of a namespace
    URI and a local name. So the name of the Email element, for example, is
    ("urn:mpeg:mpeg7:schema:2001", "email"). In your desired result, you want an
    Email element without the namespace, that is, you want the name of the
    element in the result to be ("", "email"). So your query has to rename every
    element, or to put it another way, it has to create an element whose name is
    different from the original.
    The way to do this is to write a recursive function something like this:
    declare function f:strip-namespace($e as element()) as element() {
    element {QName((), local-name($e)} {
    for $child in $e/(@*,*)
    return
    if ($child instance of element())
    then f:strip-namespace($child)
    else $child
    AUTHOR: Michael Kay
    see at:
    http://www.x-query.com/pipermail/talk/2006-January/001062.html

  • Multiple transform/assigns for one variable - is this possible?

    Hi,
    What I am trying to do is read in a complex XML file. Transform some data, add some other data from another source and update a table in the database with all data.
    So currently I read in the XML file.
    Do one big transform to map the majority of data to the input variable of my database adapter.
    I then call a stored procedure to get some ID values.
    I have then been trying to add these ID's to the input variable of my database adapter. Tried both transform and assign, but these seem to overwrite the big transform which I previously did.
    Is it possible to update the same variable in more than one transform without overwriting the values set previously?
    Thanks in advance for any help

    Hi Marc,
    Thanks for your help.
    I've tried playing around with the <bpelx:insertAfter> command referring to your Blog.
    I have a couple of questions, perhaps you could help me with them.
    1. I noticed that once I have added this command into the .bpel file I get an error within the designer view. Is this to be expected or am I doing something wrong?
    2. Is it possible to specify the XML tag which is used and also use an XPath query?
    The code I have added is as follows:
    <assign name="Assign_GlobalsToInsert">
    <bpelx:insertAfter>
    <from variable="InvokeGlobalsGetGlobalsOutputValue"
    part="outputParameters"
    query="/ns1:outputParameters/GET_VALUE"/>
    <to variable="ReceiveFileReadInputVariable"
    part="DATA_FILE"
    query="/ns3:DATA_FILE/ns3:DataLine/ns3:FinalLine"/>
    </bpelx:insertAfter>
    </assign>
    When I tested this it did add and element with the correct value as expected, however the XML tags were <GET_VALUE> as specified in my query section of the from command. Is there anyway to use a different value for the tags?
    I currently get <GET_VALUE>99</GET_VALUE>
    I would like to use <TRANS_ID>99</TRANS_ID>
    Thanks very much for your help

  • XML Transform - Replace Namespace - WS-Addressing

    Hi All,
    I'm trying to do a XML transformation to change the namespace of WS-Addressing of a XML message that arrives to Oracle Web Services Manager(OWSM), but no success.
    This is the what arrives to OWSM:
    <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
    <soap:Header>
    <To xmlns="http://www.w3.org/2005/08/addressing">http://something.com</To>
    <Action xmlns="http://www.w3.org/2005/08/addressing">initiate</Action>
    <ReplyTo xmlns="http://www.w3.org/2005/08/addressing">
    <Address>http://something.com</Address>
    </ReplyTo>
    <MessageID xmlns="http://www.w3.org/2005/08/addressing">uuid:saude042</MessageID>
    </soap:Header>
    <soap:Body xmlns:ns1="http://something.com">
    </soap:Body>
    </soap:Envelope>
    This is what I want to pass to the BPEL:
    <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
    <soap:Header>
    <MessageID xmlns="http://schemas.xmlsoap.org/ws/2003/03/addressing">uuid:saude042</MessageID>
    </soap:Header>
    <soap:Body xmlns:ns1="http://something.com">
    </soap:Body>
    </soap:Envelope>
    I'm having some questions about how to do the XSLT...
    Anyone have an example?
    Thank you in advance.
    Carla

    http://www.oracle.com/technology/pub/articles/jones-owsm.html
    Overhere they describe how to edit the soap header by using a custom step.

  • Convertion of XML node to string using Xquery transformation in OSB

    How to convert XML node to string using a built in function using Xquery transformation in OSB? In BPEL we have the Xpath extension function ora:getContentAsString() to do the same.

    fn:bea-serialize() function converts xml node to string. but it assigns namespace prefix in every xml node during the conversion. So is there any function to remove the namespace prefix from XML node using Xquery built in function?

  • Transformation in a Process Flow

    Hi there,
    I am trying to use a transformation in a process flow and I am getting the following error -
    RPE-02040: Internal error: SOMEFUNC cannot be converted to a constant value. Please correct the value.
    I have a PL/SQL function SOMEFUNC(x, y) that takes two values and returns a varchar2(10). I imported this function as a transformation with the same name. The mapping after this takes a varchar2(10) as input.
    As soon as I bind the input parameter of the mapping following this transformation, I get the above error. If I don't bind it, then there are no errors but that is not useful to me. I need to pass in the return value of this function to the mapping that follows it.
    Has anyone been able to do this successfully? How did you get it to work?
    This is OWB 10.2.0.2.
    Thanks

    Thanks for that link David,
    that does explain some things but unfortunately I am still running into the same problem.
    So here is what I have -
    Start -> Transformation -> Assign -> Mapping -> End_Success
    I could not see any way to add a variable in OWB 10.2.0.2.8. You could do this earlier from the Start operator but there is no such option in this version. The Assign operator seems to be designed for this.
    I bound the mapping for Assign input value to Transformation's out bound value. And I bound Mapping's input parameter to Assign's output variable. I then validated and generated this process flow successfully. However while deploying, I still got -
    RPE-02040: Internal error: Transformation cannot be converted to a constant value.
    My OWB client version is 10.2.0.2.8 and repository's version is 10.2.0.2.0. Have you run into this problem before?
    Thanks

  • BPM Task payload namespace issue while modifying from ADF UI

    Hi,
    In my BPM process, I have the below tasks.
    1. Input task - user input form
    2. Review task - to review the user input values
    I have created the UI for the above tasks through Auto-generate forms.
    Before invoking Input task, I have created a transformation to initailize the payload elements, so that in the UI these field elements will be become editable.
    I have an ADF table which is used to insert account details elements which is initialized in the transformation with namespace.
    <ns0:bankAccountsType>
    <ns0:registrationNumber></ns0:registrationNumber>
    <ns0:accountNumber></ns0:accountNumber>
    <ns0:bankName></ns0:bankName>
    </ns0:bankAccountsType>
    I am using the createInsert operation of the ADF command button to insert records for these table in UI. The row is getting inserted with values and clicked "Approve" to go to the Review task.
    Now if i check the flow trace for this instance in EM console. ie "Review Task - Instance entered the activity"
    The payload elements for this account types is coming namespace for first record (becoz the row is intialized in BPM transformation) and the second & third record is not showing namespace.
    <ns0:bankAccountsType>
    <ns0:registrationNumber>111111111111111</ns0:registrationNumber>
    <ns0:accountNumber>1111111111111111</ns0:accountNumber>
    <ns0:bankName>qqqq</ns0:bankName>
    </ns0:bankAccountsType>     
    <bankAccountsType>
                   <registrationNumber>222222222222</registrationNumber>
                   <accountNumber>222222222222</accountNumber>
                   <bankName>www</bankName>
              </bankAccountsType>
              <bankAccountsType>
                   <registrationNumber>3333333333</registrationNumber>
                   <accountNumber>3333333333</accountNumber>
                   <bankName>sas</bankName>
              </bankAccountsType>
    Is there any way ADF can keep the namespace while adding new items?
    Jdeveloper
    Studio Edition Version 11.1.1.5.0
    Build JDEVADF_11.1.1.5.0_GENERIC_110409.0025.6013
    Thanks in advance.
    Regards,
    Murali.S
    Edited by: 1006338 on 16 May, 2013 5:18 AM
    Edited by: 1006338 on 16 May, 2013 5:20 AM

    Before invoking Input task, I have created a transformation to initailize the payload elements, so that in the UI these field elements will be become editable.
    I have an ADF table which is used to insert account details elements which is initialized in the transformation with namespace.You can simple use a ADF form to do this. Create ADF editable input fields in a panelFormLayout and wehn user enters values and clicks ona button .. pass those values to BPM payload.
    See - http://andrejusb.blogspot.com/2010/10/initializing-oracle-bpm-11g-process.html

  • Transformer/XPath Broken after importing nodes into the DOM

    I'm trying to combine nodes from several documents and then transform them.
    I parse the document with a namespace aware document builder without a hitch, and then import the nodes from the other documents (parsed the same way).
    Then I try to apply a transformer to the document and it only transforms the nodes that were in the original document. XPath also fails to see the nodes.
    The weird thing is, that if I write the document out to a buffer as XML and then parse that back in, everything works fine.
    So what the heck is going on?

    I don't see the XML or the XPath expression you're
    asking about. So I am going to take a wild guess and
    say that your problem is one that is popular lately,
    namely that XPath can't find elements that are in the
    default namespace.
    If your DocumentBuilder was not namespace-aware then
    the XPath would work (no default namespace applying)
    but if the Transformer was namespace-aware then the
    XPath would not work.
    Or it could very well be something else.You are correct. I discovered this about an hour after posting my question...
    If I make my DocumentBuilder namespace aware, the behavior is consistent.
    I can then solve my problem by specifying a NamespaceContext...
    Now my question is... should I make my DocumentBuilder namespaceAware?
    Since the XML Documents I'm dealing with only ever use one namespace,
    I don't see the harm in leaving namespaceAware off. Then I don't have to mess
    with a NamespaceContext. Am I missing something? When should
    namespaceAware be set to true?
    -Rob

  • SOA11g: Transform Activity shows as Pending

    Guys,
    After migration of a process from 10.1.3.4 into 11.1.1.4, In many processes Transform/Assign activity always shows in pending state. Here is the xsl used in one of the Transform activity.
    *<?xml version = '1.0' encoding = 'UTF-8'?>*
    *<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"*
    xmlns:tns="http://xmlns.oracle.com/AddUser"
    xmlns:dvm="http://www.oracle.com/XSL/Transform/java/oracle.tip.dvm.LookupValue">
    *<xsl:output method="text" omit-xml-declaration="yes"/>*
    *<xsl:template match="/">*
    *<xsl:for-each select="/tns:AddUserRequest/tns:UserGroups/tns:UserName">*
    *<xsl:text>~ </xsl:text>*
    *<xsl:value-of select="."/>*
    *<xsl:text> </xsl:text>*
    *</xsl:for-each>*
    *</xsl:template>*
    *</xsl:stylesheet>*
    This is just one of the case, there are many processes in which assign/Transform activity shows as pending after migration.
    the error it shows in audit trail is:
    Error in evaluate <from> expression at line "140". The result is empty for the XPath expression : "ora:processXSLT(........)
    and fault thrown by process is:
    Non Recoverable System Fault :
    *<bpelFault><faultType>0</faultType><selectionFailure xmlns="http://schemas.xmlsoap.org/ws/2003/03/business-process/"></selectionFailure></bpelFault>*
    can someone help on this?
    Thanks,
    AB
    Edited by: AB on Sep 26, 2011 11:28 PM

    There is a known bug related to ORA:PROCESSXSLT() in PS3 (11.1.1.4). Raise a case with support and you should get a patch.
    Regards,
    Anuj

  • Change default namespace info?

    Greetings,
    Just purchased DW CS3 and I'm wondering if there's a way or a
    place to make permanent "preferences" changes to the way DW assigns
    the namespace when you create a new XHTML document? I've found how
    to change the doctype and the encoding preferences but not the
    place where it is assigning namespace.
    Zeldman, and many, many others recommend specifying the
    namespace as such:
    (the first attached example)
    while DW is only giving me this much: (and I don't want to
    have to add the "English" declaration for every page I create)
    (see second attached example)
    Thank you very much for any help you can offer!
    Regards,
    Pedro

    *bump*
    still seeking a resolution, if you have any ideas!
    Thanks,
    Pedro

  • Selective repaint() and Graphics2D transform?

    Hi all,
    I am programming a graphic 2D simulation consisting of moving circles in the plane. I am trying to go for efficient repaint() invocations by repainting only those areas that need refreshing, i.e., the previous and new location (bounding box, to be exact) of each circle. This is similar to what is demonstrated somewhere in the Java Tutorial, where a small red square is dragged by the mouse and repainted efficiently. So far so good.
    However, I would like to support transforming the view, to enable zooming and panning (as well as auto-fitting) in the simulation window (or panel or whatever). Transforming is typically also straightforward - just concatenate the desired transform onto the Graphics2D object in my paintComponent() override and that's it.
    The typical flow in Java is to issue a repaint() somewhere in the application code (e.g., mouse listener, or in my case - when updating the simulation, panning, or zooming). This request is later addressed by a Swing thread in a call to paintComponent() which also passes the Graphics2D object on which the actual drawing and transforming is performed.
    Now to the thing that puzzles me: What coordinates should I pass to repaint()? At that moment I do not possess the Graphics2D object, so I don't know the transform from user coordinates (in the graphics context) to the component's coordinates. Do I have to somehow query the current transform assigned to the control, add my pan/zoom transform to it, and then manually transform the coordinates of my circles before feeding them to my repaint() calls? This feels inelegant and inefficient to me: Basically all transformation will be calculated twice: Once by me for the repaint calls, and again by paintComponent() when actually rendering the circles. Perhaps I could save the redundant calculations by keeping
    the manually transformed coordinates (or transformed copies of my Shapes), and then draw them in paintComponent() without applying the transform to the Graphics2D object.
    These solutions don't look right to me. Does anybody have a better idea? It seems to me like a fairly common scenario: Efficient painting of a 2D animation supporting view transformation (e.g. zoom/pan). There must already exist a known "correct" way to do this!
    Hopefully...
    Noam

    You can drag the frame sides/bottom to see what happens to the clip and transform of the graphics context of the white panel. The clip seems to be in white panel coordinates and the transform translation values are relative to the parent component.
    Each parent component passes its graphics context on to its children to use to paint themselves.
    import java.awt.*;
    import java.awt.geom.*;
    import javax.swing.*;
    public class GraphicsTest extends JPanel {
        public GraphicsTest() {
            setBackground(Color.white);
        protected void paintComponent(Graphics g) {
            super.paintComponent(g);
            Graphics2D g2 = (Graphics2D)g;
            inspect(g2);
            Shape clip = g2.getClip();
            Rectangle r = clip.getBounds();
            g2.setPaint(Color.red);
            g2.drawRect(r.x, r.y, r.width-1, r.height-1);
        public Dimension getPreferredSize() {
            return new Dimension(360, 300);
        private void inspect(Graphics2D g2) {
            Shape clip = g2.getClip();
            Rectangle r = clip.getBounds();
            System.out.printf("clip = [%d, %d, %d, %d]%n",
                               r.x, r.y, r.width, r.height);
            //    [  m00  m01  m02  ]
            //    [  m10  m11  m12  ]
            //    [   0    0    1   ]
            AffineTransform at = g2.getTransform();
            double[] matrix = new double[6];
            at.getMatrix(matrix);  // { m00 m10 m01 m11 m02 m12 }
            int[] loRow = { 0, 0, 1 };
            for(int i = 0; i < 2; i++) {
                System.out.print("[ ");
                for(int j = i; j < matrix.length; j += 2) {
                    System.out.printf("%5.1f ", matrix[j]);
                System.out.print("]\n");
            System.out.print("[ ");
            for(int i = 0; i < loRow.length; i++) {
                System.out.printf("%3d   ", loRow);
    System.out.print("]\n");
    System.out.println("---------------------");
    private JScrollPane getContent() {
    // Show the graphic component at a smaller size
    // so we can investigate space issues.
    JPanel panel = new JPanel(new GridBagLayout());
    panel.add(this, new GridBagConstraints());
    return new JScrollPane(panel);
    public static void main(String[] args) {
    GraphicsTest test = new GraphicsTest();
    JFrame f = new JFrame();
    f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    f.add(test.getContent());
    f.setSize(500,500);
    f.setLocation(100,100);
    f.setVisible(true);

  • Key Figures getting added

    Hi All,
    We arein a process of migrating 3.x Transfer rules and update rules to NW2004s. We are following the standard procedure of migrating the objects such that transfer rules are migrated to a transformations and so do update rules.
    In on of the objects while running the loads after migrations the key figures are getting doubled. We were able to debug the standard code and figure out where addition is happening. Strange things is this is a standard SAP code generated in all the migrated objectsbut in this particular case it has generated some extra code which is adding up the key figures. I am pasting code below for your reference and will appreciate if someone can help us to resolve this.
    As mentioned above the below Read statement is standard in all the TRCS transformations which are migrated from update rules. This read statement fails with sy-subrc = 4 because  <_yth_TG_1>. is empty at this stage but during execution it executes the statement INSERT <_ys_TG_1> INTO TABLE <_yth_TG_1> which populates <_yth_TG_1>  and in turn makes the next read statement successful which is extra in this case. There is one more Read statement which is extra in this particular case and is adding up the key figures.
    =====  PUT groups to target
          IF skipseg_all IS INITIAL.
            READ TABLE <_yth_TG_1>
              WITH TABLE KEY
    here it is reading all the different characteristics and key figurs. eliminating this to cut short the lengthof message,
               ASSIGNING <_ys_TG_1>.
            G1_subrc = sy-subrc.
            G1_tabix = sy-tabix.
            IF G1_subrc = 0.
      aggregation SUM
              <_ys_TG_1>-POS_FRE = <_ys_TG_1>-POS_FRE + G1-POS_FRE.
              <_ys_TG_1>-POS_OCC = <_ys_TG_1>-POS_OCC + G1-POS_OCC.
              <_ys_TG_1>-POS_VAC = <_ys_TG_1>-POS_VAC + G1-POS_VAC.
              <_ys_TG_1>-/BIC/ZKMOSALRY = <_ys_TG_1>-/BIC/ZKMOSALRY + G1-/BIC/ZKMOSALRY.
              <_ys_TG_1>-/BIC/ZFILFTEFX = <_ys_TG_1>-/BIC/ZFILFTEFX + G1-/BIC/ZFILFTEFX.
              <_ys_TG_1>-/BIC/ZWRKFTEPX = <_ys_TG_1>-/BIC/ZWRKFTEPX + G1-/BIC/ZWRKFTEPX.
              ls_cross-insegid      = 1.
              ls_cross-inrecord     = l_recno_SC_1.
              ls_cross-outsegid     = 1.
              ls_cross-outrecord    = <_ys_TG_1>-record.
              CALL METHOD i_r_log->add_cross_tab
                EXPORTING
                  I_S_CROSSTAB = ls_cross.
            ELSE.
              ASSIGN rdsTG_1->*          to <_ys_TG_1>.
              CLEAR <_ys_TG_1>.
              MOVE-CORRESPONDING G1 TO <_ys_TG_1>.
              <_ys_TG_1>-requid    = l_requid.
              l_recno_TG_1          = l_recno_TG_1 + 1.
              ls_cross-insegid      = 1.
              ls_cross-inrecord     = l_recno_SC_1.
              ls_cross-outsegid     = 1.
              ls_cross-outrecord    = l_recno_TG_1.
              CALL METHOD i_r_log->add_cross_tab
                EXPORTING
                  I_S_CROSSTAB = ls_cross.
        Record# in target = sy-tabix - if sorting of table won't be changed
              <_ys_TG_1>-record     = l_recno_TG_1.
              INSERT <_ys_TG_1> INTO TABLE <_yth_TG_1>.
              IF sy-subrc <> 0.
                CALL METHOD cl_rsbm_log_step=>raise_step_failed_callstack.
              ENDIF.
            ENDIF.      "Read table
    This read statement is extra in this code and when this executes the sy-subrc becomes zero and then it adds up the key figures.
            READ TABLE <_yth_TG_1>
              WITH TABLE KEY
    **This also contains the characteristics and key figures which are being update as part of the transformations       
               ASSIGNING <_ys_TG_1>.
            G2_subrc = sy-subrc.
            G2_tabix = sy-tabix.
            IF G2_subrc = 0.
      aggregation SUM
              <_ys_TG_1>-POS_OCC = <_ys_TG_1>-POS_OCC + G2-POS_OCC.
              <_ys_TG_1>-POS_VAC = <_ys_TG_1>-POS_VAC + G2-POS_VAC.
              <_ys_TG_1>-POS_COUNT = <_ys_TG_1>-POS_COUNT + G2-POS_COUNT.
      aggregation MAX
              IF G2-POS_CTSPAN > <_ys_TG_1>-POS_CTSPAN.
                <_ys_TG_1>-POS_CTSPAN = G2-POS_CTSPAN.
              ENDIF.
              ls_cross-insegid      = 1.
              ls_cross-inrecord     = l_recno_SC_1.
              ls_cross-outsegid     = 1.
              ls_cross-outrecord    = <_ys_TG_1>-record.
              CALL METHOD i_r_log->add_cross_tab
                EXPORTING
                  I_S_CROSSTAB = ls_cross.
            ELSE.
              ASSIGN rdsTG_1->*          to <_ys_TG_1>.
              CLEAR <_ys_TG_1>.
              <_ys_TG_1>-CURRENCY = G1-CURRENCY.
              MOVE-CORRESPONDING G2 TO <_ys_TG_1>.
              <_ys_TG_1>-requid    = l_requid.
              l_recno_TG_1          = l_recno_TG_1 + 1.
              ls_cross-insegid      = 1.
              ls_cross-inrecord     = l_recno_SC_1.
              ls_cross-outsegid     = 1.
              ls_cross-outrecord    = l_recno_TG_1.
              CALL METHOD i_r_log->add_cross_tab
                EXPORTING
                  I_S_CROSSTAB = ls_cross.
        Record# in target = sy-tabix - if sorting of table won't be changed
              <_ys_TG_1>-record     = l_recno_TG_1.
              INSERT <_ys_TG_1> INTO TABLE <_yth_TG_1>.
              IF sy-subrc <> 0.
                CALL METHOD cl_rsbm_log_step=>raise_step_failed_callstack.
              ENDIF.
            ENDIF.      "Read table
    Thanks for looking into this and will appreciate your response on this.
    Regards
    Raman

    Have you tried the same thing by deleting the extra 'READ' statement?

  • 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!

  • OSB call multiple Business Services and combine the responses into one

    Dear All,
    I am new to OSB and I have a use case that I need to solve. I have 3 web services and I imported their WSDLs into OSB and created 3 Business Services that goes with each WSDL. The scenario is like this.
    Business Service 1: takes an input value as [Region] and returns a list of employee names.
    Business Service 2: takes the list of employee names and returns the list of employee names with their job profile
    Business Service 3: takes the list of employee names with their job profile and returns their contact information.
    I need to return the result of Business Service 3 to the consumer. The consumer basically need to call the Proxy service with [Region] as the input value and the result should be the output of above Business service 3.
    As I mentioned, I have WSDL for all the 3 Business Services, but, I do not have the WSDL for the Proxy Service. The Business Service WSDLs are all different and they do not match.
    My question is it possible to achieve the above result without having a concrete WSDL for Proxy Service? Also, how can I go about solving this use case. I have gone through some articles that talk about Split-Join, and am really lost.
    I really appreciate your kind reply on this.
    Thanks in advance.
    Regards,
    Syama

    You have multiple options:
    1. Create a WSDL which has input similar to input of WS1 (only Region as input) and an output similar to output of WS3.
    Create Proxy Service based on this WSDL. Then call all the thee business services one after the other and doing transformations/assigns as needed after each call. Finally map the result of BS3 to the similar output of your new WSDL on which the Proxy service is based.
    2. Create an Any XML type of web service. Create a schema which has two elements, one for input and one for output. Input containing only Region and output containing all the details. All consumers need to send request according to input defined in schema and expect output defined in schema. Its similar to creating the WSDL but can be used in case your consumer do not want to call a Web Service but want to call an XML API over HTTP. Rest will be same as option 1.
    Split join is needed to make calls in parallel, it wont be usable in your use case unless you expect a list og regions in the same request for each of which you need to gather same information by calling three services.

Maybe you are looking for

  • Creative Cloud Desktop no longer works after update

    Ever since the last Creative Cloud Desktop update I can no longer use it - tyo check for updates etc I have to go to individual programs. All I get when I open CC Desktop is a blank rectangle. One can't avoid CC Desktop updates as the only option oth

  • Bad quality of photos when transferring to PC

    I have problem, when i take picture its clear and good resolution, but when i transfer picture to my computer photo is blury and its looks like bad quality. Do i need to fix something on my computer or something else? Thanks.

  • Compiling a single .java file

    Hi, is it possible to compile a single java class without having to rebuild the complete application ? If this is not a feature is it going to be available in SP3 ? Thanks Mark

  • HT1688 iPhone stuck in non stop reboot after downloading iOS 6

    I was finished downloading iOS 6 on my iPhone and it restarted and started installing. Over half way through the installation the phone crashed and then started to constantly go to the apple logo and crash and repeat. It won't sync up with iTunes no

  • BTree Index File

    Can someone tell me what the index file of a BTree would look like as i need to program one and have no idea what the file would look like. Thanks in advance for your post. bnid