Newbie asking on future of the ABAP Language.

Firstly, I am a newbie and would appreciate your kind patience.
Thank you.
I would like to kindly ask your expert oppinion on the future of the ABAP programming Language.
I read that the ABAP language will be phased out with the JAVA language ?
Is this for real ?
Do you mean that to tell me that all the hard years spent mastering ABAP will all be worthless in the coming few years ?
Any feedback would be well appreciated.
I hope I have not attracted any flames by my newbie question.
Thank you so much for your time.
Andy

Hi Andy,
   It is not true, nobody is saying or in anyway indicating that Java will replace ABAP. Java is being introduced in SAP Netweaver platform as an additional language. Java has some great strenghts, so does ABAP. This is a typical programmer worry, why can't we accept the fact many languages can co-exist (and they are, if you look at the industry as a whole VB, VC++, C#, PHP, PERL etc). Today with SOA we are moving toward a service oriented world, where all that will matter is what service you are providing (not the platform or least the language used to develop it).
As an individual you should not concern yourself too much with programming language, move yourself up in value chain . Think about business solutions, not languages. If I look back at my short career of 6 years as SAP professional, I probably spent not more than 1 year learning the language itself. But rest of the knowledge I gained working with ABAP applies to any language.
Read some trends -
1. Latest version of mySAP ERP the most significant application in SAP portfolio is enhanced with ABAP not Java.
2. Currently the most popular application mySAP CRM, mostly developed using ABAP.
3. APO, BW are all on ABAP.
4. Collectively 99% of SAP Application's business logic is on ABAP.
Even if SAP wants to replace ABAP with Java they will go bankrupt if they try to do it and it will be a disaster because application's  worth comes from it's maturity and maturity comes from usage over a long period.
So my dear friend Andy please sit back and relax. Build upon what you already have rather than throwing it ways.
Cheers,
Sanjeev

