Histórico da Página
Alteração do Conteúdo Importado
Características do Requisito
Linha de Produto: | Microsiga Protheus | ||||||||||||||||
Segmento: | Serviços | ||||||||||||||||
Módulo: | SIGACTB | ||||||||||||||||
Rotina: |
| ||||||||||||||||
Ponto de Entrada: | CTARQRAT | ||||||||||||||||
Requisito (ISSUE): Informe o requisito relacionado (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 item 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'
//Ponoto 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