Internationalization of a WebDynpro Application

Hi,
i was writing a WD Application who has to be multilanguage (de, fr ,it). I have translated every View with the xlf-Files. The Application has to run in a SAP Portal EP6 Enviroment with Anonymous- and Authenticated-User.
Every time when i start my Application only with the IE Browser with the Languages set under Options the right texts appears.
But when i change in the same Browser session the language and press Refresh the old Language Parameter of the Browser is taken and the texts aren't in the right language.
When I was debugging my application i remarked that the locale of the User was changing when i retrieved it by:
     Locale sessionLocale = WDClientUser.getLoggedInClientUser().getLocale();
     if (sessionLocale == null)
           sessionLocale = WDResourceHandler.getCurrentSessionLocale();
     aResourceHandler = WDResourceHandler.createResourceHandler(sessionLocale);
I remarked that the RessourceHandler of the IWDTextAccessor dosen't change, so not the right texts are displayed.
Additionaly when i tried the Application with the Portal it doesn't work yet with the Personalization!
It seem that for one session the WD application take all the time the same locale.
Can anybody tell me if I'am right or is there a the solution for WebDynpro.
I can't imaging that this should be the concept of WebDynpro...:-) to assign every text dynamically by programming code!
Thanks for help
Vincent

Hi Vincent,
A browser refresh does not change the Web Dynpro client session. You have to open a new browser instance by opening the browser.exe; a refresh or opening a new browser window instance via 'New Window' is not enough.
Have a look at the following NetWeaver help text:
http://help.sap.com/saphelp_nw04/helpdata/en/f4/d95664da179b4db731e21c2e470b72/frameset.htm
It describes the fallback sequence followed by the Web Dynpro for Java Runtime in order to determine the current session locale.
Regards, Bertram

