Correlation condition in Aggregate Pattern

Hi Team,
Just Started the Aggregate Pattern and
My Requirement is to collect the 3 messages of Pencils based on their color(should be same for three messages)
Below is My pattern:
Start:
I have initialized the Counter to zero
CurrentPencilID is of type string(what should we initialize here?)
Numberof Pencils is of type integer(what should we initialize here?))
Mapping
I have Incremented the Loop and mapped the outputs.
Exclusive choice
Here I have given the condition for the loop if counter reaches the count 3 it will send the message and end the activity.
Else
Intermediate Step.
Here the incoming message should match the correlation field and But I am unable to do so.
Please help me out for this condition evaluation.
As it should collect messages of three Blue Pencils and aggregate all three messages and send to the target.
Regards,
Novveen

Hi Novveen,
from what i understand, the difficulty is what to initialize CurrentPencilID and Numberof Pencils. I assume CurrentPencilID is storing the color of pencil. (Please correct me if its not so)
perhaps you can try something like below condition in correlation. Below condition should return true for first message i.e. when counter = 0 and accept whatever color is supplied. In IntermediateMesasge output, you should map the first incoming color into CurrentPencilID. So first pass will initialize color id. Also you will increment counter.
     IF(Counter=0,true,IncomingMessage/Color=CurrentPencilID)
For next passes, as counter is non-zero, the result of IncomingMessage/Color is evaluated against initial color ID i.e. CurrentPencilID (IncomingMessage/Color=CurrentPencilID) and returned.
For each successful return, NumberOfPencils is incremented (little doubt - why its used, isnt counter doing same ? )
-Abhijeet

