Split By Value and Collapse context

Please give me the business requirement in your project that leads to work on split by value and collapse context?
I read so many documents but i am still confusing with above mentioned node functions?

Hi praveen,
Check these links
http://help.sap.com/saphelp_nw04/helpdata/en/43/c4cdfc334824478090739c04c4a249/content.htm
Message Mapping Simplified - Part I
/people/sravya.talanki2/blog/2005/12/08/message-mapping-simplified-150-part-ii
New functions in the Graphical Mapping Tool XI 3.0 SP13
http://help.sap.com/saphelp_nw04/helpdata/en/ef/df564b6aa24fc9ab0d685460747de5/frameset.htm
https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/media/uuid/b9af5e71-0701-0010-d0b8-f612fb6593dd
regards
srinivas

Similar Messages

  • Concatenating context value and non-context value

    Hi,
    I have a context binding to one of the input field(lets say field-X) and also I have another dropdown list UI element(lets say field-Y) which is not bound to any context.  When a user enters values in field-X and selects a item from field-Y hits the save button, I need to concat "Field-X - Field-Y" and assign this concatenated value to field-X context.  So in a road-map (next screen) when I retrieve field-X context value it should have concatenated value of dropdown UI element as well.
    Where do I do this concat (I mean which method e.g. WDModify) and how do I do it?
    Thanks
    Praveen.

    Hi Praveen,
    What do you mean by field-Y is not bound to any context?? I am sure you would have atleast bound the selectedKey property of the dropdown list with some attribute of the context.
    For concatinating the fileds you have to write the code on the onAction function of Save button which is taking you to the next screen of the road map. On the onActionSave() you have to get the values of the currently selected input field and the dropdown value. Then you have to concatenate the values and set it in some attribute from where you can pick it in the next screen.
    Please use this code in onActionSave() method:
    // Get the value of the currently entered value of the input field from the attribute which is bound to the input field. I am assuming the name of the attribute as InputFiledValue
    String inpValue = wdContext.currentContextElement().getInputFiledValue();
    // Get the value of the currently selected value of the drop down field from the attribute which is bound to the drop down field. I am assuming the name of the attribute as DropDownValue
    String dropDpwnValue = wdContext.currentContextElement().getDropDownValue();
    // Concatenate with "-" in between
    String concatenatedValue = inpValue+ " - " + dropDpwnValue;
    // Set the concatenated value to a temporary attribute. This will be accessed in next view of road map.
    wdContext.currentContextElement().setConcatenatedValue(concatenatedValue);
    // OR if you want to save in same inputfield Attribute then also you can do that.
    // use the similar code as above. see this:
    // wdContext.currentContextElement().setInputFiledValue(concatenatedValue);
    Here I am assuming that the attribute which have bound to the inputfield and dropdown field are directly under the context node. If not then you have to get the values from a specific node. Do it like this:
    // Get the value of the currently entered value of the input field from the attribute which is bound to the input field.
    String inpValue = wdContext.current<NODE_NAME>Element().getInputFiledValue();
    // Get the value of the currently selected value of the drop down field from the attribute which is bound to the drop down field.
    String dropDpwnValue = wdContext.current<NODE_NAME>Element().getDropDownValue();
    In the next view you can get this concatenated value and can use whereever you want. Use following code:
    // To get the value of the concatenated string.
    String value = wdContext.currentContextElement().getConcatenatedValue();
    I hope this solves the issue. Please revert back in case you need any furtehr help on this.
    Thanks and Regards,
    Pravesh

  • Mapping split by value

    Hello friends,
    I have the following scenario where i get data from SQL table via JDBC and map it to an IDOC.
    <Row>
      <Header Ind>1111<Hearer Ind>
      <Det1>5<Det1>
      <Det1>5<Det1>
       <Det1>5<Det1>
    <Row>
      <Header Ind>2222<Hearer Ind>
      <Det1>6<Det1>
      <Det1>6<Det1>
      <Det1>6<Det1>
    The above is the source Payload. In the Mapping I have taken the Header Ind node and done the below for all the target segments.
    Header Ind  --- Split by Value [value change] -
    collapse context --- IDOC
    Header Ind  --- Split by Value [value change] -
    collapse context --- EDIDC40
    Header Ind  --- Split by Value [value change] -
    collapse context --- EIBPACH08
    Header Ind  --- Split by Value [value change] -
    collapse context --- EIBACGL08
    My question is where do I map the <row> node too ?? I am still getting an error below
    Cannot create target element /ACC_GL_POSTING01/IDOC[2]/EDI_DC40. Values missing in queue context. Target XSD requires a value for this element, but the target-field mapping does not create one. Check whether the XML instance is valid for the source XSD, and whether the target-field mapping fulfils the requirement of the target XSD
    Thank you,
    Teresa

    If i map <row context to destination IDOC then split by value and collapse context is not required?? I would like to genereate a new IDOC every time the header Ind changes.
    Thanks,
    Teresa

  • Split By Value   -  Context

    Hi Experts,
    I am learing about Split By Value and Context  in Mapping Node Functions,
    What is Split By Value ?
    What is Context ?
    Can anyone give some light on this topic  WITH REAL TIME EXAMPLE.
    Regards,
    Study SAP

    Hi,
    What is Split By Value ?
    -->
    suppose you have an XML Like
    code<root>
    <node>1</node>
    <node>2</node>
    </root>[/code]
    split by value(node) returns:
    code<root>
    <node>1</node>
    </root>
    <root>
    <node>2</node>
    </root>[/code]
    Instead remove context does the opposite.
    What is Context ?
    -->
    refer
    http://help.sap.com/saphelp_nw2004s/helpdata/en/d6/e44fcf98baa24a9686a7643a33f26f/content.htm
    /people/prasadbabu.nemalikanti3/blog/2006/09/20/receiver-determination-based-on-the-payload-of-input-dataextended-xpathcontext-object
    Here is a scenario where context objects were used for BPM
    Technical Context Object in ccBPM
    Get the details here:
    http://help.sap.com/saphelp_nw04/helpdata/en/d6/e44fcf98baa24a9686a7643a33f26f/frameset.htm
    Technical Context Objects :
    http://help.sap.com/saphelp_nw04/helpdata/en/d6/e44fcf98baa24a9686a7643a33f26f/frameset.htm
    A list of the Technical Context Objects names can be found here:
    http://help.sap.com/saphelp_nw04/helpdata/en/6e/ff0bf75772457b863ef5d99bc92404/content.htm
    Thanks
    Swarup

  • Remove context and split by value.

    Hi Friends,
                            the SAP Library  seems to bge a bit tough for me. Any url where I can find easy definition to Remove context and split by value , with exampl!!
    Thanks in advance!!
    Arnab .

    Hi,
    Remove Context Simply remove the Context. SplitByValue inserts  Context.
    Case 1: Remove Context is not Used.
    Source Message:
    <Test_Out_Remove>
    <header name=u201CA">
    <item>A.one</item>
    <item>A.two</item>
    <item>A.three</item>
    </header>
    <header name="B">
    <item>B.one</item>
    <item>B.two</item>
    </header>
    </Test_Out_Remove>
    TargetMessage:
    <Test_In_Remove>
    <item>A.one</item>
    <item>A.two</item>
    <item>A.three</item>
    </Test_In_Remove>
    Case 2: Using Remove Context.
    Source Message:     
    <Test_Out_Remove>
    <header name=u201CA">
    <item>A.one</item>    
    <item>A.two</item>    
    <item>A.three</item>
    </header>
    <header name="B">
    <item>B.one</item>
    <item>B.two</item>
    </header>
    </Test_Out_Remove>
    TargetMessage:
    <Test_In_Remove>
    <item>A.one</item>
    <item>A.two</item>
    <item>A.three</item>
    <item>B.one</item>
    <item>B.two</item>
    </Test_In_Remove>
    Case 3: Without SplitByValue
    Source Message :
    <Test_Out_Split>
    <header>
    <item>one</item>
    <item>two</item>
    <item>three</item>
    <item>four</item>
    </header>
    </Test_Out_Split>
    Target Message :
    <Test_In_Split>
    <new_context>
    <item>one</item>
    <item>two</item>
    <item>three</item>
    <item>four</item>
    </new_context>
    <new_context />
    <new_context />
    <new_context />
    </Test_In_Split>
    Case4: Using SplitBYValue
    Source Message :
    <Test_Out_Split>
    <header>
    <item>one</item>
    <item>two</item>
    <item>three</item>
    <item>four</item>
    </header>
    </Test_Out_Split>
    Target Message :
    <Test_In_Split>
    <new_context>
    <item>one</item>
    </new_context>
    <new_context>
    <item>two</item>
    </new_context>
    <new_context>
    <item>three</item>
    </new_context>
    <new_context>
    <item>four</item>
    </new_context>
    </Test_In_Split>
    Reward points if needful.
    Thanks,
    RamuV

  • Value and context and queue diff

    Hi people
              In UDF editor cache, what is the use and diff between value and context queue radio buttons
    Thanks
    Shekar

    Refer
    http://help.sap.com/saphelp_nw04/helpdata/en/22/e127f28b572243b4324879c6bf05a0/content.htm
    Value - returns string..
    Context/Queue  - returns array of values

  • Map Drop down to Context node with value and ID

    I want to map a drop down to dynamic data.  I have a table that is populated at runtime after a BAPI call.  The structure is the same as if you used a simple type. i.e. Value and ID.

    Hi Gordon,
    Try out this
    ISimpleTypeModifiable myType=wdThis.wdGetAPI().getContext().getModifiableTypeOf("MonthName");
    //Set allowed values for this data type
    IModifiableSimpleValueSet values=myType.getSVServices().getModifiableSimpleValueSet();
    values.put("0","January");
    values.put("1","February");
    values.put("2","March");
    values.put("3","April");
    values.put("4","May");
    values.put("5","June");
    values.put("6","July");
    values.put("7","August");
    values.put("8","September");
    values.put("9","October");
    values.put("10","November");
    values.put("11","December");
    where MonthName is a value attribute of type string.
    Regards
    Sid

  • Importance of split by value function options

    In split by value function, we have Each value, value changed and emply value options. What are the functions of these options? ( I know split by value function will generate a field in the target, under a different target node, for every value of that in the source sturcture.). Please help me with the answer.
    Regards,
    Suresh.

    Hi,
    SplitByValue() is the counterpart to removeContexts(): Instead of deleting a context, you can insert a context change in the source value queue. You then receive this element for each inserted context change instead of a top node element. However, for this to be possible, the top node source field must be assigned a top node target field and minOccurs must be >0. A maximum of minOccurs top node target fields can be inserted here.
    You can insert a context change in the queue after each value, after each change to the value, or after each tag without a value.
    Refer this link for more details:
    http://help.sap.com/saphelp_nw04/helpdata/en/21/3bb8c495125e4eb5969f0377885fe0/content.htm
    Regards,
    Nithiyanandam

  • How to expand and collapse af:showDetailItem in keyboard Tab navigation

    i would like  to expand and collapse <af:showDetailItem/> by keyboard  tab navigation. is there any default functionality is available to achieve it.
    Thanks

    Hi,
    can you try with below config in your web.xml. It specifies where to store the view state of your application
    <context-param>
          <param-name>javax.faces.STATE_SAVING_METHOD</param-name>
          <param-value>client</param-value>
       </context-param>regards,
    Rajan

  • NULL Value in OO Context

    Hi ,
    I want to set NULL Value in OO Context.
    I cannot use clear with NuLL, SInce it is not allowed in OO Context.
    Do anybody know Class xyz => NULL_Constant ?
    Eg  cl_abap_char_utilities=>NEWLINE
    Regards
    Prasath

    > Hi.
    >
    > Hmm, since I am from Java world these things gets
    > confusing in ABAP. If you see the following example
    > then the report will print both 1 and 2. So the
    > variable is both "initial" as well as "space".
    >
    >
    >
    > DATA: lv_test TYPE flag.
    > lv_test = '0'.
    > CLEAR lv_test.
    >
    > IF lv_test EQ space.
    >   WRITE '1'.
    > DIF.
    > IF lv_test IS INITIAL.
    >   WRITE '2'.
    > DIF.
    >
    > Best Regards
    > Niklas
    That's because the initial value of a character field is SPACE.  In the same way, the initial value of an integer field is 0.  Again, looking at the ABAP help:
    Type    Initial Value
    b       0
    c       " " for every position
    d       "00000000"
    f       0
    i       0
    n       "0" for every position.
    p       0
    string  empty string of length 0
    s       0
    t       "000000"
    x       hexadecimal 0
    xstring empty string of length 0.
    matt

  • Split Tunnel VPN and routing public ip traffic

    Hi Everyone,
        I have my split tunnel vpn working well but I need to make an adjustment. We have a few systems in the "cloud" and we only allow access from our corporate WAN IP to those servers. I need to be able to access those servers via VPN connection to the office. I added that public IP subnet to my interesting traffic and the vpn client is sending the traffic across the VPN as expected. The issue is that it somehow drops out inside the firewall it seems. Almost like it doesn't know how to route that request back out to the internet using it's own default gateway. Any thoughts as to what I may be missing, here is some of the relevant code
    same-security-traffic permit intra-interface
    ----Interesting Traffic------
    access-list vpnpool standard permit 10.1.1.0 255.255.255.0
    access-list vpnpool standard permit 10.31.26.0 255.255.255.0
    access-list vpnpool standard permit 10.31.61.0 255.255.255.0
    access-list vpnpool standard permit 10.31.3.128 255.255.255.192
    access-list vpnpool standard permit 10.31.40.128 255.255.255.240
    access-list vpnpool standard permit 10.31.40.64 255.255.255.192
    access-list vpnpool standard permit 50.57.0.0 255.255.0.0  -- Network of cloud servers
    ---Natting----------
    global (outside) 1 71.174.57.78
    global (dmz) 1 interface
    nat (inside) 0 access-list 101
    nat (inside) 1 10.1.1.0 255.255.255.0
    nat (qa) 1 200.200.200.0 255.255.255.0
    nat (dmz) 1 10.1.11.0 255.255.255.0
    nat (dmz2) 1 192.168.1.0 255.255.255.0
    ---Rules and Gateway-------
    access-group inbound in interface outside
    access-group dmz in interface dmz
    route outside 0.0.0.0 0.0.0.0 71.174.57.1 1
    ---VPN-----
    group-policy xxx-remote internal
    group-policy xxx-remote attributes
    wins-server value 10.1.1.5
    dns-server value 10.1.1.5 10.1.1.6
    vpn-idle-timeout 60
    vpn-tunnel-protocol IPSec l2tp-ipsec webvpn
    ipsec-udp enable
    split-tunnel-policy tunnelspecified
    split-tunnel-network-list value vpnpool
    default-domain value xxx.local
    split-dns value xxxx.local
    service-type remote-access
    tunnel-group xxx-vpn type remote-access
    tunnel-group xxx-vpn general-attributes
    address-pool vpnpool
    authentication-server-group (outside) RADIUS
    authentication-server-group (dmz) RADIUS
    default-group-policy xxx-remote
    tunnel-group xxx-vpn ipsec-attributes
    pre-shared-key xxxxx

    That was my mistake, I am mixing up code here. The fun of switching between new and old ASA code as well as routers
    Let's do it this way, this should fix the problem. Put the NAT command the way it was as follows:
    nat (Outside) 1 10.1.10.0 255.255.255.0
    Now we add a NAT0 for the Outside interface. You can reuse the ACL we made if you want or make a new one, your call since you have to administrate it.
    no access-list VPN-NAT
    access-list VPN-NAT0 permit ip 10.1.10.0 255.255.255.0 10.0.0.0 255.0.0.0
    nat (Outside) 0 access-list VPN-NAT0
    Now, this should properly NAT the traffic going to the Internet while excluding the traffic destined for your 10.0.0.0/8 subnet using the Nat 0.
    Sorry for the round about fix, but that should take care of it.

  • Using Search Help with ALV and Dynamic context node

    The topic subject already describes my situation.
    I have to create, populate and remove context nodes at runtime, and bind them to an ALV, to let user display the data or modify the data. The nodes I create are always typed with a table name, but the table name is of course, dynamic.
    This is all working: what's not working is help for entries inside the ALV; since the table has foreign keys and domains with check tables or fixed values, I expected that search helps were detected and managed by the framework.
    Instead, no help search is displayed except the input help based on data-type of the one "Date" input fields.
    I think I have to work on the dynamic node creation, and not on the ALV itself, since the latter only takes the node/attributes information, but i could be wrong. I tried with both the two following codings:
      CALL METHOD lo_nd_info_root->add_new_child_node
        EXPORTING
          static_element_type          = vs_tabname
          name                         = 'SAMPLE_NODE_NAME'
    *    is_mandatory                 = abap_false
    *    is_mandatory_selection       = abap_false
         is_multiple                  = abap_true
         is_multiple_selection        = abap_false
    *    is_singleton                 = abap_false
          is_initialize_lead_selection = abap_false
          is_static                    = abap_false
        RECEIVING
          child_node_info              = lo_nd_info_data .
    cl_wd_dynamic_tool=>create_nodeinfo_from_struct(
          parent_info = lo_nd_info_root
          node_name = 'SAMPLE_NODE_NAME'
          structure_name = vs_tabname
          is_multiple = abap_true ).
    The result is the same...is there any way to let the ALV know what search helps it has to use, and doesn't force me to manually build a VALUE_SET to be bound on the single attributes? There are many tables, with many fields, and maintaining this solution would be very costly.

    I have checked with method GET_ATTRIBUTE_VALUEHELP_TYPE of interface IF_WD_CONTEXT_NODE_INFO, on an attribute which i know to have a search help (Foreign key of a check table).
    The method returns 'N', that is the constant IF_WD_VALUE_HELP_HANDLER~CO_VH_TYPE_NO_HELP. So, the framework was not able to find a suitable search help.
    Using method GET_ATTRIBUTE_VALUE_HELP of the same interface, on the same attribute, returns me '111', which is constant C_VALUE_HELP_MODE-AUTOMATIC.
    Therefore, the WD framework knows it has to automatically detect a value help, but fails to find one.
    Also, this means in my opinion that the ALV and the dynamic external mapping are not the culprits: since node creation, no help is detected for any attribute but the date. Honestly, I don't have a clue on what's happening.

  • The value in flexfield context reference web bean does not match with the value in the context of the Descriptive flexfield web bean BranchDescFlex. If this in not intended, please go back to correct the data or contact your Systems Administrator for assi

    Hi ,
    We have enabled context sensitive DFF in Bank Branch Page for HZ_PARTIES DFF , We have created Flex Map so that only bank branch context fields are only displayed in the bank branch page and  as we know party information DFF is shared by supplier and Customer Page so we dint want to see any Bank Branch fields or context information in those pages.
    We have achieved the requirement but when open existing branches bank branch update is throwing below error message :
    "The value in flexfield context reference web bean does not match with the value in the context of the Descriptive flexfield web bean BranchDescFlex. If this in not intended, please go back to correct the data or contact your Systems Administrator for assistance."
    this error is thrown only when we open existing branches, if we save existing branch and open then it is not throwing any error message.
    Please let us know reason behind this error message.
    Thanks,
    Mruduala

    You are kidding?  It took me about 3 minutes to scroll down on my tab to get to the triplex button!
    Habe you read the error message? 
    Quote:
    java.sql.SQLSyntaxErrorException: ORA-04098: trigger 'PMS.PROJECT_SEQ' is invalid and failed re-validation
    Check the trigger and it should work again.
    Timo

  • Mapping Issue: How to split the value  of Lineitem

    Hi  All,
    I have issue in Mapping .XML-> BAPI Scenario
    1 line item  has the  one 50% Cost Centre , another 50% Cost centre data
    2 line item has only      100% WBS elemnt
    WBS elemnt mapping :
    If A |EQUALS (Text) | WBS_ELEMNT   |If without else|  B(WBS value)  |REmoveContexs| SplitByValue|   WBS_ELEMNT(BAPI field)
    But this supress second line item : WBS_ELEMNT data and uploads into1.Item .Hence PO is not getting created in SAP.
    Could you please giv me a logic to actaually split the value into 2 seperate so that respective data of each line item  are split properly .
    Thank you ,
    Vara

    Hi I think you need an udf for this:
    int total = Integer.parseInt(value[0]);
    result.addValue(Integer.toString(a/2));
    result.addValue(Integer.toString(a/2));
    and after it you can add a splitbyvalue

  • How to perform expand and collapse operation on click of link or button

    Hi
    Is there anyway by which i can perform expand and collapse operation over a table on click of a command link or button without using show details component.
    Is there any other alternative to show detail.
    I do not want to use show detail because of the following reason.
    I have got a page where in i pass some parameters to the URL based on which details get displayed on the page.
    Now when i pass a parameter, change the parameter, once again send the previously used parameter(i,e the parameter that i passed initially), values in the table under show detail do not show any change in values.
    Once i pass values which i have already passed, values in the table under show detail component do not refreshed.
    If anyone has encountered with similar situation, then please post me reply's as to how you could over come the problem??

    Hi
    Perhaps you could use an on-demand application process instead - you can specify these in the URL.
    The URL syntax (for your link) would be like...
    f?p=application_id:page_id:session:APPLICATION_PROCESS=process_idIs this what you mean?
    Cheers
    Ben

Maybe you are looking for