Re: [Q] Switching language in Developer 2000

From: <vorbeck_at_my-dejanews.com>
Date: Mon, 26 Oct 1998 18:06:34 GMT
Message-ID: <712dna$qc6$1_at_nnrp1.dejanews.com>


Hi Jürgen,

    Thanks for the tip. I tried it out and it works fine, yet it doesn't solve my problem :(.

The thing is, it works for PL/SQL statements anywhere in my form. But I have items with a format mask, like 999G999G999D99. Somehow these items remain unaffected by the "alter session..." through the DBMS_SESSION.SET_NLS command.

I have found out that I can change the registry value of NLS_LANG and then it will really
reflect in my form. But the problem of this is that it doesn't fit well into my original problem scenario:

  1. Forms application with items with format masks like 999,999,999
  2. The user where this application is installed happens to use a language setting (NLS_LANG = Spanish_Spain...) which is incompatible with this format. The runtime will not let you introduce any number into such an item, given the format mask above. It'll simply yield an error message.
  3. The user cannot change this value in the registry, because he uses other applications which need HIS NLS_LANG setting.
  4. Of course, the proper thing would be to change these format masks to use G and D instead of , and .
  5. But there are many forms (750) for this application and there is no time at the moment to change it all.
  6. So I was looking at a kind of temporary fix, altering the NLS_NUMERIC_CHARACTERS to '.,' so that the form always works.

In the end, I have the feeling that the only solution would be something like creating a startup
batch which would alter the registry
to change the NLS_LANG to "american_america..." and the start the runtime with the main
form.

The disadvantage obviously is that if the user starts his other applications they would find an
altered registry and would stop working properly.

A more refined solution would restore the registry right after starting the form.

Anyway, as you can see, all this is quite ugly.

If anyone has an idea as to how to tackle this problem elegantly, I would be extremely
thankful!

    So long,

  • Martin

In article <711sgi$3o0$1_at_nnrp1.dejanews.com>,   krooss_at_my-dejanews.com wrote:
> Hi Martin !
>
> If you want to change the session parameter, you can use the
> dbms_session package. Until now i've used only the NLS_SORT
> parameter ( like : dbms_session.set_nls('NLS_SORT','BINARY'); )
> in one projekt. I've call the package in the
> WHEN-NEW-FORM-INSTANCE trigger, after establishing the
> database connection. I hope this information will help you.
>
> Regards Juergen
>
> vorbeck_at_val.indra.es wrote:
> >
> > Hi,
> >
> > how can I achieve the following: I want to change the
> > NLS_NUMERIC_CHARACTERS value when running my forms.
> > The user needs to have a different configuration in the Windows 95
> > registry.
> > I tried changing it using dynamic SQL from within the form, executing an
> > "ALTER SESSION SET NLS_NUMERIC_CHARACTERS...", but to no avail.
> > It somehow ignores the values (why?)
> >
> > Is there a way to specify this value at startup time for my forms?
> >
> > I would be very thankful for any hints on how to solve this problem,
> > as I have no clue...
> >
> > Cheers,
> >
> > -- Martin Vorbeck
>
> -----------== Posted via Deja News, The Discussion Network ==----------
> http://www.dejanews.com/ Search, Read, Discuss, or Start Your Own
>

[Quoted] -----== Posted via Deja News, The Leader in Internet Discussion ==----- http://www.dejanews.com/rg_mkgrp.xp Create Your Own Free Member Forum Received on Mon Oct 26 1998 - 19:06:34 CET

Original text of this message