Validação de campos

Olá pessoal, tenho um fonte que realiza inclusão de registros, porém queria validá-los.

O registro que devo incluir é o campo BZ_COD, porém queria realizar uma validação onde ele só possa ser incluído caso o mesmo campo exista na SB1

Ou seja, se eu tentar incluir um valor no BZ_COD, e esse mesmo valor não existir na SB1, ele impede a inclusão.

Alguém sabe alguma maneira de realizar essa validação? Tentei de algumas formas mas não consegui. Agradeço!

Anne tem algo de errado com esta situação. A tela que você se refere é customizada? Porque essa situação já funciona perfeitamente sistema no padrão.

Olá Cirilo! Sim, é uma tela customizada, atualmente não possui nenhuma validação e sentimos a necessidade de incluir essa específica.

Vai precisar analisar essa customização, porque como disse no padrão está ok, então é para funcionar na customização também. A menos que a customização não esteja buscando os dados do dicionário ou se seu dicionário está sem o campo de validação por algum motivo (campo X3_VALID)

você pode criar um gatilho na BZ_COD chamando um exeblock


function u_TESTASB1()

 local c_CodBZ := M->BZ_COD

 dbSelectArea("SB1")
 dbSetOrder(1)
 if !dbSeek( FwxFilial("SB1") + c_CodBZ, .T. )
  c_CodBZ := Space(TamSX3("B1_COD")[1])
  Alert("Codigo nao encontrado na B1")
 endif

return( c_CodBZ )

Nao cheguei a compilar... rsrsrs