Pessoal, preciso de uma ajuda urgente.
Ao tentar atualizar os dados referente à J_1BTXIC3, pela J1BTAX, OU executando a view J_1BTXIC3V, está dando erro.
Resultando:
Ao atualizar a data do primeiro item de 31.12.9990 para 31.12.2016, por exemplo, me apresenta a seguinte mensagem ao clicar em gravar:
Bom, fui verificar a tabela A382, que é onde estes dados são gravados e verifiquei que a data continuava a original,
Comecei o processo de debug...
Primeiro, na SM13, encontrei onde estava ocorrendo o problema:
Como esta função ( RV_KONDITION_SICHERN_V13A ) roda em update task, coloquei um ponto de parada para pegar via SM50.
Feito isto, debugando, entendi que:
É feito um loop nesta tabela de erros encontrada na SM13 ( VBMOD ), então passaria 27 vezes neste caso.
A primeira vez que entra neste loop at db_time assigning <db_time>, ele popula a tabela interna delete_tab, a qual vai como parâmetro no perform db_update in program (access_program) tables delete_tab using updkz_delete returncode. O programa é o RV13A382. Neste programa, ele faz a deleção do registro cuja data é a data original, não alterada. Até aí tudo bem. Registro eliminado.
Depois, este loop é chamado novamente, e faz a inclusão do registro novo com a data nova. Perfeito!
Porém, é chamado uma terceira vez, onde ele tem o dado original e o dado modificado na tabea db_time. Então tenta eliminar o que já eliminou, causando erro. E se tentar forçar, ele vai tentar inserir e então dará erro também. A mensagem aparece e é feito rollback.
Já eliminei a VBMOD, Já eliminei a db_time e demais estruturas que poderiam estar sujas, etc etc etc.
Não sei mais o que fazer e espero que vcs possam me ajudar.
Att,
Coelho