RFC Lookup in UDF

hi gurus,
i'm  facing  a weird problem, i have implmented three scenarios IDOC  - > FILE, inside each mapping i created an UDF
that call an RFC function that brings me an accounting value, the rfc call another FM : LAST_DAY_IN_PERIOD_GET.
of course i give the UDF some parameters the BS, the name of CC.
my probleme is in quality environment, randomly in some of those three scenarios,  the rfc brings me a null value.
and i dont why and how to solve this issue.
thanx in advance for your help.

this the error
Errorcom.sap.aii.mapping.lookup.LookupException: Problem when calling an adapter by using communication channel CC_RFC_FM_Out_3 (Party: , Service: BS_FP_QR0_210, Object ID: b790616ffd613ba9ad31f8ac8a610754) XI AF API call failed. Module exception: 'error while processing the request to rfc-client: com.sap.aii.af.rfc.afcommunication.RfcAFWException: RfcAdapter: receiver channel has static errors: can not instantiate RfcPool caused by: com.sap.aii.af.rfc.RfcAdapterException: error initializing RfcClientPool:com.sap.aii.af.rfc.core.repository.RfcRepositoryException: can not connect to destination system due to: com.sap.mw.jco.JCO$Exception: (102) RFC_ERROR_COMMUNICATION: Connect to SAP gateway failed Connect_PM TYPE=A ASHOST=retail-qua SYSNR=70 GWHOST=retail-qua GWSERV=sapgw70 PCS=1 LOCATION CPIC (TCP/IP) on local host with Unicode ERROR partner '10.255.2.23:sapgw70' not reached TIME Tue Sep 21 05:46:16 201 RELEASE 700 COMPONENT NI (network interface) VERSION 38 RC -10 MODULE nixxi.cpp LINE 2513 DETAIL NiPConnect SYSTEM CALL connect ERRNO 79 ERRNO TEXT A remote host refused an attempted connect operation. COUNTER 6 '. Cause Exception: 'RfcAdapter: receiver channel has static errors: can not instantiate RfcPool caused by: com.sap.aii.af.rfc.RfcAdapterException: error initializing RfcClientPool:com.sap.aii.af.rfc.core.repository.RfcRepositoryException: can not connect to destination system due to: com.sap.mw.jco.JCO$Exception: (102) RFC_ERROR_COMMUNICATION: Connect to SAP gateway failed Connect_PM TYPE=A ASHOST=retail-qua SYSNR=70 GWHOST=retail-qua GWSERV=sapgw70 PCS=1 LOCATION CPIC (TCP/IP) on local host with Unicode ERROR partner '10.255.2.23:sapgw70' not reached TIME Tue Sep 21 05:46:16 201 RELEASE 700 COMPONENT NI (network interface) VERSION 38 RC -10 MODULE nixxi.cpp LINE 2513 DETAIL NiPConnect SYSTEM CALL connect ERRNO 79 ERRNO TEXT A remote host refused an attempted connect operation. COUNTER 6 '.

