Árvore de páginas

01. DADOS GERAIS

Produto:

TOTVS Backoffice

Linha de Produto:

Linha Protheus

Segmento:

Serviços

Módulo:

TOTVS Backoffice (Linha Protheus) - Ativo Fixo (SIGAATF)

Função:ATFA060
País:Brasil
Ticket:Interno
Requisito/Story/IssueDSERCTR1-46829

02. DESCRIÇÃO

O ponto de entrada AF060CAC é acionado após a execução do cancelamento de uma transferência de ativos, especificamente logo após o bloco de Transaction. Esse ponto de entrada recebe como parâmetro o Id. de movimento do cancelamento e permite capturar e retornar uma string com o log de erro caso ocorra alguma falha durante a execução.

A funcionalidade do ponto de entrada está integrada na iteração que percorre o arquivo temporário SN3, o qual é utilizado para marcar os itens selecionados para o cancelamento (por meio do objeto MarkBrowse). Assim, para cada item marcado para cancelamento, o ponto de entrada AF060CAC será acionado, possibilitando a execução de validações ou customizações específicas para cada item individualmente.

03. DEMAIS INFORMAÇÕES


Manipulação de PE no sistema
cLogErroPE := Execblock("AF060CAC",.F.,.F.,{cIdMovFNR})


Exemplo de PE
#INCLUDE "Protheus.ch"

User Function AF060CAC()

	Local cLogErro := ""
	Local cQuery := ""

	Local oTable

 	cQuery := "SELECT " 
	cQuery += " N1_CBASE, N1_ITEM, N1_QUANTD " 
	cQuery += "FROM " 
	cQuery += " " + "FNR-GRUPO CLIENTE" + " FNR " 
	cQuery += "INNER JOIN "
	cQuery += " " + "SN1-GRUPOCLIENTE "+ "SN1 " 
	cQuery += "ON " 
	cQuery += "    FNR_CBAORI = N1_CBASE " 
	cQuery += "    AND FNR_ITEORI = N1_ITEM " 
	cQuery += "    AND SN1.D_E_L_E_T_ = '' " 
	cQuery += "WHERE " 
	cQuery += "    FNR.D_E_L_E_T_ = '' " 
	cQuery += "    AND FNR_IDMOV = '12S" + ParamIxb[1] + "' " 

	oTable := ATFTempTable(cQuery,"TMP")

	If ( (oTable:GetAlias())->(!Eof()) )

		Begin Transaction

			RecLock(oTable:GetAlias(),.F.)

				(oTable:GetAlias())->N1_CBASE := "01TESTE"

			(oTable:GetAlias())->(MsUnlock())

		End Transaction

	Else
		cLogErro := "Neste Ponto de Entrada - AF060CAC - não foi localizado o bem. Reveja a codificação do PE."
	EndIf

	oTable:Delete()

Return (cLogErro)


Importante !!

  • Observa-se que a utilização do PE e os impactos dele no sistema são de responsabilidade do cliente.
  • Os exemplos utilizados nessa documentação são apenas para fins de demonstração, cada cliente deve verificar qual comportamento deseja realizar de acordo com o escopo do ponto de entrada.

04. ASSUNTOS RELACIONADOS

  • Não se aplica.