[firebase-br] ARRAYS Declare Variable AR_DATAS[100]

Mário Reis mariodosreyx em gmail.com
Sex Set 12 10:14:02 -03 2008


Boas tardes a todos

Alguém sabe como posso resolver esta questão.
Como faço já que não consigo passar uma Lista nem um Array
por parametro, Tentei passar o meu AR_Datas como VarChar(3000)
mas, depois, na Store Procedure não tenho como declarar o ARRAY
e carrega-lo a partir da String uma coisa +/- assim:

 My_Arr_Datas=(resultaria do codigo que segue:)

 NEW_I=1;
 IF (LISTA_DE_DATAS IS NULL) THEN
  LISTA_DE_DATAS='2001-01-01|2002-01-01|2003-01-01|2004-01-01|2005-01-01';

 NEW_VAR1=SUBSTRING(LISTA_DE_DATAS FROM NEW_I FOR 10);

 WHILE ((NEW_I < 300) AND (NEW_VAR1<>'')) DO
 BEGIN
 
 IF (SUBSTRING(LISTA_DE_DATAS FROM NEW_I FOR 1)='|') THEN
    NEW_I=NEW_I+1;
    
 NEW_VAR1=SUBSTRING(LISTA_DE_DATAS FROM NEW_I FOR 10);
 IF ((:NEW_VAR1 IS NOT NULL) AND (:NEW_VAR1!=''))THEN
   OUT_DT_VENC=CAST(:NEW_VAR1 AS DATE);
   
   
   NEW_I=NEW_I+10;
  SUSPEND;
 END


Ora bem, o código acima funciona retornando uma Lista de de Datas (array de 
Datas) e a seguir precisava de:

Select * From Cobrancas CB
Where CB.DT_Venc 

      IN :My_Arr_Datas  /* a Lista Supra */


and CB.DT_PG_Efectivo IS NULL

  Executa Procedure Recebe_Pagamento....etc....

Alguém já passou por isto ou tem alguma outra ideia 
de como resolver este handycap do Firebird
Queria fazer isto em batch do lado do Servidor e
não do Cliente(D7)

Obrigado

Mário





Mais detalhes sobre a lista de discussão lista