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/Issue | DSERCTR1-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.
Visão Geral
Import HTML Content
Conteúdo das Ferramentas
Tarefas