DELIMITER $$
CREATE OR REPLACE DEFINER=`root`@`localhost` FUNCTION `vn`.`addressTaxArea`(vAddresId INT, vCompanyId INT)
	RETURNS varchar(25) CHARSET utf8mb3 COLLATE utf8mb3_general_ci
	DETERMINISTIC
BEGIN
/**
 * Devuelve el area de un Consignatario,
 * intracomunitario, extracomunitario, nacional o recargo de equivalencia.
 * Asumimos que no tenemos ninguna empresa
 *
 * @param vAddresId Id del Consignatario
 * @param vCompanyId Compañia desde la que se factura
 * @return Código de area
 */
	DECLARE vTaxArea VARCHAR(25);

	DROP TEMPORARY TABLE IF EXISTS tmp.addressCompany;
	CREATE TEMPORARY TABLE tmp.addressCompany
		SELECT vAddresId addressFk, vCompanyId companyFk;

	CALL vn.addressTaxArea();
	SELECT areaFk INTO vTaxArea FROM tmp.addressTaxArea;

	DROP TEMPORARY TABLE
		tmp.addressCompany,
		tmp.addressTaxArea;

	RETURN vTaxArea;
END$$
DELIMITER ;