Similar Messages

  • Internationalization of standalone WebDynpro application(No Portal)

    Hi,
    I have a webdynpro application running on SAP WAS 7.0(NO portal).
    Based on the request parameter, the application should show translated content. I am aware of the translation process using .xlf files. But how can a webdynpro application receive language parameter in request and show translated content?
    regards,
    Sujesh

    Hi,
    In WD4J via URL it is the parameter "sap-locale".
    e.g. sap-locale=en
    Regards,
    Jürgen
    PS: But be sure you did not set another language for the user in the user store (e.g. UME, LDAP, etc) because this has higher prio.
    See table at http://help.sap.com/saphelp_nw70/helpdata/EN/18/f3674039c6c549e10000000a1550b0/content.htm

  • Internationalization in WebDynpro applications

    Hi,
    I have a requirement to internationalize my WebDynpro application.
    I have created a WebDynpro component and maintained all the language dependent texts in the .xlf files of that component. 2 applications have been created for the component- 1 in English and 1 in German. Both work fine in their resp. locale when run independently.
    Scenario: When the user runs the application, all texts appear in English (default). However, if the user desires to obtain the application in German, he is supposed to click on a button to get all the texts in German.
    Tried solutions:
    1. Making use of the Exit plug. When the user clicks on the German Button, we fire the Exit Plug to the application having  "sap.locale=de"
    2. Appending "?sap-locale=de " to the application URL.
    In case of both of the above solutions, the texts do not change as per the locale,however, when I copy the same URL and start a new session in a new browser, the texts appear as per the Locale.
    Is there any way of changing the locale dynamically during the same session ?
    Regards,
    Gaurav.

    Hi Gaurav,
    You can use key-Value concept of java and KM file concept.
    You have to create two java files for declaring constant and key/Value.
    You have to define setter/getter method.
    You have to use parameterization concept for the Web Dynpro UI name means need to declare attribute and need to bind with the text value for UI's
    You have to store key/value file in the KM doc ladder.
    You have to pass file name to Application parameter property into the Application iView.
    You have read this application parameter in the controller and need to use has map and session concept to read the files value.
    Hope this may help you.
    Deepak!!!

  • Internationalizing a Webdynpro application

    Hi friends,
    I want to internationalize my webdynpro application  which will run in SAP Enterprise Portal 6.0 SP11.I have followed the standard procedures of internationalizing as per documentation but what i see is that the application takes the browser locale language instead of the Portal language(which i desire).
    Thus i want my application to show messages in that language which the user selects in the Portal.
    Would be very grateful if u guys can provide me with any inputs on this.
    Thanks,
    Jitendra Chaudhari.
    India.

    Hi,
       Pointers for the same is follows:-
    • Internationalization is used for adapting already existing Webdynpros application
    Without changing the source code so that they can be used in several multi lingual languages.
    • Here we keep text strings separately from the application source code in a particular format(keys & values) so they can be processed in the standard translation mechanism.
    • Here frequently used texts such as labels or titles are stored as java dictionary simple types objects.
    • To do internationalization, copy the automatically generated *.xlf files and save them under the new name in the same directory.
    • For eg :- file convention like <old filename>_<language key>.xlf. Ex:- For German use the language key de.
    • For a particular user the locale is specified by the User management engine.
    • If not the locale is handled by the browser setting(HTTP Headers)
    • If not the default locale specified by the application will be returned.
    • If not default locale of the Virtual Machine(VM) is returned
    • This locale is passed to java.lang.ResourceBundle in the J2EE engine.
    • This will load the physically existing resource bundle either from any one of the following :-
    Resource bundle of WD(if exists) or resource bundle of VM (if exists) or
    Resource Bundle of without language suffix(always exists) given by the developer.
    Also pls go thro' the blogs which is being mentioned by RK(my colleague) which will definitely give you a better insight.
    Regards,
    Guru

  • To get login details of portal into webdynpro application

    Hi All,
             How to get the portal login details(user name) into my webdynpro application.
    Thank you,
    Harsha P.

    Hi,
    If you want to have portal login details from backend system (with ABAP) you should ask this question in some portal forum and ask if it is possible. This has nothing to do with workflow or UWL. Even if you get the portal user ID to the backend system, then what? Do you want to manipulate the portal roles etc. from your ABAP WD application? Then you will have even more complicated requirements to achieve with ABAP. It is not that straightforward to call different portal functionalities from backend system. You might need to do some "portal development". And eventually your ABAP WD application might come just an unnecessary wrapper component for calling some web services or whatever in portal.
    Regards,
    Karri

  • Needs a background webdynpro application running at the server side

    Hi All,
    We have a requirement wherein we need to have an application running all the time at the server side to capture the response coming from a web application. Based on the response that the application receives, it needs to update some backend R/3 tables.
    We are thinking of a webdynpro java application.
    Can anyone suggest what kind of application needs to be implemented here?
    And what  would be the steps required to run the application at the server side without calling the application.
    Thanks & Regards,
    Anurag

    Hi Robin,
    Thanks for the detailed explaination.
    This may sound silly to you but I've another doubt which is as follows:
    As you mentioned that the external web application will be sending requests to our Web service(in SOAP envelopes) and rest of the functionality can be  achieved by our web service.
    Actually, we are expecting only responses from the external web application. The thing is that we are sending the requests to the external web applications from our custom webdynpro application and in return the web application will be sending us 2 responses.
    First response would be back to our WD java application URL(to the browser in which WD java app is running) which would get the response and display some message based on the response.
    Second would be to this web service which you have just suggested. We are having two responses so that even if the browser in which the WD java application is running gets accidentally closed, the response from the external web application must get captured somewhere else and should not get lost in any case.
    So, now since we are only expecting the response from the web application and we do not want any requests from the web application to our web service; how is this possible?
    I am asking the above question because you have mentioned that the external web application has to request our Web service but we want is only this web service to capture the response coming from the Web application.
    Or is it like the web application will send us the response string as request string to our Web Service and the web service will capture these response parameters as request parameters from the web application and do the further processing.
    But in that case, we do not want any response to be sent by the Web Service to the external web application.
    Please suggest if this is possible.
    Once again, many thanks for the help so far.
    Thanks & Regards,
    Anurag

  • SSO b/w portal and webdynpro application customized login??

    Hi,
    I  have one webdynpro application which has a login screen (Created as Webdynpro view). If user enters user/passord, the same gets checked from a custom table in the db (Method for checking user credtentials has been written in view controller). if user credentials are correct it performs some actions defined in webdynpro application.
    I want to configure SSO b/w portal and this webdynpro application sothat when user logon to the portal and open this webdypro application, Login page of webdynpro application should not be shown i.e user credentials should be passed from portal and corresponding authentication method in webdynpro should be called to authenticate the user.
    How to do the same without touching webdypro application ?
    Can we call a method of webdynpro application from portal?
    Regards
    Deepak

    1) To enable ticket authentication for the web dynpro iviews, you must maintain the definition of the system running the Web Dynpro application and set logon method to "SAPLOG"
    2)Since you have customized login screen, you need to bypass this screen manually when you login from portal.
    Add parameter to the application while defining the iview.Give some constant value.
    Check value of this parameter in webdynpro and fire to next view.

  • How To Get GP Process Parameters in a Webdynpro Application runtime

    Hi ,
    Iu2019 ll hope you can help me to solve my problem with GP process.
    Iu2019 m trying to get GP process parameters from a Webdynpro application.
    I have to get parameters during the process runtime in every step of the process using
    a webdynpro application with the following code:
          IGPRuntimeManager rtm = GPProcessFactory.getRuntimeManager();
          try {
                IGPProcessInstance processInst = rtm.getProcessInstance(processId,userContext);
                IGPProcessInstanceInfo procInfo = rtm.getProcessInstanceInformation(processInst.getID(),
    userContext.getSAPUser());
                IGPStructureInfo inputstructInfo = processInst.getTemplate().getInputParameters();
                IGPStructure inputparams = GPStructureFactory.getStructure(inputstructInfo);
          } catch (GPEngineException e) {
                // TODO Auto-generated catch block
    //          e.printStackTrace();
                manager.reportException("GPEngineException:"+getStackTrace(e), false);
          } catch (GPInvocationException e) {
                // TODO Auto-generated catch block
    //          e.printStackTrace();
                manager.reportException("GPInvocationException:"+getStackTrace(e), false);
    But printing the values of attributes with u201Cinputparams.getAttributeAs... ("param name")u201C the value returned is always 0. On the contrary if I check the same parameters structure in the runtime
    GP view of the portal, the values are those that I have set in the start process wizard.
    Have you a solution for this question?
    Thanks in advance
    Luca

    hi Abhimanyu
    I believe originally access to session was deliberately not made available inside WDA.
    Growing security concerns due to misuse of session information and
    perhaps other reasons as well.
    X.509  is considered a better approach.
    This may not help you in your problem.
    But you may see a trend in WDA pushing more robust and client independent
    approaches.
    Full x.509 access should remove the need for session fiddling.
    Also when developers access such session info directly, there is a possiblity
    when they dont understand the technology exactly that they create a security hole.
    You may know how to do safely, it is however discouraged.
    Im not aware of a way to get at the session info inside the WDA framework.
    Well not without a mod to the framework.
    It may be possible without a mod, but I dont know the trick.
    If someone has a little trick... please post.
    You may need to use BSP, if your only solution requires access to the session info.
    regards
    Phil

  • Database connection in a WebDynpro Application - urgent

    Hi
    I am facing a problem with database connection. I am trying to develop a normal webdynpro application.
    I want to retrieve data from a table and show it.
    But my query is not giving the expected output. It is not even raising errors.
    Please give me an answer
    Thanks & regards
    Aparnna

    Connection con=null;
      Statement st=null;
      ResultSet rs=null;
    public void wdDoInit()
        //@@begin wdDoInit()
    try
      Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
      con = DriverManager.getConnection("jdbc:odbc:erdsn","root","enteg123");
      st=con.createStatement();
        catch(Exception e){
        //@@end
    public void onActiononClickLogin(com.sap.tc.webdynpro.progmodel.api.IWDCustomEvent wdEvent )
        //@@begin onActiononClickLogin(ServerEvent)
         String desig=null;
    try{
    rs = st.executeQuery("select *  from Login where Empid like uid and Pword like pw");
        if(rs.next()){
               desig=rs.getString("Designation");
         wdComponentAPI.getComponent().getMessageManager().reportSuccess(desig);
        if(desig.equalsIgnoreCase("Employee")){
              wdThis.wdFirePlugEmpOutPlug();
         else
         wdComponentAPI.getComponent().getMessageManager().reportWarning("Invalid input!");
          }catch(Exception e){

  • Need help in developing a webdynpro application using UWL API

    Hi developers,
    Iam developing a new WebDynpro application for UWL using UWL API.the functionality is to dispaly the summary of UWL like number of unread items, total items.
    Iam getting the problem while deploying the application, iam getting warning while deployed the application.
    I have given all possible ways mentioned in the below forum link
    Re: Accessing PortalRuntime at runtime?
    The exact problem is coming at reference file.
    Please giude me how to move forward.
    1. Below is the error when given "tckmcbc.uwl~api" in the service entry
    deployed with warning :
    Finished with warnings: development
    Caught exception during application startup from SAP J2EE Engine's deploy service:
    java.rmi.RemoteException: Error occurred while starting application local/UWLCountDemo and wait. Reason: Clusterwide exception: server ID 21763550:com.sap.engine.services.deploy.container.DeploymentException: Clusterwide exception: Failed to prepare application local/UWLCountDemo for startup. Reason=Clusterwide exception: Failed to start dependent service ''tckmcbc.uwl~api'' of application ''local/UWLCountDemo''. Status of dependent component: STATUS_MISSING. Hint: Is the component deployed correctly on the engine?
    2.Below is the error  when i gave PORTAL:sap.com/tckmcbc.uwl~api in the sharing refernce entry
    Finished with warnings: development
    Caught exception during application startup from SAP J2EE Engine's deploy service:
    java.rmi.RemoteException: Error occurred while starting application local/UWLCountDemo and wait. Reason: Clusterwide exception: server ID 21763550:com.sap.engine.services.deploy.exceptions.ServerDeploymentException: Application local/UWLCountDemo cannot be started. Reason: it has hard reference to resource tckmcbc.uwl~api with type application, which is not active on the server.
    Thanks in Advance
    Sekhar.
    Edited by: sekhar c on Mar 21, 2009 11:24 AM

    Please see Kenichi Unnai in his blog "How to use UWL API for NetWeaver BPM Tasks"
    How to use UWL API for NetWeaver BPM Tasks
    The .sca-file can be found on the sap service marketplace, afterwards you need to import the .sca-file, add the SC to your "MyComponents" and then you can select your necessary DC's.

  • Single Webdynpro Application with multiple JCO Connection ?

    Hi Experts,
    I have a strange requirement ......
    We have a Webdynpro Application which is connected to
    say (using JCO connection)
    client:- A
    now i want to connect the same Webdynpro application to
    Client:- B which is again in the same server as the client A.
    Please help me how to handle this.
    how it possible to connect a single Webdynpro application to two different clients using JCO Connection.
    Please help.
    Points would be rewarded to helpful answers.
    Regards,
    Sanjyoti.

    Hi experts
                        We have to use  wd application for both client at a same time e.g. as follow
    Client A -
    > Travel app--->Featches data from A for   employee hired in client A ,in same server as B
    Client B -
    > Travel app--->Featches data from B for   employee hired in client B , in same server as A
    we  are using same EP for both client but using diffrent roles for employees of both client.
    Please reply asap.

  • Storing the output of BAPI for further use in Webdynpro application

    Hi,
    In my webdynpro application, a BAPI_A is called multiple times from a backend.
    All the previous outputs of the BAPI_A need to be stored in the webdynpro application as they serve as a complete set of input parameters for BAPI_B at the end.
    Can anybody shed light on this temporary storage mechanism of the outputs of the BAPI_A.
    Regards
    Meesum

    Hi Meesum,
    Your BAPI structure
    BAPI_A
    --Output (0..n)
    Field1
    Field2
    Field3
    Field4
    Value node structure
    vnBAPI_A (0..n)
    --vnResult (0..n)
    vaField1
    vaField2
    vaField3
    vaField4
    1. Declare objVnBAPI_A (between begin and end)
    2. Initialize in the vnBAPI_A in the wdDoInit()
    3. After each execution of the BAPI (BAPI_A), create the vnResult and populate the fields of vnResult (from the BAPI_A --> output)
    4. Add the vnResult object to objVnBAPI_A
    Hope this should help you.
    Regards,
    Santhosh.C

  • Calling servlet in a webdynpro application

    Hi,
    I have created a servlet for Authentication , and i have to call this servlet in the webdynpro application(on accessing a link)
    Such that it will automatically take care if authentocation
    Servlet is residing in a Java application and the View is residing in WebDynpro application
    when i call the servlet i have to pass two parameters 1)URL and 2)Filename
    Could anyone please help me out in doing this?
    Thanks & Regards
    Swetha

    Hi Anagha,
    Thank you for the information, i would like share my vague idea on resolving this.....please let me know will it be a possible approach
    Here ew have two projects
    1)WebProject(War file)
    2)EarProject(where webproject is integrated
    Steps
    1)Get the EAR file
    2)Create a portal application
    3)Consume the EAR in the Portal application(by passing parameters)
    4)Create a WebDynpro DC
    5)Here call the portal Application( URL and URL parameters)
    6)Get the URL
    7)Finally we can call the servlet
    Will these steps help in solving this issue
    Thanks & Regards
    Swetha

  • Calling a Webdynpro Application in using WDURLGenerator.getApplicationURL

    Hi,
    I have to call a webdynpro application in an external window using the application name. Please note that no iViews are created out of the application which i am going to call.
    I have DC1 and DC2 and from the Comp Controlller of DC1 , i need to invoke the application in DC2.
    String depObjectName =wdComponentAPI.getDeployableObjectPart().getDeployableObjectName();
    WDDeployableObjectPart depObjectpart=WDDeployableObject.getDeployableObjectPart(depObjectName,"TestApp",WDDeployableObjectPartType.APPLICATION);
    String url = WDURLGenerator.getApplicationURL(depObjectpart) ;
    window = wdComponentAPI.getWindowManager().createNonModalExternalWindow(url,"Test View");
    window.show();
    Is this the correct API to get getDeployableObjectName which is in the different DC.
    Please let me know the correct API which i can use to get the getDeployableObjectName and the subsequently the Application which is availbale in the different DC.
    Thanks and Regards,
    Sekar

    Hi Chintan Virani,
    Thanks for your reply.
    Is it possible to get to know through the APis that the Webdynpro Application Deployed in the server is started.
    I hope some API's will be available.I need to open this application only when it is started.
    I tried this,
    IWDDeployableObject deplObj = WDDeployableObject.getDeployableObject("TestApp");
    if (  deplObj.getState() == WDDeployableObjectState.STARTED ) {
        // do something
    com.sap.tc.webdynpro.services.exceptions.WDRuntimeException: Failed to create deployable object TestApp' since it is not a Web Dynpro object.    null
    Thanks and Regards,
    Sekar

  • WebDynpro Application for WinMobile 6.5

    Hi Experts,
    Can anybody tell if there is an official SAP statement that WebDynpro supports or not Windows Mobile 6.5 devices? I can not find anything about that in the PAM.
    WebDynpro supports the URL Parameter sap-wd-client=PieClient to render WebDynpro applications on mobile Devices (Pocket Internet Explorer in our case). Our application works fine on a 5.5/6.0/6.1 device but with view bugs on a 6.5 device (seems that using ParameterMapping on IWDButton and IWDLinkToAction is ignored).
    Regards
    Michael

    Hello Michael,
    Windows Mobile 6.5 device has to be certified and for this the customer vendors should contact SAP to get it certified.                                                                               
    So, new devices that come out with 6.1 and later versions shall be supported by SAP, provided the devices are certified. Certification will be on a "device-level".                                                                               
    So, all you have to do is to ask your device vendor to get the devices certified with SAP.                                                                               
    So, if a device vendor wants to get a device certified - then they can approach SAP. We shall do the testing and then certify that the device can run SAP NetWeaver Mobile client. So, it does not matter if the device OS is 6.0 or 6.1 or later. We shall certify the device, and then customers can run the application on the certified mobile device.
    I hope this helps you.
    Regards,
    Blanca

Maybe you are looking for

  • ***Error while creating tne applications in Essbase***

    Hi all, We are getting the following error while creating the applications in Essbase console ( we are using Oracle EPM 11.1.1.2 on vmware 2003 server). Error: 1056603 Unable to spawn process for application. Please ensure that adequate memory is ava

  • Oracle 9i Database installation error ORA-27102: out of memory HELP

    Hello Appologies if this post has been answered already, or if I am meant to post some data capture to show what is the issue however i am a bit unsure what I need. I have downloaded oracle 9i for my university course as I need to have it to do some

  • I didn't sync my iphone and I lost my passcode

    I didn't syinc my iPhone to my computer and lost my passcode. My iPhone is now disabled and it says to connect to iTunes. I can not connect to iTunes because it is locked and not synced with my computer. Please help!

  • 3g Mobile Hotspot Connection

    I see from prevoius posting in July that this was an issues. It is now September and I lose connection after about 10 minutes. I have done the *228. Has anyone solved this problem? Medellis

  • How to clean database tables after testing?

    Hello, All ! I'm beginer in eCATT. I have a simple question. My test run some transaction. It put record into database table. I need check some fields of this record. I want run this test avery day. How I can remove record automaticly? It's important