Alterar Conteúdo

Boa tarde, atualmente estou tentando alterar os dados da tabela SB1, de acordo com um array que possuo, que é preenchido com dados da CFD(código, e origem), a intenção seria percorrer os dados desse array, localizando códigos iguais ao da SB1, e então, alterar a origem do produto, para que fique igual ao presente no array CFD. Estou utilizando a função ascan, para comparar os dados, mas não consegui alterar a origem, como posso melhorar essa lógica? Anexei uma imagem do trecho do código, vi que existe a função ASCANX, mas não consegui realizar essa alteração

:warning: Atenção: Esta publicação foi transferida automaticamente do fórum antigo, mas os anexos não foram incluídos.

E ae camarada, segue o código, o aScan retorna numérico, da forma que fez não vai dar certo. Pelo que entendi você quer alterar a origem para o que vier no array.

Se resolver marca como solução.


    nPos := aScan(aCFD,{|x| x[1] == SB1->B1_COD})
    //nPos é a localização da posição do produto, se retornar mais que zero, é por que achou no array
    if nPos > 0
        cOrigem := aCFD[nPos][2]
        if SB1->B1_ORIGEM <> cOrigem
            Reclock("SB1",.F.)
            SB1->B1_ORIGEM := cOrigem
            SB1->(MsUnlock)
        endif
    endif

opa, deu certo aqui jovem, obrigado pela ajuda estava travado nisso a tempos kkkkk