Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Estou usando criando uma de calendário baseada em uma outra tabela com data inicio e final por banco e agencia. Agencia, Banco, Data Inicial, Data Final. Uso peek com loop para ler cada registro. E depois crio uma nova tabela com autogenerate. e Agencia, Banco , Data Carregada em variaveis com peek. O que está ocorrendo: o primeiro registro ele carrega e ao dar o autogenerate ele não consegue mais achar os demais registros na tabela original. Fiz o teste e tirei o load com autogenerate e funcionou, ou seja: após dar o autogenerate na 2a tabela o peek da primeira se perder. Alguem já viu este problema ?
Só funciona criando a tabela de data inicial e final dentro do loop depois de dar o autogenerate .
Se deixar só no inicio fora do loop só consegue acessar via peek a primeira linha
Já viram isso ?
sub COMPLETA_DATAS_EXTRATO(vSUB_TABELA);
Periodo_Inicial_Final_Por_Banco_Agencia:
load text([Banco]) AS [Banco],
text([Agência]) as [Agência],
text([Conta]) as [Conta],
min([Data Saldo]) as [Data Inicial],
max([Data Saldo]) as [Data Final]
resident $(vSUB_TABELA)
WHERE LEN(TRIM([Data Saldo])) > 0 AND LEN(TRIM([Data Saldo])) > 0
group by [Banco],
[Agência],
[Conta];
let vTOTAL_LINHA = NoOfRows('Periodo_Inicial_Final_Por_Banco_Agencia') -1;
for vLINHA = 0 to vTOTAL_LINHA;
TRACE '-11-' $(vLINHA);
LET vBANCO = PEEK('Banco',vLINHA,Periodo_Inicial_Final_Por_Banco_Agencia);
LET vAGENCIA = PEEK('Agência',vLINHA,Periodo_Inicial_Final_Por_Banco_Agencia);
LET vCONTA = PEEK('Conta',vLINHA,Periodo_Inicial_Final_Por_Banco_Agencia);
LET vDATA_INICIAL = PEEK('Data Inicial',vLINHA,Periodo_Inicial_Final_Por_Banco_Agencia);
LET vDATA_FINAL = PEEK('Data Final',vLINHA,Periodo_Inicial_Final_Por_Banco_Agencia);
TRACE '-1-' $(vBANCO) - $(vAGENCIA) - $(vDATA_INICIAL) - $(vDATA_FINAL) $(vLINHA);
for vDATA_CARGA = vDATA_INICIAL to vDATA_FINAL;
TRACE TRACE '-2-' $(vBANCO) - $(vAGENCIA) - $(vDATA_CARGA) - $(vDATA_FINAL);
Periodo_Completo_Por_Banco_Agencia:
load text('$(vBANCO)') as [Banco],
text('$(vAGENCIA)') as [Agência],
text('$(vCONTA)') as [Conta],
DATE($(vDATA_CARGA)) as [Data Saldo]
AutoGenerate 1;
next;
drop table Periodo_Inicial_Final_Por_Banco_Agencia;
Periodo_Inicial_Final_Por_Banco_Agencia:
load distinct text([Banco]) AS [Banco],
text([Agência]) as [Agência],
text([Conta]) as [Conta],
min([Data Saldo]) as [Data Inicial],
max([Data Saldo]) as [Data Final]
resident $(vSUB_TABELA)
WHERE LEN(TRIM([Data Saldo])) > 0 AND LEN(TRIM([Data Saldo])) > 0
group by [Banco],
[Agência],
[Conta];
next;
drop table $(vSUB_TABELA);
NoConcatenate // para não dar concatenate com a tabela Periodo_Completo_Por_Banco_Agencia pois tem os mesmos campos
Extrato_Completo:
load [Banco],
[Agência],
[Conta],
[Data Saldo]
resident Periodo_Completo_Por_Banco_Agencia;
left join(Extrato_Completo)
load *
resident $(vSUB_TABELA) ;
END SUB;