Opa!Quando trabalhamos com datas e numeros, sempre temos que prestar a atencao como estes dados estao chegando ao programa. E comum acontecer os famosos erros de formato referentes a numeros ou datas invalidas, principalmente, quando estamos construindo um determinado programa onde temos que passar estes valores para outros programas atraves de parametros. Um problema muito comum acontece quando estamos trabalhando com concorrentes no EBS passando parametros para programas armazenados no banco. Segue abaixo os passos para solucionar estes problemas:1) O primeiro passo e, quando for definir os parametros de um programa concorrente, colocar como listas de valores, as nativas do Oracle, FND_NUMBER e FND_STANDARD_DATE para os tipos NUMBER e DATE, respectivamente.2) No seu programa armazenado em banco, numa PROCEDURE, por exemplo, crie os parametros que receberao os dados, declarando-os com o tipo VARCHAR2.3) Dentro do seu programa utilize as funcoes abaixo para a conversao:Exemplo 1 (utilizacao no corpo do programa): ... wvl_item number; wdt_hoje date; --begin -- No caso de conversao para numeros. wvl_item := fnd_number.canonical_to_number(pvl_item); -- pvl_item: parametro do tipo varchar2. -- -- No caso de conversao para data. wdt_hoje := fnd_date.canonical_to_date(pdt_entrega); -- pdt_entrega: parametro do tipo VARCHAR2.end;Exemplo 2 (utilizacao na area de declaracao de variaveis): ... wvl_item number default fnd_number.canonical_to_number(pvl_item); wdt_hoje date := fnd_date.canonical_to_date(pdt_entrega); --begin ... ... ...end;O contrario tambem pode ser feito com a mesma funcao. Converter um numerico ou data para string: ... wvl_item varchar2(38); wdt_hoje varchar2(20); --begin -- No caso de conversao para caracter. wvl_item := fnd_number.number_to_canonical(vl_item); -- -- No caso de conversao para caracter. wdt_hoje := fnd_date.date_to_canonical(sysdate);end;O segredo destas funcoes e que as mesmas sao especificas para o EBS, logo elas sabem, digamos assim, qual o formato que a suite esta trabalhando. Se voce quiser saber quais sao estes formatos, uma dica e verificar no LOG do concorrente as informacoes a respeito dos parametros passados para o concorrente no momento da execucao, la ele mostra cada parametro com seu respectivo valor informado. Note que ele nao passa os valores no formato que escolhemos na janela de parametros do concorrente e sim no formato que ele esta trabalhando em background.Forte abraco! Hi!Abaixo segue um jeito simples de gerarmos um array de datas atraves de um comando SELECT, e, diga-se de passagem, um jeito simples e esperto! select (to_char (sysdate - 1 + level, 'dd-mon-rrrr')) date_range ,(to_char (sysdate - 1 + level, 'month, dd rrrr')) date_word from dual connect by level <= 5 -- (numero de dias a ser gerado)Segue o resultado:Contribuicao: Romeu Schiessel Junior.Abraco! Hi!Algumas vezes necessitamos executar programas ou SELECTS direto no banco de dados, ou seja, por fora do Aplicativo Oracle, atraves de ferramentas como SQL Navigator, SQL Tools, PL/SQL Developer ou outras ferramentas do genero. Quase sempre, para VIEWS que sao utilizadas no EBS, e necessario que o ambiente esteja com algumas variaveis setadas para que possamos visualizar os dados. Caso contrario, nossa QUERY ou programa nao retorna nada. Segue abaixo um SCRIPT que sempre uso e que prepara o ambiente como se estivessemos conectados no Oracle Applications. Ele funciona para 99% dos casos. Salvo outros procedimentos mais especificos que podem ocorrer dependendo do