Árvore de páginas

01. DADOS GERAIS

Produto:

TOTVS Backoffice

Linha de Produto:

Linha Protheus

Segmento:

Serviços

Módulo:

TOTVS Backoffice (Linha Protheus) - Contabilidade Gerencial (SIGACTB)

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

02. DESCRIÇÃO

O ponto de entrada CTARQRAT é utilizado na função CTBArqRat com o propósito de permitir a customização do conteúdo do arquivo que está sendo importado. Ele é chamado a cada linha do arquivo durante o processo de leitura, oferecendo a oportunidade de modificar ou ajustar os dados antes que a linha seja efetivamente processada pelo sistema.

03. DEMAIS INFORMAÇÕES


Manipulação de PE no sistema
aColsAux := ExecBlock("CTARQRAT",.F.,.F.,{__cProcPrinc,aHeader,aColsAux})
Exemplo de PE
#Include 'Protheus.ch'

//Ponto de entrada para manipular os dados do arquivo importado passando linha a linha na leitura do arquivo
User function CTARQRAT()

	Local cRotina := PARAMIXB[1] //Rotina que foi chamada
	Local aHeader := PARAMIXB[2] //Cabeçalho do arquivo
	Local aCols := PARAMIXB[3] //Itens do arquivo
	Local nPosFil := 0

	/*
	PARAMIXB[1] - Rotina que foi chamada

	"CTBA100" - Rateio On Line
	"CTBA120" - Rateio Externo
	"CTBA270" - Rateio Off Line

	PARAMIXB[2] - array contendo os campos de cabeçalho do arquivo

	aHeader[1] - "CT9_FILIAL"
	aHeader[2] - "CT9_SEQUEN"
	aHeader[3] - "CT9_DESC"
	aHeader[4] - "CT9_PERBAS"

	PARAMIXB[3] - array com conteudo lido na linha do arquivo

	aCols[1] - "01"
	aCols[2] - "00001"
	aCols[3] - "RATEIO ON LINE"
	aCols[4] - "100.00"

	*/

	//Altera o valor da Filial
	If cRotina == "CTBA100" //Rateio On Line

	nPosFil := ASCAN(aHeader, "CT9_FILIAL" ) //pega a posição da filial no cabeçalho

	If aCols[nPosFil] == "01"
	aCols[nPosFil] := FwxFilial("CT9")
	EndIf

	ElseIf cRotina == "CTBA120" //Rateio Externo

	nPosFil := ASCAN(aHeader, "CTJ_FILIAL" ) //pega a posição da filial no cabeçalho

	If aCols[nPosFil] == "01"
	aCols[nPosFil] := FwxFilial("CTJ")
	EndIf

	Else //"CTBA270" Rateio Off Line

	nPosFil := ASCAN(aHeader, "CTQ_FILIAL" ) //pega a posição da filial no cabeçalho

	If aCols[nPosFil] == "01"
	aCols[nPosFil] := FwxFilial("CTQ")
	EndIf

	EndIF

Return aCols

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.