Mapping based upon context change

Hi,
Quick graphical mapping question:
I have an inbound message with 2 contexts for one segment - <ClaimantInformation>
Basically, I want to set the content of a target field based upon the following:
If context1 of <ClaimantInformation> then set field1 to "A"
If context2 of <ClaimantInformation> then set field to "B"
I'm sure there must be an easy way to determine which context you are dealing with and set a target field accordingly.
Any ideas ?
Thanks
Colin.

Hi
You can try writing a UDF ..
take source as input to this UDF...
In the UDF check whether it is context 1 or 2 by using counter in a loop....
according return A or B

Similar Messages

  • Mapping query for context change without UDF

    Hi,
    My requirement is as below:
    Input queues are
    4319, 4319,4320,4321,4321
    M1,M1,M1,M2,M2,M2
    Required output is
    4319,4320,CC,4321
    COntext change is to be inserted when there is a change in value in second queue.
    regards, Anirudh.

    Hi,
    Have you tried using the formatByExample as specified?
    input1-->removeContext--> concat --> splitByValue:ValueChanged --> collapseContext --> substring (2..6) --> formatByExample (1) --> Target
    input2-->removeContext--> /
    input1-->removeContext--> concat --> splitByValue:ValueChanged --> collapseContext --> substring (0..2) --> splitByValue:ValueChanged -->formatByExample (2)
    input2-->removeContext--> /
    code explanation
    input1 and input 2 when concatted outputs M12319,M12319,M12320,M22321,M22321,M22321
    The upper part of the code does this: M12319,M12320,M22321, when you use the substring it outputs now 2319,2320,2321
    The lower part of the code does this: M12319,M12320,M22321, when you use the substring it outputs
    M1,M1,M2, then you use splitByValue. The output is now M1,M1,CC,M2.
    When you input the code from the upper part and lower part into a formatByExample node, the output becomes
    2319,2320,CC,2321
    Hope this helps,

  • Message Mapping - Initialize counter every context change

    Hi all,
    is there any way to develop a counter customer function in a graphical message mapping so every context change of a field the counter initializes?
    Imagine i have the following structure:
    1 DATA
    1.1 DETAIL
    1.2 DETAIL
    2 DATA
    2.1 DETAIL
    2.2 DETAIL
    and i wanna count DETAIL fields but initialize the counter every DATA field. Is there any way to do it?
    Thanks a lot.

    Hi,
    If your Source structure is
    <?xml version="1.0" encoding="UTF-8"?>
    <ns0:MT_DATA xmlns:ns0="http://yash.com.YH1309">
       <DATA>
          <DETAIL/>
          <DETAIL/>
       </DATA>
       <DATA>
          <DETAIL/>
          <DETAIL/>
          <DETAIL/>
       </DATA>
    </ns0:MT_DATA>
    and You want the Target as
    <?xml version="1.0" encoding="UTF-8"?>
    <ns0:MT_DATA xmlns:ns0="http://yash.com.YH1309">
       <DATA>
          <DETAIL>COUNTER=1</DETAIL>
          <DETAIL>COUNTER=2</DETAIL>
       </DATA>
       <DATA>
          <DETAIL>COUNTER=1</DETAIL>
          <DETAIL>COUNTER=2</DETAIL>
          <DETAIL>COUNTER=3</DETAIL>
       </DATA>
    </ns0:MT_DATA>
    Create the below UDF with one argument (DETAIL)  and select Execution type all values of a Context
    for (int i =1;i<=DETAIL.length;i++)
    result.addValue("COUNTER=" + i);
    but if you want Your Target as
    <?xml version="1.0" encoding="UTF-8"?>
    <ns0:MT_DATA xmlns:ns0="http://yash.com.YH1309">
       <DATA>
          <DETAIL>1</DETAIL>
          <DETAIL>2</DETAIL>
       </DATA>
       <DATA>
          <DETAIL>1</DETAIL>
          <DETAIL>2</DETAIL>
          <DETAIL>3</DETAIL>
       </DATA>
    </ns0:MT_DATA>
    So please Follow abhishek salvi's reply

  • Update JSP based upon change in database

    Hello JSF gurus,
    Is it possible for a JSP to update based upon a change in a database? For example, say a new row gets added to a table. Can this be detected and somehow result in a notification being sent back to the JSP (or its backing bean), causing a refresh? Thanks.
    -Robert

    In fact, I guess that I could ask an even more general question: can a JSP be updated "programmatically" (a push type model), or does it require a request (i.e. some user interaction) generated on the JSP (a pull type model).

  • How to go about changing settings based upon logged in user

    Hi all,
    I'm wondering if anyone has any thoughts on how one would go about changing a property on a node based upon the logged in user.
    For example, say you have a path property at /apps/myComponent/settings.path=/content/dam/genericfolder that for an author have the value of /apps/myComponent/settings.path=/content/dam/sandbox, and for an approver have the value of /apps/myComponent/settings.path=/content/dam/approvalsandbox

    Hi Ove,
    Thanks for the tip on the user role. I had thought about taking that approach, however, leveraging the user role and properties associated with it would be the correct approach if writing custom components. What I am looking for is a way to take existing components, and essentially use them in context of the user.
    For example, say if you are trying to give a sub group of users access to a subset of the DAM directory, and you don't particularly wish to hack around the existing WCM DAM component, there is a setting in the tree navigator (/libs/wcm/core/content/damadmin/treeRoot) that lets you specify where the root of the tree is. (There are more settings to work with, but this is just one used to illustrate.)
    If you can change the property based upon the user, that gives you the functionality without altering code.
    I would like to know if this is possible, if this is an inherently bad practice, if so why, and whether there may be another alternative out there which lets you avoid having to alter the code of an existing component.
    Thanks again for answering.

  • Process flow for the Mid-year Status Changes based upon the Qualifying Even

    Hi Experts,
    I'm looking some information for the process flow for the Mid-year Status Changes based upon the Qualifying Events. Basically, I need to know, what would be the impact of these changes on various info types (Via IT0014 - Deduction changes & so forth) and the things that needs to be considered during it's Configuration and the things that needs to be checked due to the occurrence of the change. I would greatly appreciate any kind of help/document.
    Thanks a bunch in advance,
    Thanks,
    Exertive.

    Hello guys,
    Can anyone has any kind of input on this? Basically, I need to know the procees for Mid-year status changes based upon Qualified events. Any kind of help is greatly appreciated.
    Thanks,
    Exertive.

  • Context change by DOM parsing Java Mapping in XI

    Hi Team,
    I would like to know that how can I handle Context Change by DOM Parser Java Mapping in XI.?
    Suppose  the source XML structure I have like below:
    <?xml version="1.0" encoding="UTF-8"?>
    <ns0:Header xmlns:ns0="urn:bp:xi:hr:edm:test:100">
       <FileName>
          <filesub>
             <subname>a</subname>
             <subname>b</subname>
             <subname>c</subname>
          </filesub>
       </FileName>
       <FileName>
          <filesub>
             <subname>d</subname>
             <subname>e</subname>
             <subname>f</subname>
          </filesub>
       </FileName>
    </ns0:Header>
    Where the field FileName can occur maximum thrice(0...3) but the subname field is (0....unbounded) but in the target source I would like to have as given below:
    <?xml version="1.0" encoding="UTF-8" ?>
    - <MT_Test4 xmlns="urn:bp:xi:hr:edm:test:100">
    - <Header>
      <FileName>a</FileName>
      <FileName1>d</FileName1>
        </Header>
    - <Header>
      <FileName>b</FileName>
      <FileName1>e</FileName1>
       </Header>
    Header>
      <FileName>c</FileName>
      <FileName1>f</FileName1>
       </Header>
    </MT_Test4>
    That means the first value from every context of the source field is forming my first and second value in my target first context.Thensecond value from every context is forming my 1st and 2nd value of my target 2nd context and finally 3rd value of every context is forming my 1st and 2nd value of my target 3rd context.Is this possible to done through DOM parsing or we have to do it by UDF only?

    Hi Atanu,
        In my last post I gave an alogorithm to solve the mapping problem. Here is the complete program for the mapping.
    import java.io.FileInputStream;
    import java.io.FileOutputStream;
    import java.io.InputStream;
    import java.io.OutputStream;
    import java.util.Map;
    import javax.xml.parsers.DocumentBuilder;
    import javax.xml.parsers.DocumentBuilderFactory;
    import javax.xml.transform.Transformer;
    import javax.xml.transform.TransformerFactory;
    import javax.xml.transform.dom.DOMSource;
    import javax.xml.transform.stream.StreamResult;
    import org.w3c.dom.Document;
    import org.w3c.dom.Element;
    import org.w3c.dom.Node;
    import org.w3c.dom.NodeList;
    import com.sap.aii.mapping.api.StreamTransformation;
    import com.sap.aii.mapping.api.StreamTransformationException;
    public class DOMParser1  implements StreamTransformation{
         public void execute(InputStream in, OutputStream out)
                   throws StreamTransformationException {
              try
                   DocumentBuilderFactory factory=DocumentBuilderFactory.newInstance();
                   DocumentBuilder builderel=factory.newDocumentBuilder();
                   /input document in form of XML/
                   Document docIn=builderel.parse(in);
                   /document after parsing/
                   Document docOut=builderel.newDocument();
                   TransformerFactory tf=TransformerFactory.newInstance();
                   Transformer transform=tf.newTransformer();
                   Element root,child,child1=null;
                   Node textChild;
                   NodeList l;
                   int i,n1,j,div,k;
                   String s[];
                   root=docOut.createElement("MT_Test4");
                   root.setAttribute("xmlns","urn:bp:xi:hr:edm:test:100");
                   l=docIn.getElementsByTagName("subname");
                   n1=l.getLength();
                   s=new String[n1];
                   for(i=0;i<n1;++i)
                             s<i>=l.item(i).getFirstChild().getNodeValue();
                   l=docIn.getElementsByTagName("filesub");
                   div=l.getLength();
                   j=n1/div;
                   for(i=0,k=0;i<j;++i)
                        child1=docOut.createElement("Header");
                        root.appendChild(child1);
                        child=docOut.createElement("FileName");
                        textChild=docOut.createTextNode(s[k]);
                        child.appendChild(textChild);
                        child1.appendChild(child);
                        child=docOut.createElement("FileName1");
                        textChild=docOut.createTextNode(s [ k + j ]);
                        child.appendChild(textChild);
                        child1.appendChild(child);
                        ++k;
                   docOut.appendChild(root);
                   transform.transform(new DOMSource(docOut), new StreamResult(out));     
              catch(Exception e)
                   e.printStackTrace();
         public void setParameter(Map arg0) {
         public static void main(String[] args) {
              try{
                   DOMParser1 genFormat=new DOMParser1();
                   FileInputStream in=new FileInputStream("C:/Apps/my dw/sdnq/apps.xml");
                   FileOutputStream out=new FileOutputStream("C:/Apps/my dw/sdnq/tgt1.xml");
                   genFormat.execute(in,out);
              catch(Exception e)
                   e.printStackTrace();
    source ->  apps.xml
    <?xml version="1.0" encoding="UTF-8" ?>
    - <ns0:Header xmlns:ns0="urn:bp:xi:hr:edm:test:100">
    - <FileName>
    - <filesub>
      <subname>a</subname>
      <subname>b</subname>
      <subname>c</subname>
      </filesub>
      </FileName>
    - <FileName>
    - <filesub>
      <subname>d</subname>
      <subname>e</subname>
      <subname>f</subname>
      </filesub>
      </FileName>
      </ns0:Header>
    target structure ->  tgt1.xml
    <?xml version="1.0" encoding="UTF-8" ?>
    - <MT_Test4 xmlns="urn:bp:xi:hr:edm:test:100">
    - <Header>
      <FileName>a</FileName>
      <FileName1>d</FileName1>
      </Header>
    - <Header>
      <FileName>b</FileName>
      <FileName1>e</FileName1>
      </Header>
    - <Header>
      <FileName>c</FileName>
      <FileName1>f</FileName1>
      </Header>
      </MT_Test4>
    Hope this helps
    one more thing  in this line "textChild=docOut.createTextNode(s k + j );"   somehow the the third braces one opening  before k and one closing after j is missing for unknown reasons. Please correct it when you actually run this code.
    regards
    Anupam
    Edited by: anupamsap on Mar 7, 2011 12:47 PM

  • How to make a value changed based upon values selected in dropdown menu

    Hi,
    I am making my first Dreamweaver website using Dreamweaver CS6 on a windows 8 PC.
    I am trying to make a website where the user selects different criteria; in this example an ipod's model, condition and size from three seperate dropdown selections (similar to www.itrado.co.uk) and then based upon these selections a value for their ipod is shown. However i cannot work out how to display a value which remains on the same page and changes based upon the values which have been selected from the dropdown boxes. I was planning on creating a database and then creating a simple code which retrieves the value from the database which corresponds to the three selected values, however i am not sure how to go about doing this.
    Any help would be greatly appreciated.
    Many Thanks,
    Henry

    You need scripts for this. Try this jQuery tutorial
    http://anthonygthomas.com/2010/03/14/display-form-fields-based-on-selection-using-jquery/
    Nancy O.

  • How to change Dashboard Tabs based upon the login?

    Hi All,
    I have a requirement that, based upon the user login the dashboard tabs should change! not sure how to do this? any help is greatly appreciated.
    Regards
    B
    Edited by: Bees on Jul 27, 2010 2:37 AM

    B,
    I mean assuming you have a security model, users are in groups etc. And you have one group allowed to access tab 1, and you build tab2 for another group....
    The dashboard page properties screen, has a padlock icon against page, here you can set up the presentation catalogue privs for the dashboard page, assign users / groups read access, prohibit access as you see fit.
    To get to the page properties, edit the dashboard itself, on the top row of icons against the page dropdown list is our friend, the pointy finger, hit this to get to the page properties screen, you can change order, rename pages and in this case, set security per page.
    For discussions on the security model, RPD groups & Web cat groups - best we start another thread !! have a search on the forum first though, its been covered many times :-)
    Cheers,
    Alastair

  • ADF BC: Creating updatable VO based upon DB View with "instead of" trigger

    Hello all,
    I have got an interesting issue. I have an Oracle DB view that is used to hide some complexity in the underlying DB design (it does some unions). This view is updatable because we have created an "instead of" update trigger to update the correct table when a row is updated. This is working fine in SQL.
    Next, we have created an ADF Entity object based upon the view, specifying an appropriate PK for the DB View. Then, we have created an updatable VO based upon the EO. All well and good so far. The issue we have is in trying to commit changes to the DB - because the ADF BC framework is trying to lock the row to update (using SELECT ... FOR UPDATE), it's not working because of ORA-02014 - cannot select FOR UPDATE from view with DISTINCT, GROUP BY, etc.
    This leads me to thinking about overridding doSelect() on the EO as hinted here http://radio.weblogs.com/0118231/stories/2005/07/28/differenceBetweenViewObjectSelectAndEntityDoselectMethod.html
    As a temporary test, we have over-ridden the EO's doSelect to call super.doSelect(false) and it does work, although we will have lost update issues as detailed in Steve's article.
    My questions:
    1). Is overriding doSelect() the correct thing here? Perhaps there is a better way of handling this problem? I do have a base EO class from which all of the EO's extend, so adding this behavior should be straightforward.
    2). Does anyone have example doSelect implementation? I am thinking of overriding doSelect for my EO and calling super.doSelect (lock=false), but then I need to deal with some possible exceptions, no?
    Kind regards,
    John

    Hi John,
    I have exactly the same issue as you experienced back in January. I have a complex data modelling requirement which requires the need to pivot rows into columns using ROW_NUMBER() and PARTITION clauses. To hide the complexity from the middle tier, I have created a database view and appropriate INSTEAD OF triggers and mapped my EO to the view. I have overriden the lock() method on the EO implementation class (to avoid ORA-02014) and would like to try the same solution you used with the pl/sql call to lock the record.
    My question is, how did you manage the release of the lock if the transaction was not rolled back or committed by your application i.e. if the user closed the browser for instance.
    In my naivity, I would like to think that the BC4J framework would release any locks for the database session when it found the servlet session to be terminated however my concern is that the lock would persist and cause complications.
    Any assistance greatly appreciated (if you would be willing to supply your lock() method and pl/sql procedure logic I would be even more grateful!).
    Many thanks,
    Dave
    London

  • Ssrs sum based upon a conditional statement

    In an ssrs 2008 r2 report, I have the following code that totals a transaction amount:
    =sum(cdec(Fields!TransactionAmount.Value))
    Now I need to have different total amounts based upon 'payment type'. The payment_types are either 'check', or 'credit' for credit card. Thus can you show me how to change the code I just listed to sum the amount depending upon the payment type?

    You may wish to follow this thread that is exploring a similar question.
    http://social.msdn.microsoft.com/Forums/sqlserver/en-US/12e2cdf4-1fd7-4f2a-ba12-ff5c4ec01eeb/sum-values-based-on-condition-in-ssrs?forum=sqlreportingservices
    To do this in an SSRS expression just insert an IIf:
    =Sum(IIf(Fields!payment_type.Value = "check",cdec(Fields!TransactionAmount.Value),0))
    =Sum(IIf(Fields!payment_type.Value = "credit",cdec(Fields!TransactionAmount.Value),0))
    In the other thread you will see that sometimes it makes sense to do this kind of work in the dataset since dataset queries run on the datasource and often those systems are robust servers that can crunch and return data very quickly.
    "You will find a fortune, though it will not be the one you seek." -
    Blind Seer, O Brother Where Art Thou
    Please Mark posts as answers or helpful so that others may find the fortune they seek.

  • Can't get a text field to atuo populate based upon a dropdown selection

    I have a drop down box with 3 values that can be selected:
    Dropdown2 = 101-3 subd.A
                          101-3 subd.B
                          101-3 subd.C
    I am trying to get a text field to auto populate based upon the selection:
    if Dropdown2 = 101-3 subd.A then Text4 = "ValueA"
    if Dropdown2 = 101-3 subd.B then Text4 = "ValueB"
    if Dropdown2 = 101-3 subd.C then Text4 = "ValueC"
    I have tried to create a custom calculation script for Text4:
    var v= getfiled("Dropdown2").value;
    if (v="101-3 subd.A") event.value = "ValueA";
         else if (v="101-3 subd.B") event.value = "ValueB";
         else if (v="101-3 subd.C") event.value = "ValueC";
         else event.value = " ";
    I have entered this script and the syntax appears to be correct.(At least to Acrobat XI.  I'm know programmer and have just enough knowledge to be dangerous).  When I select a value in Dropdown2 nothing happens.  No value appears in Text4.  I have checked the "commit selected value immediately" in the option of Dropdown2 per some google'ing.  I just can not understand why the values do not appear.  Any help would be appreciated.
    Thanks

    I made the changes and added the == to my if statements.  When I select a value in Dropdown2, Nothing appears in Text4.  I don't understand.  Is there something else that I need to do beside event.value="Some Value";?
    I know it has to be something simple that I am missing, but I just can't seem to see it.
    Text4 - Custom Calculation Script:
    var v= getfiled("Dropdown2").value;
    if (v=="101-3 subd.A") event.value = "ValueA";
         else if (v=="101-3 subd.B") event.value = "ValueB";
         else if (v=="101-3 subd.C") event.value = "ValueC";
         else event.value = " ";

  • Mapping problem in context handling

    Hi experts,
                   I am doing a file to file scenario in which i have to change the queue context is it possible? for simple context change we use ResultList.CC in advance UDF but what to do if we want to add a queue cahnge .To dig more deep into the problem i am explaining my scenario.
    my output structure is <GROUP> .....(1 to unbounded)           
                                        <Records>....(1 to unbounded)
                                           field1
                                           field2
                                             field13 
       In one group there can be many records and there will be multiple Groups.Suppose in my udf i want to add a queue change to add some field in other group then how will i achive it ? please guide me with ur inputs 
    Regards,
    Saurabh

    Hi,
    context object is a generic term used to make a reference to message heder fileds in the XML file (also vth XPATH). Context of an element is nothing but just the level (with reference to its parent node) where the XML tag appears in the given XML document.
    Check this links for more info:
    /people/sravya.talanki2/blog/2005/08/16/message-mapping-simplified--part-i
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/f59730fa-0901-0010-df97-c12f071f7d3b
    http://help.sap.com/saphelp_nw2004s/helpdata/en/d9/718e40496f6f1de10000000a1550b0/content.htm
    /people/stefan.grube/blog/2005/12/30/test-user-defined-functions-for-the-xi-graphical-mapping-tool-in-developer-studio
    /people/harrison.holland5/blog/2006/12/08/mapping-context-changes-in-xi
    http://help.sap.com/saphelp_nw2004s/helpdata/en/4b/a20c4cfea96b498b1e1af3f32f0670/frameset.htm
    /people/venkataramanan.parameswaran/blog/2007/02/06/is-there-a-possibility-to-access-xi-standard-functions-in-user-defined-functions-yes
    Reward points if this helps
    Regards
    Pragathi.

  • How to do mapping based on value.

    Dear Experts,
       I am working on a file-bapi -r/3 synchronous  scenario.
    From SAP R/3, if error response is coming then we are supposed to write in a file and keep on to some location.
    If response is successful then need not write to the files, only for error responses we have to write on the files and give it to the client. How do we filter the response messages as it will contain both the successful and un successful messages and we are only interested to get the error responses.
    Please help me with the mapping  as how to check the type 'E' and map accordingly? Do I have to go fr  context change as well?
    I will appreciate each n every answer.
    Thanks
    Veeru

    Hi Viru,
    As per your requirement,I feel definitely it can be handled at mapping level.Just try the same suggested above to create the response structure if TYpe=E else donot.
    Something like this TYPE==Constant(E)>Create>Response_Node.
    One more thing how are you making the File-RFC-File synchronous scenario. It's Async to Sync bridge, so either you have to handle the RFC response to file by BPM or by request response one way bean.
    I believe the below link will be very helpful for you.Kindly check this out.
    https://wiki.sdn.sap.com/wiki/display/XI/File-RFC-File(Without%20BPM)
    Thanks
    Nutan

  • How to update the price based upon PGI date

    Hi
            I have issue of updation of the Prices and freight based on PGI date in the billing we are using the two billing types for the excsies and tax invoice creation .And in the copy control pricing type is maintained Aas "C" for the billing types with single delivery but someHow MRP in the excise billing has been picked from the condition record thats validity is ended and in Tax invoice it picks up the correct prices
    Both pricing condition types has pricing type "B" from Billing date and in the freight we have maintained as "A" SRD
    But for the some cases specially for the excise related part that is based upon the MRP we are facing this issue
    Pricing date is some how coming from sales document
    Please find the problem details in the attachment

    Hi,
    if you see two condition tabs snap shots you can understand clearly because that two invoices has been created in two different dates and you have maintained the pricing date C-billing date ( KOMK-FKDAT).Due to this,the price of ZMRP is coming differently.After you creation of first invoice then you would have changed ZMRP amount.Now while you are creating second invoice ,system has taken new price of ZMRP in billing level.
    Note:While creating second invoice, PGI date might have come into billing level but someone would be changed billing date manually at header level of billing document.Please check that one also.
    Kindly let me know if you need further help on this.
    Thanks,
    Naren

Maybe you are looking for

  • [FYI] Adobe Reader 7.0.9 リリース

    AdobeR Reader 7.0.8での脆弱性はAdobe Reader 8で解消されているが.会社などではそう簡単にはAdobe Reader 8に移行できないという場合もある. そのようなユーザ向けといっていい「Adobe Reader 7.0.9」がリリースされた. Adobe Reader 7.0.8の[ヘルプ/アップデートの有無をいますぐチェック]を行うと.Adobe Reader 7.0.9 Update がリストアップされる. リストアップ画面での説明は以下のように. > Ado

  • Error on the page

    Hi, on FSCM9 , Tools 8.49, On Win 2003 server, the users have Errors on the page (indicated in tools bar on the page bottom) and they are blocked and the menus do not respond. In application server logs (APPSRV_0201.LOG) there is no error. how can we

  • Software for making MP3 phone tunes any idea`s

    Hi There Folks Not sure if anyone can help me out here but I am looking for a program that I can make MP3 Phone rings ..... Jut 15-20 sec MP3`s from my iTunes Library Thanks

  • CS 5 colour rendering with hexadecimal

    Half way through my trial of Photoshop CS5 it stopped rendering hexidecimal colours correctly. If i take a background colour from my css page and put it in the colour picker, use it to border a photo and put that image back into the background it sta

  • ITunes sharing problem

    I use iTunes 7.6 on my iMac and macbook and after updating to this latest version of iTunes have not been able to share my iMac iTunes library using my macbook. Every time I tried a message that says "The Shared Library ... is not responding (-3259).