Similar Messages

  • The ABAP Language Hotline Service

    Hello there,
    I'm just reading [this document|https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/c2992ca9-0e01-0010-adb1-b7629adb623c]. In the text it mentions something called 'The ABAP Language Hotline Service'. I've never heard of this before. Does anyone know anything about it ?
    thanks,
    Malcolm.

    Hi.
    There is an SAP internal ABAP hotline. It's more or less a direct contact to the language development team. So they deal with the 'real' issues about the language itself. If they don't know the answer there most likely is no answer... As far as I know no way for non inhouse developer to contact them. So maybe that's a good business oportunity. But I don't know of there is a good market for such a hotline. I only called them once in the past three years. Most problems that I encounter when programming ABAP are not problems with the language itself. And nearly every question regarding ABAP is answered in the online help. Pressing F1 is such a simple concept but I've never seen any other programming language where it works as nice.
    Regarding the article: The two authors are the real experts in ABAP. If they tell you that 2 + 2 is 5 in ABAP you better believe it. Most likely they could deliver a SAP Note / Kernel patch that changes arithemtics
    /Jan

  • A few questions to the abap development team...

    Dear Developers,
    I am submitting these questions to the ABAP development team at SAP regarding the language capabilities.
    Coming from the Java/C world I am wondering if you plan the following possible "evolutions" of the ABAP language :
       - a real boolean implementation in ABAP like in Java or C; possibly a OO class implementation with full operators;
       -> the possibilty to write conditionnal expressions or assignements like the followings :
       x = ( a and not b).
       if (x or f(x)=false) then ...
       - possibility in ABAP to nest function calls on objects like in most every OO language (java, c++, ruby...etc ) : x = a.b().c()
      - Concerning the ABAP editor :
         - fixing the problem with the drag n drop problem from the class browser to the source editor of long method+class/interface names
         - real code completion on objects (no heuristic approach) by providing access to method or attribute names like in most OO IDEs
    Any info could be interesting
    Best Regards,
    Olivier MATT
    Edited by: olivier matt on Jan 14, 2008 11:02 AM

    now that could be really interesting if you'd just tell us the questions!
    Edit: questions have been added

  • Change to the runtime the logon language with ABAP

    Hello,
    I have a  question.
    Is it possible to change to the runtime the logon language?
    With the URL-parameter example it worked.
    http://www.****bsp/sap/z_page/default.htm?sap-language=en
    But I need this in the event handler with ABAP coding.
    thanks Eren

    you can either use
    CL_HTTP_UTILITY->IF_HTTP_UTILITY~SET_REQUEST_URI
    uri = sap-language=FR
    or
    CL_HTTP_REQUEST->IF_HTTP_ENTITY~SET_FORM_FIELD
    name = sap-client
    value = FR
    or
    use
    SET LOCALE LANGUAGE 'S'. within your abap coding
    Regards
    Raja

  • HT1750 I changed the keyboard language from English to Vietnamese, then the computer went into slee. I turn it on, it asks for the password, but the keyboard doesn't take vowels. what can I do?

    I changed the keyboard language from English to Vietnamese, then the computer went into slee. I turn it on, it asks for the password, but the keyboard doesn't take vowels. what can I do?

    You may want to wait for others to see this thread who might offer some other suggestions, but you could consider resetting the password. These instructions work for Lion (10.7.x) and Mountain Lion (10.8.x).
    http://osxdaily.com/2011/08/24/reset-mac-os-x-10-7-lion-password/

  • I changed the keyboard language from English to Vietnamese, then the computer went into sleep. I turn it on, it asks for the password, but the keyboard doesn't take vowels. what can I do?

    I changed the keyboard language from English to Vietnamese, then the computer went into sleep. I turn it on, it asks for the password, but the keyboard doesn't take vowels. what can I do?

    You may want to wait for others to see this thread who might offer some other suggestions, but you could consider resetting the password. These instructions work for Lion (10.7.x) and Mountain Lion (10.8.x).
    http://osxdaily.com/2011/08/24/reset-mac-os-x-10-7-lion-password/

  • When I switch on my brand new iPad it asks me to move the slide to begin set-up. A list of languages appear and I tick English and then next. Another list of languages appear but nothing else happens. I press Back and it goes back to the first list and a

    When I switch on my new iPad it asks me to move the slider to begin set-up. A list of languages appears and I tick English then NEXT. Another list of languages appears and the only thing to do is press the home button or BACK. I press BACK and it returns to the first list. I press the home button and a message appears saying that SET-UP was not completed do you wish to retry or continue. I press CONTINUE and nothing happens I press RETRY and it goes back to the message. What am I doing wrong or do I need to connect to I-Tunes to set-up ?

    Try to connect to iTunes during the setup.

  • The programming language of the future: a philosophical question

    So after reading some of these posts and reflecting on the history of programming languages, I find myself wondering what the programming language of the future will be? As the human-computer interface evolves (touch interfaces, voice recognition, computer vision, etc) how will this influence the process of creating computer programs? Will programming become more graphical (e.g. flow charts, UML diagrams, etc)? Setting ego's aside, does it make sense for programming to be more graphical? Will we reach a point where we can essentially just sketch out a concept and let the compiler/interpreter handle the rest?
    Perhaps this question is best left to Clark and Asimov, but they're dead. This leaves you guys.
    (Moderator, I apologize in advance if this is out of scope for this forum.)
    Last edited by bsilbaugh (2011-11-23 01:15:47)

    geniuz wrote:I think the mistake of the scientist in question was not that he re-derived the Trapezoid Rule, but that he published it as if it was a new invention, while it existed and was already published in some form. That certainly could be prevented by reconciling to literature before publishing. In fact, I'd not even blame the scientist in question too much, rather the commission that approved his paper to be published in the first place.
    Sure, he didn't publish the paper in isolation - but the peers who reviewed it would have been people from the same or a related profession. My point is that this kind of error results from splintering of the disciplines. You seem to think that the splintering should be somehow undone or reversed at the level of the peer reviewer or the publisher - but non-specialists (or specialists in other areas) will not be invited to comment, because it will be assumed that they lack the qualifications to do so.
    geniuz wrote:Still, I think its a long stretch to compare the derivation of a Mathematical rule or method to the invention of a complete DSL.
    I think I didn't make it clear where I was going with that. My point was that splintering of specialisations from each other permitted this duplication of effort to take place. I see DSLs as a way to splinter disciplines from each other. Thus, the rise of DSLs would make it easier for duplicate effort to take place.
    geniuz wrote:The whole point of a DSL is that it allows experts in a specific domain to focus their efforts on creatively solving problems directly related to their field of expertise. When specific DSL's are integrated in university curricula world-wide, I hardly think there will be much duplicate effort going on.
    Sorry, but this seems a little naive to me. I can see why you might think DSLs would permit specialists to more efficiently focus on solving their particular problems, and I don't entirely disagree, but even if it's true, I don't think it's controversial to think this will lead to considerably more duplicate effort.
    geniuz wrote:Also, in the world of OSS, there are multiple tools that can perform the exact same job. Do you for instance consider the existence of both of the mail clients Mutt and Alpine as duplicate effort?
    I haven't used Alpine, but if it's exactly like Mutt, then sure, I would certainly say that's duplicate effort. The more people who use one single piece of software, the more bugs can be filed against that software.
    Also, I think this is a false analogy from the start. Mutt and Alpine are both written in C. If we're talking about the connection between duplicate effort and DSLs, let's consider the fact that "communicating and storing computational models of biological processes" (from the Wikipedia page on SBML) could be better done in Lisp, Lex/Yacc, or with the Lemon C++ library, instead of coming up with some new way of using harmful XML.
    geniuz wrote:I still don't quite see how this can be interpreted as a necessary weakness or argument against more complex systems. Sure, DSLs can be dependent upon lower level languages, but if they are considered to increase the effectiveness and efficiency of certain experts, what exactly stops them from becoming dominant and continually evolving?
    The fact that higher and higher levels of specialisation are concomitant with smaller and smaller user bases who still need to communicate with experts in other groups. I'm not saying DSLs should never be used. I just think they are essentially self-limiting, and just as bacteria will long outlive us more complicated life-forms, so too will the lower-level languages long outlive more cumbersome DSLs.
    geniuz wrote:I wasn't implying computers will ever be able to mimic the human brain, and I'm not even sure whether it is something we necessarily want to strive for. All I was saying is that computers have already become indispensable tools in virtually every scientific and engineering discipline. They are computationally strong machines able to solve numerically involved problems at rates no human can ever hope to accomplish. It is this very aspect that will continue to guarantee the succes of computers, not AI per se. Again, I believe computers will never (at least not while I'm alive) be able to truly independently mimic and outperform the human brain, especially when it comes to aspects like creativity, i.e. the very aspects of human intelligence scientists have not even been able to understand and quantify to this date. Hence, humans will always remain "in the loop" to a large extent.
    This all seems reasonable.
    geniuz wrote:Don't forget that laws of physics are "laws" that have been defined and created by humankind for its own convenience. Even recently this year, practice has shown that a concept as fundamental as the speed of light might not be as accurate as it was so widely acknowledged by the scientific community. This however hasn't stopped mankind from using these fundamental "laws" to invent e.g. radio communication and electronic devices.
    I don't think you're disagreeing with me. I'm aware of the fragile nature of what we call the laws of physics - but like you say, they're good enough that we can do things with them. It looks like our knowledge of the speed of light breaks down on really large length scales, and it looks like our knowledge of gravity breaks down on really small length scales, but the brain is in the middle. In between, our models for how the physical world works are very accurate, and it is in this regime that the brain operates.
    Also, you should note that most scientists regard those neutrino test results as residing within the bounds of experimental error, and therefore not strongly indicative that the neutrinos really did break light speed.
    geniuz wrote:I haven't said low-level languages will be abandoned completely, I think they will remain to serve their purpose as a base upon which higher level languages (like DSLs) are built. In that sense, I believe that the user base of these low level languages will become more limited to computer scientists, i.e. to the people responsible for "formulating suitable abstractions to design and model complex systems" (source).
    Seems reasonable.
    geniuz wrote:Having said that, I still don't see why it so farfetched that for the rest of the world, physically telling a computer what to do in their native tongue as opposed to typing it in some generic-text programming language, will become the de-facto standard. Hence, I will reformulate my statement by stating that programming as most people know it today will eventually become a redundant practice.
    I don't think a friendly human interface should be considered the same as programming. This thread, if we recall the OP, is about programming languages of the future, not user interfaces of the future. I certainly agree that user interfaces will become more intelligent and attractive. I only disagree that this will have any strong impact on how we do programming.
    Last edited by /dev/zero (2011-12-12 19:20:59)

  • How to see the abap code in sql language.

    hello gurus,
      very simply put,i dont know sql,but have to write some basic select queries to talk to oracle db...
    i would like to see the SQL transaltion of the ABAP code which i cant write.
    for eg: SELECT SINGLE * FROM MARA WHERE MATNR = 'XXXX'.
    How wud u write this on ORACLE.
    i would also like to see for all entries etc...
    NOW,i have tries st05..it doesnt give meaningful sql..
    pls help

    hai
    i wrote this in se38
    report zdsd.
    data wmatnr type mara.
    select single * from mara into wmatnr where matnr = '0001'.
    write wmatnr.
    _from st05_
           41 PROGDIR    REOPEN      0      0 SELECT WHERE "NAME" = 'ZTEST123' AND "STATE" = 'A'
        1,182 PROGDIR    FETCH       1      0
            4 DWINACTIV  REOPEN      0      0 SELECT WHERE "OBJECT" = 'REPS' AND "OBJ_NAME" = 'ZTEST123'
          592 DWINACTIV  FETCH       0   1403
            8 MARA       REOPEN      0      0 SELECT WHERE "MANDT" = '001' AND "MATNR" = '0001'
        9,388 MARA       FETCH       1      0
    i would like
    select matnr
    into :vi_matnr
    from PPS_SUB_BDZ.lm1_lagerpl
    where matnr = '0001'
    basicaly i need to work on new database (NON SAP) by making connections..
    i write the code in FM's in ABAP.
    I write Select queries between EXEC SQL. and
    ENDEXEC.
    I have to use SELECT SINGLE...FOR ALL ENTRIES ...counterparts now...

  • RE: ABAP QUESTIONS ASKED AT ONE OF THE INTERVIEW

    Which software component in the work process controls both commit and rollbacks? 
    "      Woman is generally one for Commitment, Man for Rollback.
    Can the IDoc be passed to multiple servers ? If yes how? if no why?
    "      The Eye Doc serves multiple people, but one at a time with an appointment.
    When will be the RFC Connection Closed?
    "      The RFC Connection never closes – open 24 hours – bit of a rough club though.
    Waht are the types of transport requests?
    "      Land, Sea, Air, Rail.
    How many At-Exit commands are possible in PBO Module?
    "      Depends how big they are – you can pack lots more small ones in – not sure if this counts towards record.
    What are the ABAP Statements to create a new internal session in the same external session?
    "      Open Sesame.
    Are all the BAPIs are Auto-committed? if no,How to do it?
    "      Some are / some aren’t – see answer to Q 1.
    How many secondary indexes are possible for a table?
    "      There should be four for a normal table, one at each corner to keep it level.
    For F1 help,where will be the data come from?
    "      The FIA’s World Motorsport Council is the controlling body for F1 – they should provide data.
    Which statement stops the execution of current screen?
    "      The execution will only be stopped on receipt of a signed pardon from the governor.
    What will be the statement to send the values among indentical fieldnames between structures?
    "      True identical fieldnames with identical DNA make up 0.2% of the world’s population – values are sent between them by normal speech.
    The file RGS does not exist in application server .what happens if we write OPEN DATASET RGS FOR APPENDING?
    "      Only a qualified doctor should open your dataset up to check or remove your APPENDING.
    What is the tcode to adjust a table?
    "      The tcode to adjust a table depends on what is wrong – if not level, use a saw – if loose, use a hammer.
    What is the difference between Message and message types?
    "      The types message has been prepared on a typeswriter, the Message has been hand writ.
    Partner profiles stores in table -
    "      Normally stores in drawer under table.
    online messages will be in which table?
    "      The messages are normally left on side of fridge, not on table.
    SMOD and CMOD Enhancements will be stored in----
    "      The MOD Squad storeroom (or did you mean British M.O.D.? – they store stuff all over England).
    Call Screen Vs Set screen?
    "      The Call screen stops the kids from getting inappropriate phone calls.  The Set screen can be left in place in front of fire place to stop sparks.
    Use of MODIFY SCREEN?
    "      To fit it around the fire place.
    What is the program to verify the RFC Logs?
    "      There is no need to verify – just toss them on the fire – all logs burn.
    In LSMW,after creating the structure definitions,what are the programs that are generated?
    "      The generator runs on LPG not LSMW.  Only use it when the power goes off.
    looking for the answers and It may be very helpful to all the ABAPers.
    Thanks to SDN Community for Sharing.
    Sorry,
    Couldn't resist.
    Andrew

    just tried open sesame cause it sounded quiet usefull.
    "DATASET ...", "CURSOR ... FOR SELECT", or "CURSOR WITH HOLD ... FOR
    SELECT" expected after "OPEN" .
    hmmm .. what now ... can't get my job done ...
    what is dataset?
    what is cursor and what is it good for?
    what is ... and how do i use it?
    what is for select?
    what isCURSOR WITH HOLD ... FOR SELECT and what can a cursor hold?
    what is OPEN?
    Message was edited by:
            Sascha Dingeldey

  • Termination occurred in the ABAP program "RK2APA00_POST" - in

    Hi everybody...I have a cancelled job when run only in applications servers , I see a dump "message typeX" , but when job run in Central Instance not cancelled and finish ok.
    The name Job is Zcupon and attach to continue dump info , sorry for extended but I want send all information possible.
    know if you can add a file with the abstract and not have to paste the text of the dump, thanks for the help they can deliver.
    Regards....Freddy Solar....
    Errores tiempo ejec.   MESSAGE_TYPE_X
    Fecha y hora           18.11.2008 06:35:30
    Texto breve
    The current application triggered a termination with a short dump.
    ¿Qué ha sucedido?
    The current application program detected a situation which really
    should not occur. Therefore, a termination with a short dump was
    triggered on purpose by the key word MESSAGE (type X).
    Anál.errores
    Short text of error message:
    RFC_ERROR 4 Conversation 93690218 not found / CPIC-CALL: 'ThSA
    Technical information about the message:
    Message classe...... "KE"
    Number.............. 628
    Variable 1.......... "RFC_ERROR"
    Variable 2.......... 4
    Variable 3.......... "Conversation 93690218 not found / CPIC-CALL: 'ThSA"
    Variable 4.......... " "
    Last error logged in SAP kernel
    Component............ "SAP-Gateway"
    Place................ "SAP-Gateway on host SCPAPP1 / sapgw03"
    Version.............. 2
    Error code........... 728
    Error text........... "Conversation 93690218 not found"
    Description.......... " "
    System call.......... " "
    Module............... "gwxxrd.c"
    Line................. 6156
    The error reported by the operating system is:
    Error number..... " "
    Error text....... " "
    Notas para corregir errores
    Probably the only way to eliminate the error is to correct the program.
    You may able to find an interim solution to the problem
    in the SAP note system. If you have access to the note system yourself,
    please use the following search criteria:
    "RK2APA00_POST" "MESSAGE_TYPE_X"
    If you cannot solve the problem yourself, please send the
    following documents to SAP:
    1. A hard copy print describing the problem.
    To obtain this, select the "Print" function on the current screen.
    2. A suitable hardcopy prinout of the system log.
    To obtain this, call the system log with Transaction SM21
    and select the "Print" function to print out the relevant
    part.
    3. If the programs are your own programs or modified SAP programs,
    supply the source code.
    To do this, you can either use the "PRINT" command in the editor or
    print the programs using the report RSINCL00.
    4. Details regarding the conditions under which the error occurred
    or which actions and input led to the error.
    Entorno sistema
    SAP-Release 700
    Application server... "SCPAPP1"
    Network address...... "10.1.40.130"
    Operating system..... "Windows NT"
    Release.............. "5.2"
    Hardware type........ "4x AMD64 Level"
    Character length.... 16 Bits
    Pointer length....... 64 Bits
    Work process number.. 3
    Shortdump setting.... "full"
    Database server... "BALTICO"
    Database type..... "DB400"
    Database name..... "SCP"
    Database user ID.. "R3SCPDATA"
    Char.set.... "C"
    SAP kernel....... 700
    created (date)... "Jun 30 2008 00:10:07"
    create on........ "NT 5.2 3790 Service Pack 1 x86 MS VC++ 14.00"
    Database version. "DB4_53"
    Patch level. 167
    Patch text.. " "
    Database............. "V5R3, V5R4, V6R1"
    SAP database version. 700
    Operating system..... "Windows NT 5.0, Windows NT 5.1, Windows NT 5.2, Windows
    NT 6.0"
    Memory consumption
    Roll.... 16192
    EM...... 159213920
    Heap.... 0
    Page.... 5660672
    MM Used. 145143664
    MM Free. 5680112
    Usuario y transacción
    Client.............. 400
    User................ "ZUSRTARJETAS"
    Language key........ "S"
    Transaction......... " "
    Program............. "RK2APA00_POST"
    Screen.............. "SAPMSSY0 1000"
    Screen line......... 6
    Info posición de cancelación
    Termination occurred in the ABAP program "RK2APA00_POST" - in
    "INSERT_CE4_FLUSH_BUFFERS".
    The main program was "ZVI_CUPON ".
    In the source code you have the termination point in line 100
    of the (Include) program "RKEVRK2A_POST_COMMIT__FIX".
    The program "RK2APA00_POST" was started as a background job.
    Job Name....... "ZCUPON"
    Job Initiator.. "ZUSRTARJETAS"
    Job Number..... 02044200
    Detalle código fuente
    Lín.
    Txt.fte.
    70
    subrc = sy-subrc.
    71
    CLEAR: g_t_ce4a_dbbuf[], g_t_ce4_dbbuf[].
    72
    73
    case subrc.
    74
    when 1.
    75
        Records were to be inserted into the acct.ref. table CE4xxxx_ACCT
    76
        but the acct. reference numbers were already occupied. Most likely
    77
        This problem is due to a explicit or implicit change to the
    78
        number range COPA_OBJ (subobject is the operating concern)
    79
        e.g. caused by illegally transporting the contents of CO-PA
    80
        transaction data table contents (CE4xxxx / CE4xxxx_ACCT).
    81
        Please check OSS for notes with keywords RKEVRK2A_POST, KF216
    82
        and CE4XXXX_ACCT. If you do not find any applicable notes please
    83
        log an OSS message.
    84
    MESSAGE x216(kf) WITH gc_ce4acct_name.
    85
    86
    when 2.
    87
        Records were to be inserted into the segment table CE4xxxx
    88
        but the segment numbers were already occupied. Most likely
    89
        This problem is due to a explicit or implicit change to the
    90
        number range COPA_OBJ (subobject is the operating concern)
    91
        e.g. caused by illegally transporting the contents of CO-PA
    92
        transaction data table contents (CE4xxxx).
    93
        Please check OSS for notes with keywords RKEVRK2A_POST, KF203
    94
        and CE4XXXX. If you do not find any applicable notes please
    95
        log an OSS message.
    96
    MESSAGE x203(kf).
    97
    98
    when 3 or 4.
    99
        Communication error in RFC-Call
    >>>>>
    message x628(ke) with 'RFC_ERROR' subrc msg_text.
    101
    102
    endcase.
    103
    104
    ENDFORM.
    105
    Edited by: freddy solar on Jan 2, 2009 8:39 PM

    Hi,
    it looks like you have some problem with RFC. It stopped on the following line:
    * Communication error in RFC-Call
    message x628(ke) with 'RFC_ERROR' subrc msg_text.
    Ask your basis guy to check it. The job on application server tried to connect to the central instance and it failed. The job run on central instance does not need to make any RFC call. Hence there is no problem in this case.
    Regards

  • How to consume the Abap web service in Java web-dynpro

    Hi Everyone,
    I want to consume ABAP web service in java web dynpro.
    so when i tried to create model in java web-dynpro, it gave me an error message saying "Invalid WSDL or WSDL not found".
    i think this error message is because, to access the WSDL of abap web-service, we need username and password, but the dialog box in java web-dynpro is not programmed to take username and password from us and send it to the server to get the WSDL.
    i came to this conclusion because i was able to successfully test my abap web-service in java portal. the java portal asked me the username and password to open the WSDL.
    So, please help me to consume the abap web service in java web-dynpro.
    Thanks in advance
    Regards
    Vikas

    Hi Vikas ,
       while creating a model in web-dynpro try to use the "import web service model" option and if you are using local server choose the local server option so that you can get the available web services which are in server, select one among them and continue you process.I think this is the some what easy way .
    If you want use the URL for wsdl better to once test the available service in server and copy that WSDL URL and paste over  WSDL textbox.
    I think this is pretty help ful to you
    Best Regards
    Srikatnh

  • How to change the default language?

    How to change the default language of the Ubuntu desktop and of the Firefox program to Norwegian or Danish?

    While this isn't the appropriate venue to ask about changing the default language in Ubuntu, the snide forum link above lazily fails to address the Firefox language issue, and unfortunately this link now comes up on the first page of google searches about the default language in firefox.
    To change Firefox's default language, go to Edit -> Preferences -> Content, and click the "Choose" button under the Languages heading.
    To change the default language of your spell checker, right click on any text area and find the "Languages" entry in the menu, then select the language of your choice.

  • How to set the return language? i read the api already

    import java.io.*;
    import java.util.*;
    class Listing_Available_Locales
         public static void main(String args[])   
             Locale[] locales = Locale.ENGLISH(); //error is here
                             //Locale[] locales = Locale.getAvailableLocales(); //this line no error
             for (int i=0; i<locales.length; i++) {
                 // Get the 2-letter language code
                 String language = locales.getLanguage();
         // Get the 2-letter country code; may be equal to ""
         String country = locales[i].getCountry();
         // Get localized name suitable for display to the user
         String locName = locales[i].getDisplayName();
         System.out.println(language+" "+country+" "+locName);
    local api is like below
    java.util
    Class Locale
    java.lang.Object
    java.util.Locale
    All Implemented Interfaces:
    Cloneable, Serializable
    public final class Locale
    extends Object
    implements Cloneable, Serializable
    A Locale object represents a specific geographical, political, or cultural region. An operation that requires a Locale to perform its task is called locale-sensitive and uses the Locale to tailor information for the user. For example, displaying a number is a locale-sensitive operation--the number should be formatted according to the customs/conventions of the user's native country, region, or culture.
    Create a Locale object using the constructors in this class:
    Locale(String language)
    Locale(String language, String country)
    Locale(String language, String country, String variant)
    The language argument is a valid ISO Language Code. These codes are the lower-case, two-letter codes as defined by ISO-639. You can find a full list of these codes at a number of sites, such as:
    http://www.ics.uci.edu/pub/ietf/http/related/iso639.txt
    The country argument is a valid ISO Country Code. These codes are the upper-case, two-letter codes as defined by ISO-3166. You can find a full list of these codes at a number of sites, such as:
    http://www.chemie.fu-berlin.de/diverse/doc/ISO_3166.html
    The variant argument is a vendor or browser-specific code. For example, use WIN for Windows, MAC for Macintosh, and POSIX for POSIX. Where there are two variants, separate them with an underscore, and put the most important one first. For example, a Traditional Spanish collation might construct a locale with parameters for language, country and variant as: "es", "ES", "Traditional_WIN".
    Because a Locale object is just an identifier for a region, no validity check is performed when you construct a Locale. If you want to see whether particular resources are available for the Locale you construct, you must query those resources. For example, ask the NumberFormat for the locales it supports using its getAvailableLocales method.
    Note: When you ask for a resource for a particular locale, you get back the best available match, not necessarily precisely what you asked for. For more information, look at ResourceBundle.
    The Locale class provides a number of convenient constants that you can use to create Locale objects for commonly used locales. For example, the following creates a Locale object for the United States:
    Locale.US
    Once you've created a Locale you can query it for information about itself. Use getCountry to get the ISO Country Code and getLanguage to get the ISO Language Code. You can use getDisplayCountry to get the name of the country suitable for displaying to the user. Similarly, you can use getDisplayLanguage to get the name of the language suitable for displaying to the user. Interestingly, the getDisplayXXX methods are themselves locale-sensitive and have two versions: one that uses the default locale and one that uses the locale specified as an argument.
    The Java 2 platform provides a number of classes that perform locale-sensitive operations. For example, the NumberFormat class formats numbers, currency, or percentages in a locale-sensitive manner. Classes such as NumberFormat have a number of convenience methods for creating a default object of that type. For example, the NumberFormat class provides these three convenience methods for creating a default NumberFormat object:
    NumberFormat.getInstance()
    NumberFormat.getCurrencyInstance()
    NumberFormat.getPercentInstance()
    These methods have two variants; one with an explicit locale and one without; the latter using the default locale.
    NumberFormat.getInstance(myLocale)
    NumberFormat.getCurrencyInstance(myLocale)
    NumberFormat.getPercentInstance(myLocale)
    A Locale is the mechanism for identifying the kind of object (NumberFormat) that you would like to get. The locale is just a mechanism for identifying objects, not a container for the objects themselves.
    Each class that performs locale-sensitive operations allows you to get all the available objects of that type. You can sift through these objects by language, country, or variant, and use the display names to present a menu to the user. For example, you can create a menu of all the collation objects suitable for a given language. Such classes must implement these three class methods:
    public static Locale[] getAvailableLocales()
    public static String getDisplayName(Locale objectLocale,
    Locale displayLocale)
    public static final String getDisplayName(Locale objectLocale)
    // getDisplayName will throw MissingResourceException if the locale
    // is not one of the available locales.
    Since:
    1.1
    See Also:
    ResourceBundle, Format, NumberFormat, Collator, Serialized Form
    Field Summary
    static Locale CANADA
    Useful constant for country.
    static Locale CANADA_FRENCH
    Useful constant for country.
    static Locale CHINA
    Useful constant for country.
    static Locale CHINESE
    Useful constant for language.
    static Locale ENGLISH
    Useful constant for language.
    static Locale FRANCE
    Useful constant for country.
    static Locale FRENCH
    Useful constant for language.
    static Locale GERMAN
    Useful constant for language.
    static Locale GERMANY
    Useful constant for country.
    static Locale ITALIAN
    Useful constant for language.
    static Locale ITALY
    Useful constant for country.
    static Locale JAPAN
    Useful constant for country.
    static Locale JAPANESE
    Useful constant for language.
    static Locale KOREA
    Useful constant for country.
    static Locale KOREAN
    Useful constant for language.
    static Locale PRC
    Useful constant for country.
    static Locale SIMPLIFIED_CHINESE
    Useful constant for language.
    static Locale TAIWAN
    Useful constant for country.
    static Locale TRADITIONAL_CHINESE
    Useful constant for language.
    static Locale UK
    Useful constant for country.
    static Locale US
    Useful constant for country.
    Constructor Summary
    Locale(String language)
    Construct a locale from a language code.
    Locale(String language, String country)
    Construct a locale from language, country.
    Locale(String language, String country, String variant)
    Construct a locale from language, country, variant.
    Method Summary
    Object clone()
    Overrides Cloneable
    boolean equals(Object obj)
    Returns true if this Locale is equal to another object.
    static Locale[] getAvailableLocales()
    Returns a list of all installed locales.
    String getCountry()
    Returns the country/region code for this locale, which will either be the empty string or an upercase ISO 3166 2-letter code.
    static Locale getDefault()
    Gets the current value of the default locale for this instance of the Java Virtual Machine.
    String getDisplayCountry()
    Returns a name for the locale's country that is appropriate for display to the user.
    String getDisplayCountry(Locale inLocale)
    Returns a name for the locale's country that is appropriate for display to the user.
    String getDisplayLanguage()
    Returns a name for the locale's language that is appropriate for display to the user.
    String getDisplayLanguage(Locale inLocale)
    Returns a name for the locale's language that is appropriate for display to the user.
    String getDisplayName()
    Returns a name for the locale that is appropriate for display to the user.
    String getDisplayName(Locale inLocale)
    Returns a name for the locale that is appropriate for display to the user.
    String getDisplayVariant()
    Returns a name for the locale's variant code that is appropriate for display to the user.
    String getDisplayVariant(Locale inLocale)
    Returns a name for the locale's variant code that is appropriate for display to the user.
    String getISO3Country()
    Returns a three-letter abbreviation for this locale's country.
    String getISO3Language()
    Returns a three-letter abbreviation for this locale's language.
    static String[] getISOCountries()
    Returns a list of all 2-letter country codes defined in ISO 3166.
    static String[] getISOLanguages()
    Returns a list of all 2-letter language codes defined in ISO 639.
    String getLanguage()
    Returns the language code for this locale, which will either be the empty string or a lowercase ISO 639 code.
    String getVariant()
    Returns the variant code for this locale.
    int hashCode()
    Override hashCode.
    static void setDefault(Locale newLocale)
    Sets the default locale for this instance of the Java Virtual Machine.
    String toString()
    Getter for the programmatic name of the entire locale, with the language, country and variant separated by underbars.
    Methods inherited from class java.lang.Object
    finalize, getClass, notify, notifyAll, wait, wait, wait
    Field Detail
    ENGLISH
    public static final Locale ENGLISHUseful constant for language.
    FRENCH
    public static final Locale FRENCHUseful constant for language.
    GERMAN
    public static final Locale GERMANUseful constant for language.
    ITALIAN
    public static final Locale ITALIANUseful constant for language.
    JAPANESE
    public static final Locale JAPANESEUseful constant for language.
    KOREAN
    public static final Locale KOREANUseful constant for language.
    CHINESE
    public static final Locale CHINESEUseful constant for language.
    SIMPLIFIED_CHINESE
    public static final Locale SIMPLIFIED_CHINESEUseful constant for language.
    TRADITIONAL_CHINESE
    public static final Locale TRADITIONAL_CHINESEUseful constant for language.
    FRANCE
    public static final Locale FRANCEUseful constant for country.
    GERMANY
    public static final Locale GERMANYUseful constant for country.
    ITALY
    public static final Locale ITALYUseful constant for country.
    JAPAN
    public static final Locale JAPANUseful constant for country.
    KOREA
    public static final Locale KOREAUseful constant for country.
    CHINA
    public static final Locale CHINAUseful constant for country.
    PRC
    public static final Locale PRCUseful constant for country.
    TAIWAN
    public static final Locale TAIWANUseful constant for country.
    UK
    public static final Locale UKUseful constant for country.
    US
    public static final Locale USUseful constant for country.
    CANADA
    public static final Locale CANADAUseful constant for country.
    CANADA_FRENCH
    public static final Locale CANADA_FRENCHUseful constant for country.
    Constructor Detail
    Locale
    public Locale(String language,
    String country,
    String variant)Construct a locale from language, country, variant. NOTE: ISO 639 is not a stable standard; some of the language codes it defines (specifically iw, ji, and in) have changed. This constructor accepts both the old codes (iw, ji, and in) and the new codes (he, yi, and id), but all other API on Locale will return only the OLD codes.
    Parameters:
    language - lowercase two-letter ISO-639 code.
    country - uppercase two-letter ISO-3166 code.
    variant - vendor and browser specific code. See class description.
    Throws:
    NullPointerException - thrown if any argument is null.
    Locale
    public Locale(String language,
    String country)Construct a locale from language, country. NOTE: ISO 639 is not a stable standard; some of the language codes it defines (specifically iw, ji, and in) have changed. This constructor accepts both the old codes (iw, ji, and in) and the new codes (he, yi, and id), but all other API on Locale will return only the OLD codes.
    Parameters:
    language - lowercase two-letter ISO-639 code.
    country - uppercase two-letter ISO-3166 code.
    Throws:
    NullPointerException - thrown if either argument is null.
    Locale
    public Locale(String language)Construct a locale from a language code. NOTE: ISO 639 is not a stable standard; some of the language codes it defines (specifically iw, ji, and in) have changed. This constructor accepts both the old codes (iw, ji, and in) and the new codes (he, yi, and id), but all other API on Locale will return only the OLD codes.
    Parameters:
    language - lowercase two-letter ISO-639 code.
    Throws:
    NullPointerException - thrown if argument is null.
    Since:
    1.4
    Method Detail
    getDefault
    public static Locale getDefault()Gets the current value of the default locale for this instance of the Java Virtual Machine.
    The Java Virtual Machine sets the default locale during startup based on the host environment. It is used by many locale-sensitive methods if no locale is explicitly specified. It can be changed using the setDefault method.
    Returns:
    the default locale for this instance of the Java Virtual Machine
    setDefault
    public static void setDefault(Locale newLocale)Sets the default locale for this instance of the Java Virtual Machine. This does not affect the host locale.
    If there is a security manager, its checkPermission method is called with a PropertyPermission("user.language", "write") permission before the default locale is changed.
    The Java Virtual Machine sets the default locale during startup based on the host environment. It is used by many locale-sensitive methods if no locale is explicitly specified.
    Since changing the default locale may affect many different areas of functionality, this method should only be used if the caller is prepared to reinitialize locale-sensitive code running within the same Java Virtual Machine, such as the user interface.
    Parameters:
    newLocale - the new default locale
    Throws:
    SecurityException - if a security manager exists and its checkPermission method doesn't allow the operation.
    NullPointerException - if newLocale is null
    See Also:
    SecurityManager.checkPermission(java.security.Permission), PropertyPermission
    getAvailableLocales
    public static Locale[] getAvailableLocales()Returns a list of all installed locales.
    getISOCountries
    public static String[] getISOCountries()Returns a list of all 2-letter country codes defined in ISO 3166. Can be used to create Locales.
    getISOLanguages
    public static String[] getISOLanguages()Returns a list of all 2-letter language codes defined in ISO 639. Can be used to create Locales. [NOTE: ISO 639 is not a stable standard-- some languages' codes have changed. The list this function returns includes both the new and the old codes for the languages whose codes have changed.]
    getLanguage
    public String getLanguage()Returns the language code for this locale, which will either be the empty string or a lowercase ISO 639 code.
    NOTE: ISO 639 is not a stable standard-- some languages' codes have changed. Locale's constructor recognizes both the new and the old codes for the languages whose codes have changed, but this function always returns the old code. If you want to check for a specific language whose code has changed, don't do
    if (locale.getLanguage().equals("he")
    Instead, do
    if (locale.getLanguage().equals(new Locale("he", "", "").getLanguage())
    See Also:
    getDisplayLanguage()
    getCountry
    public String getCountry()Returns the country/region code for this locale, which will either be the empty string or an upercase ISO 3166 2-letter code.
    See Also:
    getDisplayCountry()
    getVariant
    public String getVariant()Returns the variant code for this locale.
    See Also:
    getDisplayVariant()
    toString
    public final String toString()Getter for the programmatic name of the entire locale, with the language, country and variant separated by underbars. Language is always lower case, and country is always upper case. If the language is missing, the string will begin with an underbar. If both the language and country fields are missing, this function will return the empty string, even if the variant field is filled in (you can't have a locale with just a variant-- the variant must accompany a valid language or country code). Examples: "en", "de_DE", "_GB", "en_US_WIN", "de__POSIX", "fr__MAC"
    Overrides:
    toString in class Object
    Returns:
    a string representation of the object.
    See Also:
    getDisplayName()
    getISO3Language
    public String getISO3Language()
    throws MissingResourceExceptionReturns a three-letter abbreviation for this locale's language. If the locale doesn't specify a language, this will be the empty string. Otherwise, this will be a lowercase ISO 639-2/T language code. The ISO 639-2 language codes can be found on-line at ftp://dkuug.dk/i18n/iso-639-2.txt
    Throws:
    MissingResourceException - Throws MissingResourceException if the three-letter language abbreviation is not available for this locale.
    getISO3Country
    public String getISO3Country()
    throws MissingResourceExceptionReturns a three-letter abbreviation for this locale's country. If the locale doesn't specify a country, this will be tbe the empty string. Otherwise, this will be an uppercase ISO 3166 3-letter country code.
    Throws:
    MissingResourceException - Throws MissingResourceException if the three-letter country abbreviation is not available for this locale.
    getDisplayLanguage
    public final String getDisplayLanguage()Returns a name for the locale's language that is appropriate for display to the user. If possible, the name returned will be localized for the default locale. For example, if the locale is fr_FR and the default locale is en_US, getDisplayLanguage() will return "French"; if the locale is en_US and the default locale is fr_FR, getDisplayLanguage() will return "anglais". If the name returned cannot be localized for the default locale, (say, we don't have a Japanese name for Croatian), this function falls back on the English name, and uses the ISO code as a last-resort value. If the locale doesn't specify a language, this function returns the empty string.
    getDisplayLanguage
    public String getDisplayLanguage(Locale inLocale)Returns a name for the locale's language that is appropriate for display to the user. If possible, the name returned will be localized according to inLocale. For example, if the locale is fr_FR and inLocale is en_US, getDisplayLanguage() will return "French"; if the locale is en_US and inLocale is fr_FR, getDisplayLanguage() will return "anglais". If the name returned cannot be localized according to inLocale, (say, we don't have a Japanese name for Croatian), this function falls back on the default locale, on the English name, and finally on the ISO code as a last-resort value. If the locale doesn't specify a language, this function returns the empty string.
    getDisplayCountry
    public final String getDisplayCountry()Returns a name for the locale's country that is appropriate for display to the user. If possible, the name returned will be localized for the default locale. For example, if the locale is fr_FR and the default locale is en_US, getDisplayCountry() will return "France"; if the locale is en_US and the default locale is fr_FR, getDisplayLanguage() will return "Etats-Unis". If the name returned cannot be localized for the default locale, (say, we don't have a Japanese name for Croatia), this function falls back on the English name, and uses the ISO code as a last-resort value. If the locale doesn't specify a country, this function returns the empty string.
    getDisplayCountry
    public String getDisplayCountry(Locale inLocale)Returns a name for the locale's country that is appropriate for display to the user. If possible, the name returned will be localized according to inLocale. For example, if the locale is fr_FR and inLocale is en_US, getDisplayCountry() will return "France"; if the locale is en_US and inLocale is fr_FR, getDisplayLanguage() will return "Etats-Unis". If the name returned cannot be localized according to inLocale. (say, we don't have a Japanese name for Croatia), this function falls back on the default locale, on the English name, and finally on the ISO code as a last-resort value. If the locale doesn't specify a country, this function returns the empty string.
    getDisplayVariant
    public final String getDisplayVariant()Returns a name for the locale's variant code that is appropriate for display to the user. If possible, the name will be localized for the default locale. If the locale doesn't specify a variant code, this function returns the empty string.
    getDisplayVariant
    public String getDisplayVariant(Locale inLocale)Returns a name for the locale's variant code that is appropriate for display to the user. If possible, the name will be localized for inLocale. If the locale doesn't specify a variant code, this function returns the empty string.
    getDisplayName
    public final String getDisplayName()Returns a name for the locale that is appropriate for display to the user. This will be the values returned by getDisplayLanguage(), getDisplayCountry(), and getDisplayVariant() assembled into a single string. The display name will have one of the following forms:
    language (country, variant)
    language (country)
    language (variant)
    country (variant)
    language
    country
    variant
    depending on which fields are specified in the locale. If the language, country, and variant fields are all empty, this function returns the empty string.
    getDisplayName
    public String getDisplayName(Locale inLocale)Returns a name for the locale that is appropriate for display to the user. This will be the values returned by getDisplayLanguage(), getDisplayCountry(), and getDisplayVariant() assembled into a single string. The display name will have one of the following forms:
    language (country, variant)
    language (country)
    language (variant)
    country (variant)
    language
    country
    variant
    depending on which fields are specified in the locale. If the language, country, and variant fields are all empty, this function returns the empty string.
    clone
    public Object clone()Overrides Cloneable
    Overrides:
    clone in class Object
    Returns:
    a clone of this instance.
    See Also:
    Cloneable
    hashCode
    public int hashCode()Override hashCode. Since Locales are often used in hashtables, caches the value for speed.
    Overrides:
    hashCode in class Object
    Returns:
    a hash code value for this object.
    See Also:
    Object.equals(java.lang.Object), Hashtable
    equals
    public boolean equals(Object obj)Returns true if this Locale is equal to another object. A Locale is deemed equal to another Locale with identical language, country, and variant, and unequal to all other objects.
    Overrides:
    equals in class Object
    Parameters:
    obj - the reference object with which to compare.
    Returns:
    true if this Locale is equal to the specified object.
    See Also:
    Object.hashCode(), Hashtable
    Overview Package Class Use Tree Deprecated Index Help
    JavaTM 2 Platform
    Std. Ed. v1.4.2
    PREV CLASS NEXT CLASS FRAMES NO FRAMES
    SUMMARY: NESTED | FIELD | CONSTR | METHOD DETAIL: FIELD | CONSTR | METHOD
    Submit a bug or feature
    For further API reference and developer documentation, see Java 2 SDK SE Developer Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
    Copyright 2003 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.

    Was it really necessary to post the whole API description?!?
    Locale[] locales = Locale.ENGLISH();ENGLISH is not a method in class Locale, so do not add the braces "( );".
    Also, the constant ENGLISH is not an array, but just a single Locale object.
    You didn't say what your problem was. What do you want to achieve with your program and what is it that you don't understand?

  • How can I change the internal language of an app?

    So I have seen that some app under their description say that they support multiple languages. I have downloaded some Japanese apps that say that they are available in english, should it automaticly change to english or is there suppose to be some in app function to change it?

    If an app supports multi-language, then the app itself should have a setting for changing it to another language.
    However, there is the possibility that some of these apps don't default to the current OS language, ie show English when your OS language is English. It still starts with Japanese as the default language; and the wording of "language" setting itself maybe in Japanese.
    What you can do is launch google.com/translate, type into left hand panel "Settings" or "Languange Settings", then on the right hand panel, choose translate language as Japanese. Now you should see what "Settings" would look like in Japanese.
    For example:
    Settings   ==>  設定 (I copy and pasted from Google translate)
    Language Settings ==>  言語設定
    English ==> 英語
    American English ==> 米語
    and so on. Or you can look to see if there's anyway to contact the app developer and ask them where have they placed the language settings.

Maybe you are looking for

  • Due date analysis  for open  items

    Hello All, I have to do the following things..can anyone of you help me .....to say is this possible and yes then may be just overview of how could i do this.... i have been asked to go to transaction S_ALR_87012168...then the report will come ..in t

  • How to find No. of Saturdays,Sundays in Specified Dates?

    Hello Gurus, I have scenario where in user will provide me Two dates for instance say 1-Jan-2003 to 1-Jan-2004, Now I want to find out what are the dates in this specified range which has Sundays & Saturdays ? Is it possible to do it in Simple SQL qu

  • How to read from a xml file(in String format) using a java program

    hi friends i have a string , which is xml format. i want read the values and display it.can any one suggest how to read a xml file of string format using a javaprogram thanks

  • Loss or Gain account trigger while transfer posting

    Hi Experts When we are doing Transfer Posting from Project to Unreistricted use stock within same valuation area the 'Expense/revenue from stock transfer' key is getting triggered while doing the transaction.  Can any one explain how there can be a l

  • Guest Wireless access over WAN

    Hello Everyone, We have around 45 remote location , all are connected with GRE Tunnels. 44 location have there own WLC which are managed by NCS and ISE in HQ , All 44 location have Wireless access for Guest and INternal Staff. Now my Question is : On