#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 |