Similar Messages

  • Cannot resovle the Symbol error in UDF - Java mapping - RFC Lookup ?

    Hi Friends ,
    We are working on Java mapping  -  UDF for RFC Lookup . It is giving the Cannot resolve Symbol for all imported archive java class files even if we give again all imported files in import section of UDF we are still getting the same cannot resolve error  .
    We are using SP 12 of XI 3.0 . What could be the reason ?
    Thanks.,
    V.Rangarajan

    Hi,
    Can you try to open imported archive in IR and check if the path(folder structure like com.abc.xyz.etc) for classes is same as in import statement in UDF.Since we had experienced the same problem.
    Thanks.
    Regards,
    Shweta

  • Issue with Jar files in UDF for RFC LookUp

    Hi,
    I am writing a UDF for RFC LookUp.
    In the import statement of UDF, I used the JAR File : com.sap.aii.mapping.lookup.*;
    The code inside the UDF uses LookupService.getChannel.
    When I test the UDF, It shows an error ( ^ ) at LookupService.getChannel.
    Could you please help me in understanding why Am I getting this error at all?
    Thanks In Advance.
    Rohan

    Hi,
    I have used 'com.sap.aii.mapping.lookup.LookupService', and I got the following message error:
    G:/usr/sap/XD1/DVEBMGS00/j2ee/cluster/server0/./temp/classpath_resolver/Map1c5a7dc23dcf11dda79f001e4f342f87/source/com/sap/xi/tf/_MM_MT_PlannedOrder_to_ZLOIPLO_.java:3: package aii_map_api does not exist import com.sap.aii.mappingtool.tf3.;import com.sap.aii.mappingtool.tf3.rt.;import java.util.;import java.io.; import java.lang.reflect.;import aii_map_api.jar;import com.sap.aii.mapping.lookup.LookupService;*
    ^
    Also in the above message there are 3 packages that I have not used at all and still I see them in the message.
    Any reason?
    Rohan.

  • RFC lookup error

    Hi all,
    I am doing an RFC lookup to increment counter. I am facing a problem.
    I followed the code written by Michael. https://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/a03e7b02-eea4-2910-089f-8214c6d1b439
    My udf is as shown below: -
    String content = "";
    MappingTrace importanttrace;
    importanttrace = container.getTrace();
    java.util.Map param = container.getTransformationParameters();
    String MSGID = (String) param.get (StreamTransformationConstants.MESSAGE_ID);
    // filling the string with our RFC-XML (with values)
    String m="<?xml version="1.0" encoding="UTF-8"?><ns0:_-GLB_-ZGT_RFBIBL00_COUNTER xmlns:ns0="urn:sap-com:document:sap:rfc:functions"><IM_V_FILENAME>CA10.NCH.FCIPAY04</IM_V_FILENAME><IM_V_MSGID>"MSGID"</IM_V_MSGID><IM_V_WRNO>DEVWR0001725</IM_V_WRNO></ns0:_-GLB_-ZGT_RFBIBL00_COUNTER>";
    importanttrace.addWarning("Input value is  "+m);
    RfcAccessor accessor = null;
    ByteArrayOutputStream out = null;
    try
    // 1. Determine a channel (Business system, Communication channel)
    Channel channel = LookupService.getChannel(receiverBS,"CC_RFC_RCV_AMS_R3F_DEVWR001725");
    // 2. Get a RFC accessor for a channel.
    accessor = LookupService.getRfcAccessor(channel);
    // 3. Create a xml input stream representing the function module request message.
    InputStream inputStream = new ByteArrayInputStream(m.getBytes());
    // 4. Create xml payload
    XmlPayload payload = LookupService.getXmlPayload(inputStream);
    // 5. Execute lookup.
    Payload result = accessor.call(payload);
    InputStream in = result.getContent();
    out = new ByteArrayOutputStream(1024);
    byte[] buffer = new byte[1024];
    for (int read = in.read(buffer); read > 0; read = in.read(buffer)) {
    out.write(buffer, 0, read);
    content = out.toString();
    catch(LookupException e)
    importanttrace.addWarning("Error while lookup " + e.getMessage() );
    catch(IOException e)
    importanttrace.addWarning("Error " + e.getMessage() );
    finally
    if (out!=null) {
    try {
    out.close();
    } catch (IOException e) {
    importanttrace.addWarning("Error while closing stream " + e.getMessage() );
    // 7. close the accessor in order to free resources.
    if (accessor!=null) {
    try {
    accessor.close();
    } catch (LookupException e) {
    importanttrace.addWarning("Error while closing accessor " + e.getMessage() );
    //returning the result u2013 RFC-XML.response
    if ((content.substring(143,150)).equals("NOENTRY"))
    ExceptionThrower.generate("INVALID INPUT DEVWR NUMBER OR ID" );
    return "Nothing";
    else
    return (content.substring(143,155));
    The problem i am facing is that, i am not able to pass the IM_V_MSGID parameter to the function module.
    The other 2 parameters i can pass. that is IM_V_FILENAME and IM_V_WRNO.
    i am able to extract the message ID using
    java.util.Map param = container.getTransformationParameters();
    String MSGID = (String) param.get (StreamTransformationConstants.MESSAGE_ID);
    and displayed it in SXI_MONITOR trace also using importanttrace.addWarning("Input value is  "+m);
    i got the correct MSGID in the trace.But the problem is that this value is not getting passed to the FM. Cos the table is supposed to increment the counter whenever the MSGID value changes.
    I tried hardcoding the MSGID value to 'abc' or '123' like values but the same thing happended. The counter will not increment. The FM is working perfectly when i run it and change the MSGID values manually.
    Thanks
    Pratichi

    Hi,
    We have done this by creating an FM in XI ABAP stack:
    FUNCTION Z_ZBXI_GET_PRE_MSG_ID.
    ""Local Interface:
    *"  IMPORTING
    *"     VALUE(I_CURRMSGID) TYPE  CHAR40
    *"  EXPORTING
    *"     VALUE(E_PREMSGID) TYPE  CHAR40
    DATA: lv_currmsgid type SXMSPMAST-MSGGUID,
          lv_parentmsgid LIKE SXMSPMAST-PARENTMSG,
          lv_premsgid LIKE SXMSPMAST-MSGGUID.
    lv_currmsgid = i_currmsgid.
    select single PARENTMSG from SXMSPMAST into lv_parentmsgid where MSGGUID = lv_currmsgid.
    e_premsgid = lv_parentmsgid.
    ENDFUNCTION.
    You need to call this FM through RFC lookup UDF in your mapping.
    Let me know if it works for you.
    Regards,
    Shweta

  • Problem in RFC Lookup

    Hi,
    I am performing RFC lookup using Communication Channel.
    I have used a function called "Z_MATERIAL_DETAILS".
    Input to this function is "MATERIALID" and Output of the function is "MATNR".
    I am using the following code in my UDF for performing lookup::
    //write your code here
    final String CHANNEL_NAME = "CC_RFC_LookUp",
                   VALNOTFOUND = "VALUE_NOT_FOUND",
                   SAPRFCNS = "urn:sap-com:document:sap:rfc:functions",
                   TAG_FM = "Z_MATERIAL_DETAILS",
    //               TAG_QTB = "QUERY_TABLE",
                   TAG_QFL = "UOMCODE"; //UOMCODE
              DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
              DocumentBuilder builder = null;
              factory.setNamespaceAware(false);
              factory.setValidating(false);
              try {
                   builder = factory.newDocumentBuilder();
              } catch (Exception e) {
              //     trace.addWarning("Error creating DocumentBuilder - " + e.getMessage());
                   result.addValue(e.toString());
              Document docReq = null;
              try {
                   // Building up RFC Request Document
                   docReq = builder.newDocument();
                   Node root = docReq.appendChild(docReq.createElementNS(SAPRFCNS, TAG_FM));
                   root.appendChild(docReq.createElement(TAG_QFL)).appendChild(docReq.createTextNode(resultFieldName[0]));
              } catch (Exception e) {
              //     trace.addWarning("Error while building RFC Request  - " + e);
                   result.addValue(e.toString());
         //     trace.addInfo("RFC Request XML: " + docReq.toString());
              // Lookup
              Payload result1 = null;
              try {
                   Channel channel = LookupService.getChannel("EC1CLNT800", "CC_RFC_LookUp");
                   RfcAccessor accessor = LookupService.getRfcAccessor(channel);
                   InputStream is = new ByteArrayInputStream(docReq.toString().getBytes());
                   XmlPayload payload = LookupService.getXmlPayload(is);
                   result1 = accessor.call(payload);
              } catch (LookupException e) {
              //     trace.addWarning("Error during lookup - " + e);
                   result.addValue(e.toString());
              // Parsing RFC Response Document
              Document docRsp = null;
              try {
                   docRsp = builder.parse(result1.getContent());
              } catch (Exception e) {
              //     trace.addWarning("Error when parsing RFC Response - " + e.getMessage());
                   result.addValue(e.toString());
              //trace.addInfo("RFC Response XML: " + docRsp.toString());
              String res = "";
              try {
                   res = docRsp.getElementsByTagName("UOMTEXT").item(0).getFirstChild().getNodeValue();
              } catch (Exception e) {
              //     trace.addWarning("Result value not found in DOM - " + e.getMessage());
                   result.addValue(e.toString()+VALNOTFOUND);
              result.addValue(res);
    Code in Z_MATERIAL_DETAILS ::
    ""Local Interface:
    *"  IMPORTING
    *"     VALUE(UOMCODE) LIKE  MARA-MFRPN OPTIONAL
    *"  EXPORTING
    *"     VALUE(UOMTEXT) LIKE  MARA-MATNR
    *"  EXCEPTIONS
    *"      val_not_found
    <b>select single matnr from mara into uomtext where mfrpn = uomcode.</b>
    if sy-subrc <> 0.
    raise val_not_found.
    endif.
    ENDFUNCTION.
    <b>When i send three material ids the function module will access the R/3 system thrice which will give rise to PERFORMANCE ISSUE.
    So,is there any way to send all the materialids at one time to Function module and similarly receive all the MATNR from Function at once,so that we need to access R/3 system only once.</b>

    HI,
    Check this link for passing table parameter in JCO call.
    http://www.sapdevelopment.co.uk/java/jco/jco_callfunc.htm
    Following is the code for retrieving table parameter in JCO call to function BAPI_PO_CREATE.
    JCO.Table return_tab = function.getTablesParameterList().getTable("RETURN");
    if (return_tab.getNumRows()) > 0 {
    // Output the error messages
      return_tab.firstRow();
      do {
        System.out.println(return_tab.getString("MESSAGE");
      while (return_tab.nextRow());
    } else {
      String PO_NUM = function.getExportParametersList().getString("PURCHASEORDER");
      System.out.println("Purchase order " + PO_NUM + " created");
    Thanks and Regards,
    Sandeep Maurya.

  • PI 7.1 EHP1 RFC Lookup- Issue

    Friends,
    I'm seeing one strange issue in RFC Lookup behavior in my PI 7.1 EHP1 . Please give me some ideas for the same
    Please see the below image for what I have done and what I'm seeing in the display queue.
    http://www.flickr.com/photos/8764045@N06/4642237515/sizes/o/
    To make it more simple - When I click on the Display queue on RFC lookup, I can see some 20 values with context changed. I removed my context and passed it to the UDF. When I check the input length in the UDF it's always giving 1, even though the display queue gives me 20 values.
    Any ideas?
    -Raj.

    Stefan/Sarvesh,
    Thanks for your replies . Please see the below snapshots for complete picture.
    UDF code & Properties -http://www.flickr.com/photos/8764045@N06/4643880555/sizes/o/
    RFC Lookup Properties -http://www.flickr.com/photos/8764045@N06/4643880541/sizes/o/
    Display Queues on UDF and RFC Lookup -http://www.flickr.com/photos/8764045@N06/4643883271/sizes/o/
    I truly appreciate all your help on this.
    -Raj.

  • Exception in RFC Lookup

    Hi Experts,
    I have a query in Graphical RFC Lookup function.
    I am working on Pi 7.1 and scenario is File to Idoc.
    In the file, material number is coming, and I have to find out the corresponding Customer number from ECC table using RFC Lookup.
    I know how to use RFC lookup.
    But here issue is, if Customer Number is not maintained in the ECC table for the incoming material number, then exception should be thrown and processing should be stopped at that moment.
    Please tell me how to throw this exception and hence fail the mapping.
    -Supriya.

    Hi ,
    I guess you want to fail the message transformation at Message mapping level with Red Error in Monitoring , If LOOKUP return Nothing ...
    What You can Do Is , Instead of RFC LOOKUP Function , Use UDF Based RFC LOOKUP , and Inside UDF you can easily raise exception.
    Or
    In Grapphical Message mapping pass the result from RFCLOOKUP To a 1..1 Target , if during transfermation if 1..1 node will not get any value , so mapping will get failed automatoicaly ..
    hope the idea Helps
    regards
    PS

  • 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";

  • SALERT_CREATE RFC in PI Mapping (RFC LookUps) to triggering Alerts:

    Hi
    I got a questions on using SALERT_CREATE RFC in PI Mapping (RFC LookUps) to triggering Alerts:
    1) Should I import RFC (SAP PI server) into SAP PI ESB?
    2) Should I maintain the details of SAP PI in the RFC receiver channel ?
    3) Can I use this RFC for RFC Lookups  like any other RFC (ECC)?
    I really appreciate for your help on this
    Thanks
    Vasu

    >>Should I import RFC (SAP PI server) into SAP PI ESB?
    No, this is not required, in your UDF, you just need to build the same structure as the RFC expects so to make it easier, you can import the RFC and see how its structure looks like but the real RFC is not used in RFC Lookup.
    >>Should I maintain the details of SAP PI in the RFC receiver channel ?
    In general,you need to maintain the details of the SAP system where the RFC is stored, it could be PI/ECC or any other system.
    Since you specify Alert information in this RFC lookup, the details will be of PI system.
    >>Can I use this RFC for RFC Lookups like any other RFC (ECC)?
    This RFC is used only to build the structure in UDF, it is not used in anything else.
    Note: Since you have mentioned writing UDF, i am assuming you are using PI 7.0. If you are on PI 7.1, you don't need to write UDF for it. There is  already a standard function for RFC Lookup.
    Thanks
    Aamir

  • Multiple Fields in RFC call in UDF

    In my Message Mapping I am calling a RFC using a UDF, this works fine but only for 1 field. Like in my BAPI I have 1 Field in the Input parameters. Does anyone know how to import more than 1 parameter? Here is some sample code from my UDF:
    Calling the RFC, I specify this: <?xml version=\"1.0\" encoding=\"UTF-8\"?><p2:ZTEST xmlns:p2=\"urn:sap-com:document:sap:rfc:functions\"><INPUT_VALUE>4500014790</INPUT_VALUE></p2:ZTEST>
    Where ZTEST is my BAPI name and INPUT_Value is my import parameter. My question is how would I specify more than 1 import parameter in my xml string? I tried <INPUT_VALUE1>4500014790</INPUT_VALUE1><INPUT_VALUE2>33</INPUT_VALUE3> but then it does not return anything..
    String content = "";
    MappingTrace importanttrace;
    importanttrace = container.getTrace();
    // filling the string with our RFC-XML (with values)
    String m = "<?xml version=\"1.0\" encoding=\"UTF-8\"?><p2:ZTEST xmlns:p2=\"urn:sap-com:document:sap:rfc:functions\"><INPUT_VALUE>4500014790</INPUT_VALUE></p2:ZTEST>";
    RfcAccessor accessor = null;
    ByteArrayOutputStream out = null;
    try
    // 1. Determine a channel (Business system, Communication channel)
    Channel channel = LookupService.getChannel("ECDCLNT999","CC_ECD999_RFC");
    // 2. Get a RFC accessor for a channel.
    accessor = LookupService.getRfcAccessor(channel);
    // 3. Create a xml input stream representing the function module request message.
    InputStream inputStream = new ByteArrayInputStream(m.getBytes());
    // 4. Create xml payload
    XmlPayload payload = LookupService.getXmlPayload(inputStream);
    // 5. Execute lookup.
    Payload result = accessor.call(payload);
    InputStream in = result.getContent();
    out = new ByteArrayOutputStream(1024);
    byte[] buffer = new byte[1024];
    for (int read = in.read(buffer); read > 0; read = in.read(buffer)) {
    out.write(buffer, 0, read);
    content = out.toString();
    catch(LookupException e)
    importanttrace.addWarning("Error while lookup " + e.getMessage() );
    catch(IOException e)
    importanttrace.addWarning("Error " + e.getMessage() );
    finally
    if (out!=null) {
    try {
    out.close();
    } catch (IOException e) {
    importanttrace.addWarning("Error while closing stream " + e.getMessage() );
    // 7. close the accessor in order to free resources.
    if (accessor!=null) {
    try {
    accessor.close();
    } catch (LookupException e) {
    importanttrace.addWarning("Error while closing accessor " + e.getMessage() );
    //returning the result u2013 RFC-XML.response
    return content;

    Hi Jan de Lange  ,
    Can you send the UDF code for the above. Even I was having the same problem ie., sending multiple values in the input file.
    I want to send three PO numbers.
    String m = "<?xml version=\"1.0\" encoding=\"UTF-8\"?><p2:ZXI_GET_PO_DETAILS xmlns:p2=\"urn:sap-com:document:sap:rfc:functions\">
    <PO_NUM>4500000005</PO_NUM>
    <PO_NUM>4500000020</PO_NUM>
    <PO_NUM>4500000021</PO_NUM></p2:ZXI_GET_PO_DETAILS>";
    Best Regards
    Suresh

  • Mapping Exception Issue with RFC LookUp

    Hi,
    My scenario is Idoc To file, in my idoc user who created a purchase order filed is not there but in xml file i want the user who create that PO, for this i am using RFC LooUp. I want the user who created a purchase order.
    Graphical Mapping looks like below.
    Belnr-->User Defined Function--
    >UserName
    Please find the code bloew:
    String DBTABLE = "EKKO";
    String lookUpField = "ERNAM";
    String WHERE_CLAUSE = " EBELN "" = "" ' "a" ' " ;
    JCO.Repository mRepository;
    JCO.Client mConnection = JCO.createClient(
                   "500",
                    "RFCUSER",
                   "abc1234",
                   "EN",
                   "cxylo06",
                   "05");
    // connect to SAP
    mConnection.connect();
    // create repository
    mRepository = new JCO.Repository( "GenericRFCMappingLookup", mConnection );
    // create function template to select data from any table
    JCO.Function function = null;
    IFunctionTemplate ft = mRepository.getFunctionTemplate("RFC_READ_TABLE");
    function = ft.getFunction();
    // Obtain parameter list for function
    JCO.ParameterList input = function.getImportParameterList();
    // Pass function parameters
    // set import parameters table name and RFC
    input.setValue( DBTABLE, "QUERY_TABLE");
    input.setValue( "," , "DELIMITER");
    //Fill the where clause of the table
    JCO.ParameterList tabInput = function.getTableParameterList();
    JCO.Table inputTable = tabInput.getTable("OPTIONS");
    inputTable.appendRow();
    inputTable.setValue(WHERE_CLAUSE,"TEXT");
    mConnection.execute( function );
    //Find the position of the field that has to be lookedUp
    JCO.Table lookupFieldPos = function.getTableParameterList().getTable("FIELDS");
    int pos = -1;
    for (int i = 0; i < lookupFieldPos.getNumRows(); i++)
              lookupFieldPos.setRow(i);
              if (lookupFieldPos.getString("FIELDNAME").equals(lookUpField))
              pos = i;
    //Get the exact lookupvalue from the position obtained above
    JCO.Table valueSet = function.getTableParameterList().getTable("DATA");
    valueSet.setRow(0);
    String resultSet = valueSet.getString("WA");
    result.addValue(resultSet);
    mConnection.disconnect();
    I am not aware of java coding so kindly make necessary  modifications.
    Kindly suggest what changes i need to do to execute perfectly.
    Your help will be greatly apprecited.
    Regards,
    Venkat

    Hi Venkat,
         If you use the JCO connection to get the value from RFC, it would be a problem in futherly like when you move this interface DEV to Q, then you need to change the connection parameters to establish the JCO connection.Same in Production environment too.It is not advisable to do JCO lookup. Go for RFC lookup as the link given by Farooq.
    Create Reciever RFC communication channel and take the XML signature of u r RFC by importing that RFC under imported objects.Create an UDF, for this see the sample code which is exisitng in document to pass the Export parameter to RFC.
    In this way u r RFC channel establish the connection to R3 and your RFC will execute and return the value.U just need to change the Reciever RFC channel parameters respective of environment.
    Cheers
    Veera

  • RFC Lookup error after moving to Quality from Development

    Hi All,
    For a scenario,I am using the RFC Lookup in message mapping.
    I am not using it in a UDF but for directly for an target element....
    The scenario was wrkng properly in development... but in quality it's not wrkng giving the following error....
    RuntimeException during appliction Java mapping com/sap/xi/tf/_ABC_DEF_GHI_JKL_ Thrown: com.sap.aii.utilxi.misc.api.BaseRuntimeException: com.sap.aii.mapping.api.UndefinedParameterException: The input-parameter ISU_RFC_Receiver does not exist. at com.sap.aii.mappingtool.tf7.Transformer.start(Transformer.java:148) at com.sap.aii.mappingtool.tf7.AMappingProgram.transform(AMappingProgram.java:620) at
    The design part and Config part are done properly..
    1.Message mapping-->Parameters (given the CC Name)
    2.Operation mapping-->Binding (The binding parameters is specified)
    3.In the interface determination.... choosen the Parameter for Operation mapping...
    But still i am getting the above error..
    Did any1 face the same prblm ever??? If yes may i know how u resolved???
    Any inputs or suggestions is appreciated...
    Babu

    HI Michal,
    I checked it thtz fine the same objects are transported to Quality without any modification...
    But Still i am getting the same proble..
    Any other inputs????
    Babu
    Edited by: hlbabu123 on Apr 8, 2010 7:54 PM

  • RFC Lookup Error --- error executing simple look up

    Hi all,
    Below is the error when displaying the queue of the UDF.
    RuntimeException in Message-Mapping transformation: Exception:[java.lang.RuntimeException: Error during MEI RFC Lookup] in class com.sap.xi.tf._MM_COND_A03_TO_MT_PRICELIST_ method callRFC$[com.sap.aii.mappingtool.tf3.CBufIter@32523252, com.sap.aii.mappingtool.tf3.CBufIter@32c732c7, com.sap.aii.mappingtool.tf3.CBufIter@333c333c, com.sap.aii.mappingtool.tf3.CBufIter@33c133c1, com.sap.aii.mappingtool.tf3.CBufIter@4bb84bb8, com.sap.aii.mappingtool.tf3.CBufIter@50ef50ef, com.sap.aii.mappingtool.tf3.CBufIter@51645164, com.sap.aii.mappingtool.tf3.CBufIter@51d951d9]
    But when i test the mapping by passing input parameters the UDF responses with the output parameters and with the following error
    Request MEILookup XML: <?xml version="1.0" encoding="UTF-8"?><ns0:ZRFC_MEI_PUBLISH_PRICELIST xmlns:ns0="urn:sap-com:document:sap:rfc:functions"><T_PRICELIST><item><KBETR_IN>1580.00</KBETR_IN><KUNAG_IN>0010000048</KUNAG_IN><KUNWE_IN>0020002894</KUNWE_IN><KSCHL_IN>ZSBP</KSCHL_IN><MATNR_IN>12648R-0090</MATNR_IN></item></T_PRICELIST></ns0:ZRFC_MEI_PUBLISH_PRICELIST>
    Response MEI Lookup XML: <?xml version="1.0" encoding="UTF-8"?><rfc:ZRFC_MEI_PUBLISH_PRICELIST.Response xmlns:rfc="urn:sap-com:document:sap:rfc:functions"><T_ERR_MESSAGES_OUT></T_ERR_MESSAGES_OUT><T_PRICELIST><item><PARVW_OUT>BT</PARVW_OUT><KUNNR_OUT>0010000048</KUNNR_OUT><DATBI_OUT>2008-08-17</DATBI_OUT><DATAB_OUT>9999-12-31</DATAB_OUT><KBETR_OUT>1580.00</KBETR_OUT></item></T_PRICELIST></rfc:ZRFC_MEI_PUBLISH_PRICELIST.Response>
    getKey=item==getValue=<item><KOTABNR_IN>910</KOTABNR_IN><DATBI_IN>20080817</DATBI_IN><DATAB_IN>99991231</DATAB_IN><KBETR_IN>1580.00</KBETR_IN><KUNAG_IN>0010000048</KUNAG_IN><KUNWE_IN>0020002894</KUNWE_IN><KSCHL_IN>ZSBP</KSCHL_IN><PARVW_OUT>BT</PARVW_OUT><KUNNR_OUT>0010000048</KUNNR_OUT><MATNR_IN>12648R-0090</MATNR_IN><DATBI_OUT>2008-08-17</DATBI_OUT><DATAB_OUT>9999-12-31</DATAB_OUT><KBETR_OUT>1580.00</KBETR_OUT></item>
    Runtime exception during processing target field mapping /ns0:MT_PRICELIST. The message is: Exception:[java.lang.RuntimeException: Error during MEI RFC Lookup] in class com.sap.xi.tf._MM_COND_A03_TO_MT_PRICELIST_ method callRFC$[, , , , com.sap.aii.mappingtool.tf3.rt.FunctionWrapper@37883788, com.sap.aii.mappingtool.tf3.rt.FunctionWrapper@5ea95ea9, , ] com.sap.aii.mappingtool.tf3.MessageMappingException: Runtime exception during processing target field mapping /ns0:MT_PRICELIST. The message is: Exception:[java.lang.RuntimeException: Error during MEI RFC Lookup] in class com.sap.xi.tf._MM_COND_A03_TO_MT_PRICELIST_ method callRFC$[, , , , com.sap.aii.mappingtool.tf3.rt.FunctionWrapper@37883788, com.sap.aii.mappingtool.tf3.rt.FunctionWrapper@5ea95ea9, , ] at com.sap.aii.mappingtool.tf3.AMappingProgram.processNode(AMappingProgram.java:350)

    Hi Mahesh,
    I have tested the RFC and i have taken the input from the function module...the RFC is working good, the comm channel is good...
    below is the error when i tested my mapping... (the output from the function module is also correct)... i need to use hashmap to store the output...
    Request MEILookup XML:
    <?xml version="1.0" encoding="UTF-8"?>
    <ns0:ZRFC_MEI_PUBLISH_PRICELIST xmlns:ns0="urn:sap-com:document:sap:rfc:functions">
    <T_PRICELIST>
    <item>
    <KOTABNR_IN>910</KOTABNR_IN>
    <DATBI_IN>20080817</DATBI_IN>
    <DATAB_IN>99991231</DATAB_IN>
    <KBETR_IN>1580.00</KBETR_IN>
    <KUNAG_IN>0010000048</KUNAG_IN>
    <KUNWE_IN>0020002894</KUNWE_IN>
    <KSCHL_IN>ZSBP</KSCHL_IN>
    <MATNR_IN>12648R-0090</MATNR_IN>
    </item>
    </T_PRICELIST>
    </ns0:ZRFC_MEI_PUBLISH_PRICELIST>
    Response MEI Lookup XML: <?xml version="1.0" encoding="UTF-8"?>
    <rfc:ZRFC_MEI_PUBLISH_PRICELIST.Response xmlns:rfc="urn:sap-com:document:sap:rfc:functions">
    <T_ERR_MESSAGES_OUT></T_ERR_MESSAGES_OUT>
    <T_PRICELIST>
    <item>
    <KOTABNR_IN>910</KOTABNR_IN>
    <DATBI_IN>20080817</DATBI_IN>
    <DATAB_IN>99991231</DATAB_IN>
    <KBETR_IN>1580.00</KBETR_IN>
    <KUNAG_IN>0010000048</KUNAG_IN>
    <KUNWE_IN>0020002894</KUNWE_IN>
    <KSCHL_IN>ZSBP</KSCHL_IN>
    <PARVW_OUT>BT</PARVW_OUT>
    <KUNNR_OUT>0010000048</KUNNR_OUT>
    <MATNR_IN>12648R-0090</MATNR_IN>
    <DATBI_OUT>2008-08-17</DATBI_OUT>
    <DATAB_OUT>9999-12-31</DATAB_OUT>
    <KBETR_OUT>1580.00</KBETR_OUT>
    </item>
    </T_PRICELIST>
    </rfc:ZRFC_MEI_PUBLISH_PRICELIST.Response>
    getKey=item==getValue=<item><KOTABNR_IN>910</KOTABNR_IN><DATBI_IN>20080817</DATBI_IN><DATAB_IN>99991231</DATAB_IN><KBETR_IN>1580.00</KBETR_IN><KUNAG_IN>0010000048</KUNAG_IN><KUNWE_IN>0020002894</KUNWE_IN><KSCHL_IN>ZSBP</KSCHL_IN><PARVW_OUT>BT</PARVW_OUT><KUNNR_OUT>0010000048</KUNNR_OUT><MATNR_IN>12648R-0090</MATNR_IN><DATBI_OUT>2008-08-17</DATBI_OUT><DATAB_OUT>9999-12-31</DATAB_OUT><KBETR_OUT>1580.00</KBETR_OUT></item>
    Runtime exception during processing target field mapping /ns0:MT_PRICELIST/row. The message is: Exception:[java.lang.RuntimeException: Error during MEI RFC Lookup] in class com.sap.xi.tf._MM_COND_A03_TO_MT_PRICELIST_ method callRFC$[, , , , com.sap.aii.mappingtool.tf3.rt.FunctionWrapper@6d486d48, com.sap.aii.mappingtool.tf3.rt.FunctionWrapper@7bcf7bcf, , ]

  • RFC lookup - Error executing simple lookup

    Hi guys,
    Something weird is happening.
    I'm using a RFC lookup to get some parameters and I'm using the same generic UDF that I usually take on different projects.
    But this time I'm getting the following error:
    com.sap.aii.mappingtool.tf3.MessageMappingException: Runtime exception during processing target field mapping /ns0:Messages/ns0:Message1/MessageStatus/StatusInformation/Status. The message is: Exception:[java.lang.StringIndexOutOfBoundsException] in class com.sap.xi.tf._mmEOrdersRetailRequest_ method SAPRFCLookup$[RFC_Receiver_LookUp_SAP, MARA, MATNR EQ &apos;000000000000000123
    &apos; , VPSTA, TST002, com.sap.aii.mappingtool.tf3.rt.Context@1f231f23]
    Do you have any idea?
    I've commented my RFCLookup code and the error jumps up on the getRfcAccessor line.
              try {
    // 1. Determine a channel (Business system, Communication channel)
                com.sap.aii.mapping.lookup.Channel channel = com.sap.aii.mapping.lookup.LookupService.getChannel(BusinessService,CommChannel);
    // 2. Get a RFC accessor for a channel.
                accessor = com.sap.aii.mapping.lookup.LookupService.getRfcAccessor(channel);
    The channel is well created on the IDirectory, associated with the correct BusinessSystem. I can check on the CommunicationChannel Monitoring that the channel opens the JCO connection correctly..
    However if I change this RFCLookup by a JCOLookup everything works smoothly...
    I've done this thousand times but now I'm not able to get the problem...
    Can you guys help?

    Hi Sridevi,
    Sorry for the late reply but the problem continues...
    We're using Netweaver 7.0 SP 14, patch number 0026
    Thanks for your interest.
    The complete error description is:
    Runtime exception during processing target field mapping
    The message is: Exception:[java.lang.StringIndexOutOfBoundsException] in class com.sap.xi.tf._mmTest
    method SAPRFCLookup$[RFC_Receiver_LookUp_SAP, MARA, MATNR EQ &apos;000000000000000123&apos;, VPSTA, TST002, com.sap.aii.mappingtool.tf3.rt.Context@5ef05ef0] com.sap.aii.mappingtool.tf3.MessageMappingException: Runtime exception during processing target field mapping /ns0:Messages/ns0:Message1/MessageStatus/StatusInformation/Status. The message is: Exception:[java.lang.StringIndexOutOfBoundsException] in class com.sap.xi.tf._mmTest method SAPRFCLookup$[RFC_Receiver_LookUp_SAP, MARA, MATNR EQ &apos;000000000000000123&apos;, VPSTA, TST002, com.sap.aii.mappingtool.tf3.rt.Context@5ef05ef0] at com.sap.aii.mappingtool.tf3.AMappingProgram.processNode(AMappingProgram.java:364) at com.sap.aii.mappingtool.tf3.AMappingProgram.processNode(AMappingProgram.java:326) at com.sap.aii.mappingtool.tf3.AMappingProgram.processNode(AMappingProgram.java:326) at com.sap.aii.mappingtool.tf3.AMappingProgram.processNode(AMappingProgram.java:326) at com.sap.aii.mappingtool.tf3.AMappingProgram.processNode(AMappingProgram.java:326) at com.sap.aii.mappingtool.tf3.AMappingProgram.start(AMappingProgram.java:415) at com.sap.aii.mappingtool.tf3.Transformer.start(Transformer.java:142) at com.sap.aii.mappingtool.tf3.AMappingProgram.execute(AMappingProgram.java:118) 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_0.execute(MapServiceRemoteObjectImpl0_0.java:301) at com.sap.aii.ibrep.sbeans.mapping.MapServiceRemoteObjectImpl0_0p4_Skel.dispatch(MapServiceRemoteObjectImpl0_0p4_Skel.java:146) at com.sap.engine.services.rmi_p4.DispatchImpl._runInternal(DispatchImpl.java:319) at com.sap.engine.services.rmi_p4.DispatchImpl._run(DispatchImpl.java:200) at com.sap.engine.services.rmi_p4.server.P4SessionProcessor.request(P4SessionProcessor.java:136) 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(AccessController.java:207) at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:102) at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:172) Root Cause: com.sap.aii.utilxi.misc.api.BaseRuntimeException: Exception:[java.lang.StringIndexOutOfBoundsException] in class com.sap.xi.tf._mmTest method SAPRFCLookup$[RFC_Receiver_LookUp_SAP, MARA, MATNR EQ &apos;000000000000000123&apos;, VPSTA, TST002, com.sap.aii.mappingtool.tf3.rt.Context@5ef05ef0] at com.sap.aii.mappingtool.tf3.rt.FunctionWrapper.calculateCurrentValue(FunctionWrapper.java:84) at com.sap.aii.mappingtool.tf3.rt.FunctionWrapper.cacheValue(FunctionWrapper.java:60) at com.sap.aii.mappingtool.tf3.rt.FunctionWrapper.gotoNextContext(FunctionWrapper.java:40) at com.sap.aii.mappingtool.tf3.rt.AResIterator.gotoNextContext(AResIterator.java:37) at com.sap.aii.mappingtool.tf3.rt.FunctionWrapper.gotoNextContext(FunctionWrapper.java:37) at com.sap.aii.mappingtool.tf3.AMappingProgram.processNode(AMappingProgram.java:266) at com.sap.aii.mappingtool.tf3.AMappingProgram.processNode(AMappingProgram.java:326) at com.sap.aii.mappingtool.tf3.AMappingProgram.processNode(AMappingProgram.java:326) at com.sap.aii.mappingtool.tf3.AMappingProgram.processNode(AMappingProgram.java:326) at com.sap.aii.mappingtool.tf3.AMappingProgram.processNode(AMappingProgram.java:326) at com.sap.aii.mappingtool.tf3.AMappingProgram.start(AMappingProgram.java:415) at com.sap.aii.mappingtool.tf3.Transformer.start(Transformer.java:142) at com.sap.aii.mappingtool.tf3.AMappingProgram.execute(AMappingProgram.java:118) 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_0.execute(MapServiceRemoteObjectImpl0_0.java:301) at com.sap.aii.ibrep.sbeans.mapping.MapServiceRemoteObjectImpl0_0p4_Skel.dispatch(MapServiceRemoteObjectImpl0_0p4_Skel.java:146) at com.sap.engine.services.rmi_p4.DispatchImpl._runInternal(DispatchImpl.java:319) at com.sap.engine.services.rmi_p4.DispatchImpl._run(DispatchImpl.java:200) at com.sap.engine.services.rmi_p4.server.P4SessionProcessor.request(P4SessionProcessor.java:136) 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(AccessController.java:207) at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:102) at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:172) Root Cause: java.lang.reflect.InvocationTargetException Caused by: java.lang.StringIndexOutOfBoundsException at java.lang.String.substring(String.java:1019) at com.sap.aii.utilxi.hmi.api.HmiHttpClientImpl.extractCookieValue(HmiHttpClientImpl.java:318) at com.sap.aii.utilxi.hmi.api.HmiHttpClientImpl.extractCookie(HmiHttpClientImpl.java:307) at com.sap.aii.utilxi.hmi.api.HmiHttpClientImpl.getCookies(HmiHttpClientImpl.java:292) at com.sap.aii.utilxi.hmi.api.HmiHttpClientImpl.sendRequestAndReceiveResponseViaHttp(HmiHttpClientImpl.java:207) at com.sap.aii.utilxi.hmi.api.HmiHttpClientImpl.sendRequestAndReceiveResponse(HmiHttpClientImpl.java:108) at com.sap.aii.utilxi.hmi.api.HmiClientAdapter.invokeMethod(HmiClientAdapter.java:88) at com.sap.aii.ibrep.server.lookup.SystemAccessorHmiClient.<init>(SystemAccessorHmiClient.java:64) at com.sap.aii.ibrep.server.lookup.SystemAccessorHmiClient.getInstance(SystemAccessorHmiClient.java:112) at com.sap.aii.ibrep.server.lookup.LookupServiceProvider$RemoteClientDelegator.<init>(LookupServiceProvider.java:99) at com.sap.aii.ibrep.server.lookup.LookupServiceProvider$RemoteClientDelegator.<init>(LookupServiceProvider.java:89) at com.sap.aii.ibrep.server.lookup.LookupServiceProvider$RemoteClient.getSystemAccessor(LookupServiceProvider.java:76) at com.sap.aii.mapping.lookup.LookupService.getRfcAccessor(LookupService.java:249) at com.sap.xi.tf._mmTest.SAPRFCLookup$(_mmTest.java:122) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:85) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:58) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:60) at java.lang.reflect.Method.invoke(Method.java:391) at com.sap.aii.mappingtool.tf3.rt.FunctionWrapper.calculateCurrentValue(FunctionWrapper.java:76) at com.sap.aii.mappingtool.tf3.rt.FunctionWrapper.cacheValue(FunctionWrapper.java:60) at com.sap.aii.mappingtool.tf3.rt.FunctionWrapper.gotoNextContext(FunctionWrapper.java:40) at com.sap.aii.mappingtool.tf3.rt.AResIterator.gotoNextContext(AResIterator.java:37) at com.sap.aii.mappingtool.tf3.rt.FunctionWrapper.gotoNextContext(FunctionWrapper.java:37) at com.sap.aii.mappingtool.tf3.AMappingProgram.processNode(AMappingProgram.java:266) at com.sap.aii.mappingtool.tf3.AMappingProgram.processNode(AMappingProgram.java:326) at com.sap.aii.mappingtool.tf3.AMappingProgram.processNode(AMappingProgram.java:326) at com.sap.aii.mappingtool.tf3.AMappingProgram.processNode(AMappingProgram.java:326) at com.sap.aii.mappingtool.tf3.AMappingProgram.processNode(AMappingProgram.java:326) at com.sap.aii.mappingtool.tf3.AMappingProgram.start(AMappingProgram.java:415) at com.sap.aii.mappingtool.tf3.Transformer.start(Transformer.java:142) at com.sap.aii.mappingtool.tf3.AMappingProgram.execute(AMappingProgram.java:118) 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_0.execute(MapServiceRemoteObjectImpl0_0.java:301) at com.sap.aii.ibrep.sbeans.mapping.MapServiceRemoteObjectImpl0_0p4_Skel.dispatch(MapServiceRemoteObjectImpl0_0p4_Skel.java:146) at com.sap.engine.services.rmi_p4.DispatchImpl._runInternal(DispatchImpl.java:319) at com.sap.engine.services.rmi_p4.DispatchImpl._run(DispatchImpl.java:200) at com.sap.engine.services.rmi_p4.server.P4SessionProcessor.request(P4SessionProcessor.java:136) 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(AccessController.java:207) at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:102) at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:172) RuntimeException in Message-Mapping transformation: Runtime exception during processing target field mapping /ns0:Messages/ns0:Message1/MessageStatus/StatusInformation/Status. The message is: Exception:[java.lang.StringIndexOutOfBoundsException] in class com.sap.xi.tf._mmTest method SAPRFCLookup$[RFC_Receiver_LookUp_SAP, MARA, MATNR EQ &apos;000000000000000123&apos;, VPSTA, TST002, com.sap.aii.mappingtool.tf3.rt.Context@5ef05ef0]

  • RFC lookup issue

    Dear experts,
    i have a file to file scenario where in the graphical mapping i have to write a RFC lookup to get some data from R3 system ...
    i have written the following RFC lookup and it is working fine....
    java.lang.;java.util.;com.sap.aii.mapping.lookup.;java.lang.reflect.;com.sap.mw.jco.;java.io.;
    JCO.Repository mRepository;
    // Change the logon information to your own system/user
    JCO.Client mConnection = JCO.createClient(
        "500", // SAP client
        "test", // userid
        "temp", // password
        "EN", // language
        "gadrp700", // host name
        "03" ); // system number
    // connect to SAP
    mConnection.connect();
    // create repository
    mRepository = new JCO.Repository( "SAPLookup", mConnection );
    // Create function
    JCO.Function function = null;
    IFunctionTemplate ft = mRepository.getFunctionTemplate("Zlookup_test");
    function = ft.getFunction();
    // Obtain parameter list for function
    JCO.ParameterList input = function.getImportParameterList();
    // Pass function parameters
    input.setValue( a , "REC" );
    mConnection.execute( function );
    String ret = function.getExportParameterList().getString( "PAR" );
    mConnection.disconnect();
    return ret;
    only problem is i have to hardcode the system details user id and pwd...i know that i can create a business service and RFC communication channel which i have done ...but i do not know what addition needs to be done in the code...can you pls help me regarding what addition needs to be done in code...
    my business service name is : BS_test
    RFC channels name is : RFC_channel.
    Edited by: Ravi Mehta on Jun 22, 2009 4:23 PM

    Hi Ravi,
    You are doing a RFC lookup using JCO connection. It is very old. So please see this help and do accordingly. In this you dont need to hardcode anything. For business system, you can do a UDF for getting the system name. So based upon the system name do a Fix Values. Only thing you need to maintain is the communication channel when you transport.
    https://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/70d90a91-3cf4-2a10-d189-bfd37d9c3231
    https://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/a03e7b02-eea4-2910-089f-8214c6d1b439
    Regards,
    ---Satish

Maybe you are looking for

  • No cursor in Solaris 10

    When I boot into Solaris 10 the screen doesn't display a mouse cursor. Eric

  • I'm trying to cut a video in lightroom 5

    I need help figuring out how to cut a video clip in the middle using lightroom. I want to cut a section off the beginning of the clip, a piece out of the middle, and then a bit off the end. How do I do this? If I can't use lightroom for this can I ma

  • Data from different tables in EIS

    I am trying to build EIS 6.5.1. model so it loads data for Actual from one table, and for Budget from another one, into a cube with Scenario dimension - Actual and Budget. I know workaround for this (creating one table with merged data separated by S

  • How to implement text selection tool

    Hello,     I need to develop one plug-in. On click of menu, the cursor should change to text selection tool.    On selection of text, I need to get coordinates of text.   How to do this. Please help me to solve this issue. Thanks, Shilp

  • IPod TV out not clear

    Hi everyone, I just got a third party iPod AV cable. When I hooked it up to the TV, there was a lot of noise in the picture and it wasn't very clear. When I wiggled the cable it cleared up. Just wondering if anyone else has experience this and any po