Alteração do Conteúdo Importado

Características do Requisito

Linha de Produto:

Microsiga Protheus

Segmento:

Serviços

Módulo:

SIGACTB

Rotina:

Rotina

Nome Técnico

CTBA100

Rateios On-Line

CTBA120

Rateios Externos
CTBA270Rateios Off-Line

Rotina(s) envolvida(s)

Nome Técnico

CTBA100

Rateios On-Line

 CTBA120Rateios Externos
CTBA270Rateios Off-Line

Ponto de Entrada:

CTARQRAT

Requisito (ISSUE):PCREQ-4007 

País(es):

Todos

Banco(s) de Dados:

Todos

Tabelas Utilizadas:

CT9, CTQ, CTJ

Sistema(s) Operacional(is):

Todos

Versões/Release:

12.1.7

Descrição

Ponto de entrada desenvolvido na função CTBArqRat com o objetivo de alterar o conteúdo do arquivo que está sendo importado, é chamado linha a linha na leitura do arquivo importado.

 

Ponto de Entrada

Descrição:

Ponto de entrada para manipular os dados do arquivo importado passando linha a linha na leitura do arquivo

Localização:

CTBArqRat 

Eventos:

Atualizações / Rateios / Rateio On-Line

Atualizações / Rateios / Rateio Externo

Atualizações / Rateios / Rateio Off-Line

Programa Fonte:

CTBA100

Função:

CTBArqRat 

Retorno:

aRet - array contendo o conteúdo da linha do arquivo.

 

Exemplo:

#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