Manipulate values in payload without mapping?
Hello everybody,
is it possible to manipulate values in an interface (payload) without mapping?
Regards Mario
Hi Mario,
no, that'n not possible (in the standard).
Regards,
Udo
Similar Messages
-
Cannot map control record values from payload w/XSLT after SP13 upgrade
Hi!
Since we upgraded to SP13, the mapping of control record values form the XML payload to the IDOC control record (File->XI->IDOC scenario) no longer works if the mapping is done via XSLT. It works if the XI graphical mapper is used. The XSLT used is the same pre and post upgrade, but worked fine previously.
[ Apply Control Record Values from Payload is checked in the IDOC adapter comm channel. ]
Has anyone else experienced this? Am looking for any inspiration
Cheers
DuncanAre you sure the xslt file is still there?
Maybe some non-compliance was corrected in later SP and your XSLT was using that non-compliance.
If you post the XSLT we could try to point out any possible errors.
Regards,
Henrique. -
How to get the Output File Name as One of the Field Value From Payload
Hi All,
I want to get the Output file name as one of the Field value from payload.
Example:
Source XML
<?xml version="1.0" encoding="UTF-8" ?>
- <ns0:MT_TEST xmlns:ns0="http://sample.com">
- <Header>
<NAME>Bopanna</NAME>
</Header>
</ns0:MT_TEST>
I want to get the Output file name as " Bopanna.xml"
Please suggest me on this.
Regards
BopannaHi,
There are couple of links already available for this. Just for info see the below details,
The Output file name could be used from the field value of payload. For this you need to use the UDF DynamicFile name with below code,
// Description: Function to create dynamic Filename
DynamicConfiguration conf = (DynamicConfiguration) container.getTransformationParameters().get(StreamTransformationConstants.DYNAMIC_CONFIGURATION);
DynamicConfigurationKey key = DynamicConfigurationKey.create("http://sap.com/xi/XI/System/File" , "FileName");
conf.put(key,a);
return "";
DynamicConfiguration conf = (DynamicConfiguration) container.getTransformationParameters().get(StreamTransformationConstants.DYNAMIC_CONFIGURATION);
DynamicConfigurationKey key = DynamicConfigurationKey.create("http://sap.com/xi/XI/System/File" , "FileName");
conf.put(key,a);
return "";
With this udf map it with the MessageType as
(File Name field from Payload) > DynamicFileConfiguration>MTReceiver
Thanks
Swarup -
File to XI scenarion without mapping
HI All,
MY REQUIREMENT:
1. Need to read the data from FILE .
2. pass the values to a BAPI structure in ECC Without any mapping
QUESTIONS:
1. Is it possible to complete the scenario without mapping in XI.
2. If possible how.
Could any one help me how to achieve this
Than you,
Harsha PMy source data structure is same as BAPI.
We have created data types ,message types and Service interfaces for SENDER in ESR.
But our Issues.
1. Do we need to create Receiver Interface Objects.
If yes How (In our scenario receiver is BAPI)
import RFC under imported objects in esr
2. What are the configurations we need to do in ID for SENDER and RECEIVER.
coming to id:
create everything like
communication channels for sender as file and receiver as RFC.
create Agrrements for sender and receiver.
create Receiver determination and interface determination.
Edited by: bhavanisankar.solasu on Feb 21, 2012 4:17 PM -
Dimension displaying Level_Member values instead of proper mapped value
Just wondering if anyone else has come across this problem before and knows a smart way of correcting it.
I have a Dimension that contains 6 levels which is mapped to a view. I can build the dimension without any errors appearing in the maintain process. However there are times when something happens (not sure what) and the dimension appears differently when I "view data". The top 5 levels appear normally but the sixth level (L6) displays L6_"surrogate id", where the surrogate id is mapped to the Member field in the mapping section. This would indicate to me that there isn't any value mapped to either description field. But according to the view there is a character value and this is mapped against the Short Description and the Long Description.
Now it gets a bit stranger. This has definitely been working, so I dropped the view and recreated it with a different where clause so that the values returned are definitely different. I maintain the dimension again and I receive the new values displayed correctly - the XML_LOAD_LOG indicates that the old values were deleted and the new values were created. When I drop the view and recreate it with the original where clause and maintain it again, it works correctly !!
I'm sure there is a logical reason for this happening (or maybe there is not). I am resorting to programmatically creating the view incorrectly, maintaining the dimension, correcting the view and maintaining it again. The seems somewhat extreme but I am at a loss for what else to do.
Anyone experienced this before ??
Thanks
LThanks for the response.
I have deleted the AW and recreated from template and then maintained the dimension. The problem is there as before.
I then went to the mapping node and removed the referenced view, added it again and remapped. Maintained the dimension and unfortunately the problem is still there!
I think the problem definitely relates to the dropping and recreating of the AW. Something seems to be corrupting the attributes - the strange thing is that it only occurs for the lowest level (level 6), everything else above it is 100% correct. Unfortunately the dropping and recreating of this is required for two reasons:
1. To manage the size of the AW and therefore the time required to maintain our dimensions and cubes on a nightly basis. If left the build time will creep up to about 2 hours within 3 weeks - it currently takes 20 minutes to build 5 cubes and 7 dimensions by dropping and recreating the AW.
2. To handle the problem with cubes not deleting data that is no longer referenced. Our data warehouse is relatively small and due to other constraints we drop and repopulate all of our tables every night - giving them new surrogates. In some cases records will have actually been removed. Without dropping the cube and recreating it, these "old" records are still seen in the cube and therefore give us incorrect results.
I have now implemented code that creates the view with dummy data and maintains the dimension. Then corrects the view and maintains it again. This is working well and is only taking a matter of minutes to run. I am concerned though that this will occur in other dimensions that we create in the future. Anyway, I guess I'll cross that bridge when I come to it.
Thanks again for your reply. I knew it was probably something strange that might be as a result of other actions we are taking.
L -
Unable to get the values from PAYLOAD
Hi,
i'm unable to get the values of payload. When i use
currentTask = client.getTaskQueryService().getTaskDetailsById(workflowContext, taskID);
Element payload = (Element)currentTask.getPayloadAsElement();
node = (Element)payload.getFirstChild();
System.out.println(node.getElementsByTagName("documentName").item(0).getNodeValue());
I get null but i instantiate the bpel process with a value and i have
- <payload>
- <ns1:DocumentReviewProcessRequest xmlns:ns1="http://xmlns.oracle.com/bpel/Review">
<ns1:documentTitle>vbvnmbvn</ns1:documentTitle>
<ns1:documentName>bvnbvnvn</ns1:documentName>
<ns1:URI>http://www.first.pt</ns1:URI>
<ns1:assignees>gestdoc</ns1:assignees>
<ns1:groups />
</ns1:DocumentReviewProcessRequest>
</payload>
if i use System.out.println(node.getElementsByTagName("HELLO").item(0).getNodeValue());
I get a normal erro 'cause this variable don't exist...
Can someone please help me?
Thanks!!I think the problem is UME related. I had the same problem once. Try using a system user for searching, instead of the logged on user.
Like this:
com.sapportals.portal.security.usermanagement.IUser user = WPUMFactory.getUserFactory().getUser("cmadmin_service");
Please reward the points if this helps. -
File to File multiple scenario without mapping
Hi
I am doing one simple file to file scenario without mapping i.e picking file from sender directory and then placing it in receiver directory via FTP.
Now i have to take two files from different directories and place them in to different directories in the receiver side.
On the sender side i have selected Advanced selection for source file and maintained the sceond directory name and filename.
now i am not aware about the reciver side that how to place the two files in to different directories.
I have to make only one interface for this.
Thanks in advance.u have to follow the code in the link provided above but with some manipulations...
in case u r placing the files in different target dir depending upon the source directory then ur code will be something like this:
Note: i dont have a system as of now..so cant able to check the code for syntax errors..please cross check it
MessagePropertyKey mpk = new MessagePropertyKey("Directory","http://sap.com/xi/XI/System/File");
String SourceDir = msg.getMessageProperty(mpk);
if(SourceDir.equals("/SourceDirectory1"))
String targetDir1 = "/TargetDirectory1"
msg.setMessageProperty("http://sap.com/xi/XI/System/File","Directory",targetDir1);
else if(SourceDir.equals("/SourceDirectory2"))
String targetDir1 = "/TargetDirectory2"
msg.setMessageProperty("http://sap.com/xi/XI/System/File","Directory",targetDir2);
else
http://help.sap.com/javadocs/pi/SP3/xpi/com/sap/engine/interfaces/messaging/api/Message.html#getMessageProperty(com.sap.engine.interfaces.messaging.api.MessagePropertyKey)
lIbraries for adapter module development:
http://wiki.sdn.sap.com/wiki/display/XI/Where%20to%20get%20the%20libraries%20for%20XI%20development
How to develop adapter module:
http://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/c0b39e65-981e-2b10-1c9c-fc3f8e6747fa?QuickLink=index&overridelayout=true -
How to get the value of payload?
Hi
The null is returned when I use the following code to get the User_ID element in the payload, but there are values in the User_ID element of the payload
Task task_test = wfSvcClient.getTaskQueryService().getTaskDetailsById(wfCtx, taskId);
System.out.println("the payload value is " + task_test.getPayloadAsElement().getElementsByTagName("User_ID").item(0).getNodeValue());
How to get the node value of payload ? any suggestion?
Thanks
JaysonHi Jayson,
Try:
System.out.println("the payload value is " + task_test.getPayloadAsElement().getElementsByTagName("User_ID").item(0).getFirstChild().getNodeValue());
So add the getFirstChild() call in between.
If this works, maybe consider using JAXB to marshall the payload details to POJO's. This will make reading the payload details much easier.
Regards, Ronald -
Strange error in mapping test: Structure with min!=max without mapping
Hi,
a very simple mapping: flatfile 2 Idoc.
in mapping test I'm trying to test it. but I get always a strange error warning:
11:25:12 Teststart Mapping-Objekt MM_XXXXX2WGSREQ is not completely designed. The execution is impossible.
Structure with min!=max without mapping
11:25:12 Testende
What for a problem?
Thanks for any hints!
Regards
ReneHi Rene,
Check the mapping of 1:n occurence and 0:n occurence nodes.
you can find the node in yellow color in the map level.
Regards,
Harish -
How to get the node value of payload
Hi
The null is returned when I use the following code to get the User_ID element in the payload, but there are values in the User_ID element of the payload
Task task_test = wfSvcClient.getTaskQueryService().getTaskDetailsById(wfCtx, taskId);
System.out.println("the payload value is " + task_test.getPayloadAsElement().getElementsByTagName("User_ID").item(0).getNodeValue());
How to get the node value of payload ? any suggestion?
Thanks
JaysonHi Jayson,
Try:
System.out.println("the payload value is " + task_test.getPayloadAsElement().getElementsByTagName("User_ID").item(0).getFirstChild().getNodeValue());
So add the getFirstChild() call in between.
If this works, maybe consider using JAXB to marshall the payload details to POJO's. This will make reading the payload details much easier.
Regards, Ronald -
ODI-1228: ORA-22950: cannot ORDER objects without MAP or ORDER method
Simple interface between two schemas in the same oracle database (10g)
I am trying to copy one table and do one simple lookup (in a table located in 3rd schema on the same database)
Integration task fails on
ODI-1228: Task messagexml_document (Integration) fails on the target ORACLE connection S2_P1.
Caused By: java.sql.SQLException: ORA-22950: cannot ORDER objects without MAP or ORDER method
Can anybody tell me, what I am doing wrong? Code that generate this error is just a simple INSERT with SELECT and sub SELECT with JOIN?
I just can't find anything about this error.
I'm stuck :-(I discovered that one of my fields is an XMLType field and is a part of comparison ODI do when it tries to do incremental update. The error message here is just a message from db that it can't compare XMLType fields to each other.
Is there any way to learn ODI to not to compare by XMLType field? -
Accessing value of a textfield mapped to an infobus column
I am attempting to access the text value of a textfield mapped to an Infobus column.
In this instance, I am trying to get an account type from the appropriate textfield to pass it to a new query.
I have tried using getText - this returns a string of "oracle.sql.STRUCT@nnnn" (where nnnn is an hexidecimal bnumber)
I also tried creating a method on the textfield using code I found here to retrieve the dataItem, map it to an immediate access control and retrieve the value using getValueAsString().
This approach also returns "oracle.sql.STRUCT@nnnn" of course the numbers are different but as far as I can see, I have know way of knowing if this is the same class or not.
What I am wanting to do is this....
jpLookup.getRowSetInfo().setQueryCondition("ACCOUNTTYPENAME" = '"+tfType.getFieldContents()+"'");
jpLookup.getRowSetInfo().executeQuery();
for testing, I took out the internal single quotes so I could see what was being generated through the sql error dialog. With them in place, I simply get an empty result set since I don't have any account types of 'oracle.sql.STRUCT@nnnn'
SO, could someone point me in the right direction??TextFieldControl tField = new TextFieldControl();
((ImmediateAccess)tField.getDataItem()).getValueAsString();
Linda -
My programmers would like users to be directed to the
"welcome" topic of my help from multiple screens of the application
(either by clicking on Help or hitting F1) without Map IDs being
assigned. We are in a situation now where when a user tries to
access Help from those certain screens they receive an error
message (see systems admin 129) and my project manager doesn't want
that to happen. So, what he'd like ideally is some default that
will link back to the Welcome topic when no Map ID is detected.
Is this even a possibility on my end?Hi tlanderson
Hopefully Pete Lees will see this and advise how it can
happen. I'm pretty sure it can, but will require coding by your
developers to accomplish. After all, they are God to the
application!
Bottom line is that there isn't anything you do on your end.
Unless you want to create a single redirect topic that opens your
Welcome topic. Assign a map ID to that and have them always link to
that particular map ID when they want the generic call. Hmmm,
thinking about it, why not just assign the Welcome topic to the
generic map ID and use that instead?
Just thinking out loud here... Rick :) -
Copy value function in message mapping?
can someone help me understand copy value function in message mapping???
Hi,
Here's a good example providen yesterday by Mark in a thread.
[Re: different contexts to different targets]
And here's SAP help: [http://help.sap.com/saphelp_nwpi71/helpdata/EN/26/d22366565be0449d7b3cc26b1bab10/content.htm]
Then play...
Mickael -
Error in messege mapping " Structure with min!=max without mapping"
Hi Experts,
got an error in messege mapping, after mapping was done as " Structure with min!=max without mapping" . Any idea what is my mistake!
Points will be rewarded.
Thanks and Regards,
Arnab.Hi Mohd,
This error pops up when your mapping is incomplete...
First check all the fields are mapped....
and check all the required fields are mapped which are in RED in colour...if not map to the specific field or to a constant or disable that one...and check the type of the sourse and target fields.....is it string,floatetc
you got a element, which occurences (=minOccurs & maxOccurs) are unequal.
Those fields have to be mapped.
http://help.sap.com/saphelp_nw04/helpdata/en/02/9a6a1c244411d5b2e30050da4c74dc/frameset.htm
Reward points if this helps
Regards
Pragathi.
Maybe you are looking for
-
Is it possible to force an expense report from "released for reimbursement" to "reimbursed" ? During a test I submitted a report for $1.00 to make sure it would post to SAP properly. Once posted I reopened the report and entered a $-1.00 to offset i
-
My Windows 7 Professional desktop system hard disk got corrupted and I took the opportunity to install an SSD for a new system disk and reinstall Windows. The system is up and running on the SSD, with my old system disk now used for storage as it is
-
All, Here s my situation: I have performed a transformation step 1:N: where i split my messages N times. After which i am sending my N messages one by one to the receiver. Now should i use a Parfor each or a ForEach for this scenario??? In either way
-
The number of photos in photos tab is lager than in all photos album
I have enabled the iCloud photo library and disabled my photo stream. i Have 308 photos and 3 videos. Then I checked the iCloud usage, especially the photo library, there are totally 308 photos and 3 videos in iCloud photo library which is correct. N
-
Rounding of qty from sale order to planned order
Hi , There is sale order for 'X' material with qty 94,861meters, but when a planned order is generated the qty is rounding to 94,870 meters. can any one give the reason, what are the things should be changed. Regards, somiraghu