Peguei essa declaração de um fonte em Delphi e não estou conseguindo substituir os parâmetros. Se vocês verem, criei umas variáveis pra ver se funcionam,mas não funcionou. Outra coisa é o formato de data. Como eu deveria passar as datas? Mas uma pergunta. Como eu faço pra pegar uma data em formato Float e passar para o nosso formato de data?:
Ex: O Delphi me gera:2598,35689 como faço para representar em DD/MM/YYYY?
Erro em uma declaração com parametros
-
- Moderador
- Mensagens: 1396
- Registrado em: Sex, 01 Fev 2008 2:06 pm
- Localização: Rio de Janeiro - RJ
- Contato:

to_char (seu_long, 'yyyymmdd')
- dr_gori
- Moderador
- Mensagens: 5018
- 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
Você já respondeu a dúvida de alguém hoje?
https://glufke.net/oracle/search.php?search_id=unanswered
Eu não entendi que formato de data é esse 
Esse número representa qual dia ?

Esse número representa qual dia ?
-
- Rank: Analista Pleno
- Mensagens: 128
- Registrado em: Qui, 29 Mai 2008 6:44 pm
- Localização: São Paulo
Tudo posso, nAquel que me fortalece
Filipenses 4:13
Filipenses 4:13
em realidade a maior necessidade é fazer esse script rodar. As variáveis VNOX,VNOY e etc... fiz na tentativa de colocar no lugar dos parametros,
:VNOX,:VNOY e etc... Como rodar isso?
:VNOX,:VNOY e etc... Como rodar isso?
DECLARE
COORDS PCK_MANOBRASRP.ADESENHO;
VETSIMU PCK_OPERACAO.V_UT_DESLIG_PROGR;
RETORNO NUMBER;
MENSAGEM VARCHAR2(2000) := '';
I NUMBER;
P VARCHAR2(2000);
R NUMBER;
VNOX NUMBER;
VNOY NUMBER;
VFONTEX NUMBER;
VFONTEY NUMBER;
VCOR NUMBER;
VTRACO NUMBER;
VESPESSURA NUMBER;
BEGIN
RETORNO := PCK_MANOBRAS_COD.INCLUI_MANOBRA_EXEC(
2009,
38437,
1,
'COND305',
'',
'F',
'04/11/2009 15:00:00',
'04/11/2009 16:00:00',
0,
'TELBO02',
'',
'EM',
MENSAGEM,
COORDS,
VETSIMU,
'',
FALSE,
FALSE );
R := RETORNO;
P := MENSAGEM;
IF RETORNO=0 THEN
R := RETORNO;
--COMMIT;
FOR I IN 1..COORDS.COUNT LOOP
:VNOX(I) := COORDS(I).NOX;
:VNOY(I) := COORDS(I).NOY;
:FONTEX(I) := COORDS(I).FONTEX;
:VFONTEY(I) := COORDS(I).FONTEY;
:VCOR(I) := COORDS(I).COR;
:VTRACO(I) := COORDS(I).TRACO;
:VESPESSURA(I) := COORDS(I).ESPESSURA;
END LOOP;
END IF;
END;
-
- Moderador
- Mensagens: 1396
- Registrado em: Sex, 01 Fev 2008 2:06 pm
- Localização: Rio de Janeiro - RJ
- Contato:

