Línea de producto: | Microsiga Protheus | ||||||||||||||||
Segmento: | Servicios | ||||||||||||||||
Módulo: | SIGACTB | ||||||||||||||||
Rutina: |
| ||||||||||||||||
Punto de entrada: | CTARQRAT | ||||||||||||||||
Requisito (ISSUE): | PCREQ-4007 | ||||||||||||||||
País(es): | Todos | ||||||||||||||||
Base(s) de datos: | Todas | ||||||||||||||||
Tablas utilizadas: | CT9, CTQ, CTJ | ||||||||||||||||
Sistema(s) operativo(s): | Todos | ||||||||||||||||
Versiones/Release: | 12.1.7 |
Punto de entrada desarrollado en la función CTBArqRat con el objetivo de modificar el contenido del archivo que se está importando, se activa línea a línea en la lectura del archivo importado.
Descripción: | Punto de entrada para manejar los datos del archivo importado pasando línea a línea en la lectura del archivo |
Ubicación: | CTBArqRat |
Eventos: | Actualizaciones / Prorrateos / Prorrateo On-Line Actualizaciones / Prorrateos / Prorrateo externo Actualizaciones / Prorrateos / Prorrateo Off-Line |
Programa fuente: | CTBA100 |
Función: | CTBArqRat |
Devolución: | aRet - array con el contenido de la línea del archivo. |
Ejemplo:
#Include 'Protheus.ch'
//Punto de entrada para manejar los datos del archivo importado pasando línea a línea en la lectura del archivo
user function CTARQRAT()
Local cRotina := PARAMIXB[1] //Rutina que fue activada
Local aHeader := PARAMIXB[2] //Encabezado del archivo
Local aCols := PARAMIXB[3] //Ítems del archivo
Local nPosFil := 0
/*
PARAMIXB[1] - Rutina que fue activada
"CTBA100" - Prorrateo On Line
"CTBA120" - Prorrateo Externo
"CTBA270" - Prorrateo Off Line
PARAMIXB[2] - array con los campos de encabezado del archivo
aHeader[1] - "CT9_FILIAL"
aHeader[2] - "CT9_SEQUEN"
aHeader[3] - "CT9_DESC"
aHeader[4] - "CT9_PERBAS"
PARAMIXB[3] - array con contenido leído en la línea del archivo
aCols[1] - "01"
aCols[2] - "00001"
aCols[3] - "PRORRATEO ON LINE"
aCols[4] - "100.00"
*/
//Modifica el valor de la sucursal
If cRotina == "CTBA100" //Prorrateo On Line
nPosFil := ASCAN(aHeader, "CT9_FILIAL" ) //toma la posición de la sucursal en el encabezado
If aCols[nPosFil] == "01"
aCols[nPosFil] := FwxFilial("CT9")
EndIf
ElseIf cRotina == "CTBA120" //Prorrateo Externo
nPosFil := ASCAN(aHeader, "CTJ_FILIAL" ) //toma la posición de la sucursal en el encabezado
If aCols[nPosFil] == "01"
aCols[nPosFil] := FwxFilial("CTJ")
EndIf
Else //"CTBA270" Prorrateo Off Line
nPosFil := ASCAN(aHeader, "CTQ_FILIAL" ) //toma la posición de la sucursal en el encabezado
If aCols[nPosFil] == "01"
aCols[nPosFil] := FwxFilial("CTQ")
EndIf
EndIF
Return aCols