Advertisement
40rnd1ner0atm

Untitled

Oct 8th, 2021
2,029
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Racket 5.87 KB | None | 0 0
  1. span class="kw2"> BEGIN
  2. FOR SELECT COALESCE(gra.exclusivo_site,'N') AS Exclusivo_site,
  3.         COALESCE(gra.multiplo,'N') AS Multiplo,
  4.         COALESCE(gra.multiplo_valor,0) AS Multiplo_valor,
  5.         mrc.descricao AS Marca ,pro1.codigo, pro1.cod_grade AS Cod_Ref, pro1.descricao AS tamanho,
  6.         sbp.descricao AS SubClasse, fxe.descricao AS faixa, Grn.descricao AS Genero,
  7.         pro1.estoque AS QTD_KL, pro2.estoque AS Estoque_Loja,prov.vendas_dia AS Vendas_dia,
  8.         (iif (pro2.estoque < 0, 0, pro2.estoque) / prov.vendas_dia) AS Dias_Loja,
  9.         (CAST(:pDiasAbastecer AS INTEGER) - (iif (pro2.estoque<0, 0,pro2.estoque) / prov.vendas_dia))* prov.vendas_dia AS Qtd_Sugerida,
  10.         0 bipSaida, 0 bipEntrada, gra.cod_local_estoque,
  11.         ( SELECT descricao FROM local_estoque WHERE codigo = gra.cod_local_estoque ) LOCAL
  12.         FROM
  13.         produto pro1
  14.         INNER JOIN produto pro2 ON pro1.codigo = pro2.codigo
  15.         INNER JOIN Grade gra ON gra.cod_empresa = pro1.cod_empresa AND gra.codigo = pro1.cod_grade
  16.         INNER JOIN produto_vendas prov ON prov.cod_empresa = pro2.cod_empresa AND prov.codigo = pro2.codigo
  17.         LEFT JOIN Marca mrc ON mrc.codigo = gra.cod_marca
  18.         LEFT JOIN genero Grn ON Grn.codigo = gra.cod_genero
  19.         LEFT JOIN faixa_etaria Fxe ON fxe.codigo = gra.cod_faixa_etaria
  20.         LEFT JOIN sub_classe_prod sbp ON sbp.codigo = gra.cod_sub_classe_prod
  21.         WHERE pro1.cod_empresa = :pCodEmpOrigem
  22.         AND pro2.cod_empresa = :pCodEmpDestino
  23.         AND prov.vendas_dia > 0
  24.         AND gra.exclusivo_site IS NULL
  25.         ORDER BY  gra.cod_local_estoque, gra.cod_empresa, gra.codigo
  26.       INTO :EXCLUSIVO_SITE, :multiplo, :multiplo_valor, :MARCA, :CODIGO, :COD_REF, :TAMANHO, :SUBCLASSE, :FAIXA, :GENERO, :QTD_KL,
  27.            :ESTOQUE_LOJA, :VENDAS_DIA, :DIAS_LOJA, :QTD_SUGERIDA,
  28.            :BIPSAIDA, :BIPENTRADA, :COD_LOCAL_ESTOQUE, :LOCAL
  29.   do  
  30.     BEGIN  
  31.       IF (QTD_KL = 0) THEN
  32.  
  33.         BEGIN
  34.           QTD_ABASTECER = 0;
  35.         END
  36.       ELSE
  37.         BEGIN
  38.             IF (MULTIPLO = 'N') THEN
  39.                 IF (QTD_SUGERIDA <= 0) THEN
  40.                     QTD_ABASTECER = 0;
  41.                 ELSE
  42.                 BEGIN
  43.                     IF ((QTD_SUGERIDA > 0) AND (QTD_SUGERIDA <= 0.5)) THEN
  44.                         QTD_ABASTECER = 1;
  45.                     ELSE
  46.                         QTD_ABASTECER = CAST(QTD_SUGERIDA AS INTEGER);
  47.                  END
  48.             ELSE
  49.                 BEGIN
  50.                     IF (QTD_ABASTECER < MULTIPLO_VALOR) THEN
  51.                         QTD_ABASTECER = 1;
  52.                     ELSE
  53.                     BEGIN
  54.                         QTD_ABASTECER = TRUNC(QTD_SUGERIDA/MULTIPLO_VALOR);
  55.                         IF (MOD(QTD_SUGERIDA/MULTIPLO_VALOR) <> 0) THEN
  56.                             QTD_ABASTECER = QTD_ABASTECER + 1;    
  57.                     END    
  58.                 END
  59.         END
  60.       suspend;  
  61.  
  62.     END  
  63. END
  64. RAW Paste Data
  65. begin
  66. for select coalesce(gra.exclusivo_site,'N') AS Exclusivo_site,
  67.         coalesce(gra.multiplo,'N') as Multiplo,
  68.         coalesce(gra.multiplo_valor,0) as Multiplo_valor,
  69.         mrc.descricao as Marca ,pro1.codigo, pro1.cod_grade as Cod_Ref, pro1.descricao as tamanho,
  70.         sbp.descricao as SubClasse, fxe.descricao as faixa, Grn.descricao as Genero,
  71.         pro1.estoque as QTD_KL, pro2.estoque as Estoque_Loja,prov.vendas_dia as Vendas_dia,
  72.         (iif (pro2.estoque < 0, 0, pro2.estoque) / prov.vendas_dia) as Dias_Loja,
  73.         (cast(:pDiasAbastecer as integer) - (iif (pro2.estoque<0, 0,pro2.estoque) / prov.vendas_dia))* prov.vendas_dia as Qtd_Sugerida,
  74.         0 bipSaida, 0 bipEntrada, gra.cod_local_estoque,
  75.         ( select descricao from local_estoque where codigo = gra.cod_local_estoque ) local
  76.         from
  77.         produto pro1
  78.         inner join produto pro2 on pro1.codigo = pro2.codigo
  79.         inner Join Grade gra on gra.cod_empresa = pro1.cod_empresa and gra.codigo = pro1.cod_grade
  80.         inner join produto_vendas prov on prov.cod_empresa = pro2.cod_empresa and prov.codigo = pro2.codigo
  81.         Left Join Marca mrc on mrc.codigo = gra.cod_marca
  82.         left Join genero Grn on Grn.codigo = gra.cod_genero
  83.         Left Join faixa_etaria Fxe on fxe.codigo = gra.cod_faixa_etaria
  84.         Left Join sub_classe_prod sbp on sbp.codigo = gra.cod_sub_classe_prod
  85.         Where pro1.cod_empresa = :pCodEmpOrigem
  86.         and pro2.cod_empresa = :pCodEmpDestino
  87.         and prov.vendas_dia > 0
  88.         and gra.exclusivo_site is null
  89.         order by  gra.cod_local_estoque, gra.cod_empresa, gra.codigo
  90.       into :EXCLUSIVO_SITE, :multiplo, :multiplo_valor, :MARCA, :CODIGO, :COD_REF, :TAMANHO, :SUBCLASSE, :FAIXA, :GENERO, :QTD_KL,
  91.            :ESTOQUE_LOJA, :VENDAS_DIA, :DIAS_LOJA, :QTD_SUGERIDA,
  92.            :BIPSAIDA, :BIPENTRADA, :COD_LOCAL_ESTOQUE, :LOCAL
  93.   do  
  94.     begin  
  95.       if (QTD_KL = 0) then
  96.  
  97.         begin
  98.           QTD_ABASTECER = 0;
  99.         end
  100.       else
  101.         begin
  102.             if (MULTIPLO = 'N') then
  103.                 if (QTD_SUGERIDA <= 0) then
  104.                     QTD_ABASTECER = 0;
  105.                 else
  106.                 begin
  107.                     if ((QTD_SUGERIDA > 0) and (QTD_SUGERIDA <= 0.5)) then
  108.                         QTD_ABASTECER = 1;
  109.                     else
  110.                         QTD_ABASTECER = cast(QTD_SUGERIDA as integer);
  111.                  end
  112.             else
  113.                 begin
  114.                     if (QTD_ABASTECER < MULTIPLO_VALOR) then
  115.                         QTD_ABASTECER = 1;
  116.                     else
  117.                     BEGIN
  118.                         QTD_ABASTECER = TRUNC(QTD_SUGERIDA/MULTIPLO_VALOR);
  119.                         IF (MOD(QTD_SUGERIDA/MULTIPLO_VALOR) <> 0) THEN
  120.                             QTD_ABASTECER = QTD_ABASTECER + 1;    
  121.                     END    
  122.                 end
  123.         end
  124.       suspend;  
  125.  
  126.     end  
  127. end
  128.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement