[firebase-br] Loop que não ocorre :(

Levy Moreira levymoreira.ce em gmail.com
Ter Set 21 16:27:44 -03 2010


Alguem sabe porque essa linha :

   for execute statement 'SELECT PESCON,codcon FROM "CON" WHERE (NOT NOTCON
IS NULL) AND (NOT PESCON IN(SELECT CODCLI FROM CLI)) and (pescon = 1001)'

não faz um loop ?


Codigo completo:

execute ibeblock
returns(  PESCONNOVO integer, CODCONT integer, clinew integer, DOCU
varchar(45))
as
begin
  --  Cria as conexoes  --
  create connection dbNew dbname 'C:\Dados\CS\Dados01\DADOS.FDB' --Banco
atual
  password 'masterkey' user 'SYSDBA'
  sql_dialect 3
  clientlib 'fbclient.dll';

  create connection dbAnt dbname 'C:\Dados\CS\Dados02\DADOS.FDB'  --Banco
antigo
  password 'masterkey' user 'SYSDBA'
  sql_dialect 3
  clientlib 'fbclient.dll';

  use dbNew; --ABRE A CONEXÃO NO BANCO NOVO

  -- FAZ UM LOOP NO CON COM AS CONTAS QUE SÃO DE UMA VENDA (NOT NOTCON IS
NULL) E QUE
  -- NÃO ESTÃO COM O CLIENTE NA TABELA CLI (NOT PESCON IN(SELECT CODCLI FROM
CLI))
  -- ESSE LOOP NÃO ESTA OCORRENDO POR QUE?
  for execute statement 'SELECT PESCON,codcon FROM "CON" WHERE (NOT NOTCON
IS NULL) AND (NOT PESCON IN(SELECT CODCLI FROM CLI)) and (pescon = 1001)'
  into :PESCONNOVO, :CODCONT
  do
  begin
    use dbAnt; --ABRE A CONEXÃO NO BANCO ANTIGO

    select CLI.docu01 from cli where CODCLI = :PESCONNOVO -- PEGA O NUMERO
DO DOCUMENTO NO BD ANTIGO REFENTE AO
    into :DOCU;                                          -- CLIENTE
ANTERIORMENTE SETADO NA VAR :PESCONNOVOB

    if (NOT :DOCU IS NULL) then
    BEGIN
        use dbNew; --ABRE A CONEXÃO NO BANCO NOVO

        select CODCLI from CLI where DOCU01 = :DOCU  --Pega o codigo do
cliente no banco atual
        INTO :CLINEW;    --20007021

        if (CLINEW <> PESCONNOVO) then  --SE OS CODIGOS FOREM DIFERENTES...
        BEGIN
          update CON set CON.pescon = :CLINEW where CON.codcon = :CODCONT  ;
--Seta o cliente na Fat
          commit;
        END
    END

    suspend;
  end

  close connection dbNew;
  close connection dbAnt;
end






-- 
Levy Moreira - Sistech Informática
Juzeiro do Norte - Ce



Mais detalhes sobre a lista de discussão lista