RFC with Multilevel Hierarchy call from Server Proxy

Dear Experts,
We would like to call BAPI inside a server proxy.
PI has created an interface structure exactly identical as the BAPI structure, but while generating ABAP proxy, system has added additional controller structure for each hierarchy.
Now our ABAP team is facing the difficulty to map Proxy structure with BAPI Structure as now the structures are not identical any more due to control structure .
Also since the BAPI has multilevel hierarchy and to fill the bapi structure from proxy structure (which is having the same structure as bapi but with control records) there are lots of loops required.
Please share your thoughts on how to get rid of looping on proxy structure when both the structure are identical but only control structure has been added to proxy structure.
Also would like to know if we can restrict the control structure generation during proxy generation process.
- Shri

Yes, you have to read and map the abap proxy structure to bapi structure.
Take a look here:
http://help.sap.com/saphelp_nw04/helpdata/en/ab/585f3c482a7331e10000000a114084/content.htm

Similar Messages

  • Calling RFC from server proxy

    Dear Experts,
    We would like to use server proxy instead of RFC communication with an adapter using PI. This is an inbound scenario.
    PI has created an interface exactly identical as the BAPI structure, but it has added additional controller field at every record.
    Now our ABAP team is facing the difficulty to map the BAPI structure with proxy structure created because of this additional field.
    Also, the BAPI has multilevel hierarchy and thus it needs lot of looping.
    Please share the better approach by which we can call the BAPI from proxy class with direct mapping of proxy structure to the importing parameter of the RFC.
    - Shri

    We decided to go for RFC call as loops are not feasible.

  • Coping with variable sized reply from server

    Hi folks,
    I've written a small class that acts as an SMTP client, opening a socket to a server and writing the appropriate SMTP commands out to it.
    However, I've discovered that I sometimes get SMTP 554 (SMTP synchronization error) errors on this, and I think that I've tracked it down to the fact that after every write, I get a reply with a single readLine() call to the inputstream (well, a BufferedReader that I've wrapped around the inputstream) and according to the RFC, different numbers of lines of reply can be returned depending on the command sent.
    I've been trying to figure out how to handle this but don't really even have a clue where to begin. I can't read lines until I get null, since the socket's not closed after the stream dries up, and I've tried using BufferedReader.isReady() to tell me when to stop, but if I do this, I seem to miss large chunks of the reply.
    A sample of my code is:
            // open socket connection
            PrintWriter out;
            BufferedReader in;
            Socket skt;
            skt= new Socket(server, port);
            in=  new BufferedReader(new InputStreamReader(skt.getInputStream()));
            out= new PrintWriter(new BufferedOutputStream(skt.getOutputStream()), true);
            DateFormat df= DateFormat.getDateTimeInstance(DateFormat.FULL, DateFormat.LONG, Locale.UK);
            // get the IP address of the machine that we're running on, for the HELO string
            InetAddress localhost= InetAddress.getLocalHost();
            String hostName= localhost.getHostAddress();
            // do initial handshaking
            String heloString= "HELO [" + hostName + "]";
            out.println(heloString);            replies= getReply(in) + "\n";
            out.println("MAIL FROM:" + from);   replies += getReply(in) + "\n";
            out.println("RCPT TO:" + to);       replies += getReply(in) + "\n";
            if (ccList != null)
                // send any (B)CCs
                for (int i=0; i<ccList.length; i++)
                    out.println("RCPT TO:" + ccList);
    replies += getReply(in) + "\n";
    } // end loop
    } // end if we have CCs
    // send header
    out.println("DATA"); replies += getReply(in) + "\n";
    // ... send all the data ...
    // terminate
    out.println("."); replies += getReply(in) + "\n";
    out.println("QUIT");
    replies += getReply(in) + "\n";
    // close connection
    out.flush();
    in.close();
    out.close();
    and the getReply method looks like this:
        /** gets reply from server and returns it */
        private String getReply(BufferedReader in)
            String line= null;
            StringBuffer lines= new StringBuffer();
            try
                /* --> this fails
                while (in.ready())
                    line= in.readLine();
                    lines.append(line + "\n");
                return lines.toString();
                line= in.readLine();
                System.out.println("line: " + line);
                System.out.println("leaving 'getReply'");
                return line;
                // System.out.println(line);
            } // end try clause
            catch (IOException i) {i.printStackTrace(); return null;}
        } // end method getReply()Any ideas?
    Cheers,
    Raj.

    I think the BufferedReader.readline() call will block until data is available. That means that you can just keep calling readline(). This also means that the getReply(BufferedReader) method must run in a separate thread.

  • Can XSLT transformation created with XSLT_TOOL be called from outside?

    Hello,
    I have created an XSLT transformation with the transaction XSLT_TOOL in the ECC 6.0 system.
    I got a request if this XSLT transformation can be called from outside SAP, example Informatica Power Center. ( http://www.informatica.com/PRODUCTS_SERVICES/POWERCENTER/Pages/index.aspx )
    Can these XSLT be called from outside?
    thank you
    Koen Van Loocke

    Hi,
    I don't think you can call the XSLT_TOOL from outside but what you can do is create a transformation and write a function that serves as a wrapper. You can call the function from outside (RFC) and the function could invoke an existing transformation.
    Cheers

  • Aysnch Proxy calling from Inbound Proxy

    Hello Experts,
    My scenario:-
    Legacy sending File to Inbound proxy and from Inbound proxy I am calling the outbound proxy method to send the data back to Legacy system.
    Its like File request -Inbound Proxy- Outbound Proxy Response- File.
    FileRequest-Inbound Proxy----message in R3 as well in XI moni is successful.
    File Outbound response-File-----message in R3 is coming as empty and because of this the message fails in Xi moni.
    I tried to debug the scenario using test tab with the moni payload, I am able to see the data populated in debugging mode, But after the Outbound method is called the response message is coming is empty. commit work is also used inside outbound method.
    I tried every possible ways,but not getting any clue.
    chirag

    Hi,
    Just check...........in the inbound proxy code, the structure of the response msg is updated as the current structure of response msg.......may be you are filling the data in the old structure of response msg and then asssinging it in the outbound proxy call.......you need to fill the data in the new structure of response msg in your inbound proxy code.
    Regards,
    Rajeev Gupta

  • WDA app not launched with SSO when called from portal

    Hi,
    we have configured our systems so that our portal (NW Portal 7.0) is issuing logon tickets and ERP6.0 is receiving them in the backend for single sign-on.
    When launching a SAP GUI for Windows transaction (System admin->Support->SAP Application) to test if the SSO is set up correctly, all goes well and I'm able to call e.g. SU01 with logon tickets from the portal.
    My problem is that when calling a Web Dynpro for ABAP application in the same backend system from the same portal, I get an error "SSO logon not possible; logon tickets not activated on the server" and need to login manually when starting the application.
    When looking at the WDA app URL, I see http://<backend server>.<domain1>.com/... and the portal is sitting on http://<portal server>.<domain2>.com. Could it be a problem if the backend system is in another domain? And if yes, how come the SAP GUI for Windows launch then works (related to an http connection and domain relaxing?)? How to go forward and make it work all right?
    Best regards,
    Mikko

    Hi Navarro,
    Merry Xmas:)
    >>We did the same test with the demo app from you (MS)
    http://msdn.microsoft.com/en-us/library/windows/apps/hh202967(v=vs.105).aspxand it still don't work. (remember to setup
    fast app resume)
    Yes, I can reproduce your issue using the official sample.
    I think this issue is caused by the mechanism of Fast app resume, please refer to the following reference:
    #Fast app resume for Windows Phone 8
    http://msdn.microsoft.com/en-us/library/windows/apps/jj735579(v=vs.105).aspx
    Quote:
    With Fast Resume, when an app is resumed, the system creates a new page instance for the target of the launch point and this page is placed on top of the app’s existing backstack.
    This official sample can also help us to understand how it works:
    https://code.msdn.microsoft.com/windowsapps/Fast-app-resume-backstack-f16baaa6
    We could find that the Application.Launching event will not be triggered if we used Fast app resume, this will affect responding Toast's parameter(Deep Link).
    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click
    HERE to participate the survey.

  • Problem with Windows Form called from SAP

    I have a simple VB.NET windows form that I'm calling from a new menu click event from within SAP.
    The form loads, as expected, when the menu item is clicked, but the form will always load outside of the SAP window and thus cannot be seen by the user unless they see it in their toolbar.
    Has anyone run into this in the past?  I would normally use the UI-API, but this is a form from another program that can't use the UI-API.
    I've also tested this with simple test forms with another test project and get the same results.
    Any ideas?
    Thanks!

    This isn't merely a matter of viewing <i>new</i> windows.
    When the SBO window is active and in full screen mode and one switches, using the task bar, to another application, more often than not the other application's window won't be displayed, or will be displayed but partially. One has to deactivate and re-activate the second window to see it correctly.
    It's the whole bloody SBO graphical engine that's bogus, if you ask me. Talk about reforging <i>that</i> to a profit-oriented company...
    @Marc Roussel:
    BTW, System.Windows.Forms.Form#ShowDialog() is a blocking method, AFAIK. So the following statements won't be executed ere the "dialog"'s closed.
    But this doesn't change the problem. The Activate() and BringToFront() don't help resolve the matter, in my experience. Sometimes the new form will appear on Z-top, sometimes it won't. Or maybe the true problem is that the window <i>is</i> on top, but doesn't get painted.
    ADDENDUM:
    Come to think of it, it might be worth a try to programmatically iconify/deiconify the new window. Something along the lines of:
    Dim f as Form = ...
    f.Show()
    Application.DoEvents()
    f.WindowState = FormWindowState.Minimized
    Application.DoEvents()
    f.WindowState = FormWindowState.Normal
    Application.DoEvents()
    (all in System.Windows.Forms Namespace)

  • Inspect IP of caller from server

    I would like to inspect the IP address of the caller
    to the object at the Server and deny service, besides
    making a parameter which is passed with the RMI call of the host address. Is there a way which is part of the
    workings of the RMI object.

    java.rmi.server.ServerRef.getClientHost()Vlad.

  • Loosing of object state when it is called from server to client side

    Hi,
    Iam loosing an object values when that object is returning from server side to client side.
    Even my server class implements serilizable interface, the object is not retaing its values..
    can any one suggest regarding this Issue..
    Regards,
    Dev

    got the solution

  • RFC remote function module call from XI

    hi
    I am trying to call a remote function module directly from XI which is not a bespoke module.
    And i am getting the following error:
    com.sap.aii.af.ra.ms.api.DeliveryException: error while processing message to remote system:com.sap.aii.af.rfc.core.client.RfcClientException: failed to parse BAPI response due to: com.sap.aii.af.rfc.util.bapi.BapiException: Parameter with name RETURN not found.
    Please help me in this.
    Thanks in advance.

    Hi Naina,
    Normally RFC are synchronous, they do have return parameter as export parameter.
    If return parameter is missing then , you can create Wrapper RFC.
    Wrapper RFC:
    It is nothing but you just  create BAPI in SE37 transaction with Return parameter as export parameter and make it remote enabled by clicking on Radio button.
    Under source code, CALL BAPI which XI has to call.
    Thats it!
    I hope this helps.
    Let me know if any help required.

  • Web Service Call From Consumer Proxy in ABAP: Security Settings

    Hello All,
    Have a couple of questions:
    We are working on a scenario where we have to connect to a web service from ABAP. We have extracted the WSDL, and generated the client proxy, and configured a Logical Port. However, at the time of actual call, we receive an error message "Header http://schemas.xmlsoap.org/ws/2004/08/addressing:Action for ultimate recipient is required but not present in the message.". We suspect that this is a problem with the SOAP Header, which might be missing some tags, which are required by the Web Service. Problem is, we can not trace the Web Service SOAP Header. We can not see it in SOAMANAGER, or any other transaction as such.
    1. Does any body have an idea where to look for the complete SOAP Request, in case of a Consumer Proxy call?
    2. After re-configuring the Logical Port in SOAMANAGER, our scenario is now stuck at an error which says: 'SoapFaultCode:1  Security requirements are not satisfied because the security header is not present in the incoming message.'. This is probably happening because the target web service is WSE 3.0 compliant, and hence it is asking for UsernameToken and TimeStamp attributes in SOAP Header. In SOAMANAGER Logical Port configuration, we do not see a placeholder for providing this information. However, in earlier LPCONFIG transaction, there was a field for providing WS Security Profile for Operations. Where does this config lie in SOAMANAGER?
    Awaiting Replies.
    Thanks and Regards,
    Sid

    Hi Sid,
    The setting username/password in the manual logical port configuration will send the username and password in the http header as basic authentication. That's why you don't see a security header.
    To configure usernametoken you have to create the logical port out of a WSDL. This WSDL needs to contain WS-Security Policies . So in the policy section of the WSDL you see an XML element called UsernameToken.
    In order to let .Net generate a compatible WSDL you have to configure your WCF Web Service to use a CustomBinding with authentication "UsernameOverTransport". This is a username token in the security header send over SSL. So therefore you need an HTTPSTransport (instead of HTTPTransport) in the binding of your .Net WCF endpoint as well.
    For an example of such a WCF service configuration see my comment on http://weblogs.sdn.sap.com/cs/user/view/cs_msg/59671.
    Regards,
    Mathias

  • Subscreen with Select-Options called from At Selection Screen event

    Dear friends,
    I'm trying to call a subscreen that contains a select-options, from an 'at selection screen' event, in a report program, but without sucess.
    Here's go what I'm doing:
    I declared a selection-screen as subscreen in my main program, and I'm calling it from a module-pool subscreen area, to make the module-pool select-options magic.
    In my main report program, I have a customized status GUI with a new toolbar button and I'm handling it at the 'at selection screen' event.
    What I need to do is to call the subscreen that contains the select-options when this new customized button get pressed, but when It happens, the select-option selections pop-up doesn't appear.
    If I call the subscreen from the 'start-of-selection' event, it goes fine, just don't work from the 'at selection screen'.
    Any ideas on how can I do it?
    Thank you,
    Heber

    i think you should try something like this:
    at selection screen.
    if condition handled ....
      show_popup = 'X'.
    endif.
    at selection screen output.
    if show_popup EQ 'X.
    call subscreen
    endif.

  • Can report created with BIP be called from forms?

    Hello.
    We have many forms.
    And now we ned complex reports. With BIP we can create them.
    But is there a way to call them from forms, like reports created with Report builder?
    Can we transfer parameters from forms to BIP reports, so data can be queried on that form parameters?
    Thanks.

    Hi,
    yes, there are several ways you can do this.
    DejanH, we discussed at the BI Publisher Forum, here just for the others.
    The document you're looking for is here: http://www.oracle.com/technology/products/xml-publisher/docs/Forms_BIP_v21.pdf
    or here
    http://www.oracle.com/global/de/community/forms/documents/Forms_BIP_v21.pdf
    Jan,
    it's a new version of the mentioned paper at the OTN-Forms-Side and the old one was removed.
    The document describes the way, how to integrate BI Publisher via Web Services into Forms. There are other ways available like
    - using HTTP calls via show_document
    - using the JavaAPI of BI Publisher and import the needed classes to Forms
    Regards
    Rainer

  • Problem with sqlplus when called from forms

    Dear friends,
    I have the following problem, we are using forms 10g and database 10g,we are using client_host command to call sqlplus from form and the query which is being run by sqlplus is supposed to take an input from the client and return results. there is no problem in that. but the problem is the sqlplus window opens only in minimized mode and the users wants it open in maximized mode by default.
    this is the code i am using to do this
    pat:='sqlplusw -s'||:global.text||'@i:\sqls\codewise.sql'
    client_host(pat);
    please help me
    prawin

    I'm not sure allowing end users access to a sqlplus session is such a good idea. A savvy user having a bad hair day and becoming disgruntled could wreak havoc on your database if he/she has the right permissions. Besides, I've heard rumors that Forms is really good at accepting user input, querying the database, and displaying the results :P

  • Portege R500 with XP: Offline files from server do not work

    I have a strange problem with a brand new R500 with XP installed. Offline files does not work: I can copy files down from servers, but when I attempt to copy back, I get an error
    "Offline Files (XXX on YYY): Access to ZZZ is denied on ZZZ."
    where XXX is either a samba share or a normal windows share. I have all the permissions to access those files, and can edit them if I go online without synchronising offline changes.
    I would ask this on the XP group, but I've +never+ seen this on any other laptops I've used (including Toshiba). Offline files to these servers still works for me on an older laptop (running an up to date XP), using the same account details and even using the roaming profile. Its also not related to any of the standard Offline files problems that are turned up on Microsoft's Knowledge Base.
    What more can I test - this problem seems specific to this laptop, and if I can't use offline files, the machine is practically useless to me (modulo paying for, and then setting up an equivalent piece of software).
    Should I try uninstalling TrueSuite for example?
    Anthony

    I have disabled the TrueSuite File Protection and now offline files work.
    This would seem to be really important limitation to the software, and I can't find any supporting documentation about TrueSuite, nor any updates for it.
    Anthony

Maybe you are looking for

  • Problem regarging internet explorer

    Sir, I have a problem in using internet explorer. When I want to browse any web site in IE the forever proxy page will automatically appears. I have remover each and every cookies, browser history, proxy ip, but the problem is remain same. I am facin

  • Best way  to reload images into Lightroom 5.4

    I use Lightroom 5.4. My computer hard drive crashed,but I have a back up hard drive. When I reloaded my files from the backup drive to the computer drive, the images were not in the same file structure. After discussing it with someone at Adobe tech

  • Unable to recieve content in mail attachment

    Hi all, I am unable to recieve content in mail attachment. I am using java mapping to define mime boundary. Please suggest any inputs. Regards, Saipriya

  • How to hide a content profile to the end users?

    Hello. We want to show a content profile to the users belonging to a specific security group? How Should I accomplish that? I defined a rule with the following expression: (#active.dSecurityGroup like "mygroup") And we associated the additional field

  • IFolder 3.4 client on Mac OSX Toger

    Hi I am having a problem with the 3. client on Mac, the server is the 3.5 running on SLES9. I am able to connect and sync ok from Linux and Windows machines. When I try on my mac machine I am able to log in ok, when I try to set up an ifolder I get t