Vb RFC output

Hi,
I have successfully exececute sap rfc from vb and reterive data. But i could not display the download data in table ???
any help
Private Sub Command1_Click()
Dim SAPFunction As Object        ' functions
Dim FM As Object                 ' our function module
Dim Struct As Object             ' R/3 structure
Dim s$                           ' any string
' check status
If Status <> "Logon" Then
   MsgBox "Please perform Logon first"
   Exit Sub
End If
' create FM object
Set SAPFunction = CreateObject("SAP.Functions")
If SAPFunction Is Nothing Then
   MsgBox "Creating Functions object failed"
   Exit Sub
End If
Set SAPFunction.Connection = Connection
' create function module objects
Set FM = SAPFunction.Add("RFC_READ_TABLE")
If FM Is Nothing Then
   MsgBox "Creating function module object failed"
   Exit Sub
End If
' assign input
FM.Exports("QUERY_TABLE") = "ZRT_UPLOAD"
' perform call
If Not FM.Call Then
   MsgBox "Function call failed"
   Exit Sub
End If
'process output
Set objStruct = FM.tables("DATA")
msg text(fm.tables.("data").rowcount())
' report success
MsgBox "Function module processed successfully"
End Sub
Private Sub SAPLogonControl1_Click()
' make new commection
Set Connection = SAPLogonControl1.NewConnection
' logon to R/3
If Connection.Logon(0, False) Then
   MsgBox "Connect successful"
   Status = "Logon"
Else
   MsgBox "Connect failed"
End If
End Sub

Hi Yogesh,
how are you doing ?
>> Dim FM As Object ' our function module
>>' perform call
>>If Not FM.Call Then
>>MsgBox "Function call failed"
>>Exit Sub
>>End If
>>'process output
>>Set objStruct = FM.tables("DATA")
>>msg text(fm.tables.("data").rowcount())
if this is in VB.NET, you should get a syntax error when you access the object using 'fm' rather than 'FM'. VBScript would assume vb is a new object and throw a runtime error when you access fm.tables
with respect,
amit

