Apesar de criado o índice 01 com a ordem UNIBOR+SALDO, a rotina não mantém os dados da tabela temporário ordenado. Qual será o problema?
aCampos:={}
AADD(aCampos,{"UNIBOR","C",06,0})
AADD(aCampos,{"SALDO ","N",14,2})
cAliasBrw := GetNextAlias()
oTempTable := FWTemporaryTable():New( cAliasBrw )
oTemptable:SetFields( aCampos)
oTempTable:AddIndex("01", {"UNIBOR"},{STR("SALDO")})
oTempTable:Create()
cAlUNI := oTempTable:GetAlias()
Leio a tabela SEA e gravo o conteúdo na tabela temporária criado acima.
While SEA->(!Eof()) .And. xFilial("SEA") == SEA->EA_FILIAL .And. SEA->EA_NUMBOR <= mv_par02
RecLock((cAlUNI),.T.)
(cAlUNI)->UNIBOR:=SEA->EA_NUMBOR
(cAlUNI)->SALDO :=SE2->E2_SALDO-SE2->E2_SDDECRE
MsUnLock()
SEA->(dbSkip())
End
Quando leio a tabela temporária (cAlUNI), não mantem ordenado com o índice criado UNIBOR+SALDO.
(cAlUNI)->(dbGotop())
While (cAlUNI)->(!Eof())
(cAlUNI)->(dbSkip( ))
End
Agradeço desde já.
Consegui resolver, o erro estava na função addindex, informei separado e ordenou corretamente. oTempTable:AddIndex("01", {"UNIBOR", "SALDO"})
— RODRIGO HORTA VILELA 07 de Oct de 2019Digital marketing services in Patna
— thedigitalart 20 de Feb de 2023