Alter Session no Forms

Dicas do Oracle Forms Builder - Blocos, Itens, LOV, Canvas, Triggers, comandos, PLL, d2kwutil, FMB, Alert, menus, etc
Responder
eduardojk
Rank: Estagiário Sênior
Rank: Estagiário Sênior
Mensagens: 13
Registrado em: Qui, 18 Ago 2005 8:58 am
Localização: Curitiba

Olá a todos.

Alguém sabe se tem como incluir um alter session dentro de um form ?

Minha intenção é mostar campos numéricos usando . como separador de centenas e , para dezenas. Ex: 10.000,00

No plus utilizei o camando abaixo e funcionou certinho.

Selecionar tudo

alter session set nls_numeric_characters = ',.'; 
Estamos usando:

Selecionar tudo

Oracle 8.1.7
Forms 6.0.8
NLS_LANGUAGE = AMERICAN
NLS_NUMERIC_CHARACTERS = .,
Grato.
Avatar do usuário
dr_gori
Moderador
Moderador
Mensagens: 5024
Registrado em: Seg, 03 Mai 2004 3:08 pm
Localização: Portland, OR USA
Contato:
Thomas F. G

Você já respondeu a dúvida de alguém hoje?
https://glufke.net/oracle/search.php?search_id=unanswered

Pode usar sim!! Normalmente é colocado na PRE-FORM.
Mas tem que executar com FORMS_DDL:

Selecionar tudo

forms_ddl('ALTER SESSION SET NLS_DATE_FORMAT = ''YYYY/MM/DD HH24:MI:SS''');
Avatar do usuário
fabricio.silva
Rank: Programador Pleno
Rank: Programador Pleno
Mensagens: 34
Registrado em: Seg, 12 Mar 2007 7:07 am
Localização: Catanduva/SP
Fabricio M. Silva
Oracle Certified Associate
------------------------------
Catanduva - SP

Olá,

Um outra forma de fazer isso é acrescentar a chave NLS_NUMERIC_CHARACTER no registro das estações.

Execute o regedit e vá até:

Selecionar tudo

HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE
Se você possuir + de home você deverá procurar em qual deles está as configurações do Developer.

ponto positivo: todos as aplicações passarao a considerar a virgula como separador de decimal sem recompilação

ponto negativo: você deve fazer este procedimento em todos as maquinas cliente

Abs.
gokden
Rank: DBA Pleno
Rank: DBA Pleno
Mensagens: 264
Registrado em: Dom, 19 Ago 2007 8:18 pm
Localização: Ribeirão Preto - SP
Lucas de Souza

OCA Developer
Analista de sistemas

eu tentei isso no forms 6i e não deu certo, ele não alterou a sessão
o comando foi esse...

Selecionar tudo

forms_ddl('ALTER SESSION SET NLS_LANGUAGE=''BRAZILIAN PORTUGUESE''');
alguém sabe o porque do erro ??
Avatar do usuário
dr_gori
Moderador
Moderador
Mensagens: 5024
Registrado em: Seg, 03 Mai 2004 3:08 pm
Localização: Portland, OR USA
Contato:
Thomas F. G

Você já respondeu a dúvida de alguém hoje?
https://glufke.net/oracle/search.php?search_id=unanswered

Faça o teste!
Após rodar o ALTER SESSION, faça um select na NLS_SESSION_PARAMETERS pra ver se mudou...

Selecionar tudo

SGA@d425> select * from nls_session_parameters;

PARAMETER                      VALUE
------------------------------ ----------------------------------------
NLS_LANGUAGE                   AMERICAN
NLS_TERRITORY                  AMERICA
NLS_CURRENCY                   $
NLS_ISO_CURRENCY               AMERICA
NLS_NUMERIC_CHARACTERS         .,
NLS_CALENDAR                   GREGORIAN
NLS_DATE_FORMAT                DD-MON-YYYY
NLS_DATE_LANGUAGE              AMERICAN
NLS_SORT                       BINARY
NLS_TIME_FORMAT                HH.MI.SSXFF AM
NLS_TIMESTAMP_FORMAT           DD-MON-RR HH.MI.SSXFF AM
NLS_TIME_TZ_FORMAT             HH.MI.SSXFF AM TZH:TZM
NLS_TIMESTAMP_TZ_FORMAT        DD-MON-RR HH.MI.SSXFF AM TZH:TZM
NLS_DUAL_CURRENCY              $
NLS_COMP                       BINARY

15 rows selected.

SGA@d425> 
SGA@d425> ALTER SESSION SET NLS_LANGUAGE='BRAZILIAN PORTUGUESE';

Session altered.

SGA@d425> select * from nls_session_parameters;

PARAMETER                      VALUE
------------------------------ ----------------------------------------
NLS_LANGUAGE                   BRAZILIAN PORTUGUESE
NLS_TERRITORY                  AMERICA
NLS_CURRENCY                   $
NLS_ISO_CURRENCY               AMERICA
NLS_NUMERIC_CHARACTERS         .,
NLS_CALENDAR                   GREGORIAN
NLS_DATE_FORMAT                DD-MON-YYYY
NLS_DATE_LANGUAGE              BRAZILIAN PORTUGUESE
NLS_SORT                       WEST_EUROPEAN
NLS_TIME_FORMAT                HH.MI.SSXFF AM
NLS_TIMESTAMP_FORMAT           DD-MON-RR HH.MI.SSXFF AM
NLS_TIME_TZ_FORMAT             HH.MI.SSXFF AM TZH:TZM
NLS_TIMESTAMP_TZ_FORMAT        DD-MON-RR HH.MI.SSXFF AM TZH:TZM
NLS_DUAL_CURRENCY              $
NLS_COMP                       BINARY

15 rows selected.

SGA@d425> 
gokden
Rank: DBA Pleno
Rank: DBA Pleno
Mensagens: 264
Registrado em: Dom, 19 Ago 2007 8:18 pm
Localização: Ribeirão Preto - SP
Lucas de Souza

OCA Developer
Analista de sistemas

hmm.... ai qui está o problema, no select mostrou que alterou...

mais não mudou o nome dos meses.....

os meses e os dias da semana continuam em ingles...
Responder
  • Informação
  • Quem está online

    Usuários navegando neste fórum: Nenhum usuário registrado e 12 visitantes