Similar Messages

  • RFC Output to an Output Port

    Hi,
      My application has two nested windows inside a main window. I choose certain selection criterion in one nested window and press submit and certain information is shown in the other nested window.
      Second window content is shown only if user presses submit. This is done by passing a flag to the output port which in turn goes to the second window's input.
      My requirement is, after user presses submit, I want to call a certain RFC. At the end of the RFC I want to move the control to Output Port.
      Submit  -> RFC -> Output Port
      I can get two lines for the submit. One to call RFC and the other to the output port. But RFC execution needs to be completed first. I am able to connect RFC output to Output port(with some dummy output fields). But its giving an error while deployment.
    Thanks.
    Srinivas

    Hello Srinivas,
    The two lines doesn't work. I had a similiar problem, which you described.
    Can you post your model? - So that I can have a closer look at the problem? Maybe I have a solution.
    Best Regards,
    Marcel

  • ** How to deliver multiple files using BPM (From RFC output)

    Hi Friends,
    I am doing File-RFC-File scenario using BPM. I am using BAPI_SFLIGHT_GETLIST as my RFC (Standard RFC). If we execute this RFC, it will return the results in tables form. Assume that, the inputs to RFC is like below.
    FromCountryKey : US
    FromCity: NEW YORK
    ToCountryKey: DE
    ToCity: FRANKFURT.
    The outputs from the RFC is like below.
    26 Entries
    CAR
    CONN
    FLDATE
    AIR
    AIR
    DEPTIME
    SEATSMAX
    SEATSOCC
    |
    DL
    0106
    19.05.2008
    JFK
    FRA
    19:35:00
    280
    266
    UA
    3516
    20.05.2008
    JFK
    FRA
    16:20:00
    380
    364
    LH
    0401
    23.05.2008
    JFK
    FRA
    18:30:00
    220
    209
    LH
    0401
    28.05.2008
    JFK
    FRA
    18:30:00
    220
    208
    UA
    3516
    28.05.2008
    JFK
    FRA
    16:20:00
    380
    367
    DL
    0106
    16.06.2008
    JFK
    FRA
    19:35:00
    280
    261
    UA
    3516
    17.06.2008
    JFK
    FRA
    16:20:00
    380
    357
    LH
    0401
    20.06.2008
    JFK
    FRA
    18:30:00
    220
    213
    DL
    0106
    14.07.2008
    JFK
    FRA
    19:35:00
    280
    1
    UA
    3516
    15.07.2008
    JFK
    FRA
    16:20:00
    380
    86
    LH
    0401
    18.07.2008
    JFK
    FRA
    18:30:00
    220
    123
    DL
    0106
    11.08.2008
    JFK
    FRA
    19:35:00
    280
    56
    UA
    3516
    12.08.2008
    JFK
    FRA
    16:20:00
    380
    67
    LH
    0401
    15.08.2008
    JFK
    FRA
    18:30:00
    220
    114
    DL
    0106
    08.09.2008
    JFK
    FRA
    19:35:00
    280
    0
    UA
    3516
    09.09.2008
    JFK
    FRA
    16:20:00
    380
    164
    LH
    0401
    12.09.2008
    JFK
    FRA
    18:30:00
    220
    64
    DL
    0106
    06.10.2008
    JFK
    FRA
    19:35:00
    280
    80
    UA
    3516
    07.10.2008
    JFK
    FRA
    16:20:00
    380
    8
    LH
    0401
    10.10.2008
    JFK
    FRA
    18:30:00
    220
    16
    DL
    0106
    03.11.2008
    JFK
    FRA
    19:35:00
    280
    11
    UA
    3516
    04.11.2008
    JFK
    FRA
    16:20:00
    380
    33
    LH
    0401
    07.11.2008
    JFK
    FRA
    18:30:00
    220
    53
    DL
    0106
    01.12.2008
    JFK
    FRA
    19:35:00
    280
    0
    UA
    3516
    02.12.2008
    JFK
    FRA
    16:20:00
    380
    45
    LH
    0401
    05.12.2008
    JFK
    FRA
    18:30:00
    220
    25
    |
    We need to create output file for each record. In this case, the system should generate 26 output files.
    I imported the RFC and created the required interfaces and designed BPM also.
    Start --> Receive step --> Synchronous Send --> Asynchronous Send
    But, I stuck in how to deliver each record to the output file from BPM.
    Any idea, friends. (like using BPM Multi-line option. or 'Receiver From' property in the Send Step)
    Kindly help me friends to solve this issue.
    Thanking you.
    Kind Regards,
    Jeg P.

    Hi
    You can do it by creating one another message interface having structure same as your table.
    What you have to do is create a mapping in such a way that for each record in table one message(newly created) must be created.
    Use that mapping in an interface mapping, remember occurence of target message should be 0..Unbounded both in message mapping and interface mapping.
    Now create one single line message and one multiline message in BPM for newly created message.Use transformation step with new interface mapping, mention source(RFC response) and target message(use multiline element of new message) for the transformation step.
    Use send step inside a block,set block mode to "forEach", and attach new message to that send step.
    Use multiline and single element of new message in the property window of block.
    Now your BPM will look like
    Start ---> Receiver ---> Synchronous send ---> Transformation ---> Block ---> Async Send(within block)
    I think in this way you can implement what you want.
    Regards
    Sami
    Reward points if helpful.

  • RFC output - SE37 vs Webdynpro

    Is it possible that, for the same set of input parms  to an RFC, SE37 output could be different than data comming via the Adaptive RFC interface. The issue we are experiencing is as follows:
    We are using BAPI_SALESORDER_SIMULATE to calculate item pricing. What we noticed is that, webdynpro output is usually X times (100 or 1000) the value in  SUBTOTAL2 field of ITEMS_OUT table. We query SUBTOTAL2 for item unit prices.
    Is SE37 applying some kind of formatting for quantities, prices etc. before displaying the data, that webdynpro does not ? Has this got anything to do with R3 configuration ? Is there any webdynpro side configuration that has to be done for the outputs to match ? Please advise.

    SE37 does quite a few things differently than Web Dynpro.
    a) SE37 by default is case-insensitive . You need to check the box , if you want to make it case sensitive.
    b) I am not sure about conversion-exits .  To be on safe side, just make sure you are doing necessary conversion.
    c) I think it also takes into account user settings that you define in SAP R/3
    If nothing makes sense, try debugging.
    Regarding X times(100 or 1000), I think this is because of the comma that it puts. This is usually a user setting in R/3. Your JCo ModelData connection - is it Ticket Based Authentication or User/Password authentication ?
    In case of Ticket, user settings should not be an issue.
    Regards,
    Subramanian V.
    Message was edited by:
            Subramanian Venkateswaran

  • RFC output node always empty

    Hi Experts,
    I created a web dynpro program and i've verified that the data i'm passing as input to the RFC is correct. however, no matter what input to the RFC though, the output node is always empty. What could I be missing that would cause the output node to be empty?
    Cheers,
    Alfonso

    hi
      have you checked  in the backend by passing same input to the RFC  and is the RFC
      giving you the data in the output node. , check the mandatory parameters in the RFC
      and you can even ask your ABAPer to give the TEST data to pass to the RFC from the
      webdynpro .
    try to hard code the data with data taken from abaper and check whether RFC is giving you the
    data ,  even try to debug the application , provide a external debugging in the RFC and
    and perform external debugging and check the data getting passed to all the mandatory parameter
    and the output node .

  • Passing RFC output structure to another RFC input structure.

    Hello Friends,
    I have 2 views (i.e. SearchView & ResultView). In search view, I pass input parameter (PO Number) to BAPI_PO_GETITEMS and get back the output table PO_ITEMS correctly. I display this table in the ResultView correctly. Now, after displaying the order details, I need to pass this input to BAPI_GOODSMVT_CREATE in its GOODSMVT_ITEM structure to create a Good Movement Note.
    Can somebody help me as to how could I pass values from PO_ITEMS to GOODSMVT_ITEM structure?
    Thanking you in advance,
    Maulin

    Hi,
    You can pass the input of BAPI_PO_GETITEMS  to the BAPI_GOODSMVT_CREATE .
    For this u need to first understand and read the BAPI throughly, means u must read how your two bapi's are working and what are the relation ship b/w them.
    Also, i assume that in a ur webdynpro application u already imported all required BAPI and just simple take the user Input from the context and pass it to the next Bapi.
    Hope so it can solve ur pb,If there is any more query, put in forum.
    Thanks
    Dheerendra Shukla

  • Read RFC output table contents using com.sap.mw.jco.* API

    Hi,
    I have a requirement where I need to call an RFC in JSPDynpage component.
    In doInitialization method, I wrote following code: -
    IPortalComponentRequest request = (IPortalComponentRequest) this.getRequest();
    IPortalComponentContext myContext = request.getComponentContext();
    IPortalComponentProfile myProfile = myContext.getProfile();
    String sapSystem = myProfile.getProperty("SystemIdentifier");
    ISystemLandscapeWrapper landscapeWrapper = (ISystemLandscapeWrapper) UMFactory.getSystemLandscapeWrappers().get(0);
    ISystemLandscapeObject systemLandscapeObject = landscapeWrapper.getSystemByAlias(sapSystem);
    IJCOClientService clientService = (IJCOClientService) PortalRuntime.getRuntimeResources().getService(JCO_CLIENT);
    request.getNode().putValue(LOCALE_NODE_KEY,     Locale.ENGLISH);
    IJCOClientPoolEntry poolEntry = clientService.getJCOClientPoolEntry(sapSystem,request);
    JCO.Client client = poolEntry.getJCOClient();
    client.connect();
    IRepository repository = JCO.createRepository("repository", client);
    IFunctionTemplate functionTemplate = repository.getFunctionTemplate(Z_BAPI_EMP_GBU_GET);
    JCO.Function function = new JCO.Function(functionTemplate);
    JCO.ParameterList importList = function.getImportParameterList();
    importList.setValue("US", "OBJTYP");
    importList.setValue(request.getUser().getUniqueName(), "USRID");
    client.execute(function);
    Now, this RFC returns two tables.
    I want to know how do I read a table and iterate over its contents to read all fields.
    (Till now, I only used getString("GBU") method that just reads an export type of String parameter)
    Please help.
    Thanks & Regards,
    Amey

    Amey,
    If I understood the problem correctly. A snippet will be something like
                   JCO.Table itemList = function.getTableParameterList().getTable("QUALIFICATION");
                   Vector qualItems = new Vector();
                   QualItemBean qualItem;
                   for (int i = 0; i < itemList.getNumRows(); i++) {
                        itemList.setRow(i);
                        qualItem = new QualItemBean();
                        qualItem.setQual(itemList.getString("TBJID").trim());
                        qualItem.setQualText(itemList.getString("TTEXT").trim());
                        qualItem.setVBDate(itemList.getString("VBEGD").trim());
                        qualItem.setSBDate(itemList.getString("SBEGD").trim());
                        qualItem.setSEDate(itemList.getString("SENDD").trim());
                        qualItem.setVEDate(itemList.getString("VENDD").trim());
                        qualItem.setProfText(itemList.getString("PROFC_TEXT").trim());
                        qualItems.add(qualItem);
                   qualBean.setQual(qualItems);
    Ofcourse you need to change the variable names based on your scenario.
    Thanks
    Prashant

  • RFC output issue

    Hi All,
    I am facing an issue while executing a RFC that is imported thruogh a model in my webdynpro application.
    I am initialising my model node, then binding it and then after setting the mandatory input parameter i am executing it.
    The problem is the size of the node remians 0 after the execute command and no records are coming inside the node.
    When i check the proxy java class for the model i find that the model instance is undefined for the Model and i am getting an error in the doExecute method of the Input Java class.
    Also while importing the RFC i had got a pop up message saying "It is recommended to restart the J2EE server.
    Please help and suggest what can be the problem.
    Regards.

    Hi sarabjeet,
    I have tried with that also...but my problem is not solved with this.
    Now my code looks something like this:
    try
         wdContext.nodeZ_Esrce_Create_Inspn_Lot_Pdf_Input().bind(new Z_Esrce_Create_Inspn_Lot_Pdf_Input());
         AbstractList Abslist = new pwc.ca.model.requirement.Zrfc_Esource.Zrfc_Esource_List();
         Zrfc_Esource eSrc = new Zrfc_Esource();
        eSrc.setMatnr(wdContext.currentVn_CreateInputValuesElement().getVa_PartNo());
        Abslist.add(eSrc);
        wdContext.currentZ_Esrce_Create_Inspn_Lot_Pdf_InputElement().modelObject().setI_Search(Abslist);
        try
              wdContext.currentZ_Esrce_Create_Inspn_Lot_Pdf_InputElement().modelObject().execute();
              wdContext.nodeOutput_InspnLot().invalidate();
       catch (WDDynamicRFCExecuteException e1)
             wdComponentAPI.getMessageManager().reportException("Exc1:" + e1.getMessage(),false);
         catch (Exception e)
              wdComponentAPI.getMessageManager().reportWarning("Exception in Action Search::::"+e.getMessage());
    But this gives me an exception saying mandatory parameter P_Matnr not set.
    Please suggest....
    Regards.

  • RFC missing some output fields

    Hello developers, I have encountered a very strange problem... I have a table in an iview which displays the output from an RFC. Simple. Problem is, the RFC is only returning certain fields correctly...
    for example, the following is text from the table that I am displaying on the iview:
    (the table consists of 3 fields: DATE | TEXT DESCRIPTION | MONEY AMOUNT)
    29/May/2007 | COLEGIATURA MAESTRIA | $ 335.55
    31/May/2007 | COLEGIATURA MAESTRIA | -$ 335.55
    06/Sep/2007 | <-----Missing field--
    >   | $ 100.00
    The <-missing fields-> are the texts that are not being displayed properly in my iview (it is supposed to display the word "INTERESES"). The really weird thing is that if I execute the same RFC directly in R3, I get the entire fields correctly, like this:
    29/May/2007 | COLEGIATURA MAESTRIA | $ 335.55
    31/May/2007 | COLEGIATURA MAESTRIA | -$ 335.55
    06/Sep/2007 | INTERESES                        | $ 100.00
    WHY IS THE RFC NOT RETURNING THOSE FIELDS WHEN IT IS EXECUTED FROM THE PORTAL!!!!!!????
    A few things I want to add:
    - The data type of the Context node to which i am binding the output data from the RFC is a String. The RFC output node field's data type is Text50 (which is basically a SAP String).
    - I changed the data type of the context node from String to Text50 and nothing happened.
    - I print the entire data from the RFC output node directly on screen (using a for loop and the IMessageManager's reportSuccess method) before doing anything and it returns the same thing (i.e. nothing happened).
    - Yes, the Node that I am binding to the output node of the RFC is correctly binded.
    - Yes, I have restarted the server.
    - Yes, I have reimported the RFC model.
    - Yes, I am sending the right input parameters to the RFC (it has only one input parameter, and I am sending the correct one, otherwise it would not return anything).
    - I have tried getting the lenght of the missing field's, and they return "0" (meaning it is empty).
    The ABAP team has told me that the problem is on the portal side, not on theirs, so they assume the RFC is working correctly. 
    I was a little sceptical about that and I did a little research on the RFC (i don't know ABAP at all). The RFC reads texts from different tables and it turns out that all of the fields that are missing are read from one table. This table has 19 entries, and none of the 19 texts that belong to that specific table are being properly displayed in the portal.
    So I checked a little further and those texts are of the same type (Text) as the rest of the texts that are being properly displayed so the ABAP team assures me that is not the problem.I find it a little suspicious that the only data that is giving me trouble belongs to that one table.
    Maybe the problem is neither on the Java code or on the ABAP code, maybe it is somewhere in the middle (maybe on the JCO connections, the parsing of the data or something)... Can somebody please help me out?? I have been with this problem since monday and I am nowhere near the solution...

    Hi Pablo,
                   I would like to mention 2 things.
    1. Have u tried to debug the application ?? Go to r/3 system ->tcode - se37.put an external breakpoint over there & run the application. Check whether u r getting the data properly from there or not.
    2. If its a the problem only with 1 table,can u plz tell the nwds version,u r using??If u r using 7.0.11 , i would suggest u to go thru this sap note :Note 991175
    Actually we had a similar kind of problem & later find out that its an bug in 7.0.11.I m not sure abt ur problem exactly,but still u can refer this & check whether u also need a patch or not.(A patch is already available for the problem mentioned in the sap note)
    regards
    Sumit

  • Mapping SOAP response to RFC out parameters

    Hello
    I have RFC to SOAP (sync) scenario.
    The SOAP reponse from webservice is an embedded XML string (Result XML wrapped within Response XML; The result string from web service is an XML itself)
    How to achieve Message Mapping so that the fields in the result XML can be captured directly in to RFC output paramters?
    I have mapped Result XML string to RFC output thru User Defined Function. I have filtered xml tags in UDF but I do not wish to hard code the tags' filtering.
    Is there a better solution?
    Kindly advise.
    cheers
    Alkesh

    Hey Chris
    Here are the structure samples (source & target)
    The intention is to map <Elem1> & <Elem2> of each <Line> to RFC structure fields, 'Item1' & 'Item2'.
    The <Line> items can be multiple and for each Line one RFC strcuture 'Record' has to be created.
    *********source begin**
    <?xml version="1.0" encoding="utf-8"?>
    <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
      <soap:Body>
        <WSDLResponse xmlns="namespace123">
          <WSDLResult>xml_string</WSDLResult>
        </WSDLResponse>
      </soap:Body>
    </soap:Envelope>
    ...where the xml_string is as below (whole XML)-
    <?xml version =''1.0'' encoding=''utf-8'' ?>
       <Addr>
         <Result>
             <ErrorCode>0</ErrorCode>
             <ErrorDesc></ErrorDesc>
         </Result>
         <Return>
             <Line>
                 <Elem1>value1</Elem1>
                 <Elem2>value2</Elem2>
             </Line>
             <Line>
                  <Elem1>value3</Elem1>
                  <Elem2>value4</Elem2>
             </Line>
          </Return>
        </Addr>
    source end***
    The target structure is -
    target begin***
    - RFC strcture
        - Record
             - Item1
             - Item2
    source end***
    Apologies for the lengthy text but it is quite confusing
    What is the best way to achieve mapping?
    thx
    Alkesh

  • Missing data in Output Mapping

    Hi all,
    I have configured a scenario RFC -> XI -> Webservice. I am getting the response from the webservice and can see it in the SXMB_MONI. But this is not getting mapped back to the RFC output. I checked for all the mappings and those are perfectly fine. Can any body please suggest me what could be the reason and what all i need to check. I have all the mappings and objects activated.
    Thanks and best regards,
    Kulwant

    Hi sekhar,
    Thanks for the quick reply.
    I checked that anmd found that thers is one namespace missing in my mapping which is creating the problem
    Here is what i get from Webservice
    <?xml version="1.0" encoding="UTF-8" standalone="yes" ?> <ns1:generateResponse xmlns:ns1='http://xml.avaya.com/diamond/schema/2007/07/utils/sessionidgenerator' >
       <ns1:sessionId>AAAAABDxRtA=7IWEUw==-_2_1</ns1:sessionId>
    </ns1:generateResponse>
    What i get from Test mapping
    <ns0:generateResponse xmlns:ns0="http://xml.avaya.com/diamond/schema/2007/07/utils/sessionidgenerator">
       <sessionId>dsfa</sessionId>
    </ns0:generateResponse>
    Here ns0 is missing in front of my mapping. I am not sure how to bring it.
    I have created a data type generateResponse using another data type session ID.
    then i created a message type with change in default XML name space. I tried creating even sessionID Message Type and use it in my message type so that i could change the default name space.
    but it didn't worked?
    Can any body please suggest what to do?
    Thanks,
    Kulwant

  • For output display report is final_internal table or structure in wd ABAP?

    Hi all,
    for output display report is final_internal table or structure in wd ABAP?
    in wd java output display report -.> CALLING rfc and that RFC OUTPUT table
    finally in internal table is assigned to STRUCTURE .Same procdure?
    Thanks,
    RAMA

    Dear Madhu,
    thanks for guidence!
    its showing popup tht this BADI ( ME_CHANGE_OUTTAB_CUS ) is only use for "SAP Internal  use".
    Regards,
    Praphull

  • RFC to JDBC Synchronous Scenario

    Hi,
    I have to configure a scenario in which by an RFC call we have to select records on a DB table and return them to the RFC as resultset. I'm not using any BPM.
    So I've developed all the design objects like:
    - MT : MT_Request; MT_Response
    - MI : MI_Synch_Inbound with MT_Request, MT_Response end FM ; MI_Asynch_Outbound with MT_Response
    - MM : MM_RFC_to_Request (from RFC to MT_Request ); MM_Response_To_RFC (from DB table response to RFC)
    - IM : IM_RFC_to_JDBC (from RFC to MI_Synch_Inbound with the 2 MM in request/response tabs)
    Also I have a JDBC CC Receiver Synch to perform the Select stm.
    My doubt now is: which configuration objects I have to configure ?
    The RFC Adapter needs 2 communication channels (Sender Asynch and Receiver Asynch) or only one Synch?
    Thanks to all,
    GB

    Dear all,
    I've created all the required configuration objects in ID:
    RFC CC sender, JDBC CC receiver, sender agreement , reciever determination, interface determination, reciever agreement.
    But when I run RFC called in background task by a report, I obtain only one message into SXMB_MONI, the one that contains the RFC output. In addition it's not visible into moni the Message Mapping execution.
    Instead if I remove the background task mode I obtain no message in moni.
    Any ideas?
    Thanks,
    Gianluca

  • Calling RFC using UDF

    Hi,
    I have a small doubt.
    In file to IDOC mapping, I am mapping two fields using a UDF.
    That UDF in turn calls a RFC.
    But that RFC is not moved to quality server.
    If now I try to test that in quality environment, the mapping works fine and IDOC is posted because the error handling is done in ABAP.
    My doubt is why did the messge did not failed in XI, saying the RFC not available??
    I tried to search in sdn, by did not get anything related to this.
    Please try to clarify my doubt.
    Regards,
    Sachi

    Ravi,
    Below is the UDF code:
    MappingTrace importantTrace = container.getTrace();
    String query = "<?xml version=\"1.0\" encoding=\"UTF-8\"?><ns0:Z_RFC_UOM xmlns:ns0=\"urn:sap-com:document:sap:rfc:functions\">";
    String restQuery = "</ns0:Z_RFC_UOM>";
    String Lookup_Key_Tag = "I_MATNR";
    String Lookup_Key_Tag1 = "I_VKORG";
    String Lookup_Key_Tag2="I_VTWEG";
    String Lookup_Value_Tag = "E_MENEE";
    String Lookup_key_StartTag = "<" + Lookup_Key_Tag + ">";
    String Lookup_key_EndTag =  "</" +Lookup_Key_Tag + ">";
    String Lookup_key_StartTag1 = "<" + Lookup_Key_Tag1 + ">";
    String Lookup_key_EndTag1 =  "</" +Lookup_Key_Tag1 + ">";
    String Lookup_key_StartTag2 = "<" + Lookup_Key_Tag2 + ">";
    String Lookup_key_EndTag2 =  "</" +Lookup_Key_Tag2 + ">";
    String Lookup_Value_StartTag = "<" + Lookup_Value_Tag + ">";
    String Lookup_Value_EndTag = "</" +Lookup_Value_Tag + ">";
    String comm_channel = "";
    String content = "";
    String items = "";
    String item1 = "";
    String item2 = "";
    String item3 = "";
    String ItemsTag = "";
    String Lookup_Value = "";
    int j =0;
    String Rec = Service[0];
    for(int i= 0;i< material.length;i++)
                ItemsTag =  Lookup_key_StartTag material<i> Lookup_key_EndTag;
                item1 = item1 + ItemsTag;
    for(int i= 0;i< sales_org.length;i++)
                ItemsTag =  Lookup_key_StartTag1 sales_org<i> Lookup_key_EndTag1;
                item2 = item2 + ItemsTag;
    for(int i= 0;i< dist_channel.length;i++)
                ItemsTag =  Lookup_key_StartTag2 dist_channel<i> Lookup_key_EndTag2;
                item3 = item3+ ItemsTag;
    items=item1item2item3;
    items = items + restQuery;
    query = query + items;
    RfcAccessor accessor = null;
    ByteArrayOutputStream out = null;
    comm_channel = "CC_Recv_RFC";
    try
                Channel channel = LookupService.getChannel(Rec,comm_channel);
                accessor = LookupService.getRfcAccessor(channel);
                InputStream inputStream = new ByteArrayInputStream(query.getBytes());
                importantTrace.addWarning(query);
                XmlPayload payload = LookupService.getXmlPayload(inputStream);
                Payload result1 = accessor.call(payload);
                InputStream in = result1.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();
                importantTrace.addWarning("RFC Response::" + content);
                //Parsing RFC output
                j= 0;
                while ( content.indexOf(Lookup_Value_StartTag) != -1 )
                                                                Lookup_Value = content.substring( content.indexOf(Lookup_Value_StartTag) + Lookup_Value_StartTag.length()  , content.indexOf(Lookup_Value_EndTag) ) ;
                                                                importantTrace.addWarning("LookupValue::" + Lookup_Value);
                                                                j++;
                                                                content = content.substring(content.indexOf(Lookup_Value_EndTag) + Lookup_Value_EndTag.length() );
                                                                result.addValue( Lookup_Value);
    }//end of try
    catch(Exception ex)
                importantTrace.addWarning("Error while lookup"+ ex.getMessage());
    //catch(LookupException e){  importantTrace.addWarning("Error while lookup"+ e.getMessage()); }
    //catch(IOException e) { importantTrace.addWarning("Error while IOException"+ e.getMessage()); }
    finally
                if(out!=null)
                            try
                                        out.close();
                            catch(IOException e)
                                        importantTrace.addWarning("Error while IOException"+ e.getMessage());
                if(accessor!=null)
                            try
                                        accessor.close();
                            catch(LookupException e)
                                        importantTrace.addWarning("Error while lookup"+ e.getMessage());
    result.addValue("");

  • JDBC to RFC & Mail

    Scenario:
    In JDBC to RFC
    Output of above sender adapter will pass through 1:N mapping to generate individual records as separate message.
    Each individual records is passed to attached XSLT to genarate RFC format message
    RFC response has to be evaluated for errors. If there are errors there should be an email to a support group (we have to use email adapter here)
    Along with the email, if there are errors, we need to update  the source table.
    How to acheive this using bpm?
    i mean how many
    Data Types,Message Types,Service Intrefce (obibabs),message mapping & operation mapping in IR
    SenderAgreement,ReceiverAgreement,InterfaceDetermination,and ReceiverDetermination in ID
    Thanks
    Sri

    How to trigger a mail adapter from BPM??
    I need to fetch the data from database table through XI, and mapping to Synchronous RFC. Then, RFC response is send to both JDBC and email also. I am using BPM scenario for this. Please, let me know, how can I map with RFC response to email and JDBC. How can I handled in BPM scenario.
    Can you please suggest me steps.
    Thanks You
    Edited by: Srilak on Mar 8, 2011 3:49 AM

Maybe you are looking for