External mapping context
Hello.
I have one problem. I have 2 components? for example compA and compB. In compB I used compA. From compB I give parameters to compA throuth Context mapping and in compA execute RFC using this parameters. After execute I want to mapping result context from compA to compB. Is it possible to do? And if possible, how can I do this?
I think the mapped context is not initialized in the wdDoInit method. Create your own init method in compA and call it from the wdDoInit of the view of compA.
So you have the call hierarchy like this --> Fire plug of compB --> wDoInit of the view in comA (hook method) --> your own init method in controller of compA. Then you should be able to access the initialized mapped context.
Hope this helps.
Similar Messages
-
Hi All,
I tried to find a solution myself reading all posts and some document from help, like the external mapping context but without success until now.
So please, could you help me to find right solution ?
1/ Idea is that a comp A uses (used component) comp B.
2/ In interface controller context B I defined a node BNode with attributes. Same thing of course in controller context B.
Both with "Input element" set to true and Collection Cardinality set to 1..1
3/ In controller context A I mapped using the context from B the node BNode.
4/ Finally I try into controller B, java part, to put some data into BNode.
First of all this the BNode current element is null (as I don't understand because of my cardinality set to 1..1)
So I try to create a node element and to add it into my context, exception occurs :
com.sap.tc.webdynpro.progmodel.context.ContextException: NodeInfo(path=_.CompB.BNode, class=com.sap.tc.webdynpro.progmodel.context.MappedNodeInfo): cannot create nodes, no mapping defined yet
Do you have any idea ?
Thanks for any help
Best regards,
Emmanuel.Hi Bala,
And thanks for your reply.
Ok so first, I don't understand the restriction because in my context I didn't put directly attributes but first a node BNode and then attributes into this node. So I thought that it was in that case possible...
Nevertheless I tried of course what you said. So in B I changed the input element value to false, and the cardinality to 0..1 in both controller and interface controller of B.
Then in B, I create this element and set some attributes.
But in A, If I want to use the BNode node with attributes mapped to comp B, it is impossible because this BNode in comp A is still empty. It is why I would like to use input element set to true to be able to acess to these external attributes.
Next try perhaps :).
Best regards,
Emmanuel. -
Facing problem in .doc to .chm conversion esp with External Map Id file
Hi...I'm a new user to RH-Word. I need to create .chm file
from a .doc file (earlier we used to use .hlp). Is it correct that
i need .cnt (for TOC) and .hlp files as well for the conversion? If
not, then how can i do it with the .doc file ONLY? Secondly, i have
converted the .doc to .chm with the help of .cnt and .hlp BUT
Context Sensitive help is not working in this case. I imported the
external .map file (that was provided with the VC++ code of my
program) BUT the Map IDs are placed in the Unused Map ID Folder and
i need to create aliases for each and every Map ID [which is very
cumbersome and difficult to do as i don't know which ID was related
to which Topic]. Is there any way to convert the .doc while
preseving the Context Sensitive Help as well? Plz help!!Hi DivyaVij,
Can you describe more precisely what you want do do, or what
you did?
If you want to convert your WinHelp-project (hpj) to a
HTMLHelp project (.xpj) in RoboHelp, this is how I would do it:
- In RH Starter select the tab Import.
- Select WinHelp Projekt (.hpj). The dialog page Import
Project - Select Project Format opens where you select HTML Help.
- The Select WinHelp Project dialog appears where you select
your WinHelp project.
- Define the import settings.
The hh file should convert fine. You may have to manually
reformat topics, convert bmp files or other stuff, but you will
work with HTML files, which is much more convenient.
Hope that helps! -
External mapping in WD for ABAP
Hello,
I am trying to understand how the concept of external context mapping works in Webdynpro.
In system BIZ/000 I created a main WD component ZTEST_WD and another subcomponent WD component ZTEST_MWD.
Then I didthe following:
1. set the component controller context node TEST_FLIGHT_NO of ZTEST_MWD as Input Element (Ext),
2. performed an external mapping between the interface controller context and the main component controller context
3. Created a method GET_FLIGHT_DETAIL to perform some processing with the flight number in the TEST_FLIGHT_NO and display the flight details on the view. It was successful.
As a negative test, I tried to display the value of the subcomponent context with external mapping in the main view, and I expected that it would give an error, but it worked.
I assigned a value to the context in the interface controller method, and the same was displayed in the view. This means that the data flows from the interface controller context to the view context.
In subcomponent ZTEST_MWD, there is a method GET_FLIGHT_DETAIL, where I assigned value to the context.
data_node = wd_context->get_child_node( name = 'TEST_FLIGHT_NO' ).
data_node->set_attribute( exporting name = 'CARRID' value = 'AA' ).
data_node = wd_context->get_child_node( name = 'TEST_FLIGHT_NO' ).
data_node->get_attribute( exporting name = 'CARRID' importing value = lv_carrid ).
And later when the action was processed, the value "AA" displayed on the textbox in the main view.
Now I am a bit confused abt the concept which I understood earlier. I do not see any difference between external mapping and normal mapping.
It would be very very nice if you could throw light on this.
Awaiting responses,
Thanks and Regards,
MayaHello,
here's the link to the documentation about external context mapping: http://help.sap.com/saphelp_nw04s/helpdata/en/67/cc744176cb127de10000000a155106/frameset.htm
Regards, Heidi -
Freely programmed search help with external mapping
Hi all.
I have a freely programmed search help to search for physical inventory items.
I map some data from the component where i use this search help to this search help via external mapping. This works fine.
But in the search help I want to be able to change the mapped data to perform a new serach. When I change the data and start the action to search again (in the serach help component) I still get the old field value from context so that the search returns the same result. When I close the search help afterwards the changes are suddenly visible in the using component. So my entered data are somehow transfered to the original context but not to the context of the used component.
Any ideas?
Thanks
Sascha
Message was edited by:
Sascha DingeldeyHi Sascha,
I would suggest, that you do not work with the externally mapped attribute.
Try to copy the value to a "local" attribute in the searchhelp context while WDDOINIT of the component.
This is the attribute you should use for the search.
When you change the searchvalue, it is only changed in the comnponent.
To get the values back to the calling component you need to copy it back while you call the action submit or exit.
Hope this helps
Best regards, Matthias -
Error Message External Mapping Not Complete Yet
Hi,
I have the following scenario.
Component A <b>is Embedding</b> Component B.
Component B has a Componenet Controller that makes a<b> Service Call</b> to a Function Module.
The <b>Top Node in the Context of Component Controller of Component B (</b>which is same as the name of the function module being called) is marked with :
<b>Interface Node = 'X'
isInputElement = 'X'.</b>
The IMPORTING Node gets the isInputElement = 'X' property.b The CHANGING node does not.
The Context of COmponent Controller of B looks like
Context
Name_of_Function_Module
IMPORTING
Attribute1
CHANGING
Attribute2
<b>Now in Component A, in the Component Usage of B-> Interface Controller , I declare the Usage of Component Controller of Component A</b>
I did the external mapping of the Top Node of Component B(throught the interface controller) to that of Component Controller of A.
I created a View in Component A, declared usage of Component Controller of A in this View, did context mapping from View Controller of A to Component Controller of A and binded the IMPORTING node attributes to the Inputfield.
I made sure I instantiate the Used COmponent B in the WDDOINIT() method of the COmponent Controller of A
WHen I run the application I get the error
<b>External Mapping for COMPONENT A # Name_of_Function_Module.IMPORTING.Attribute1 Not Complete Yet</b>
What am I missing here?
Thanks
Message was edited by:
SAP UserThanks Regina,
In my case, I have to have the IMPORTING Node and NAME_OF_FUNC_MODULE node as isInputElement = 'X' because the values for the Importing parameters comes from the outer component .
The <b>CHANGING</b> Node<b> does not</b> have isInputElement = 'X' because the data flow is from the Imterface Controller of Component B to the Component Controller of Component A.
The problem was that I had wrongly marked the Node for Component Controller of Component A, which is mapped to the View COntroller of A, as isInputElement = 'X'. I removed that and it worked fine..
In a nut shell, the followiing holds true for External Mapping
1) The SOURCE of data is ALWAYS from outer Component to Inner Component, that is for Eg: from the COmponent Controller of Component A to the Interface Controller of COmponent B, if A Embeds B
2) The Controller Usage of Component A has to be declarred withing that of the Interface Controller of B (and not the other way..THIS IS IMPORTANT, since the source of data is the Component Controller of A, so B has to Use A and not Vice-Versa)
3) The Source of data for Nodes with isInputElement <b>=</b> 'X' is always the COmponent Controller (or Custom COntroller) of the OUTER Component, while that with isInputElement <b>NOT EQUAL</b> 'X' is the Interface Controller of the INNER Component
Regina, Pls input ur comments -
How to read Group ID from Value Mapping Context in Cache Monitoring ?
Hi friends,
In RWB --> Cache Monitoring --> Integration Server (Java) -> (Search for Value Mapping Groups) in this each item is identified by Value Mapping Group (GroupID, Context, Identifier/Agency, Identifier/Scheme). Either we create Value Mapping Table in ID or replicate value mapping data directly from text file/SAP table etc., in run time cache, data will be identified in this manner.
Now, our requirement is to delete a record the Cache for a particular context. Two operations provided by XI one is 'Delete' and another one is 'DeleteGroup'. When we use either of this, we should know GroupID. Suppose, I replicated some large amount of data from my text file in Runtime Cache. Value Mapping Table is like that IN --> India, US --> USA, AU --> Australia, EG --> Egypt. Now, I am required to write a program to get the input country code from user which is going to delete in the value mapping table like IN/AU.... For this, what logic we should follow in the program is, First we scan the value mapping table and find the record (country code) which is match with the input. Then find the GUID value for this record. Now we use the DeleteGroup Operation and pass this GUID and then delete the record.
So, in essence, how to read the GUID from value mapping context.
Friends, Kindly help me to do this.
Thanks in advance.
Jegatheeswaran P.Did you get the way to read group id?
-
Create a cache for external map source - Error in parsing xml request.
When doing the following:
Create a cache for external map source
I get "error in parsing xml request" when setting the following
Map service Url:
http://neowms.sci.gsfc.nasa.gov/wms/wms?version=1.3.0&service=WMS&request=GetCapabilities
It looks like it is breaking on "&". Any suggestions?
RobHi Chris,
thanks for your reply!
I've tried to add the following into persistence.xml (although I've read that eclipseLink uses L2 cache by default..):
<shared-cache-mode>ALL</shared-cache-mode>
Then I replaced the Cache bean with a stateless bean which has methods like
Genre findGenreCreateIfAbsent(String genreName){
Genre genre = genreDAO.findByName(genreName);
if (genre!=null){
return genre;
genre = //Build new genre object
genreDAO.persist(genre);
return genre;
As far as I undestood, the shared cache should automatically store the genre and avoid querying the DB multiple times for the same genre, but unfortunately this is not the case: if I use a FINE logging level, I see really a lot of SELECT queries, which I didn't see with my "home made" Cache...
I am really confused.. :(
Thanks again for helping + bye -
Creating external mapping file for C# application
Hi,
I'm using Robohelp 7 and producing HTMLHelp files. So far, the programmers have been making internal links in the program to call my help, but I'd like to take this over using an external mapping file.
Is it possible to use regular map files, using the built-in Map ID functionality, for C# .NET applications? If so, is there something special I have to do? Or do I just create a regular map file?
Thanks!I mean that, in the past, they have hard-coded the link to each help page within the application. But, I'd like to take that over by maintaining a Map file where I specify the link between the topic and the Map ID.
However, I'm not sure that the map file works for C# .Net applications, and the engineers aren't sure either. I told them I'd go investigate.
Is there a way to create a Map file, or something that works like a map file, for a C# .Net application? Or do they have to go on hard-coding the links to each topic? -
Map context node web dynpro to context DATA of interface controller ALV
Hi Experts,
I have started creating simple ALV by following the example in the below mentioned link.
https://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/3439404a-0801-0010-dda5-8c14514d690d
I have completed 95% development but stuck with last bit of
Set data to ALV for display (via reverse context mapping).
When Click on the Controller Usage button. The component controller of your Web Dynpro component DOES NOT appears on the right side of the screen.
Therefore I can not Map context node NODE_FLIGHTTAB of your Web Dynpro component to context DATA of the interface controller of the ALV component.
Could you please shed me light on this.
Your time and help much appreciated.
Best Regards
CBHi Chandra,
You need to add component controller first. Just go to the property tab of interface controller of the alv component and click on create button and then add the component controller. After that you'll be able to see the node in the context tab.
Regards
Arjun -
External Map Source SRID Parameter
Hello,
I am trying to create a map tile layer in mapviewer from an external map source. I have specified the Map service Url, the Java Adapter Class and the Jar file location, provided by the WMS provider, correctly. I also enabled the adapter properties as required by the WMS provider:
service: WMS
srs: EPSG:4326
format:image/png
layers:ktbasemap
The coordinate system that I would like my map tile layer to use is:
GGRS87 / Greek Grid (2100, PROJECTED)
but mapviewer does not seem to translate the WMS provider's map data into the specified coordinate system (2100). If I use Oracle's SRID, 8307, the map tile layer is rendered properly.Is there any way to overcome this issue?
ThanksDoes the external (WMS) map source serve up the maps in EPSG:4326 or in EPSG:2100?
Anyway MapViewer won't convert (reproject) the tiles.
If the WMS serves up map images in epsg:4326 then the tile layer's SRID should be epsg:4326 or 8307
If the WMS instance serves it up in EPSG:2100 then use that instead in the tile layer definition. -
Dorpdown key with external mapping
Hi Experts
I have a situation here i'trying to resolve. Any help would be appreciated.
I have 2 components A and B. Let say component A uses its view A and component B uses its view B.
View A of component A uses a dropdown key. The values in dropdown get populated from a RFC call in component A.
View B of component B also a dropdownkey. The values in dropdown get populated from the same RFC call as in A.
As you can seen, values in dropdown get populated and duplicated at 2 places in component A and B, hence 2 calls to RFC.
I tried to create another component C which will call the same RFC just once and populate the dropdown values in order to return to component A or B through extenal context mapping.
To achieve this, I declare a value attribute vaColor (type string) in the interface controller context of component C and uses the following code in do_init of component C. Please note the value attribute vaColor has Input Element property = true and it will be mapped to exactly the same value attribute declared in component A and B.
<b>Unfortunately this does not work. The problem is WD does not permit to modify a data type of a value attribute used in external context mapping. How do you experts resolve this ?</b><b> Please remember that my objective is to have 1 single RFC call in a child component to populate the dropdown list and this dropdown list will be transferred back for use by different parent components.</b>
ISimpleTypeModifiable myType = wdThis.wdGetAPI().getContext).getModifiableTypeOf("vaColor");
IModifiableSimpleValueSet valColor = myType.getSVServices().getModifiableSimpleValueSet();
calling RFC
for (int i = 0; i < wdContext.node<>.size(); i++) {
valColor.put(wdContext.node<>.getXXElementAt(i).getKey(),
wdContext.node<>.getXXElementAt(i).getText());
Thanks a lot in advance guysHi Ralph,
Instead of directly trying to modify the type as in your method, I would do the following.
-Call RFC in the init of comp C to get data. This data will be copied to a value node(created in comp C) - say this is the value node structure
Plant
-Value
-Description
Comp A and Comp B will use Comp C. They will have the same node Plant , mapped to comp C's context.
Data will be populated when comp C is initiated(after executing the Bapi, copy values from model node to this Plant node)
Comp A and comp B get the values through context mapping. In the individual view wdDoInit method, your code of ISimpleModifiable... is called, and values are populated from this node.
Hope that helps,
Regards,
LM -
Graphical Message Mapping - context issue
Hi experts,
This is the source structure I have http://www.flickr.com/photos/45449397@N03/4273866518/
Now, for the target segment, I need to do the following:
For every block of EAN, I need to check the CHECK fields.
So for EAN 1111, I see 4 X's. But I need to check the distinct values.
So, 1 x for CHECK_1, 1 x for CHECK_2 and 1 X for CHECK_5.
As soon as there is an X, I need to create a target. Even if there are several X values in the same column, I only need it once.
--> target will be 3 different segment groups.
For EAN 2222, I only need 1 target segment group.
Please advice.
Thanks a lot!
DimitriI was about to write this that you will face this blank issue.
You have to remove those blank vaues. We have to choices to do that either we modify the current UDF or we write one more very samll advanced UDF of type "queue".
If we go for option 2 then the new UDF2 code will be like this..
while creating the udf just select the type as queue (you will see 3 options: single value, context & queue)
I guess the default argument will be "var1", if yes you can leave it as it is and the just copy and paset the code.
for (int i = 0; i < var1.length; i++ )
if (! var1<i>.equals(""))
result.addValue( var1<i> );
Now the mapping will be something like this..
Source --> old UDF--->RemoveContext--->new UDF --->Target.
But if you like to go for option 1 then first change the type of UDF to Queue and then in the code modify the "return" statement e.g.
if (RegTH.equals('X'))
result.addValue( ExpTH );
else if (RegHI.equals('X'))
result.addValue( ExpHI );
else if (RegLO.equals('X'))
result.addValue( ExpLO );
else if (RegPE.equals('X' ))
result.addValue( ExpPE );
else if (RegLOW.equals('X'))
result.addValue( ExpLOW );
result.addValue( ResultList.SUPPRESS );
Note: for option 1 you have to set context of source value to their heighest level, so that there shouldn't be a context change. Or you can use RemoveContext. -
Hi All,
I hav a <b>source structure</b> as
<?xml version="1.0" encoding="UTF-8"?>
<ns0:OB xmlns:ns0="http://cibasc.com/anil">
<Root>
<VBELN/>
<EDL24> -
1..Unbounded
<NTEGW/>
<MATNR/>
<ETXTH9>
<FUNCTION>pck</FUNCTION>
<ETXTP9>
<TDFORMAT>c</TDFORMAT>
<TDLINE>qqq</TDLINE>
</ETXTP9>
<ETXTP9>
<TDFORMAT>c</TDFORMAT>
<TDLINE>rrr</TDLINE>
</ETXTP9>
<ETXTP9>
<TDFORMAT>u</TDFORMAT>
<TDLINE>mmm</TDLINE>
</ETXTP9>
</ETXTH9>
<ETXTH9>
<FUNCTION>pck</FUNCTION>
<ETXTP9>
<TDFORMAT>c</TDFORMAT>
<TDLINE>qqq</TDLINE>
</ETXTP9>
<ETXTP9>
<TDFORMAT>c</TDFORMAT>
<TDLINE>rrr</TDLINE>
</ETXTP9>
<ETXTP9>
<TDFORMAT>u</TDFORMAT>
<TDLINE>ppp</TDLINE>
</ETXTP9>
</ETXTH9>
<ETXTH9>
<FUNCTION>pck</FUNCTION>
<ETXTP9>
<TDFORMAT>c</TDFORMAT>
<TDLINE>qqq</TDLINE>
</ETXTP9>
<ETXTP9>
<TDFORMAT>c</TDFORMAT>
<TDLINE>rrr</TDLINE>
</ETXTP9>
<ETXTP9>
<TDFORMAT>cu</TDFORMAT>
<TDLINE>ttt</TDLINE>
</ETXTP9>
</ETXTH9>
</EDL24>
</Root>
</ns0:OB>
The Target Structure is :
<Root>
<Attrib> -
0 to Unbounded
<Element1>
<Element2>
<Element3>
<Element4>
</Attrib>
</Root>
Now i wanna map <VEBLN> which is under Root to Element1
<VEBLN> --- <Element1>
<NETGW> <b>if not equal to 0 then</b> -
<Element2> (If this condition fails, the mapping for this occurence of EDL24 shud b stopped and shud goahead with the next occurence.
<TDLINE> -
<Element4> The condition for this is as follows:
Check for the element FUNCTION whose value is 'pck' and if it 'pck', then again check for the element TDFORMAT in the segment ETXTP9 for the value 'cu'. if it 'cu', then populate the Element4 with the TDLINE.
I had tried in most of the ways....but din't get it..
Any help wud b appreciated.
Thnx in Advance
AnilHi,
Try this...
Mapping:
NTEGW(with context as ROOT)>getNTEGW>Attrib
VBELN(with context as ROOT )--\
NTEGW(with context as ROOT )|>useOneAsMany-->Element1
NTEGW(with context as EDL24)--/
NTEGW(with context as EDL24)-->Element2
TDLINE(ETXTP9)-----><b>THEN</b>
FUNCTION(ETXTH9)--\
TDFORMAT(ETXTH9)--|->useOneAsMany-\
TDFORMAT(ETXTP9)--/
|->Equals-\
CONSTANT("pck")-/
|->and-><b>IF</b>->formatbyexample->pass->E4
TDFORMAT(ETXTP9)-\
|->StringEquals-/
CONSTANT("pck")-/
CONSTANT("dontpass")-----><b>ELSE</b>
<b>UserDefinedFunctions:</b>
<b>Choose: QUE option:</b>
public void getNTEGW(String[] NTEGW,ResultList result,Container container){
for(int i=0;i<NTEGW.length;i++)
if(NTEGW<i>.equals("0"))
result.addValue(ResultList.SUPPRESS);
else
result.addValue(NTEGW<i>);
<b>Choose: Context option:</b>
public void pass(String[] a,ResultList result,Container container){
for(int i=0;i<a.length;i++)
if(!a<i>.equals("dontpass"))
result.addValue(a<i>);
Regards,
KNS Kumar. -
Mapping Context problem-----it is urget
Hi All,
My source is Idoc Debmas06 and my target is Siebel XSD.source data come from 2 segments are 1) E1KNA1M in the fields are SORLT and NAME
2) E1KNVPM in the fields is KNREF and PARVW
Target side structure are like this
NpbackOfficeAccountRelationship(header level 0.1)
NpbackOfficeAccountRelationship(itemlevel 0.unbounded)
Fields are AccountId
RelateadedAccount ID
Name
Relationshiptyp
BORrowid
I did mapping like this:
1) SORTL-------
E1KNA1M---- > UseoneAsMany----
>NpbackOfficeAccountRelationship
E1KNVPM-
Set context also but I got error
<b>I got error like</b> :
Runtime exception during processing target field mapping /SiebelMessage/ListOfNpAccountNp/NpAccount/ListOfBackOfficeAccountRelationship/BackOfficeAccountRelationship. The message is: Exception:[com.sap.aii.mappingtool.tf3.IllegalInstanceException: Too few values in second queue in function useOneAsMany. It must have over all contexts the same number of values as third queue] in class com.sap.aii.mappingtool.flib3.NodeFunctions method useOneAsMany[, , ]
com.sap.aii.mappingtool.tf3.MessageMappingException: Runtime exception during processing target field mapping /SiebelMessage/ListOfNpAccountNp/NpAccount/ListOfBackOfficeAccountRelationship/BackOfficeAccountRelationship. The message is: Exception:[com.sap.aii.mappingtool.tf3.IllegalInstanceException: Too few values in second queue in function useOneAsMany. It must have over all contexts the same number of values as third queue] in class com.sap.aii.mappingtool.flib3.NodeFunctions method useOneAsMany[, , ]
at com.sap.aii.mappingtool.tf3.AMappingProgram.processNode(AMappingProgram.java:275)
at com.sap.aii.mappingtool.tf3.AMappingProgram.processNode(AMappingProgram.java:238)
at com.sap.aii.mappingtool.tf3.AMappingProgram.processNode(AMappingProgram.java:238)
at com.sap.aii.mappingtool.tf3.AMappingProgram.processNode(AMappingProgram.java:238)
at com.sap.aii.mappingtool.tf3.AMappingProgram.processNode(AMappingProgram.java:238)
at com.sap.aii.mappingtool.tf3.AMappingProgram.start(AMappingProgram.java:338)
at com.sap.aii.mappingtool.tf3.Transformer.start(Transformer.java:60)
at com.sap.aii.mappingtool.tf3.AMappingProgram.execute(AMappingProgram.java:105)
at com.sap.aii.ibrep.server.mapping.ServerMapService.transformInternal(ServerMapService.java:431)
at com.sap.aii.ibrep.server.mapping.ServerMapService.execute(ServerMapService.java:169)
at com.sap.aii.ibrep.sbeans.mapping.MapServiceBean.execute(MapServiceBean.java:52)
at com.sap.aii.ibrep.sbeans.mapping.MapServiceRemoteObjectImpl0.execute(MapServiceRemoteObjectImpl0.java:259)
at com.sap.aii.ibrep.sbeans.mapping.MapServiceRemoteObjectImpl0p4_Skel.dispatch(MapServiceRemoteObjectImpl0p4_Skel.java:146)
at com.sap.engine.services.rmi_p4.DispatchImpl._runInternal(DispatchImpl.java:304)
at com.sap.engine.services.rmi_p4.DispatchImpl._run(DispatchImpl.java:193)
at com.sap.engine.services.rmi_p4.server.P4SessionProcessor.request(P4SessionProcessor.java:122)
at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:33)
at com.sap.engine.core.cluster.impl6.session.MessageRunner.run(MessageRunner.java:41)
at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)
at java.security.AccessController.doPrivileged(Native Method)
at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:100)
at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:170)
Root Cause:
com.sap.aii.utilxi.misc.api.BaseRuntimeException: Exception:[com.sap.aii.mappingtool.tf3.IllegalInstanceException: Too few values in second queue in function useOneAsMany. It must have over all contexts the same number of values as third queue] in class com.sap.aii.mappingtool.flib3.NodeFunctions method useOneAsMany[, , ]
at com.sap.aii.mappingtool.tf3.rt.Q2QFunctionWrapper.cacheQueue(Q2QFunctionWrapper.java:105)
at com.sap.aii.mappingtool.tf3.rt.Q2QFunctionWrapper.gotoNextContext(Q2QFunctionWrapper.java:43)
at com.sap.aii.mappingtool.tf3.AMappingProgram.processNode(AMappingProgram.java:178)
at com.sap.aii.mappingtool.tf3.AMappingProgram.processNode(AMappingProgram.java:238)
at com.sap.aii.mappingtool.tf3.AMappingProgram.processNode(AMappingProgram.java:238)
at com.sap.aii.mappingtool.tf3.AMappingProgram.processNode(AMappingProgram.java:238)
at com.sap.aii.mappingtool.tf3.AMappingProgram.processNode(AMappingProgram.java:238)
at com.sap.aii.mappingtool.tf3.AMappingProgram.start(AMappingProgram.java:338)
at com.sap.aii.mappingtool.tf3.Transformer.start(Transformer.java:60)
at com.sap.aii.mappingtool.tf3.AMappingProgram.execute(AMappingProgram.java:105)
at com.sap.aii.ibrep.server.mapping.ServerMapService.transformInternal(ServerMapService.java:431)
at com.sap.aii.ibrep.server.mapping.ServerMapService.execute(ServerMapService.java:169)
at com.sap.aii.ibrep.sbeans.mapping.MapServiceBean.execute(MapServiceBean.java:52)
at com.sap.aii.ibrep.sbeans.mapping.MapServiceRemoteObjectImpl0.execute(MapServiceRemoteObjectImpl0.java:259)
at com.sap.aii.ibrep.sbeans.mapping.MapServiceRemoteObjectImpl0p4_Skel.dispatch(MapServiceRemoteObjectImpl0p4_Skel.java:146)
at com.sap.engine.services.rmi_p4.DispatchImpl._runInternal(DispatchImpl.java:304)
at com.sap.engine.services.rmi_p4.DispatchImpl._run(DispatchImpl.java:193)
at com.sap.engine.services.rmi_p4.server.P4SessionProcessor.request(P4SessionProcessor.java:122)
at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:33)
at com.sap.engine.core.cluster.impl6.session.MessageRunner.run(MessageRunner.java:41)
at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)
at java.security.AccessController.doPrivileged(Native Method)
at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:100)
at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:170)
RuntimeException in Message-Mapping transformation: Runtime exception during processing target field mapping /SiebelMessage/ListOfNpAccountNp/NpAccount/ListOfBackOfficeAccountRelationship/BackOfficeAccountRelationship. The message is: Exception:[com.sap.aii.mappingtool.tf3.IllegalInstanceException: Too few values in second queue in function useOneAsMany. It must have over all contexts the same number of values as third queue] in class com.sap.aii.mappingtool.flib3.NodeFunctions method useOneAsMany[, , ]
06:55:02 End of test
<b>I want like this format of target side :
- <ListOfBackOfficeAccountRelationship>
- <BackOfficeAccountRelationship>
<AccountId>1-11VIP</AccountId>
<Name2>XYZ PP Ltd</Name2>
<RelatedAccountId>1-11VIP</RelatedAccountId>
<RelationType>Bill To</RelationType>
<BORowId>1-1U3JA</BORowId>
</BackOfficeAccountRelationship>
- <BackOfficeAccountRelationship>
<AccountId>1-11VIP</AccountId>
<Name2>XYZ PP Ltd</Name2>
<RelatedAccountId>1-11VIP</RelatedAccountId>
<RelationType>Sold To</RelationType>
<BORowId>1-11VJ6</BORowId>
</BackOfficeAccountRelationship>
</ListOfBackOfficeAccountRelationship></b>Hi,
1) Check out the incoming value from the sender side ..
2) try to give account id and related account as string ..like relation type.
3) if java code is used for mapping...re-import again and activate ,,the object...
4) do you do any java validation..if so check the code..is it similar to the relation type..data type including the way how it is defined..
Regards
Agasthuri Doss
Maybe you are looking for
-
How to rebind a bean object programmatically in EJB 3.0
hi, There is a bean object (EJB 3.0) which i want to rebind. How can I do it through another application running under same netweaver server. For eg, one session bean object is bound to "java:comp/env/Converter" jndi name by one application. H
-
Hello Experts, This is my 1st question in this forum (& regarding Acrobat as well). Here's the scenario; We have SharePoint 2013 environment which is used for lot of things around documents, workflows, projects etc. In one of the projects, we have a
-
How can i unlock items in EP?
Hi there.. I have this problem, when i create a Role. After creating it, i cannot change the properties of the Role cant be modify ... And they will Lock my file and i cant do anything to it.. Does anyone have this probs and the solution to it ?? Th
-
How to use log4net with C# clients
Hi, Can anybody please give an example of how to use log4net with C# clients? Foe java clients you can use the <logging-config> <destination>log4j</destination> How do we use it with C# clients? Any example will be appreciated. Thanks. -ali
-
BBM display picture is blurry! Can not rotate and zoom. Update please
Hi.. Please help me.. I just bought blackberry q10 but I really don't like how the BBM works. How to fix a blurry display picture on bbm? I'm using blackberry for a long time and I need to share and update my pictures to my family and my friends whic