Update via ADVPL em campo S_T_A_M_P_

Boa tarde,

Gostaria de saber se é possível atribuir um valor aos campos S_T_A_M_P_ da tabela SB1 e DA1.

Atualmente precisamos realizar a limpeza dos campos para integração de preço nos Selfs. Para isso, fazemos a limpeza via SQL, porém, estou criando uma rotina para executar essa operação.

Mas ao processar o fonte está dando um erro de: invalid field name in Alias SLD->SB1.S_T_A_M_P_ on

Segue um pedaço do fonte:

Local cStmpB := ""
Local cStmpD := ""

cQryUpd := " SELECT "	
cQryUpd += " SB1.S_T_A_M_P_, "	
cQryUpd += " DA1.S_T_A_M_P_, "	
/*==============================*/

TCQUERY cQryUpd NEW ALIAS "SLD"

Count To nTotal

DbSelectArea("SLD")
SLD->(DbGoTop())
If !SLD->(Eof())

    cStmpB := SLD->SB1.S_T_A_M_P_
	cStmpD := SLD->DA1.S_T_A_M_P_

Endif

SLD->( DbCloseArea() )

O campo stamp até onde possuo conhecimento, é visível apenas no banco e internamente no sistema, para atualizá-lo deverá executar a consulta diretamente no banco, via AdvPL a função TCSQLEXEC pode te atender pois ela executa diretamente no banco o comando.

Bom dia,

O comando TCSQLEXEC realiza a validação da permissão de UPDATE para o usuário antes de executar a instrução SQL.
Caso o usuário não possua essa liberação, nenhuma operação é efetuada no banco de dados.

No meu cenário, estava tentando implementar a funcionalidade sem utilizar o TCSQLEXEC, justamente para evitar a necessidade de conceder permissão de UPDATE.

Olá,

Esses campos são atualizados automaticamente, logo qualquer alteração na tabela já vai disparar a atualização desses campos.

Não é recomendado atualizar manualmente esses campos, você pode gerar inúmeros problemas no ERP, onde rotinas internas efetuam controles com base nesses campos, como por exemplo o envio de dados via SmartLink.

Como já mencionado, esses campos não ficam disponíveis na workarea de uma tabela, campos reservados são visíveis apenas via query, assim como o R_E_C_N_O_, R_E_C_D_E_L_ e D_E_T_E_D_, alguns possuem funções para consulta, como a função RecNo e a função Deleted.

Mas reforçamos, a manipulação indevida desses campos, pode trazer prejuízos para o funcionamento do ERP, pois diversas rotinas do produto fazem uso desses valores.

A TOTVS já fez o anúncio do Smart X, onde ele também fará controle de todos os registros, não somente um, mas de qualquer alias dentro do Smart X com base nesse campos, portanto reforço, não manipule esses valores, você pode trazer grandes problemas e prejuízos a você e/ou ao seu cliente.

1 curtida