Andre,

Lembre-se, todas as referências a Centura dentro do comando deve ter dois pontos antes (:), nesse caso deveria ser assim:

Set vg_sATD_Sql = '
Declare 
  Retorno Boolean; 
Begin
 Retorno := Pkg_ATD.Inserir(:vg_nNro_Serie_Inicial,:vg_nFabr_ID,:vg_nNro_Elementos,:vg_sLocal_ID,
                            :vg_sArea_ID,:vg_sModelo,:vg_nTensao_Nominal,:vg_sTemp);
 -- Faltou retornar para o Centura
 if Retorno then
   :w_b_Retorno := 1;
 else
   :w_b_Retorno := 0
 end if; 
end;'

Outra coisa, não é preciso passar os campos para variáveis, pode-se utilizar diretamente os data_fields.

Sds,
Erasmo

Andre Luiz Pereira do Couto wrote:
Erasmo,

segui o seu exemplo e recebi a seguinte mensagem: "Erro: SQL Error 26550,
not found in ERROR.SQL file."

o que pode ser isso ? onde eu posso ter errado ?

segue, abaixo o código:

   If SalIsNull( dfNro_Serie_Final )
    Set vg_nNro_Serie_Inicial = dfNro_Serie_Inicial
    Set vg_sArea_ID = dfArea_ID
    Set vg_sLocal_ID = dfLocal_ID
    Set vg_nFabr_ID = dfFabr_ID
    Set vg_nNro_Elementos = dfNro_Elementos
    Set vg_sModelo = dfModelo
    Set vg_nTensao_Nominal = dfTensaoNominal
    Set vg_sATD_Sql = 'Declare Retorno Boolean; Begin  Retorno :=
Pkg_ATD.Inserir(vg_nNro_Serie_Inicial,vg_nFabr_ID,vg_nNro_Elementos,vg_sLoca
l_ID,vg_sArea_ID,vg_sModelo,vg_nTensao_Nominal,vg_sTemp); end;'
    If SqlOraPLSQLPrepare( hSqlBase, vg_sATD_Sql)
     Call SqlOraPLSQLExecute( hSqlBase )


André Couto
Analista de Sistemas Sênior - Manaus Energia
[EMAIL PROTECTED] - 621-1230
----- Original Message ----- 
From: "Erasmo Bispo de Oliveira Junior" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Thursday, August 05, 2004 3:16 PM
Subject: Re: [sqlwin] Como executar uma package.function do Oracle8i no
Centura 1.1.1. ?


  
André,

Os tipos boolean do Oracle e do Centura são diferentes, portanto não é
possível utilizar uma variável do centura diretamente. Faça da seguinte
forma:

if SqlOraPLSQLPrepare( hsql, "
declare
x boolean;
begin
  package.function(x);
  if x then -- Seta variavel do centura para TRUE
    :w_b_Centura := 1;
  else -- Seta a Variavel do centura para FALSE
    :w_b_Centura := 0;
end;
")
  Call SqlOraPLSQLExecute( hsql );

Sds,
Erasmo

    
Amigos,

Sou iniciante no Centura e estou precisando executar, no Centura 1.1.1.,
uma function contida em uma package no Oracle8i. Essa function tem um
parâmetro OUT e retorna boolean.

Gostaria de saber se alguém tem alguma dica de como executar tal
function ou então algum exemplo pronto.

Att.

André Couto
Analista de Sistemas Sênior - Manaus Energia
[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>  - 621-1230

      
==============================================
Lista de Centura SQLWindows
Administrador : [EMAIL PROTECTED]
[ http://www.centuraexplorer.com ]
Para sair desta lista mande mensagem para:
[EMAIL PROTECTED] sem nada no Subject e
com o comando a seguir no corpo da msg:
"unsubscribe sqlwin" (sem as aspas)
==============================================
    
==============================================
Lista de Centura SQLWindows
Administrador : [EMAIL PROTECTED]
[ http://www.centuraexplorer.com ]
Para sair desta lista mande mensagem para:
[EMAIL PROTECTED] sem nada no Subject e
com o comando a seguir no corpo da msg:
"unsubscribe sqlwin" (sem as aspas)
==============================================

  

--
 

Erasmo Bispo de Oliveira Junior
Gerente de Projetos

Softway - SoftComex Informatica Ltda.

Web: http://www.softcomex.com.br
Email:
[EMAIL PROTECTED]
Fone: +55 (19) 3739-9241
Fax: +55 (19) 3739-9240



<<inline: Softway.gif>>

Responder a