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 -
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,
TeresaIf 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 -
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 SAPHi,
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
ShekarRefer
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.
ThanksHi,
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 -
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 xxxxxThat 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. -
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,
MrudualaYou 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 ,
VaraHi 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
-
I am trying to completely turn off imessage. Although I do turn it off in settings, under messages, and when I attempt to send a message it is asking me to input my apple id and will then proceed to turn imessage back on. Too many of my clients do no
-
Macbook Pro for major video editing
Hey guys. I'm hoping you can help me out. I'm looking to invest into a notebook because im having a baby and she will be taking my office space where I currently have my 2011 27in I5 imac set up. I do some pretty major video editing in Final cut pro
-
The drivers for this device are not installed. (code 28)
I'm running Windows 7 64-bit and my 3210xi All-in-One is working perfectly but is reporting errors in Device Manager. I've done the obvious things -- I've downloaded the latest software from hp.com (the filename is AIO_CDB_Net_Full_Win_WW_130_141.exe
-
Upload .Sql file using sqlloader
Hi , Having a sql file insert into dpcdr.CALLID ("ID" ,MOBILE_NUMBER ,OTHER_PARTY ,CALL_TYPE ,CALL_DATE_TIME ,DURATION ) Values (:"ID" ,9818764535,9899875643,'IN',to_date('2013-05-24 02:10:43','YYYY-MM-DD HH24:MI:SS') ,10) ; insert into dpcdr.CALLI
-
Beach Ball when play back...why?
Hi, has any one had this problem? When I press space bar or the play button in both the Viewer and the Canvas I get a spinning beach ball, it spins for about 1 or 2 minutes, then play back starts normally...This is something new to me, I never had th