Similar Messages

  • Aggregate Pattern

    Hi Team,
    Just Started the Aggregate Pattern and
    My Requirement is to collect the 3 messages of Pencils based on their color(should be same for three messages)
    Attaching my pattern
    Start:
    I have initialized the Counter to zero
    CurrentPencilID is of type string(what should we initialize here?)
    Numberof Pencils is of type integer(what should we initialize here?))
    Mapping
    I have Incremented the Loop and mapped the outputs.
    Exclusive choice
    Here I have given the condition for the loop if counter reaches the count 3 it will send the message and end the activity.
    Else
    Intermediate Step.
    Here the incoming message should match the correlation field and But I am unable to do so.
    Please help me out for this condition evaluation.
    As it should collect messages of three Blue Pencils and aggregate all three messages and send to the target.
    Regards,
    Novveen

    Hi Bacchu,
    Perhaps you should post your question within the BPM community (SAP Business Process Management)
    Kind regards,
    Dimitri

  • BPM  debugging correlation in receive steps

    HI Friends,
    In my collect messages BPM scenario pattern, correlation is not working, its appending the all the messages inspite of correlation field.
    I want to debug the correlation in receive steps or any trace file if generated after processing that gives the full flow that will be great...
    Regards
    Venkatesh

    Hi Venkatesh,
    just check your correlation condition again.....BPM will be collecting all those messages satisfying your correlation condition......
    may be you have to modify your correlation condition to get your desired output...............................
    if your correlation condition is correct and BPM is collecting those msgs which are not satisfying this correlation condition, then just edit your BPM description, save it and again activate it..............run SXI_CACHE to do a complete cache refresh........
    re-run your scenario.........then i think your this correlation error should be resolved.
    Regards,
    Rajeev Gupta

  • Aggregator pattern

    Dear Scn users. 
    I just tried a aggregator pattern of collecting messages based on common Id.And also collecting only messages on count.
    Below is my pattern
    I am confued like what condition I should give in correlation condition to collect the messages.
    I tried by giving condition like this
    Class="12"
    My requirement is  to collect the messages having class 12
    And only 3 messages.
    How to give condition for correlation and how to increment the count based on this condition
    Please help me on this
    Thanks & Regards
    Raghuram S
    SAP PO consultant.

    Hello Manish.
    Thanks a lot..
    I used 3 data Object.
    Count-I intialised this with zero at the start event.
    then in the Count event I am just adding it with 1,to increment the count value
    Class-am just assigning a value 12 to it.(In Intermediate Step)
    ClassNo-Am getting the first value from queue.(In Intermediate Step)
    and in the correlation condition of intermediate message I am defining as
    Class=ClassNo
    When I trigger the message,its always taking second value,I mean if the second value is 12 ,3 messages are appended and sent.
    Where I am wrong.
    Can you please help me on this..
    Thanks.

  • Problem when defining correlation with subsequent Async Receive Step.

    Hi, all:
    We have defined a BMP process, like below:
    Receive (Start Process) --> Sync Send --> Sync Send --- Async Send
    Now we need to have additional steps added into the process: Async Receive.
    Now we have problem defining the correlation:
       Since this Async step is not the start of the process, we have to use correlation, if we leave it blank, a red question mark stays, and we can not active BPM.
       When we define the correlation, we just expect one message type to be received from a Async system.
       In the correlation condition editor window, we would like to choose "Interface Variable" and assign value to the container element that reference the asbtract interface.
       however, when we selection optiontb "Interface Variable", there is value "interface" already fill up, we can not select container element from the elements list.
    Any one has such experience ?
    Thanks in advance !
    John

    Hi
    I think you are facing problem with corrrelation. Follow this procedure to define correlation : -
    1. Switch from Container window to Correlation List, here define a correlation variable.
    2. Now switch from Graphical Editor to Correlation Editor.
    3. There in Correlation Name choose your Correlation variable.
    4. In the Correlation Container define a variable.
    5. In Involved Message window choose your message interfaces that are used to correlate. Here you should have message interface of your second receive step with another message interface.
    6. Now in correlation editor's Properties window assign field of your involved message interface to the variable that you have defined in 4th step.
    7. Now switch to Graphical Editor of you BPM. And Activate your correlation in First receive step and Use Correlation it in subsequent receive step.
    This is the whole procedure to define a correlation and use it.
    If you need further clarification plz revert.
    Regards,
    Sami.
    Reward pointa if helpful.

  • Oracle BI Answers Problem Using Group By condition.

    Hi All,
    I'm new to Oracle BI. i have a requirment to count the number of opened request and number of closed request(month wise) from a table which have fallowing columns:
    Date logged(Date) Status(character) Date closed(date)
    8/12/2008 open null
    8/19/2008 closed 8/21/2008
    I also neeed the total closed request for a particular month irrespective of the opened month.( eg. if a request was raised in Apr and was closed in Aug shoulb be counted.)
    For this requirment i modified the select query:
    SELECT new_event.Month saw_0, new_event.opened saw_1, new_event.closed saw_2, new_event.Cmonth saw_3 FROM
    (SELECT MONTHNAME(Events."Logged Date/time") as MONTH , COUNT(Events.Status) as opened,0 as closed,0 as Cmonth FROM Incidents WHERE ("Assigned Service Dept"."Assigned SVD" = 'WHG DSG SUPPORT') AND (Events.Status IN ('Open', 'Closed')) GROUP BY MONTHNAME(Events."Logged Date/time")
    UNION
    SELECT MONTHNAME(Events."Logged Date/time") as MONTH ,0 as Opened, COUNT(Events.Status) as closed,0 as Cmonth FROM Incidents WHERE ("Assigned Service Dept"."Assigned SVD" = 'WHG DSG SUPPORT') AND Events.Status = 'Closed' GROUP BY MONTHNAME(Events."Logged Date/time")
    UNION
    SELECT MONTHNAME(Events."Closure Date") as MONTH ,0 as Opened,0 as closed, COUNT(Events.Status) as Cmonth FROM Incidents WHERE ("Assigned Service Dept"."Assigned SVD" = 'WHG DSG SUPPORT') AND Events.Status = 'Closed' GROUP BY MONTHNAME(Events."Closure Date")) new_event
    ORDER BY saw_0, saw_2, saw_3
    Using This query i'm able to get the fallowing result set.
    Month opened closed Cmonth
    Apr 25 0 0
    0 0 27
    0 25 0
    Aug 27 0 0
    0 0 21
    0 10 0
    So I want to do a group by month and sum of closed, opened and cmonth column.
    But when i add the group by condition i'm getting the error as "GROUP BY Condition Needed"
    Thanks,
    Sumit

    Ignore the SQL let Analytics handle that for you, the key here is to get your model correct.
    You need a Time Dimension (ie. a table full of calendar dates) which you join to your Fact table date columns in the Physical layer.
    In the logical layer fact table you should have two columns #Open and # Closed - these will be based on a case condition sum aggregate ie.
    No. Open
    CASE WHEN closed_date IS NULL THEN 1
    ELSE 0
    END
    No. Closed
    CASE WHEN closed_date IS NOT NULL THEN 1
    ELSE 0
    END
    If you then make sure you join your Time Dimension (create an alias for each instance) to the open and closed dates you'll be able to have a count of the items closed by Year/Month/Week/Date etc...

  • Slow database insert condition

    I have a situation were we have multiple sessions inserting data in a partitioned table. At any given time we could have multiple sessions. The problem we are facing is that for some reason the insert is taking really logn(say 10 sec or greater) for some transactions. Most of the time the inserts are sub second transactions. This slow insert condition has now pattern. The only thing i have noticed is that this condition occurs where that are a lot of sessions open(50-60)
    My question is what i can do in a 9i instance that would help me pinpoint why a session is taking this long to insert. These are simple insert statements and there is no table locking involved.
    Your help is gretly appreciated.

    Since i have about 50-60 sessions doing insert and this is a very busy system. The problem might not occur for 10 days, so, session tracing seems impractical.
    I am looking for a solution where the DB does some internal recording. If the insert takes 10 seconds or more then the DB should record some stats. Is there anything like that.

  • The featest pattern match

    Now I met a difficult question.Firstly,we have a criterion table as below:Combination Name     Service     UnitLength     UnitHeight     LoadStatus     Bill No ......(until unbounded fields). Some data like this
    Combination Name |     Service |     UnitLength | UnitHeight | LoadStatus |     Bill No ......
    COM1 | CSC | 40 | 96 |
    COM2 | CSC | 40 | 96 | F |
    COM3 | CSC | 40 | 96 | F | SEA-SCS
    If there is an object has the attribute UnitLength equal 40 and UnitHeight equal 96 the correct combination COM1 is selected;otherwise, if
    it has the attribute UnitLength equal 40  and UnitHeight equal 96 and LoadStatus equal F then the appropriate combination COM2 is selected; then if the object has UnitLength equal 40  and UnitHeight equal 96 and LoadStatus equal F  and many other conditions ,the featest  pattern match will be the completely match combination.But when there is no completely match combination,we may get a combination  closer match the object.For example,an object has the following attributes UnitLength equal 40 and UnitHeight equal 96 and LoadStatus equal F Bill No equal SEA-SCS* ,the best result will be COM3.
    How can we find a pl/sql procedure resolve this question?
    Thanks very much! Look forward to your answer!
    About the combination structure(Combinaton.xsd) as below:
    <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xdb="http://xmlns.oracle.com/xdb" version="1.0" xdb:storeVarrayAsTable="true">
         <xs:element name="()" type="CombinationType" xdb:defaultTable="COMBINATION"/>
         <xs:complexType name="CombinationType" xdb:SQLType="Combination_T">
              <xs:sequence>
                   <xs:element name="FilterNam" type="FilterNamType" xdb:SQLName="FilterNam"/>
                   <xs:element name="Priority" type="PriorityType" xdb:SQLName="Priority"/>
                   <xs:element name="FilterType" type="FilterType" minOccurs="0" xdb:SQLName="TYPE"/>
                   <xs:element name="Service" type="ServiceType" xdb:SQLName="Service"/>
                   <xs:element name="Operator" type="OperatorType" xdb:SQLName="Operator"/>
                   <xs:element name="OperTim" type="OperTimType" xdb:SQLName="OperTim"/>
                   <xs:element name="FilterItems" type="FilterItemsType" xdb:SQLName="FilterItems"/>
                   <xs:element name="PlanMatrix" type="PlanMatrixType" xdb:SQLName="PlanMatrix"/>
                   <xs:element name="Discription" type="DiscriptionType" xdb:SQLName="Discription"/>
              </xs:sequence>
         </xs:complexType>
         <xs:complexType name="FilterItemsType" xdb:SQLType="FilterItems_T">
              <xs:sequence>
                   <xs:element name="FilterItem" type="FilterItemType" maxOccurs="unbounded" xdb:SQLName="FilterItem" xdb:SQLCollType="FilterItem_V"/>
              </xs:sequence>
         </xs:complexType>
         <xs:complexType name="FilterItemType" xdb:SQLType="FilterItem_T">
              <xs:sequence>
                   <xs:element name="Charateristic" type="CharateristicType" xdb:SQLName="Charateristic"/>
                   <xs:element name="Oper" type="OperType" xdb:SQLName="Oper"/>
                   <xs:element name="Value" type="ValueType" xdb:SQLName="Value"/>
              </xs:sequence>
         </xs:complexType>
         <xs:complexType name="PlanMatrixType" xdb:SQLType="PlanMatrix_T">
              <xs:sequence>
                   <xs:element name="PlanMatrixElement" type="PlanMatrixElementType" maxOccurs="3" xdb:SQLName="PlanMatrixElement" xdb:SQLCollType="PlanMatrixElement_V"/>
              </xs:sequence>
         </xs:complexType>
         <xs:complexType name="PlanMatrixElementType" xdb:SQLType="PlanMatrixElementTypem_T">
              <xs:sequence>
                   <xs:element name="Interval" type="IntervalType" xdb:SQLName="Interval"/>
                   <xs:element name="DaysBfETD" type="DaysBfETDType" xdb:SQLName="DaysBfETD"/>
                   <xs:element name="Resevevation" type="ResevevationType" xdb:SQLName="Resevevation"/>
                   <xs:element name="Algorithm" type="AlgorithmType" xdb:SQLName="Algorithm"/>
                   <xs:element name="HDP" type="HDPType" xdb:SQLName="HDP"/>
              </xs:sequence>
         </xs:complexType>
         <xs:simpleType name="FilterNamType">
              <xs:restriction base="xs:string">
                   <xs:minLength value="1"/>
                   <xs:maxLength value="30"/>
              </xs:restriction>
         </xs:simpleType>
         <xs:simpleType name="OperatorType">
              <xs:restriction base="xs:string">
                   <xs:minLength value="1"/>
                   <xs:maxLength value="10"/>
              </xs:restriction>
         </xs:simpleType>
         <xs:simpleType name="ServiceType">
              <xs:restriction base="xs:string">
                   <xs:minLength value="1"/>
                   <xs:maxLength value="20"/>
              </xs:restriction>
         </xs:simpleType>
         <xs:simpleType name="FilterType">
              <xs:restriction base="xs:string">
                   <xs:minLength value="1"/>
                   <xs:maxLength value="4"/>
              </xs:restriction>
         </xs:simpleType>
         <xs:simpleType name="PriorityType">
              <xs:restriction base="xs:integer"/>
         </xs:simpleType>
         <xs:simpleType name="OperTimType">
              <xs:restriction base="xs:date"/>
         </xs:simpleType>
         <xs:simpleType name="CharateristicType">
              <xs:restriction base="xs:string">
                   <xs:minLength value="1"/>
                   <xs:maxLength value="35"/>
              </xs:restriction>
         </xs:simpleType>
         <xs:simpleType name="OperType">
              <xs:restriction base="xs:string">
                   <xs:minLength value="1"/>
                   <xs:maxLength value="10"/>
              </xs:restriction>
         </xs:simpleType>
         <xs:simpleType name="ValueType">
              <xs:restriction base="xs:string">
                   <xs:minLength value="1"/>
                   <xs:maxLength value="35"/>
              </xs:restriction>
         </xs:simpleType>
         <xs:simpleType name="DiscriptionType">
              <xs:restriction base="xs:string">
                   <xs:minLength value="1"/>
                   <xs:maxLength value="35"/>
              </xs:restriction>
         </xs:simpleType>
         <xs:simpleType name="IntervalType">
              <xs:restriction base="xs:integer"/>
         </xs:simpleType>
         <xs:simpleType name="DaysBfETDType">
              <xs:restriction base="xs:integer"/>
         </xs:simpleType>
         <xs:simpleType name="ResevevationType">
              <xs:restriction base="xs:string">
                   <xs:minLength value="1"/>
                   <xs:maxLength value="35"/>
              </xs:restriction>
         </xs:simpleType>
         <xs:simpleType name="AlgorithmType">
              <xs:restriction base="xs:string">
                   <xs:minLength value="1"/>
                   <xs:maxLength value="35"/>
              </xs:restriction>
         </xs:simpleType>
         <xs:simpleType name="HDPType">
              <xs:restriction base="xs:string">
                   <xs:minLength value="0"/>
                   <xs:maxLength value="35"/>
              </xs:restriction>
         </xs:simpleType>
    </xs:schema>
    And the data(Combination.xml) like that:
    <Combination
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:noNamespaceSchemaLocation="http://localhost/xml_test//Combination.xsd">
    <FilterNam>40/8.6/F/BILL</FilterNam>
    <Priority>5</Priority>
    <Service>KR-SHIPPING-LINE</Service>
    <Operator>ZHANGRUI</Operator>
    <OperTim>2010-06-09</OperTim>
    <FilterItems>
    <FilterItem>
    <Charateristic>UnitLegth</Charateristic>
    <Oper>=</Oper>
    <Value>40</Value>
    </FilterItem>
    <FilterItem>
    <Charateristic>UnitHeigh</Charateristic>
    <Oper>=</Oper>
    <Value>8.6</Value>
    </FilterItem>
    <FilterItem>
    <Charateristic>LoadStatus</Charateristic>
    <Oper>=</Oper>
    <Value>F</Value>
    </FilterItem>
    <FilterItem>
    <Charateristic>BillNo</Charateristic>
    <Oper>=</Oper>
    <Value>SEA-BILLING-NO.1</Value>
    </FilterItem>
    </FilterItems>
    <PlanMatrix>
    <PlanMatrixElement>
    <Interval>1</Interval>
    <DaysBfETD>3</DaysBfETD>
    <Resevevation>1 BAY</Resevevation>
    <Algorithm>MIX VESSEL</Algorithm>
    </PlanMatrixElement>
    </PlanMatrix>
    </Combination>
    Edited by: user10904897 on 2010-6-9 下午8:23
    Edited by: user10904897 on 2010-6-9 下午8:57

    my best would be to do something like the following since i don't have oracle and can't simulate it right now:
    select a.*,
           case when unitlength = 40 and unitheight = 96 and loadstatus ='F' and billno = 'SEA-SCS' then 'COM3'
                  when unitlength = 40 and unitheight = 96 and loadstatus ='F' and billno != 'SEA-SCS' then 'COM2'
                  when unitlength = 40 and unitheight = 96 and loadstatus != 'F' then 'COM1'
                  else 'print what ever you want'
           end
    from <table_name>
    where <any_conditions_you_want_if_any>
    ;

  • How to get title dyanamically in xsl

    Hi ,
    i am working seo project which is search engine optimigation.
    i have one xsl file and i added meta tag like
    <title> title</tile>
    <meta name="Description" content="MyDescription">
    <meta name="Keywords" content="Keyword1, Keyword2, �, KeywordN">
    can you please tell me how to get the dynamic title based on the url.
    and keyword with commas taking as input title.
    i am using javascript but i do not how to call that sciprt in xsl file
    this is my xsl file souce code
    <?xml version="1.0" encoding="UTF-8"?>
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:msxsl="urn:schemas-microsoft-com:xslt"
    xmlns:user="user" xmlns:fo="http://www.w3.org/1999/XSL/Format" xmlns:xalan="http://xml.apache.org/xslt" xmlns:i18n="http://apache.org/cocoon/i18n/2.1">
    <xsl:param name="pageName"/>
    <xsl:param name="titlePage"/>
    <xsl:param name="keyword"/>
    <!-- start - includes -->
    <xsl:include href="../mobility/header.xsl"/>
    <xsl:include href="../mobility/footer.xsl"/>
    <xsl:include href="../mobility/navigation.xsl"/>
    <xsl:include href="../mobility/mobility_content.xsl"/>     
    <!-- end - includes -->
    <xsl:template match="page">
    <html>
    <head>
    <script type="text/javascript">
              function test2()
              var st= "nissan uk";
              str = str.toLowerCase();
    str = str.replace(/['"-]/g, ",");
    str = str.replace(/\W/g, ",");
              str = str.replace(/\s+/g, ",");
    window.location();
    </script>
    <title><xsl:value-of select="$titlePage"/></title>
    <xsl:variable name="keywords" select="'keyword'"/>
    <xsl:variable name="scriptid" select="test2()"/>
    <meta content="We have developed this site to make it easier to access the information you need, when you need it. " name="Description" />
    <meta content="{$scriptid}" name="Keywords"/>
    <meta content="index, follow" name="Robots"/>
    <xsl:comment><xsl:value-of select="$titlePage"/>.We have developed this site to make it easier to access the information you need, when you need it. </xsl:comment>
         <link rel="stylesheet" type="text/css" href="/nova/global/css/mobility/mobility.css"/>
         <script type="text/javascript" src="/nova/global/js/mobility/ExpandingMenu.js"/>
         <script type="text/javascript" src="/nova/global/js/mobility/Popup.js"/>
         <script type="text/javascript" src="/nova/global/js/global.js"/>
    </head>
    <body id="mb_bodyMargin" >
         <!-- start - to publish the header details -->
         <div id="mb_navtop">
         <xsl:call-template name="header"/>
         </div>
         <!-- end - to publish the header details -->
         <div id="mb_navMenu">
         <div class="mb_leftContent">
         <!-- start - to publish the left navigation -->
              <div class="mb_menublock">
              <div class="mb_menublockGrayPatch"></div>           
              <xsl:copy-of select="/page/navigation/node()"/>               
              </div>
              <!-- end - to publish the left navigation -->     
              <div class="mb_whitePathch"></div>               
              <!-- start - to publish the Motability image & Related Pags -->
              <div class="mb_mobilityimage">
              <a>
                   <xsl:attribute name="href"><xsl:value-of select="collection/image/IMAGE-LINK"/></xsl:attribute>
                   <img>
                   <xsl:attribute name="src">/nova/<xsl:value-of select="collection/image/filename"/></xsl:attribute>
                   <xsl:attribute name="alt"><xsl:value-of select="collection/image/alt"/></xsl:attribute>
                   <xsl:attribute name="border">0</xsl:attribute>                    
                   <xsl:attribute name="class">mb_imgMotability</xsl:attribute>                    
                   </img>                         
                   </a>
              <xsl:apply-templates select="collection" mode="mb_related_links"/>
              </div>
              <!-- end - to publish the Motability image & Related Pags -->
         </div>
         <!-- start - to publish the right content & footer details -->               
         <div class="mb_rightContent">
              <xsl:apply-templates select="collection" mode="mobility_home"/>
              <xsl:call-template name="footer"/>
         </div>
         <!-- end - to publish the right content & footer details -->
         </div>
    </body>
    <!-- start - to expand and highlight the selected menu/sub-menu item -->
    <xsl:variable name="pageNameWithoutIndex" select="$pageName"/>
    <xsl:choose>
    <xsl:when test="contains($pageNameWithoutIndex,'/')">
         <xsl:variable name="firstNav" select="substring-before($pageNameWithoutIndex,'/')"/>
         <xsl:variable name="secondNav" select="substring-after($pageNameWithoutIndex,'/')"/>
         <script>
              expand('<xsl:value-of select="$firstNav"/>','<xsl:value-of select="$pageNameWithoutIndex"/>');
         </script>     
    </xsl:when>
    <xsl:otherwise>
         <xsl:variable name="firstNav" select="$pageNameWithoutIndex"/>
         <script>
              expand('<xsl:value-of select="$firstNav"/>');
         </script>     
    </xsl:otherwise>
    </xsl:choose>
    <!-- start - to expand and highlight the selected menu/sub-menu item -->
    </html>
    </xsl:template>
    </xsl:stylesheet>
    and sitemap.map file is
    <?xml version="1.0"?>
    <map:sitemap xmlns:map="http://apache.org/cocoon/sitemap/1.0">
    <!-- Reorganised sitemap as follows:- printing pipeline, then main pipeline-->
    <!--============================ Views ======================================-->
         <map:views>
              <map:view from-label="beautify" name="beautify">
                   <map:transform type="i18n">
                        <map:parameter name="locale" value="{../locale}"/>
                   </map:transform>
                   <map:serialize type="xml"/>
              </map:view>
         </map:views>
    <!--=========================== Pipelines =================================-->
    <map:pipelines>
         <map:pipeline>
    <!--============= to generate Content for navigation ===============================-->
         <map:match pattern="navigation.xml">
         <map:generate src="cocoon:/navigation_gen.xml"/>
         <map:transform src="context:///stylesheets/mobility/navigation.xsl"/>
    <map:serialize type="xml"/>
         </map:match>
    <!--============= to generate Channel information for Mobility =================-->
         <map:act type="nscData">
              <map:match pattern="navigation_gen.xml">
              <map:generate src="cocoon://sitemap-gen_{../locale-path}.xml" />
              <map:transform src="context:///stylesheets/mobility/channel.xsl"/>
         <map:serialize type="xml"/>
              </map:match>
         </map:act>
         <map:act type="nscData">
    <!--============ NOVA - Mobility root pipeline ====================-->
              <map:match pattern="">
                   <map:redirect-to uri="mobility/index.html"/>
              </map:match>
              <map:match pattern="home/index.*">
                   <map:redirect-to uri="/home/mobility/index.html"/>
              </map:match>
    <!--================================= Nissan mobility Home Page =================================-->
                   <map:match pattern="index.*">
                   <map:aggregate element="page" label="beautify">
                             <map:part element="" strip-root="true" src="cocoon:/navigation.xml"/>
                             <map:part src="cocoon://{../locale-path}/mobility/home.chan"/>
              </map:aggregate>
              <map:call resource="get_{1}">
                             <map:parameter name="filename" value="home"/>
                             <map:parameter name="titlefilename" value="nissan uk,home"/>
                             <map:parameter name="keywordname" value="nissan,uk,home"/>
                        </map:call>
              </map:match>
              <!--=================================== Scheme page =======================================-->
              <map:match pattern="scheme/index.*">
                        <map:aggregate element="page" label="beautify">
                   <map:part element="" strip-root="true" src="cocoon:/navigation.xml"/>
                             <map:part src="cocoon://{../locale-path}/mobility/scheme.chan"/>
              </map:aggregate>
                        <map:call resource="get_{1}">
                             <map:parameter name="filename" value="scheme" />
                             <map:parameter name="titlefilename" value="nissan uk,scheme"/>
                             <map:parameter name="keywordname" value="nissan,uk,scheme"/>
                        </map:call>
              </map:match>
              <!--====================== For the Scheme sub-menu pages =========================-->
              <map:match pattern="scheme/*/index.*">
                        <map:aggregate element="page" label="beautify">
                   <map:part element="" strip-root="true" src="cocoon:/navigation.xml"/>
                             <map:part src="cocoon://{../locale-path}/mobility/scheme/{1}.chan"/>
              </map:aggregate>
                        <map:call resource="get_{2}">
                             <map:parameter name="filename" value="{1}" />
                             <map:parameter name="file-path" value="scheme/{1}"/>
                             <map:parameter name="file-path1" value="Nissan UK,scheme-{1}"/>
                             <map:parameter name="keywordname" value="nissan,uk,scheme,{1}"/>
                        </map:call>
              </map:match>
              <!--====================== For those pages under construction =============-->
              <map:match pattern="mobility_centre/index.*">
                        <map:aggregate element="page" label="beautify">
                   <map:part element="" strip-root="true" src="cocoon:/navigation.xml"/>
                             <map:part src="cocoon://{../locale-path}/mobility/mobility_centre.chan"/>
              </map:aggregate>
                        <map:call resource="get_{1}">
                             <map:parameter name="filename" value="mobility_centre" />
                             <map:parameter name="titlefilename" value="Nissan UK,mobility_centre" />
                        </map:call>
              </map:match>
              <!--====================== For the sub-menu pages under construction=========================-->
              <map:match pattern="mobility_centre/*/index.*">
                        <map:aggregate element="page" label="beautify">
                   <map:part element="" strip-root="true" src="cocoon:/navigation.xml"/>
                             <map:part src="cocoon://{../locale-path}/mobility/mobility_centre.chan"/>
              </map:aggregate>
                        <map:call resource="get_{2}">
                             <map:parameter name="filename" value="{1}" />
                             <map:parameter name="file-path" value="mobility_centre/{1}"/>
                        </map:call>
              </map:match>
    <!--================================== Vehicles page =======================================-->
    <map:match pattern="vehicles/index.*">
    <map:aggregate element="page" label="beautify">
    <map:part element="" strip-root="true" src="cocoon:/navigation.xml"/>
    <map:part src="cocoon://{../locale-path}/mobility/vehicles.chan"/>
    <map:part element="passenger" src="cocoon://{../locale-path}/mobility/vehicles/passenger.chan"/>
    <map:part element="lcv" src="cocoon://{../locale-path}/mobility/vehicles/lcv.chan"/>
    <map:part element="four-by-four" src="cocoon://{../locale-path}/mobility/vehicles/4x4.chan"/>
    </map:aggregate>
    <map:call resource="get_{1}">
    <map:parameter name="filename" value="vehicles" />
    <map:parameter name="titlefilename" value="nissan uk,vehicles"/>
    </map:call>
    </map:match>
    <!--=============================== For Vehicles sub-menu pages =============================-->
    <map:match pattern="vehicles/*/*/index.*">
    <map:aggregate element="page" label="beautify">
    <map:part element="" strip-root="true" src="cocoon:/navigation.xml"/>
    <map:part src="cocoon://{../locale-path}/mobility/vehicles.chan"/>
    <map:part src="cocoon://{../locale-path}/mobility/vehicles/{1}/{2}.chan"/>
    <map:part element="" strip-root="false" src="cocoon://{../locale-path}/mobility/vehicles/{1}/{2}/NSC-MODEL-XTND.type"/>
    <map:part src="cocoon://{../locale-path}/vehicles/{1}/{2}/grades-and-specs/EQUIPMENT-XTND.type"/>
    <map:part src="cocoon://{../locale-path}/vehicles/{1}/{2}/grades-and-specs/GRADE-XTND.type"/>
    <map:part src="cocoon://{../locale-path}/vehicles/{1}/{2}/carbuilder/ENGINE-AND-TRANS-XTND.type"/>
    <map:part element="BODY" src="cocoon://{../locale-path}/vehicles/{1}/{2}/carbuilder/BODY-XTND.type"/>
    <map:part element="" strip-root="true" src="cocoon://logicsheets/vehicles/pv-gp.xsp?country={../country}&locale={../locale-path}&with-vat={../with-vat}&modelGroup={2}&cache-timeout=600" />
    </map:aggregate>
    <map:call resource="get_{3}">
    <map:parameter name="filename" value="vehicles-details" />
    <map:parameter name="file-path" value="vehicles/{1}/{2}"/>
    <map:parameter name="tiltefile-path" value="nissan uk, vehicles -{1}-{2}"/>
    <map:parameter name="tiltefile-path-intro" value="nissan uk, vehicles -{1}-{2}-intro"/>
    </map:call>
    </map:match>
    <!--======================== Performance/Energy (Frugality page) ==============================-->
    <map:match pattern="*/*/*/performance/energy/index.*">
    <map:aggregate element="page">
    <map:part element="" strip-root="true" src="cocoon:/navigation.xml"/>
    <map:part src="cocoon://{../locale-path}/mobility/vehicles/image.type"/>
    <map:part src="cocoon://{../locale-path}/mobility/vehicles/Mb_Relatedlinks.type"/>
    <map:part src="cocoon://{../locale-path}/mobility/vehicles/{2}/{3}.chan"/>
    <map:part src="cocoon://logicsheets/vehicles/engine-energy.xsp?locale={../locale-path}&model-code={3}&cache-timeout=600" />
    <map:part src="cocoon://logicsheets/vehicles/model-body-engine-attributes.xsp?model-code={3}&cache-timeout=600"/>
    </map:aggregate>
    <map:call resource="get_{4}">
    <map:parameter name="filename" value="energy" />
    <map:parameter name="file-path" value="vehicles/{2}/{3}"/>
    </map:call>
    </map:match>
    <!--======================== Price popup for Vehicle pages ==============================-->
    <map:match pattern="*/*/*/price-popup.*">
    <map:aggregate element="page">
    <map:part src="cocoon://{../locale-path}/mobility/vehicles/{2}/{3}.chan"/>
    </map:aggregate>
    <map:call resource="get_{4}">
    <map:parameter name="filename" value="price-popup" />
    <map:parameter name="file-path" value="vehicles/{3}"/>
    </map:call>
    </map:match>
              <!--====================== News and Events page ==========================-->
              <map:match pattern="news-events/index.*">
                        <map:aggregate element="page" label="beautify">
                             <map:part element="" strip-root="true" src="cocoon:/navigation.xml"/>
                             <map:part src="cocoon://{../locale-path}/mobility/news-events.chan"/>
              </map:aggregate>
                        <map:call resource="get_{1}">
                             <map:parameter name="filename" value="news-events" />
                        </map:call>
              </map:match>
              <!--======================= News Article page ============================-->
    <map:match pattern="news-events/*.*">
    <map:aggregate element="page" label="beautify">
    <map:part element="" strip-root="true" src="cocoon:/navigation.xml"/>
    <map:part src="cocoon://{../locale-path}/mobility/news-events.chan"/>
    <map:part src="cocoon://{../locale-path}/{1}.item"/>
    </map:aggregate>
    <map:call resource="get_{2}">
    <map:parameter name="filename" value="news-article"/>
    </map:call>
    </map:match>
              <!--=================== contact us / Requests page =======================-->
              <map:match pattern="contactus/index.*">
                        <map:aggregate element="page" label="beautify">
                             <map:part element="" strip-root="true" src="cocoon:/navigation.xml"/>
                             <map:part src="cocoon://{../locale-path}/mobility/contactus.chan"/>
              </map:aggregate>
                        <map:call resource="get_{1}">
                             <map:parameter name="filename" value="contactus" />
                        </map:call>
              </map:match>
              <!-- ================ Brochure and Test Drive page =========================== -->
              <map:match pattern="*/brochure_testdrive/index.*">
                   <map:act type="sessionCreator"> <!-- sessionCreator -->     
                        <map:aggregate element="page" label="beautify">
                             <map:part element="" strip-root="true" src="cocoon:/navigation.xml"/>
    <map:part src="cocoon://{../../locale-path}/mobility/contactus/image.type"/>
    <map:part src="cocoon://{../../locale-path}/mobility/contactus/Mb_Relatedlinks.type"/>
    <map:part src="cocoon://request.params"/>          
                             <map:part src="cocoon://session.params"/>
    <map:part src="cocoon://vehicles/leads_vehicle_data.xml"/>
         <map:part element="brochure" strip-root="true" src="cocoon://{../../locale-path}/mobility/contactus/brochure_testdrive.chan"/>
                             <map:part element="testdrive" strip-root="true" src="cocoon://{../../locale-path}/mobility/contactus/testdrive.chan"/>
                             <map:part element="" strip-root="true" src="../content/contact/{../../locale-path}/brochure/step1-static.xml"/>
              </map:aggregate>
                        <map:call resource="get_{../2}">
                             <map:parameter name="filename" value="brochure-testdrive" />
                             <map:parameter name="file-path" value="{../1}/brochure_testdrive" />
                             <map:parameter name="file-path" value="nissan uk,passanger-range " />
                        </map:call>
                   </map:act>     
              </map:match>
              <!-- ===================== Enquiries page ================================ -->
              <map:match pattern="*/enquiries/index.*">
                   <map:act type="sessionCreator"> <!-- sessionCreator -->     
                        <map:aggregate element="page" label="beautify">
                             <map:part element="" strip-root="true" src="cocoon:/navigation.xml"/>
                             <map:part src="cocoon://{../../locale-path}/mobility/contactus/image.type"/>
    <map:part src="cocoon://{../../locale-path}/mobility/contactus/Mb_Relatedlinks.type"/>
                             <map:part src="cocoon://{../../locale-path}/mobility/contactus/enquiries.chan"/>
                             <map:part element="" strip-root="true" src="../content/contact/{../../locale-path}/mobility/mobility.xml"/>
              </map:aggregate>
                        <map:call resource="get_{../2}">
                             <map:parameter name="filename" value="enquiries" />
                             <map:parameter name="file-path" value="{../1}/enquiries" />
                        </map:call>
                   </map:act>     
              </map:match>
              <!-- ========================= Your Details page ============================ -->
    <map:match pattern="*/*/yourdetails.*/*">
         <map:act type="sessionWriter">
    <map:aggregate element="page" label="beautify">
    <map:part src="cocoon://request.params"/>
    <map:part src="cocoon://session.params"/>
    <map:part element="" strip-root="true" src="cocoon:/navigation.xml"/>
    <map:part src="cocoon://{../../locale-path}/mobility/contactus/image.type"/>
              <map:part src="cocoon://{../../locale-path}/mobility/contactus/Mb_Relatedlinks.type"/>
    <map:part element="" strip-root="true" src="../content/contact/{../../locale-path}/mobility/step1-static.xml"/>
    <map:part element="" strip-root="false" src="../content/contact/{../../locale-path}/mobility/occupation.xml"/>
    </map:aggregate>
    <map:call resource="get_{../3}">
    <map:parameter name="filename" value="yourdetails" />
    <map:parameter name="file-path" value="{../1}/{../2}"/>
    <map:parameter name="formValues" value="{../4}"/>
    </map:call>
    </map:act>
    </map:match>
         <!--========================= No Postal Address code Page =========================-->
         <map:match pattern="*/*/postcode.*/*">
                        <map:act type="sessionWriter">     
                             <map:aggregate element="page" >
                                  <map:part src="cocoon://request.params"/>          
                             <map:part src="cocoon://session.params"/>     
                             <map:part element="" strip-root="true" src="cocoon:/navigation.xml"/>
         <map:part src="cocoon://{../../locale-path}/mobility/contactus/image.type"/>
         <map:part src="cocoon://{../../locale-path}/mobility/contactus/Mb_Relatedlinks.type"/>
                             <map:part strip-root="true" src="cocoon://contact/common_{../../locale-path}.xml?section-header-id=/{../../locale-path}/contact/brochure"/>                          
                                  <map:part element="" strip-root="true" src="../content/contact/{../../locale-path}/mobility/step1-static.xml"/>
                                  <map:part element="" strip-root="false" src="../content/contact/{../../locale-path}/common/occupation.xml"/>                              
                                  <map:part element="" strip-root="false" src="cocoon://search.qas"/>
                                  <map:part strip-root="true" src="cocoon://{../../locale-path}/contact.chan"/>
                                  <map:part strip-root="true" src="cocoon://{../../locale-path}/contact/brochure.chan_errcheck"/>
                             </map:aggregate>
                             <map:call resource="get_{../3}">
                                  <map:parameter name="filename" value="yourdetails" />
                                  <map:parameter name="file-path" value="{../1}/{../2}"/>
                                  <map:parameter name="formValues" value="{../4}"/>
                             </map:call>
                        </map:act>     
                   </map:match>
                   <map:match pattern="*/list.*">
                        <map:act type="sessionWriter">
                             <map:aggregate element="page">
                                  <map:part src="cocoon://request.params"/>          
                             <map:part src="cocoon://session.params"/>
                                  <map:part strip-root="true" src="cocoon://contact/common_{../../locale-path}.xml?section-header-id=/{../../locale-path}/contact/{../1}"/>      
                                  <map:part element="" strip-root="true" src="../content/contact/{../../locale-path}/address/list-static.xml"/>
                             <map:part src="cocoon://results.qas"/>          
                             </map:aggregate>                         
                             <map:call resource="get_{../2}">
                                  <map:parameter name="file-path" value="/{nsc-short-name}/{locale-path}/site-media/contact/"/>                         
                                  <map:parameter name="filename" value="address/list" />
                                  <map:parameter name="nedstat-path" value="{../../country-upper}.{../1}.askaddress"/>                              
                             </map:call>
                        </map:act>
                   </map:match>     
                   <map:match pattern="*/validate.*">
                        <map:act type="sessionWriter">
                             <map:aggregate element="page" >
                                  <map:part src="cocoon://request.params"/>          
                             <map:part src="cocoon://session.params"/>
                                       <map:part strip-root="true" src="cocoon://contact/common_{../../locale-path}.xml?section-header-id=/{../../locale-path}/contact/{../1}"/>      
                                  <map:part element="" strip-root="true" src="../content/contact/{../../locale-path}/address/validate-static.xml"/>
                             <map:part src="cocoon://results.qas"/>          
                             </map:aggregate>
                             <map:call resource="get_{../2}">
                                  <map:parameter name="file-path" value="/{nsc-short-name}/{locale-path}/site-media/contact/"/>                         
                                  <map:parameter name="filename" value="address/validate" />
                                  <map:parameter name="nedstat-path" value="{../../country-upper}.{../1}.askaddress"/>                              
                             </map:call>
                        </map:act>
                   </map:match>
              <map:match pattern="*/*/confirmation.*">
                             <map:act type="sessionWriter">
                             <map:act type="data-submit">     
                                  <map:aggregate element="page" >
                                       <map:part src="cocoon://request.params"/>          
                                  <map:part src="cocoon://session.params"/>
                                  <map:part src="cocoon://vehicles/leads_vehicle_data.xml"/>     
                                  <map:part element="" strip-root="true" src="cocoon:/navigation.xml"/>
    <map:part src="cocoon://{../../../locale-path}/mobility/contactus/image.type"/>
                                  </map:aggregate>
                                  <map:call resource="get_{../../3}">
                                       <map:parameter name="filename" value="confirmation"/>
                                       <map:parameter name="file-path" value="{../../1}/{../../2}"/>
                                  </map:call>
                             </map:act>
                        </map:act>
                   </map:match>
         <!--============================ Tell us More Page ================================-->
    <map:match pattern="*/*/more.*">
                        <map:act type="sessionCreator">                    
                             <map:aggregate element="page" >
                                  <map:part src="cocoon://request.params"/>          
                             <map:part src="cocoon://session.params"/>
                             <map:part element="" strip-root="true" src="cocoon:/navigation.xml"/>
              <map:part src="cocoon://{../../locale-path}/mobility/contactus/image.type"/>
    <map:part src="cocoon://{../../locale-path}/mobility/contactus/Mb_Relatedlinks.type"/>
                                  <map:part strip-root="true" src="cocoon://contact/common_{../../locale-path}.xml?section-header-id=/{../../locale-path}/contact/{../1}"/>     
                                  <map:part element="" strip-root="true" src="../content/contact/{../../locale-path}/common/more-static.xml"/>
                                  <map:part strip-root="true" src="cocoon://{../../locale-path}/contact.chan_errcheck"/>
                                  <map:part strip-root="false" src="../content/contact/received-files/Leisure_{../../locale-path}.xml"/>
                                  <map:part strip-root="false" src="../content/contact/received-files/Sport_{../../locale-path}.xml"/>
                                  <map:part strip-root="false" src="../content/contact/received-files/FinanceType_{../../locale-path}.xml"/>
                                  <map:part strip-root="false" src="../content/contact/received-files/FuelType_{../../locale-path}.xml"/>
                             </map:aggregate>
                             <map:call resource="get_{../3}">
                                  <map:parameter name="filename" value="more" />
                                  <map:parameter name="file-path" value="/{nsc-short-name}/{locale-path}/site-media/contact/"/>                              
                                  <map:parameter name="nedstat-path" value="{../../country-upper}.contact.{2}.more"/>
                             </map:call>
                        </map:act>
                   </map:match>
         <!--============================ confirmation2 ================================-->
    <map:match pattern="*/*/confirm_more.*">
    <map:act type="sessionWriter">
    <map:act type="data-submit">
    <map:aggregate element="page" >
    <map:part src="cocoon://request.params"/>
    <map:part src="cocoon://session.params"/>
    <map:part element="" strip-root="true" src="cocoon:/navigation.xml"/>
                   <map:part src="cocoon://{../../../locale-path}/mobility/contactus/image.type"/>
    <map:part strip-root="true" src="cocoon://contact/common_{../../../locale-path}.xml?section-header-id=/{../../../locale-path}/contact/{../../1}"/>
    <map:part element="" strip-root="true" src="../content/contact/{../../../locale-path}/common/confirmation-static.xml"/>
    </map:aggregate>
    <map:call resource="get_{../../3}">
    <map:parameter name="filename" value="confirmation_more" />
    <map:parameter name="file-path" value="{../../1}/{../../2}"/>
    </map:call>
    </map:act>
    </map:act>
    </map:match>
    <!--============================ Sitemap page ================================-->
              <map:match pattern="sitemap/index.*">
                        <map:aggregate element="page" label="beautify">
                             <map:part element="" strip-root="true" src="cocoon:/navigation.xml"/>
                             <map:part src="cocoon:/navigation_gen.xml"/>
                             <map:part src="cocoon://{../locale-path}/mobility/sitemap.chan"/>
              </map:aggregate>
                        <map:call resource="get_{1}">
                             <map:parameter name="filename" value="sitemap"/>
                        </map:call>
         </map:match>
         <!-- =========================== Image PopUp ================================= -->
    <map:match pattern="*/image-popup.*">
         <map:aggregate element="page" label="beautify">
                        <map:part src="cocoon://{../locale-path}/mobility/scheme.chan"/>
                   </map:aggregate>
    <map:call resource="get_{2}">
                        <map:parameter name="filename" value="image-popup"/>
              </map:call>
         </map:match>
    <!-- ======================== Editorial - PopUp ================================== -->
    <map:match pattern="scheme/editorial-popup.*">
              <map:aggregate element="page" label="beautify">
                   <map:part src="cocoon://{../locale-path}/mobility/scheme/editorial-page-standard.type"/>
                   </map:aggregate>
    <map:call resource="get_{1}">
                   <map:parameter name="filename" value="editorial-popup"/>
              </map:call>
         </map:match>
    <!--=========================== Terms and Conditions =================================-->
    <map:match pattern="terms-conditions/index.*">
    <map:aggregate element="page" label="beautify">
    <map:part element="" strip-root="true" src="cocoon:/navigation.xml"/>
    <map:part src="cocoon://{../locale-path}/mobility/home/editorial-page-faq-short.type"/>
    <map:part src="cocoon://{../locale-path}/mobility/home/image.type"/>
    </map:aggregate>
    <map:call resource="get_{1}">
    <map:parameter name="filename" value="terms-conditions"/>
    </map:call>
    </map:match>
         </map:act>
         </map:pipeline>
    </map:pipelines>
    <!--=========================== Resources =================================-->
         <map:resources>
              <map:resource name="get_html">
                   <map:act type="nscData">     
                   <map:transform type="i18n">
                             <map:parameter name="locale" value="{../locale}" />
                        </map:transform>               
                        <map:transform type="xslt" src="cocoon://stylesheets/mobility/{../filename}.xsl">
                             <map:parameter name="pageName" value="{../filename}"/>
                             <map:parameter name="titlePage" value="{../titlefilename}"/>
                             <map:parameter name="keyword" value="{../keywordname                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       

    Works for me. What happened when you tried?
    <pre style="
    font-family: Monaco, 'Courier New', Courier, monospace;
    font-size: 10px;
    font-weight: normal;
    margin: 0px;
    padding: 5px;
    border: 1px solid #000000;
    width: 720px;
    color: #000000;
    background-color: #E6E6EE;
    overflow: auto;"
    title="this text can be pasted into the AppleScript Editor">
    tell application "Finder" to display dialog "I need ® or ™ in dialog box text" with title "I need ® or ™ in dialog box text" buttons {"Aha!"} default button 1</pre>

  • Want to copy the data form one table to another.

    I have two tables named COMP_TRAINING_T and TRNG_CMTS_COMMENTS.
    Now i feel the TRNG_CMTS_COMMENTS is needed so i am moving a column from this table to COMP_TRAINING_T.
    I already have some data in both tables. I have add the column in COMP_TRAINING_T and want to update this table as follows
    update COMP_TRAINING_T a
    SET COMP_TRNG_COMMENTS=
    ( Select COMP_TRNG_CMTS_COMMENTS from comp_trng_cmts_t b
    where a.comp_trng_finance_nbr= b.comp_trng_cmts_finance_nbr and
    a.comp_trng_audit_userid=b.comp_trng_cmts_audit_userid and
    a.comp_trng_date= b.comp_trng_cmts_date and
    a.comp_trng_userid= b.comp_trng_cmts_userid)
    but it is updating the rows correctly for the data it found from the COMP_TRNG_CMTS_COMMENTS table but for other rows it is setting it as Null value.
    How to rewrite this sql.
    Thanks

    Hi,
    Welcome to the forum!
    You're doing an UPDATE statement without a WHERE clause, so every row in the destination table will be updated. If the correlated sib-query doesn't find any matching rows in the source table, there's no error, but NULL is returned, so some rows in the destination table may get set to NULL.
    To avoid that, you can use MERGE:
    MERGE INTO     comp_training_t     a
    USING (
          SELECT     comp_trng_cmts_comments
          ,          comp_trng_cmts_finance_nbr
          ,          comp_trng_cmts_audit_userid
          ,          comp_trng_cmts_date
          ,          comp_trng_cmts_userid
          FROM     comp_trng_cmts_t
          )  b
    ON    (          a.comp_trng_finance_nbr      = b.comp_trng_cmts_finance_nbr
          AND     a.comp_trng_audit_userid = b.comp_trng_cmts_audit_userid
          AND     a.comp_trng_date      = b.comp_trng_cmts_date
          AND     a.comp_trng_userid      = b.comp_trng_cmts_userid
    WHEN MATCHED THEN UPDATE
    SET   a.comp_trng_comments     = b.comp_trng_cmts_comments
    ;MERGE tests (using the ON conditions) whether or not ther is a match between the destination table and the source sub-query.
    If there is a match, it can do an UPDATE.
    If there is no match, it can do an INSERT. In this case, we don't want to insert any new rows, so we just omit the WHEN NOT MATCHED clause.
    Notice that the USING sub-query returns all the columns from the source table that play any role in this job.
    The ON clause contains all the correlation conditions that were in your original statement.
    The alternatives, using UPDATE are:
    (a) Update all rows, but use NVL to set values to themselves if the sub-query returns NULL
    (b) Add a WHERE clause that repeats the correlated sub-query.
    Neither is efficient, and (b) is a maintenance problem, too: if tyou ever change the conditions, you have to make the same change in two places.
    By the way, this site compresses whitespace by default.
    if you need to post formatted code or output, then type these 6 characters:
    (small letters only, inside curly brackets) before and after sections of formatted text, to preserve spacing.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   

  • MESSAGE MAPPING PROBLEM PLS HELP

    hi forum i have a problem in message mapping...
    i have a file to file scenario...with a BPM..
    the components are:
    1. one outbound async MI:->   MI_OA_fileSender
    2. one abstract async MI:->   MI_AA_fileSender
    the above two has messsage structure as:
    <ns0:MT_sourceFile xmlns:ns0="http://zpoc.com.test/rana3">
       <recordset> 1...1
          <record>  1..unbound
             <batch_num/> 1..1
             <quantity/>  1..1
          </record>
       </recordset>
    </ns0:MT_sourceFile>
    3. one abstract async MI: -> MI_AA_fileDestination
    4. one inbound async MI:-> MI_IA_fileDestination..
    the above two has messsage structure as:
    <?xml version="1.0" encoding="UTF-8"?>
    <ns0:MT_destinationFile xmlns:ns0="http://zpoc.com.test/rana3">
       <recordset> 1..1
          <record> 1..unbound
             <rec_number/> 1...1
             <qty/> 1...1
          </record>
       </recordset>
    </ns0:MT_rana3_destinationFile>
    inside the BPM i m doing a simple one to one interface mapping between MI_AA_fileSender and MI_AA_fileDestination AND then use a send step to send it to receiver service. But inside the graphical editor, for the message maaping in the interface mapping, i change the target structure a bit by duplicating <rec_number> making it:
    <?xml version="1.0" encoding="UTF-8"?>
    <ns0:MT_destinationFile xmlns:ns0="http://zpoc.com.test/rana3">
       <recordset> 1..1
          <record> 1.. unbound
             <rec_number/> 0..1
             <rec_number/> 0..1 //did right click   and "duplicate sub-tree, so it becomes 0...0"
             <qty/>
          </record>
       </recordset>
    </ns0:MT_destinationFile>
    But i dont change the original structure of MT_destinationFile.
    Now in the resultant file in the receiver side i recive two <rec_number> tags....
    but since i didnt change the original structure of MT_destinationFile.....but i only made a change in the mapping by duplicating the node <rec
    _number>(right click and done "duplicate sub tree").............SHOULD IT NOT THROW AN ERROR
    Message was edited by:
            sudeep dhar
    Message was edited by:
            sudeep dhar

    >.............SHOULD IT NOT THROW AN ERROR
    Not necessarily.
    See, XI won't realize, by default, a schema validation in your messages. If you want a validation, you'll have to implement one, as described in
    http://help.sap.com/saphelp_nw2004s/helpdata/en/c4/e1343e8c7f6329e10000000a114084/frameset.htm
    However, for some particular steps in BPM, I have observed that an invalid XML will some times result in a error in BPM execution. In particular, if you have switch steps, container operation steps and/or correlations where you use a particular field of that message, it may throw some exception when you have an invalid xml. Also, I have observed some errors with conditional receiver determination for invalid messages.
    As a best practice, if you have any kind of dependency on a particular message inside your system (like switches, container operations, correlations, condition in receiver or interface determination etc), it is a good idea to implement a schema validation.
    Also, if you do want to create a thrustable scenario, you might want to perform schema validation for all your output messages.
    Regards,
    Henrique.

  • Issue with Merging two files in BPM

    Hi,
    I need to merge two files (Balance and transaction) with correlation is defined from ID, Date and Accountnumber..
    Sometimes, when there are no transaction records, then balanace file will come up number "0"
    Balance file:
    MDk;1728;175;02.09.11;781961.09;0.00;0.00;781961.09;;;;;;;;;0
    MDk;8574;175;02.09.11;4462;1112;104098800;104102150;;;;;;;;;2
    from the above file, two accounts..
    MDk;1728;  --- with zero transaction record
    MDk;8574;  --- with two transaction records
    Transaction file:
    MDk;8574;175;02.09.11;;DEBIT;;;;;-1112;;0;02.09.11;;;;20555;;;037;
    MDk;8574;175;02.09.11;;CREDIT;;;;;104098800;;0;02.09.11;;;;;;;099;
    We are using Correlation to merge the files by using the fields (MDk;8574;175;02.09.11)
    Now the issue is the BPM is not working as the correlation is not matching as the balance file consists of a row (with zero transaction record) which is not present in transaction file.
    I have to ignore the first record in balance file as it contains 0 transaction data which means there are no records for this account in transaction file.
    How can I delete those records before going to merge condition? Is there any thing i can do in balance file adapter?
    Any suggestions please?
    Thanks
    Deepthi

    Hi Ramesh,
    This is the problem at the first step of the BPM where we will receive the files.
    Start> FORK (Rec1 & Rec 2)>TransforMap( Merge_to_targetfile )-->SendtoReceiver  -->END
    It is failing at step1 (Fork), where the files are not matching according to correlation condition which we set.
    ie. ID, Date, Accountnumber.
    As the transaction file doesn't contain the record "MDk;1728;175;02.09.11" which is present in Balance file, the correlation is not  matching. Hence it is failed. It is not even reaching to map
    As correlation is mandatory to receive two matching files, it is failing here..

  • Receving two idoc in ratio 1:n and branch to 2 receiver

    Hi All,
      I need help to configure the scenario that I need to receive 2 idoc of different type one with 1 occurene and the other with n occurence. I configured BPM like this
    1. Fork step with 1 receiver step in one branch and other receiver step inside the loop (because we need to sum the value of one single field f1 using container step) in the other branch. for the loop and receiver step correlation condition is specified.
    2. Switch step for 2 branch with the correlation condition of summed variable. In this if condtion is satisfied we need to send file to both email and file adapter. so used fork step with sender in 2 branch else if the condition is not satisfied only one sender to the mail adapter.
    please let me know whether this BPM configuration is correct .  because it is picking the file but there is an error in BPM.  Please let me know how to check in which step the error is.
    Regards,
    Dhill.

    Hi Ahmad,
      I gone through the blog but here we have multiple sender but not multile receiver... In my case i have multiple sender (two idoc n:1 occurence) and multiple receiver (file and email).
      If need to sum the value of the field in the idoc which comes n times and then i need to compare the thing with the field in other idoc whosse occurence is one..
    if the above condition is satisfied i wil be sending for the both the sender file and mail if not only to mail.  Can you please tell me can we do it without BPM.. because now i have totally 3 sender.. 2 in fork and 1 separately.. but all the sender the message type is same.
    Now i don't know whether to specify the communication channel for the sender to differentitate between the two sender.
    Regards,
    Dhill.
    Dhil Kumar

  • Reg: BPM design

    Hi All,
    I am bit confused on the solution approach of BPM design and I would like your suggestions in completing my task.
    Requirement :
    scenario is proxy to Jdbc .
    I will get two input files from the source system and I have combine two files information into database table :
    1) first file will come only once and have key field which I have to consider.
    2) second file  may come more than once based on bookings at source side( 3/5/6/8).
    with current design , able to capture only one output from this design . my current design is :
    Fork
    Two receive steps ( correlation enabled in two steps based on key value)
    transformation step
    send step.
    with the current design in bpm ,correlation will come out after the first message satisfies the condition. Now i want to loop in such away based on the second file input  correlation has to work ( there is no input from source to take count on files). pl guide me.
    Regards,
    Suman

    Hi,
    This is what happens: the first receive step starts the bpm. If you have, afterwards, some other receive steps you have to set up the correlation condition.
    Once a message is being sent, the engine looks at all the started BPMs and based on the correlation condition it assigns it to one of them (that's why it is important to have the correlation condition unique per instance).
    From what I understand, you have the first message and then you can get 1 to 4 more messages. So you always have at least two messages: the first one sets the correlation id for the second and further messages. This correlation condition/id is just a field in the message that corresponds. Now after you get the second message, you say that you already know how many other messages will follow, that's why I say put a loop block with the receive (which should have the same correlation as the other).
    Now the contents of the first message will be available to the other messages as long as you keep it in a separate container variable, and you can re-use it in the loop.
    Hope this helps,
    Horia

  • BPM Collect Scenarios

    Hi All,
    We have a scneraio to collect IDOCs in BPM for a time frame of 5 minutes.The collection is based on correlation condition for same customer and its in infinite loop and a deadline branch is givenwith  timout of 5 minutes.
    We have obseved that for the IDOCs that were triggered never came out of the IP for one of the customer.They are stuck in PI
    and in message being sent state for 12-13 hours even if timeout is given for 5 minutes
    We have processed the same IDOCs in other environment and they got processed.
    Could you please tell me what can be the issue ?
    Why this problem is occuring,
    Best Regards,
    Harleen Kaur Chadha

    They are stuck in PI and in message being sent state for 12-13 hours even if timeout is given for 5 minutes
    You mean to say the deadline never reached? If yes then refer: Re: Problem with timeout exception on a block step
    Regards,
    Abhishek.

Maybe you are looking for

  • HT204053 2 devices - 1 icloud account issues; importing data to Iphone 6

    I have an Iphone 4G and ipad which was sharing 1 icloud account . Big mistake! Because, the storage space was insufficient for both devices' data, I stopped backing up any more data into the icloud. Now I bought a new Iphone 6 and am wondering how I

  • Query in interactive report

    Hi All i developed a report based on interactive report concept. this report is working fine. my question is once it is displaying the basic list i will click on company code then only it has to display secondary list ( here i keep hotspot also) but

  • Need implemeation class details of IEssPerformAllocation interface

    Hi, I am working on ASO Allocations through Java API.. I have the logic which uses IEssPerformAllocation interface to perform Allocation..but I do not know the implementation class of this interface to get more details about the allocation process. m

  • Application name for SDA Deployment(Custom Adapter)

    hi Experts, I am trying to deploy an SDA file using SDM. I had created an EAR project using NWDS and then converted this into an SDA file using CECLT. Now while deploying this file using SDM, it is asking for application name and vendor name. Vendor

  • Illustrator 10 problem

    I reloaded my computer after a hard drive problem and now Illustrator 10 will only open previously created files from within Illustrator. If I try and open a file, I am told it is not a valad win32 application. Even I use "open with" the same problem