HOS Help Gestão de Conhecimento

Importação Softfarma - Promoções



Importação Softfarma - Roteiro para Importação das Promoções por Quantidade

(juntamente com Encarte normal)


OBS: As promoções serão importadas para o Gerenciador de Promoções, sendo a Promoção Simplificada na aba Promoções (F3) e a Promoção por Quantidade na aba Desconto progressivo (F5).

A procedure listada abaixo cria e alimenta a tabela temp_promocao_quantidade. O importador busca as informações desta tabela temporária.



 Realizar o restore do banco de dados da SoftPharma em sua máquina, utilizando o SGBD SQLyog;


 Executar o script de criação da procedure SP_RETORNA_PROMOCAO_QUANTIDADE no BD restaurado da Softfarma:


DELIMITER $$

DROP PROCEDURE IF EXISTS `softpharma`.`sp_retorna_promocao_quantidade`$$

CREATE PROCEDURE `sp_retorna_promocao_quantidade`()

BEGIN

  DECLARE codigo_produto INT;

  DECLARE i INT DEFAULT 1;

  DECLARE j float DEFAULT 0;

  DECLARE x INT DEFAULT 1;

  DECLARE y float DEFAULT 0;

  DECLARE posicao_quantidade INT DEFAULT 1;

  DECLARE posicao_porcentagem INT DEFAULT 6;

  DECLARE porcentagem FLOAT;

  DECLARE quantidade INT;

  DECLARE regra varchar(255);

  DECLARE cadastro INT;

  DECLARE cur CURSOR FOR SELECT cad_codigo, cad_regra_promocao FROM estcad1 WHERE character_length(cad_regra_promocao) >= 10;

  DECLARE CONTINUE HANDLER FOR NOT FOUND SET x = 0;

  CREATE TABLE IF NOT EXISTS temp_promocao_quantidade (

    cadastro INT,

    quantidade INT,

    porcentagem FLOAT ); 

  DELETE FROM temp_promocao_quantidade;

  OPEN cur;

  WHILE x = 1 DO

    FETCH cur INTO cadastro, regra;

    SET j = character_length(regra) / 10;

    SET i = 1;

    SET posicao_quantidade = 1;

    SET posicao_porcentagem = 6;

    WHILE i <= j DO

      SET quantidade = SUBSTRING(regra, posicao_quantidade, 3);

      SET porcentagem = SUBSTRING(regra, posicao_porcentagem, 5)  / 100;

      SET posicao_quantidade = posicao_quantidade + 10;

      SET posicao_porcentagem = posicao_porcentagem + 10;

      SET i = i + 1;

      INSERT INTO temp_promocao_quantidade (cadastro, quantidade, porcentagem) VALUES (cadastro, quantidade, porcentagem);

    END WHILE;

  END WHILE;

    CLOSE cur;

END$$

DELIMITER ;


 

 Executar o comando CALL SP_RETORNA_PROMOCAO_QUANTIDADE()

                OBS: Este procedimento poderá levar alguns minutos para conclusão.


 

 Realizar a importação normalmente utilizando o HOSImportadorGeral, marcando obrigatoriamente, as opções:


Prom. Cab. 

Prom. Cab. Lojas 

Prom. Prd. 

Prom. Prd. Lojas.

 

GERENCIADOR DE PROMOÇÕES



CONSULTA DE PREÇO