Message Mapping using UseOneAsMoney
Hi Experts,
I am doing the Message Mapping as mentioned in the below blog. I am getting the Error as
05:15:46 Start of test
Exception:[com.sap.aii.mappingtool.tf7.FunctionException: Too few values in the first queue in function useOneAsMany. It must have the same number of contexts as the second queue] in class com.sap.aii.mappingtool.flib7.NodeFunctions method useOneAsMany[[Ljava.lang.String;@478d13c, [Ljava.lang.String;@17f0bc6f, [Ljava.lang.String;@3de327b0, com.sap.aii.mappingtool.tf7.rt.ResultListImpl@c42b38e, com.sap.aii.mappingtool.tf7.rt.Context@6f1a35eb]
com.sap.aii.utilxi.misc.api.BaseRuntimeException: Exception:[com.sap.aii.mappingtool.tf7.FunctionException: Too few values in the first queue in function useOneAsMany. It must have the same number of contexts as the second queue] in class
I have searched in other blog also and ended up with the same error. Please check and do the needful.
The Basic Problem
We have an IDoc ORDERS05 with purchase order information where each purchase order line item (represented by segment .<E1EDP01>) can contain multiple schedule lines (represented by segment <E1EDP20>). For example, we have 2 line items with 3, resp. 2 schedule lines. Then the corresponding portion of message ORDERS05 can look as follows:
<E1EDP01>
<POSEX>00010</POSEX>
<E1EDP20 SEGMENT="1">
<WMENG>15</WMENG>
</E1EDP20>
<E1EDP20 SEGMENT="1">
<WMENG>44</WMENG>
</E1EDP20>
<E1EDP20 SEGMENT="1">
<WMENG>3</WMENG>
</E1EDP20>
</E1EDP01>
<E1EDP01>
<POSEX>00020</POSEX>
<E1EDP20 SEGMENT="1">
<WMENG>32</WMENG>
</E1EDP20>
<E1EDP20 SEGMENT="1">
<WMENG>12</WMENG>
</E1EDP20>
</E1EDP01>
We want to map the information of the IDoc ORDERS05 to the message OrderCreate of the CIDX v4.0 standard. This message uses a more flat
structure where the purchase order line items and the corresponding schedule lines are on the same level. The corresponding portion of the
message OrderCreate (for the same information as in the IDoc) looks as follows:
<OrderCreateProductLineItem>
<PurchaseOrderLineItemNumber>00010</PurchaseOrderLineItemNumber>
<ProductQuantity>15</ProductQuantity>
</OrderCreateProductLineItem>
<OrderCreateProductLineItem>
<PurchaseOrderLineItemNumber>00010</PurchaseOrderLineItemNumber>
<ProductQuantity>44</ProductQuantity>
</OrderCreateProductLineItem>
<OrderCreateProductLineItem>
<PurchaseOrderLineItemNumber>00010</PurchaseOrderLineItemNumber>
<ProductQuantity>3</ProductQuantity>
</OrderCreateProductLineItem>
<OrderCreateProductLineItem>
<PurchaseOrderLineItemNumber>00020</PurchaseOrderLineItemNumber>
<ProductQuantity>32</ProductQuantity>
</OrderCreateProductLineItem>
<OrderCreateProductLineItem>
<PurchaseOrderLineItemNumber>00020</PurchaseOrderLineItemNumber>
<ProductQuantity>12</ProductQuantity>
</OrderCreateProductLineItem>
The data in red correspond to data of the segment <E1EDP01>, while the information in blue correspond to data of the segment <E1EDP20> of the original IDoc. Note that the data in red need to be duplicated based on the occurence of segment <E1EDP20>.
Solution 1
A simple solution of this mapping problem exists under the assumption that in the IDoc ORDERS05 each segment <E1EDP01> contains at least one segment <E1EDP20>. Luckily this assumption holds true for IDocs created via the purchase order creation process in ERP.
1. Mapping of <OrderCreateProductLineItem>
The segment <OrderCreateProductLineItem> of the target structure needs to be created once for each occurrence of segment <E1EDP20> of our source structure. This can easily be achieved via the following mapping:
Remember to change the context to IDOC.
2. Mapping of <PurchaseOrderLineItemNumber>
Since the information for the node <PurchaseOrderLineItemNumber> comes from the IDoc segment <E1EDP01>, this node needs to be replicated based on the occurrence of segment <E1EDP20> under each segment <E1EDP01>. This can be achieved using the node function useOneAsMany as follows:
I will not describe the functionality of the node function useOneAsMany in detail since there is a lot of excellent documentation available on this function, for example in the SAP help . In our scenario you only need to change the context of the second input parameter to E1EDP01.
With the sample input from above, the function useOneAsMany will give the following result:
3. Mapping of <ProductQuantity>
Since the <ProductQuantity> is derived from a value of the IDoc segment <E1EDP20> the mapping for this field is trivial (remember that <ProductQuantity> must occur once per <E1EDP20> segment):
Please check the error and guide me how to proceed further.
Regards,
GIRIDHAR
Hi
The problem is that you the first and second input queue of UseOneAsMany function does not have the same number of context changes.
Do your mapping like this
E1EDP20(set context to Idoc level )----> OrderCreateProductLineItem
First input of UseOneAsMany --->POSEX ( set context to E1EDP01)
Second input of UseOneAsMany---> E1EDP20 ( set context to E1EDP01 )
Third input of UseOneAsMany---> E1EDP20 ( set context to E1EDP01 )
Then after UseOneAsMany use removeContext--->SplitByEachValue--->PurchaseOrderLineItemNumber
WMENG ( set context to E1EDP20) ----> ProductQuantity
This will give you the output in the format you are asked for.
Let me know if any issues.
Similar Messages
-
Is it possible to do message mapping using different namespace message type
Hi all,
Is it possible to do message mapping using different namespaces message types
Example :
i am having message type MT_1 in namespace http://sap.com/abc
and second message type MT_2 in namespace http://partner.com/xyz
so MT_1 can be mapped with MT_2 or not having different namespace.
ThanksRead through my reply in this thread for Defining Software component dependencies.
Though it explains this for Improted Archives, it also holds true for Message Types to be used in message mappings.
Re: Payload Extraction
Regards
Bhavesh -
Message-Mapping: Use same RFC lookup for different target fields
Hello,
I need to apply an RFC Lookup which delivers a boolean flag back (true or false). This RFC lookup should be used for different target fields.
Is there a way to execute the RFC lookup just once and then store the result in an internediate variable that I can use for all futher checks for different target fields?
If this is not possible and I have to apply the RFC lookup for all necessary target fields is it then executed for each target field ? This is exactly what I want to avoid in order not to slow down performance.
The input parameter (=source field value) would be the same.
Thank you for your advice!Exactly.
Here is a UDF example I have that you could adapt to your needs.
Set
public String setCounter(String a,String b,Container container){
/* Store values in global datacontainer
a: mapping value and return valueparameter
b: name for stored value parameter
GlobalContainer myGlobalContainer;
myGlobalContainer = container.getGlobalContainer();
myGlobalContainer.setParameter(b.toUpperCase(), a);
return a;
Get
public String getCounter(String a,Container container){
//write your code here
GlobalContainer gc = container.getGlobalContainer();
if (gc.getParameter(a) != null) {
return String.valueOf(gc.getParameter(a));
} else {
return "1"; -
Message Mapping using Left justified, right blank/space filled
Hi,
My Interface is outbound Interface.
Suppose source field named 'Filename' is mapped with Target field named 'Filename'.Condition is AS IS(Left justified, right blank/space filled).
How should i do this mapping?Hi Sanghamitra Duttagupta,
you can try this UDF below
public static String fieldJustified(String s)
try
final int fieldLength=20;
char filler=' ';
s=s.trim();
int l=s.length();
while(l<fieldLength)
s=s+filler;
l++;
catch(Exception e)
return s;
return s;
Please reset the value of the variable "fieldLength", in code above to the field length as per your need. The right side will be filled with extra spaces since value of "filler" variable is ' '. you can set this to any character of your choice so that total field length is equal to value of variable "fieldLength" (which is 20 here).
so if input is " hi"
output "hi "
regards
Anupam
Edited by: anupamsap on Aug 1, 2011 1:53 PM -
Using Right-justified and left zero-filled condition in message mapping of
Hi,
My Interface is outbound Interface.
Suppose source field named 'MobNumber' is mapped with Target field named 'MobileNumber'.Condition is AS IS(Right-justified and left zero-filled).
How should i do this mapping?
Thanks,
SanghamitraHi Sanghamitra,
Similar question ahs been answered earlier in this thread
Re: Message Mapping using Left justified, right blank/space filled
just replace the filler variable by zero in my post
One small request, if you think your questions are being answered correctly and properly, please kindly, if possible, close down the threads. This way forum members/users who later look up for solutions to similar problem, they know for sure that the problem was finally solved, with the solutions provided in the thread.
regards
Anupam
Edited by: anupamsap on Aug 3, 2011 11:27 AM -
Problems using very large XSD in Message Mapping - POSLog
Hi,
I am trying to build a message mapping based on an external definition (.xsd) downloaded from the ARTS webpage (Association for Retail Technology Standards). In PI (7.0) I am able to succesfully create an External Definition based on the downloaded XSD. The resulting external definition syntax checks ok and contains the message type POSLog.
Next I try to create a message mapping using the external definition as the source message type. This is where it all starts to wrong. When I select the external definition as the source message type PI seems unable to complete the task, I get an hour glass. No matter how long I leave it in this state, it never comes back.
I'm thinking because the xsd is so large PI is having problems trying to render the mapping. I am working over a VPN but cannot see any network traffic. Windows task manager shows that process javaws is taking up the majority of the processing. My laptop slows to a crawl until I kill the repository. Though my laptop only has 504Mb of RAM we have another with 1Gb which has the same problem.
Any ideas? The exact same xsd can be downloaded from...
http://www.nrf-arts.org/
ARTS Standards -> ARTS XML
All public shemas -> download
download the POSLog schema (which is free) not the documentation.
Any help appreciated.Thanks Patrick,
That did the trick and I like the idea of changing a local copy of the jnlp file. Finally had to run the task on a laptop with 2Gb of RAM with heap-size = 1536m and sap.theme = Tradeshow (not sure if this helps).
It is still very slow moving around the graphical mapping so I have placed an order for more RAM (upto 4Gb). I think Win32 can use upto 3.5 Gb so i'm hoping for a further improvement.
It is a ludicrously large xsd.
Thanks Again
Surbjeet -
PI 7.11: IDoc Message mapping
Hi there,
I'm currently working on a graphical message mapping using IDoc HRMD_A06 as source structure (HR master data transferred via PFAL).
In my result structure I have to fill a field CostCenter with the following logic:
If field KOSTL (cost center) is filled in node E1P0315, map this field to CostCenter in result structure, otherwise take KOSTL of node E1P0001.
The end date (ENDDA) has to be '99991231' in each case.
This is how the result structure looks like:
<e> [1...1]
<CostCenter> [1...1]
</e>
This is the simplified source structure:
<E1PLOGI SEGMENT="1">
<E1PITYP SEGMENT="1"> [0...n]
<E1P0001 SEGMENT="1"> [0...n]
<INFTY>0001</INFTY> [0...1]
<ENDDA>99991231</ENDDA> [0...1]
<KOSTL>0000012345</KOSTL> [0...1]
</E1P0001>
</E1PITYP>
<E1PITYP SEGMENT="1"> [0...n]
<E1P0315 SEGMENT="1"> [0...n]
<INFTY>0315</INFTY> [0...1]
<ENDDA>99991231</ENDDA> [0...1]
<KOSTL>0000024001</KOSTL> [0...1]
</E1P0315>
</E1PITYP>
</E1PLOGI>
How can I do the check if field KOSTL of node E1P0315 is null?
I've tried an existence check for the whole node (E1P0315->exists), but then it fails, because all E1PITYP nodes are processed.
I hope my problem is clear to you.
Would it be better to use another mapping type?
As I'm an ABAP developer, I would of course prefer some lines of code to this graphical drag&drop thing.
Thanks in advance!Cheers, guys!
I did it now like that:
http://www.abload.de/image.php?img=mappingflknz.jpg
Click on the image to enlarge it!
The logic is as following (ABAP Pseudo-code ):
IF 0315_KOSTL and 0315_ENDDA are populated.
IF 0315_ENDDA equals '99991231'.
map 0315_KOSTL to Cost_Center.
ENDIF.
ELSE.
IF 0001_KOSTL and 0001_ENDDA are populated.
IF 0001_ENDDA equals '99991231'.
map 0001_KOSTL to Cost_Center.
ENDIF.
ENDIF.
ENDIF.
Is that a good way to do that mapping?
Do I also have to use the removeContexts function or is it ok like that?
Could I also do that with an ABAP mapping program?
Thanks in advance! -
Can I find out the full filename of input file in message mapping?
I have in XI 2.0 the following scenario :
In the inbound fileadapter I read my input file. The filename of the input file is part fixed, part variable (Like INDATA01.txt, INDATA03.txt, etc).
So in my Adapterconfiguration, I specify the filename with a wildcard (INDATA*.txt).
What I now want to do, is in my Message Mapping use the full filename , so I can do something different for every filenumber. Is there a way where I can get the full filename available in my message mapping (I did not find the filename in the XML in the message trace).You're backing up hundreds or thousands of files: There's the catalog (database) itself and also the media files.
In PSE10, when doing a backup, PSE displays the size of the backup before you begin the actual backup:
I assume PSE8 will have something similar.
Ken -
Accessing Element's name in Message mapping
Hi,
I need to Access the Element's name in Message mapping (Using graphical tool or in user defined function).
For Example:
Element: <Company_Name>XYZ Co </Company_Name>
I need to access the Element's name(i.e.)<b>"Company_Name"</b>. So that I can map it as
<Element>Company_Name</Element>
<Element_Value>XYZ Co </Element_Value>
in the target message.
Kindly provide your inputs.Hi Santhosh,
I am not sure if this can be done using your Graphical Mapping, but this is possible using JAVA mapping. Your SAX and DOM parsers for JAVA mapping provides methods like getChildNodes, getElementName using which you can get the name of the element.
Check this link for the methods available for Java Mapping,
http://java.sun.com/j2se/1.4.2/docs/api/javax/xml/parsers/package-summary.html
I think the same can also be done using XSL mapping. Though, I am not sure what method should be used for the same.
Hope this helps,
Regards,
Bhavesh -
MESSAGE MAPPING FROM SQL TO RFC(BAPI)
Hello Guys,
Im just new here in SAP XI version 7.0 . Can anyone teach me how to map objects using IR (design) between sender (data coming from sql 2005) and receiver (using Bapi_Salesorder_Createfromdat2)?
there are only specific fields i need to transfer the data like the followings :
do i need to map all fields from sender to receiver?tell me how..
*ORDER_HEADER_IN
-DOC_TYPE = ZTRV
-SALES_ORG =4000
-DISTR_CHAN =40
-DIVISION=41
-SALES_OFF=4101
-SALES_GRP=411
-PURCH_NO_C='TEST TPL1' (MUST BE UNIQUE)
-PMNTTRMS =Z015
-PURCH_DATE=09/04/2008
*ORDER_PARTNERS
-PARTN_ROLE= AG
-PARTN_NUMB=1100074
Thanks in advance
aVaDuDzHi,
Create :
1. Source & Target Data Types
2. Messge Type (for source & target data types)
3. Two Message Interface for using above message types
4. One Message mapping using source & target message Type
5. One Interface mapping.
In message mapping just map those field which you require. You can leave rest of the fileds un mapped at source which are not required to map.
Regards,
Sarvesh -
Function Module Undefined during message mapping.
Hi,
My Scenario is Idoc to Multiple Files without any condition i have to drop 2 files at the 2 differient directories of FTP,
So we are using PI 7.1 and in the Message Mapping using Signature Tab we have added 2 Target messages and at the source we have used the IDOC.
When we see the structure under Definition Tab in Message Mapping, We are facing the below error
"FUNCTION MODEL UNDEFINED"
So can anyone suggest what could be the problem, do i need to change any occurence in the signature tab for the message types else what shuld i do to get the structures in the Definiton Tab.
Please suggest how to approach this..
Thanks,
--KishoreMy Scenario is Idoc to Multiple Files without any condition i have to drop 2 files at the 2 differient directories of FTP,
1. Use multi mapping - /people/jin.shin/blog/2006/02/07/multi-mapping-without-bpm--yes-it146s-possible
2. use two different inbound interfaces, and do two different interface determination without conditions for the same receiver determination -
Unable to select IS from the drop down list in message mapping
Hi,
i know that we can monitor 'Integration server' in message monitoring rather than choosing integration engine or adapter engine.
But in our existing land scapes i am unable to select IS from the drop down list in message mapping.
using PI 7.1 SP 08.
please let me know that we need to set up additional configurations settings to select IS form drop down list.
Regards,
Pradeep A.Hi Pradeep,
please let me know that we need to set up additional configurations settings to select IS form drop down list.
There are no extra settings that needs to be done for this. I don't know whether you have noticed this, but IS option will only come up when you want to monitor the messages from the "Database" and not from the "Database overview" or "Archive".
Regards,
Neetesh -
Message Mapping from flat XML to a Record structure
Hi All,
We have a scenario in which the input message is a PDF document. we are following below the blog to convert PDF to XML format which uses <b>PDF box utitlity</b>.
/people/sap.user72/blog/2005/07/31/xi-read-data-from-pdf-file-in-sender-adapter
We are able to convert the PDF doc to a flat XML file.
Now we have the following queries...
what are the different ways to map the flat XML to our record structure?
Do we have any utitlity in PDF box to do that?
Regards,
Rakesh.Hi Rakesh,
You have Graphical mapping, Java mapping, ABAP mapping and XSLT mapping. The choice depends on the scenario and what target result you require.
<b>Message mapping using graphical mapping editor:</b>
http://help.sap.com/saphelp_nw04/helpdata/en/49/1ebc6111ea2f45a9946c702b685299/frameset.htm
<b>XSLT mapping:</b>
http://help.sap.com/saphelp_nw04/helpdata/en/73/f61eea1741453eb8f794e150067930/frameset.htm
<b>Java Mapping:</b>
http://help.sap.com/saphelp_nw04/helpdata/en/e2/e13fcd80fe47768df001a558ed10b6/frameset.htm
<b>ABAP mapping:</b>
http://help.sap.com/saphelp_nw04/helpdata/en/ba/e18b1a0fc14f1faf884ae50cece51b/frameset.htm
As said earlier, graphical mapping is the simplest and quite a few built in options are available with it, explore it and see which is suitable for your scenario.
Regards,
Chandra -
SOAP lookups from withing message mapping
Hi
We are doing a call to a webservice from within a udf in a message mapping using the SOAP API described in one of the blogs in SDN. We are using a soap receiver communication channel to make this webservice call -
We see activity on the communication channel monitoring - indicating that there is a call going out and a response coming back from the webservice. But there are no details shown on the payload in communication channel monitoring. We do not see this webservice lookup as a message on the adapter engine either ?
Is there any place from within XI runtime environment we can get a hold of the message going out to webservice call and the return from webservice ? We are facing problems in the webservice not doing the required action desired and hence this question on visibility of the call to the webservice.
Thanks in advance for your time.My udf is basically makes a call to the webserservice lookup method ( line - CallCentralMonitoring.LogToCentralMonitoring( "IN130.10", "COMPLETED"); ) - the definition of CallCentralMonitoring class is given below after the udf
UDF
String adapter = "RECEIVE_FusionDBLookUpRequest";
Channel channel = null;
boolean retry = false;
int noOfRetries = 0;
String sqlQuery = new String("");
DataBaseAccessor accessor = null;
DataBaseResult resultSet = null;
String parameterValue = new String("");
MappingTrace trace = container.getTrace();
// Build the Query String
//sqlQuery = "select * from CTL_BusinessRules with (nolock) where parameter_key = '" + parameterKey + "'";
sqlQuery = "exec uspCTL_GetBusinessRule '" + parameterKey + "'";
do
try
//trace.addInfo( "SQL query is: " + sqlQuery);
// Determine a channel, as created in the Configuration
channel = LookupService.getChannel(businessService,adapter);
// Get a system accessor for the channel. As the call is being made to a DB, a DatabaseAccessor is obtained.
accessor = LookupService.getDataBaseAccessor(channel);
//trace.addInfo( "Successfully obtained the system accessor..." );
// Execute Query and get the values in resultset
resultSet = accessor.execute(sqlQuery);
Iterator rows = resultSet.getRows();
//trace.addInfo( "Executed query successfully..." );
while( rows.hasNext() )
Map rowMap = (Map)rows.next();
parameterValue = rowMap.get("CHARACTER_VALUE").toString();
//trace.addInfo( "Parameter Value is: " + parameterValue );
retry = false;
CallCentralMonitoring.LogToCentralMonitoring( "IN130.10", "COMPLETED");
return parameterValue;
catch( Exception ex )
//trace.addInfo( ex.toString() );
if ( noOfRetries < 3 )
retry = true;
noOfRetries++;
else
retry = false;
CallCentralMonitoring.LogToCentralMonitoring( "SD152.01", "Error");
ExceptionThrower.fire( "Database connectivity error: " + ex.toString() );
finally
try
if ( accessor != null ) accessor.close();
catch( Exception e )
ExceptionThrower.fire("Error closing accesor: " + e.getMessage() );
//return e.getMessage();
} while( retry );
return null;
Class CallCentralMonitoring
package com.xxxxx.xi.mapping.udf;
import java.io.ByteArrayInputStream;
import java.io.InputStream;
import com.sap.aii.mapping.lookup.Channel;
import com.sap.aii.mapping.lookup.LookupException;
import com.sap.aii.mapping.lookup.LookupService;
import com.sap.aii.mapping.lookup.Payload;
import com.sap.aii.mapping.lookup.SystemAccessor;
import com.sap.aii.mapping.lookup.XmlPayload;
public class CallCentralMonitoring {
public static void LogToCentralMonitoring (String MON_EISLDCTLID, String MON_MsgStatus) {
String soapXML = new String("");
/* Pass the Business System and Communication Channel as input to the getChannel().
/* BS_SOAPLOOKUP Business System*CC_Webservice_SOAP_CURRENCY_CONVERTOR Receiver SOAP Adapter */
Channel channel = null;
try {
channel = LookupService.getChannel( "EI_CentralMonitoringServives", "Receive_SOAP_TrackingServiceWS" );
} catch (LookupException e) {
// TODO Auto-generated catch block
e.printStackTrace();
SystemAccessor accessor = null;
try {
accessor = LookupService.getSystemAccessor(channel);
} catch (LookupException e) {
// TODO Auto-generated catch block
e.printStackTrace();
/* Construct the SOAP Request Message using the InputParameters */
soapXML = "<LogToCentralMonitoring xmlns=\"http://xxxxx.EI.CentralMonitoring\"> <loggingData> <MON_EISLDCTLID>"
+ MON_EISLDCTLID
+ "</MON_EISLDCTLID><MON_ProgramID>"
+ MON_EISLDCTLID
+ "</MON_ProgramID><MON_ProcessID>"
+ MON_EISLDCTLID
+ "</MON_ProcessID><MON_ClientAlert>"
+ "N"
+ "</MON_ClientAlert><MON_MsgStartTimeStamp>"
+ "03/30/2007 10:00:00"
+ "</MON_MsgStartTimeStamp><MON_MsgEndTimeStamp>"
+ "03/30/2007 10:00:01"
+ "</MON_MsgEndTimeStamp><MON_MsgStatus>"
+ MON_MsgStatus
+ "</MON_MsgStatus><MON_MsgStatusDescription>"
+ MON_MsgStatus
+ "</MON_MsgStatusDescription> </loggingData> </LogToCentralMonitoring>";
InputStream inputStream = new ByteArrayInputStream(soapXML.getBytes());
XmlPayload payload = LookupService.getXmlPayload(inputStream);
Payload soapOutPayload = null;
/The SOAP call is made here and the response obtained is in the soapOutPayload./
try {
soapOutPayload = accessor.call(payload);
} catch (LookupException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}//end LogToCentralMonitoring
}//end class -
Parameterized Message Mapping (RFCLookup) test in ESB message behaviour
Hi Gurus,
I am using parameterized message mapping using RFCLookup function
In the TEST tab of the mapping, I've provided my test xml instance message and inputted the Message Mapping Parameter (MMP) value with the RFC Receiver Communication Channel I am using,
looking at the Trace level in the editor, the source field value was put to the RFC as the import parameter, but the mapping fails with error that the RFC returned my defined exception (no POnumber available for MaterialNumber) --> which is not the expected result because in the ERP backend there is an existing PO for the material. I tested the RFC in the backend ERP itself and it is performing ok, with a PO number returned for the material (testing in SE37)
I checked on the Comm Channel and my message is being passed to the RFC adapter, but up to this point only:
RfcAdapter received a synchronous message. Trying to send sRFC for Z_RFC_NAME.
RfcAdapter received a synchronous message. Trying to send sRFC for PIREPUSER.
I have created the Binding for the Operation Mapping.
Would any of you have an idea on what is missing or what is wrong?
P.S. my RFC has a defined exception in it, but currently I am not using it in the RFCLookup mapping (unchecked "Use Exception" checkbox)Hi All,
Solved the issue by passing the complete length of input parameter as defined in my RFC, e.g. input param in RFC is TYPE to a 12 char field, and the input parameter value being passed by the IDoc is only 6 chars.
In this case i used formatNumber function to put leading zeroes to complete the input parameter length
sourceField -->formatNumber --> RFCLookup --> targetField
Weird behaviour though is that even if my message is successfully received in the receiving system, the RFC CommChannel that my RFCLookup is using is still only showing this:
2010-12-01 23:14:32 Information RfcAdapter received a synchronous message. Trying to send sRFC for Z_FM_NAME.
2010-12-01 23:14:32 Information RfcAdapter received a synchronous message. Trying to send sRFC for J2EE_GUEST.
Why isn't the whole request response of the RFC captured by the RFC adapter? (e.g. MDT has status DLVG, DLV...)
Maybe you are looking for
-
I recently added icloud to my PC (windows 8). Anything new syncs to my PC but my existing contacts, photos, calendar do not sync.
-
Display turns "dark" after 1 minute
Hi, first of all forgive my english I have a an unpleasent problem with my display, it turns dark after 1 minute of no using it. I have a Satellite, Windows 8, and Toshiba Eco utility. I have tried to change the time when the display turns dark or w
-
How to stop automatic scrolling (vertical or horizontal) found on web pages.
I'm not talking about the auto-scroll feature of firefox. Many web pages now have horizontal or vertical sections which auto-scroll, it might be "breaking news" or stock prices... Most people are not bothered but I'm Attention Deficit (ADD) and they
-
New SAVE AS Dialog Box "Feature"
What's up with the new feature that changes the name of the file you're saving... or exporting... to the name of the file you click on in the Save or Export dialog box? It's a terrible feature that causes more problems. One mis-click and you're savin
-
Lumia 925 cc3065 not available in saudi arabia
i recently got the lumia 925 and its ana amzing phone. However i have not been able to find any covers or cases for it in ksa. Even the official cc3065 is not available. Will it be available soon or are there any alternatives?