Estou pegando os dados de uma tabela personalizada e alimentando o array do msexecauto da rotina fina100. Ele executa o msexec, não da erro nem nada mas os campos não são gravados. Como se não tivesse funcionado.
ZZB->(DbGoTo(nRecNo)) nOpc := iif(ZZB->ZZB_TIPOOP == "P", 3, 4 )
Begin Transaction aRotAuto:= {{'E5_DATA',ZZB->ZZB_DATA ,Nil},; {'E5_MOEDA' ,ZZB->ZZB_MOEDA ,Nil},; {'E5_VALOR' ,ZZB->ZZB_VALOR ,Nil},; {'E5_NATUREZ' ,ZZB->ZZB_NATUR ,Nil},; {'E5_BANCO' ,ZZB->ZZB_BANC ,Nil},; {'E5_AGENCIA' ,ZZB->ZZB_AGEN ,Nil},; {'E5_CONTA' ,ZZB->ZZB_CONTA ,Nil},; {'E5_DOCUMEN' ,ZZB->ZZB_DOCM ,Nil},; {'E5_HISTOR' ,ZZB->ZZB_HISTO ,Nil},; {'E5_LOJA' ,ZZB->ZZB_LOJA ,Nil} }
MSExecAuto({|x,y| FINA100(x,y)},aRotAuto,nOpc)
If lMsErroAuto DisarmTransaction() Mostraerro() else ZZB->(RecLock("ZZB", .F.) ) ZZB->ZZB_STATUS := "R" ZZB->ZZB_DTREV := dDataBase ZZB->(MsUnlock()) EndIf
End Transaction
Boa tarde. O FINA100 no seu ambiente tem pontos de entrada de validação? Se tiver é interessante verificar se ocorre alguma quebra de validação em algum ponto de entrada sem devido disparo correto das mensagens para o ExecAuto. Pode ser que esteja usando funções para apresentar mensagens somente em tela.
— Rafael Mota Previdi 13 de Jul de 2022