:VNOX(I) := COORDS(I).NOX;
e tambem a variavel so tem um lugar para armazenar valor.. você teria de criar um outro cursor
VNOX := COORDS(I).NOX;
-
- Rank: Analista Pleno
- Mensagens: 128
- Registrado em: Qui, 29 Mai 2008 6:44 pm
- Localização: São Paulo
Tudo posso, nAquel que me fortalece
Filipenses 4:13
Filipenses 4:13
Em realidade não existe as variáveis abaixo no script original:
O que existe são os parãmetros. Eu as declarei para ver se funcionavam assim. Não consigo fazer esse script rodar.
VNOX NUMBER;
VNOY NUMBER;
VFONTEX NUMBER;
VFONTEY NUMBER;
VCOR NUMBER;
VTRACO NUMBER;
VESPESSURA NUMBER;
-
- Moderador
- Mensagens: 367
- Registrado em: Ter, 25 Mar 2008 3:41 pm
- Localização: Salvador - BA
Rodrigo Valentim
Analista de Sistemas
Oracle Developer
Campanha: Faça uma pesquisa antes de perguntar!!!
Analista de Sistemas
Oracle Developer
Campanha: Faça uma pesquisa antes de perguntar!!!
Que tal postar o script original?
outra coisa interessante é sempre postar o ERRO, ajuda muito.
Porém, segue aí algumas dicas que podem fazer sua rotina executar.
Se o parametro é data, não passe uma STRING. Esse erro é mais do que comum no mundo da programação...
outra coisa interessante é sempre postar o ERRO, ajuda muito.
Porém, segue aí algumas dicas que podem fazer sua rotina executar.
Se o parametro é data, não passe uma STRING. Esse erro é mais do que comum no mundo da programação...
to_date('04/11/2009 15:00:00', 'dd/mm/yyyy hh24:mi:ss')
-
- Rank: Analista Pleno
- Mensagens: 128
- Registrado em: Qui, 29 Mai 2008 6:44 pm
- Localização: São Paulo
Tudo posso, nAquel que me fortalece
Filipenses 4:13
Filipenses 4:13
Mudei, mas ainda não sei o que fazer com os parâmetros:
DECLARE
COORDS PCK_MANOBRASRP.ADESENHO;
VETSIMU PCK_OPERACAO.V_UT_DESLIG_PROGR;
RETORNO NUMBER;
MENSAGEM VARCHAR2(2000) := '';
I NUMBER;
P VARCHAR2(2000);
BEGIN
RETORNO := PCK_MANOBRAS_COD.INCLUI_MANOBRA_EXEC(
2009,
38437,
1,
'COND305',
'',
'F',
to_date('04/11/2009 15:00:00','dd/mm/rrrr hh24:mi:ss'),
to_date('04/11/2009 15:00:00','dd/mm/rrrr hh24:mi:ss'),
0,
'TELBO02',
'',
'EM',
MENSAGEM,
COORDS,
VETSIMU,
'',
FALSE,
FALSE );
R := RETORNO;
P := MENSAGEM;
IF RETORNO=0 THEN
R := RETORNO;
--COMMIT;
FOR I IN 1..COORDS.COUNT LOOP
:VNOX(I) := COORDS(I).NOX;
:VNOY(I) := COORDS(I).NOY;
:FONTEX(I) := COORDS(I).FONTEX;
:VFONTEY(I) := COORDS(I).FONTEY;
:VCOR(I) := COORDS(I).COR;
:VTRACO(I) := COORDS(I).TRACO;
:VESPESSURA(I) := COORDS(I).ESPESSURA;
END LOOP;
END IF;
END;
-
- Rank: Programador Sênior
- Mensagens: 58
- Registrado em: Sex, 30 Out 2009 9:52 am
- Localização: Salvador - BA
- Contato:
Atenciosamente,
João Paulo A. C. do Bomfim
"Deu certo? Deixa! Funcionou? Não mexa!"
João Paulo A. C. do Bomfim
"Deu certo? Deixa! Funcionou? Não mexa!"
Prezado,
É importante postar o Erro para que tenha um apoio e que tenha este apoio mais rápido.

Se você observar o código há algo tipo:
Logo depois tem:
Ou seja, R assume o valor de RETORNO. Até aí beleza. Mas, se RETORNO for 0, R = 0. Logo depois você verifica se RETORNO for 0, você faz a mesma coisa - R=0.
Apresente os erros e descreva o que deseja fazer.
É importante postar o Erro para que tenha um apoio e que tenha este apoio mais rápido.

Se você observar o código há algo tipo:
R := RETORNO;
IF RETORNO=0 THEN
R := RETORNO;
Apresente os erros e descreva o que deseja fazer.
-
- Informação
-
Quem está online
Usuários navegando neste fórum: Nenhum usuário registrado e 4 visitantes