DELIMITER $$
CREATE OR REPLACE DEFINER=`root`@`localhost` PROCEDURE 
	`vn`.`itemShelvingSale_reserveBySectorCollection`(vSectorCollectionFk INT(11))
BEGIN
/**
 * Reserva cantidades con ubicaciones para el contenido de una preparación previa
 * de la cual ya tiene generada la asociación del saleGroup con sectorCollection
 *
 * @param vSectorCollectionFk Identificador de sectorCollection
 */
	CREATE OR REPLACE TEMPORARY TABLE tmp.sale
		(INDEX(saleFk))
		ENGINE = MEMORY
		SELECT s.id
			FROM sectorCollectionSaleGroup sc
				JOIN saleGroupDetail sg ON sg.saleGroupFk = sc.saleGroupFk
				JOIN sale s ON sg.saleFk = s.id
				JOIN saleTracking str ON str.saleFk = s.id
				JOIN `state` st ON st.id = str.stateFk
					AND st.code = 'PREVIOUS_PREPARATION'
			WHERE sc.sectorCollectionFk = vSectorCollectionFk
				AND str.workerFk = account.myUser_getId();

	CALL itemShelvingSale_reserve();
END$$
DELIMITER ;