BEGIN { FS = "\t"; OFS = ""; codemp = ""; mesano = ""; primeiro_empregado = 0; reg_plan_sau = 0; }
{
	linha  = $1
	###### ADQUIRINDO INFORMACOES DA EMPRESA #########
	if ((codemp=="")||(mesano==""))
	{
		if ( linha == "Código Empresa:")
		{
			codemp = SoNumeros($4)
			codemp = StrZero(codemp,10,0)
		}
		if ( linha == "Competência:")
		{
			mesano = SoNumeros($4)
			mes    = substr(mesano,1,2)
			ano    = substr(mesano,3,4)
			mesano = ano mes
			if ( length(mesano) != 6)
			{
				mesano = "ERRO!!"
			}
		}
	}
	
	Total_Eventos = NF
	#### NOME DOS EVENTOS
	if (linha == "Tipo de Cálculo") {
		for (col=1; col<=Total_Eventos; col++)
			Nome_Evento[col] = toupper(substr($col,1,5))
		# A PROXÍMA LINHA CONTÉM O VALOR DOS EVENTOS
		LinhaValorEventos = 1
		next
	}
	#### VALOR DOS EVENTOS
	if (LinhaValorEventos == 1) {
		for (col=1; col<=Total_Eventos; col++)
			Codigo_Evento[col] = SoNumeros($col)
		# DEPOIS DE LER OS VALORES DOS EVENTOS, ZERA A VARIÁVEL
		LinhaValorEventos = 0
	}
	# ***** LINHA COM O VALOR DO PLANO DE SAÚDE (SIM/NÃO) ***** #
	if (linha == "Evento de Plano de Saúde (Sim/Não)") {
		for (col=5; col<=Total_Eventos; col++)
			PlanoDeSaude[col] = toupper(substr($col,1,1))
	}
	# ***** LINHA COM O VALOR DO CNPJ DA OPERADORA DE PLANO DE SAÚDE ***** #
	if (linha == "CNPJ da Operadora de Plano de Saúde") {
		for (col=5; col<=Total_Eventos; col++)
			CNPJOperadora[col] = SoNumeros($col)
	}
	#### EMPREGADOS
	if ((linha == "11")||(linha == "41")||(linha == "42")||(linha == "51")||(linha == "52")||(int(SoNumeros($3)) != 0)) {
		
		if (int(SoNumeros($1)) != 0)
			tpcalc = SoNumeros($1)
		codfun = SoNumeros($2)
		
		# INICIA A LEITURA DE TODAS AS COLUNAS
		for (col=5; col<=Total_Eventos; col++) {
			####################################### PLANO DE SAÚDE #############################################
			if (PlanoDeSaude[col] == "S") {
				
				if (int(codfun) != 0)
					codi_empregado = SoNumeros($2)
				codi_dependente = SoNumeros($3)
				
				Evento_Saude_Codigo = Codigo_Evento[col]
				Evento_Saude_Valor = SoNumeros($col)
				# RECEBE O CNPJ DA OPERADORA DE PLANO DE SAÚDE
				if (length(CNPJOperadora[col]) == 14)
					Evento_Saude_Operadora = CNPJOperadora[col]
				
				if ((int(Evento_Saude_Codigo) != 0)&&(int(Evento_Saude_Valor) != 0)) {					
					# VETOR QUE ARMAZENA O VALOR TOTAL DO EVENTO DO PLANO DE SAÚDE (NECESSÁRIO PARA O REGISTRO 10)
					aEvento_Saude_Total[Evento_Saude_Codigo, codi_empregado] += Evento_Saude_Valor
					
					# VARIÁVEL REDUZIDA COM O VALOR TOTAL PARA FACILITAR
					Evento_Saude_Total = aEvento_Saude_Total[Evento_Saude_Codigo, codi_empregado]
					
					# REGISTRO 10 ARMAZENADO NO VETOR
					Registro_Plano_Saude10[codi_empregado, Evento_Saude_Codigo] = 10 "" sprintf("%.10d", codi_empregado) "" mesano "" Evento_Saude_Codigo "" tpcalc "" sprintf("%.9d", Evento_Saude_Total) "" codemp
					
					# REGISTRO 20 ARMAZENADO NO VETOR (OPERADORA DE PLANO DE SAÚDE)
					Registro_Plano_Saude20[codi_empregado, Evento_Saude_Codigo] = 20 "" Evento_Saude_Operadora
					
					# REGISTRO 25 ARMAZENADO NO VETOR
					if (int(codfun) != 0)
						Registro_Plano_Saude25[codi_empregado, Evento_Saude_Codigo, tRegistro_Saude[codi_empregado, Evento_Saude_Codigo]++] = 25 "T" sprintf("%.10d", codi_empregado) "" sprintf("%.9d", Evento_Saude_Valor)
					if (int(codi_dependente) != 0)
						Registro_Plano_Saude25[codi_empregado, Evento_Saude_Codigo, tRegistro_Saude[codi_empregado, Evento_Saude_Codigo]++] = 25 "D" sprintf("%.10d", codi_dependente) "" sprintf("%.9d", Evento_Saude_Valor)
				}
			####################################################################################################
			} else {
				# DEMAIS EVENTOS
				Fixo = 10
				
				if (($col != "")&&($col != 0)) {
						valor = StrZero(SoNumeros($col),9,0)
						
					print Fixo, sprintf("%.10d", codfun), mesano, sprintf("%.4d", Codigo_Evento[col]), tpcalc, valor, codemp > "Eventos.txt"
				}
			}
		}
	}
}
END {
	for (e in Registro_Plano_Saude10) {
		print Registro_Plano_Saude10[e] > "Eventos.txt"
		print Registro_Plano_Saude20[e] > "Eventos.txt"
		for (t=0; t<tRegistro_Saude[e]; t++) {
			print Registro_Plano_Saude25[e,t] > "Eventos.txt"
		}
	} close("Eventos.txt")
}
